You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In SDK v5 mobile user agents (differing over time, FxiOS used to be special cased on their side by user agent sniffing, but that was later applied to CriOS, EdgiOS, Safari and more too…) instead of opening modals, that turn to new tabs on mobile, used embedded flow within the same page.
While attempts to open the PayPal modals failed, if provided with mobile UA the flow would succeed in the same tab.
Actual behavior
In SDK v6 there only seems to be some logic around support of dialog elements, but for some reasons FxiOS no longer gets the same-page flow — so the previous bandaid to spoof all as mobile has no longer any effect.
The real culprit was never fixed, this means just the workaround is no longer helping and the underlying issue exhibits fully. Previous investigation at #17911 (comment)
Device & build information
Device: iPhone (all devices, incl. iPads; but before this was only issue in "request desktop" mode, now it affects completely all users)
Build version: any
First seen version: this is from change on Shopify side and PayPal new SDK release
(BTW opening into new tabs like in other browsers apparently worked fine at some point: webcompat/web-bugs#72818 …)
Notes
SDK v6 uses web components with Lit (the "checkout" iframe with buttons that fail is "paypal express wallets" — loading "wallets sandbox" which is a v6 endpoint loading https://www.paypal.com/web-sdk/v6/core …)
SDK v5 is loaded via https://www.paypal.com/smart/buttons?fundingSource=paypal[…]sdkVersion=5.0.515[…] supportedNativeBrowser=false&supportsPopups=true&userAgent= Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F18.6%20Safari%2F605.1.15 from e.g. https://www.paypal.com/sdk/js?client-id=CLIENT_ID
Interestingly I see the same navigator regexp testing in the new SDK js code too, it just might not get used for this particular behavior variability in the end.
Attachments:
This is a store with no v5 "smart buttons" / express checkout:
ScreenRecording_10-18-2025.21-02-30_1_avc.mp4
Here this store has both flows, working on the cart page before checkout, but failing on the "express wallets" inside the checkout:
ScreenRecording_10-18-2025.21-06-29_1_avc.mp4
FYI:
The same flow in Brave opens new tabs in both cases — successfully:
ScreenRecording_10-18-2025.23-34-35_1_avc.mp4
The same flow in a random WKWebKit implementation opens the embedded dialog in-page:
ScreenRecording_10-18-2025.23-30-19_1_avc.mp4
(Given the investigations into the about:blank failing were not too successful, and I haven't found a MRE that would exhibit this i.e. the actual culprit is currently unknown, I'm going to look into spoofing as a dumb WKWebKit/UIWebKit in case that would help stay in-page.)
PayPal is broken again. This time not just iPadOS, but iOS too, i.e. all devices and consumers.
SDK v6 was released last week of September, Shopify stores already use it in checkout flows.
https://developer.paypal.com/community/blog/paypal-js-sdk-v6/ (Sept 27, 2025)
Previous workarounds are no longer effective.
Steps to reproduce
https://dowsedesign.co.uk/collections/new/products/hot-lighters or
https://www.mollyjogger.com/products/scrimshaw-heirloom-knife-kit
(works from cart, fails from checkout)
Expected behavior
In SDK v5 mobile user agents (differing over time, FxiOS used to be special cased on their side by user agent sniffing, but that was later applied to CriOS, EdgiOS, Safari and more too…) instead of opening modals, that turn to new tabs on mobile, used embedded flow within the same page.
While attempts to open the PayPal modals failed, if provided with mobile UA the flow would succeed in the same tab.
Actual behavior
In SDK v6 there only seems to be some logic around support of dialog elements, but for some reasons FxiOS no longer gets the same-page flow — so the previous bandaid to spoof all as mobile has no longer any effect.
The real culprit was never fixed, this means just the workaround is no longer helping and the underlying issue exhibits fully. Previous investigation at #17911 (comment)
Device & build information
(BTW opening into new tabs like in other browsers apparently worked fine at some point: webcompat/web-bugs#72818 …)
Notes
SDK v6 uses web components with Lit (the "checkout" iframe with buttons that fail is "paypal express wallets" — loading "wallets sandbox" which is a v6 endpoint loading https://www.paypal.com/web-sdk/v6/core …)
SDK v5 is loaded via
https://www.paypal.com/smart/buttons?fundingSource=paypal[…]sdkVersion=5.0.515[…]supportedNativeBrowser=false&supportsPopups=true&userAgent= Mozilla%2F5.0%20(Macintosh%3B%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Version%2F18.6%20Safari%2F605.1.15 from e.g. https://www.paypal.com/sdk/js?client-id=CLIENT_IDInterestingly I see the same navigator regexp testing in the new SDK js code too, it just might not get used for this particular behavior variability in the end.
Attachments:
This is a store with no v5 "smart buttons" / express checkout:
ScreenRecording_10-18-2025.21-02-30_1_avc.mp4
Here this store has both flows, working on the cart page before checkout, but failing on the "express wallets" inside the checkout:
ScreenRecording_10-18-2025.21-06-29_1_avc.mp4
FYI:
The same flow in Brave opens new tabs in both cases — successfully:
ScreenRecording_10-18-2025.23-34-35_1_avc.mp4
The same flow in a random WKWebKit implementation opens the embedded dialog in-page:
ScreenRecording_10-18-2025.23-30-19_1_avc.mp4
(Given the investigations into the about:blank failing were not too successful, and I haven't found a MRE that would exhibit this i.e. the actual culprit is currently unknown, I'm going to look into spoofing as a dumb WKWebKit/UIWebKit in case that would help stay in-page.)
🙈
┆Issue is synchronized with this Jira Task