Closed slash1andy closed 4 years ago
Another report in 22122349-hc. According to Browserstack, all versions of iOS 11 (that I tested) showed the same issue.
I was able to reproduce this on iOS 11. I'm still looking into what might be causing it.
Basic Smart Payment Buttons examples from PayPal docs do work, so I'm thinking it might be related to our AJAX request and our use of either promises or fetch()
. I'll report back once I know more.
For future reference: after some (tricky) debugging I was able to find what the problem was, at least on iOS. I believe this is the same as in the other browsers. The issue originates in this line where we try to return as JSON the result of a request made through fetch()
. On modern browsers it works fine, but on iOS 11 produces the following error:
The string did not match the expected pattern.
The reason seems to be that the "start checkout" AJAX handler is returning the "Cheatin' huh?" error due to failed nonce verification instead of a valid response. The weird thing is that this doesn't happen on modern browsers 🤷.
@slash1andy @rossviviano: I've submitted PR #778 to address this issue. Once it is reviewed, merged and released we should be compatible with those "old" browsers. Thanks for the reports!
Another report here 3092588-zd
Describe the bug
Smart Buttons do not work at all on older versions of Safari (I tested with iOS 11 and Safari Mobile 11, but it was reported as Safari Desktop 11.1.2, Safari Mobile iOS 11.3 and Edge version 42.1.
To reproduce
Expected behavior
Checkout to proceed
Environment (please complete the following information):
PayPal (Express) Checkout Plugin Version 2.0.2 URL Tested: https://wootest2019.mystagingwebsite.com/product/banana-product/ iPhone 8 iOS 11.0 | mobile_Safari 2.64 x 5.44 in | 750 x 1334 px 375 x 667 dp | 16 : 9
Additional details
Originally reported here: https://wordpress.org/support/topic/paypal-button-doesnt-work-on-safari-edge-old-versions/