Paypal-checkout-components: [Bug] Native Popup Bridge Integration - Can't authorise on Safari Mobile

Created on 24 Nov 2020  ยท  18Comments  ยท  Source: paypal/paypal-checkout-components

๐Ÿž Describe the Bug

On iPhone's Safari browser or WKWebView PayPal flow restarts after the user taps authorise.

๐Ÿ”ฌ Minimal Reproduction

sample link: https://www.sandbox.paypal.com/webapps/hermes?flow=1-P&ulReturn=true&fundingSource=paypal&token=968664572S921113S&useraction=commit&redirect_uri=app%3A%2F%2Fpopupbridgev1%2F&native_xo=1&country.x=DE&locale.x=de_DE

๐Ÿ˜• Actual Behavior

The user is can't authorise and the flow restarts.

Note: Using the same link on safari on Mac succeeds and the redirect_uri is being called.

๐Ÿค” Expected Behavior

The user is authorised and the redirect_uri is called.

๐ŸŒ Environment

  • OS version: - iOS 14.2
  • SDK version (window.paypal.version): - 5.0.186

Affected browsers

What browser(s) are affected?

  • Safari Mobile/Tablet
  • Android

โž• Additional Context

paypal

Stale ๐Ÿž bug

Most helpful comment

Issue-Label Bot is automatically applying the label ๐Ÿž bug to this issue, with a confidence of 0.99. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

All 18 comments

Issue-Label Bot is automatically applying the label ๐Ÿž bug to this issue, with a confidence of 0.99. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

I have exactly the same Issue.

Me too, same problem with PopupBridge in Android and iOS.

Hi all. Thanks for the report. I'm able to repro this one -- but can you confirm: did this issue just recently start for you? Trying to narrow down the cause.

@bluepnume I can confirm you that it worked until November 12th, then I re-tried Monday and I saw this issue.

@bluepnume our logs have the last successful payment on 20th of November.

@bluepnume When can we expect a fix? It's quite urgent for us.

Does everybody still has same issue? Maybe someone solved it and can share these secrets maybe?:)

Seeing a similar issue for those visiting our site on Facebook webview on iOS. This is with Braintree. Appears it's been gradually becoming an issue since late October / early November. We've stopped offering Paypal to iOS users on webviews.

There may be a temporary fix you can apply here, assuming you're using the popup bridge.

When you set up the order, pass return_url and cancel_url. These will be ignored, but it should unblock buyers to return to your site correctly:

            // Set up the transaction
            createOrder: function(data, actions) {
                return actions.order.create({
                    purchase_units: [{
                        amount: {
                            value: '88.44'
                        }
                    }],
                    application_context: {
                        return_url: 'http://mysite.com/placeholder',
                        cancel_url: 'http://mysite.com/placeholder'
                    }
                });
            },

the popupbridge flow works now on production but not yet on sandbox.

@IbrahimalKhayat is sandbox working for you now? We deployed a fix for it yesterday. I believe this issue is resolved in both sandbox and production now.

@gregjopa

Hi,
the problem is still present. I'm using PayPal Rest API V2.
The PayPal order is created server-side using PayPal PHP SDK: PayPal js SDK then forwards the order to PayPal system
Here's a snippet of the code responsible for order generation.
'application_context' => [
'brand_name' => 'MyBrand',
'locale' => 'it-IT',
'landing_page' => 'BILLING',
'shipping_preferences' => 'SET_PROVIDED_ADDRESS',
'user_action' => 'PAY_NOW',
'return_url' => 'https://samedomain.com',
'cancel_url' => 'https://samedomain.com'
];
After clicking on the Pay Now button, PayPal shows the message "Sorry, something went wrong. Please try again later"; after closing this page, my system elaborates the order successfully.
I tried it on sandbox only. I can't try it on production.

Hi @michael-softfobia could you please open up a new GitHub issue for your problem? This issue was for JS SDK Integrations with Native Apps using the popup bridge feature.

I'm going to close this one out as it is resolved.

@gregjopa sorry for commenting in a closed issue, but I think that my previous message was not clear.
I still have the bug described in the issue in sandbox (is a new implementation that I am still testing, so I can not try in production), using JS SDK in frontend and PopupBridge in the Android/iOS apps.

The workaround proposed can't be applied to my situation because the paypal order is generated server side and not client side.

Should I still open a new issue?

Hi @michael-softfobia, I just tested the PopupBridge in Sandbox and it is still broken. I'll re-open this issue.

This issue has been automatically marked as stale. If this issue is still affecting you, please leave any comment (for example, "bump"), and we'll keep it open. We are sorry that we haven't been able to prioritize it yet. If you have any new additional information, please include it with your comment!

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please create a new issue with up-to-date information.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JDevjs picture JDevjs  ยท  6Comments

Wr4i7h picture Wr4i7h  ยท  4Comments

bluepnume picture bluepnume  ยท  3Comments

stephen-last picture stephen-last  ยท  6Comments

Soulpancake000 picture Soulpancake000  ยท  5Comments