paypal / paypalcheckout-ios

Need to add Native Checkout to your iOS Application? We can help!
http://www.paypal.com
Other
70 stars 55 forks source link

[🐞] PayPal Checkout always opening web UI flow instead of native UI #136

Closed mpalanisamy-concentrix closed 1 year ago

mpalanisamy-concentrix commented 1 year ago

🐞 Describe the Bug

While clicking the PayPal checkout button the SDK is always loading the web UI flow instead of the native UI.

🔬 Minimal Reproduction

Go to the PayPal Checkout button page and click the checkout button and now the Paypal sdk loading always the web UI.

😕 Actual Behavior

After clicking the PayPal checkout button Payal SDK is loading the web UI.

🤔 Expected Behavior

After clicking the PayPal checkout button Paypal SDK should load the native UI.

🌍 Environment

➕ Additional Context

https://user-images.githubusercontent.com/105424366/222430113-5bd67301-f4ae-4476-854f-9de92c76de9e.mp4

This behaviour we are facing with the specifications mentioned device. We tried to uninstall the app and restart the device multiple times but still had the same issue.

jonathajones commented 1 year ago

Hi @mpalanisamy-concentrix - Could you provide us an EC token where you encountered this behavior?

mpalanisamy-concentrix commented 1 year ago

@jonathajones please find the requested information. iOS Device: iPad Air 2 iOS Version: 15.7 SDK Version: 0.110.0 ECToken: 63099579FR0078345

Note: we are facing the same issue in another device (iPhone13 with iOS 16.3) but unfortunately we could not get the ECToken since it is not with the development team.

jonathajones commented 1 year ago

Hi @mpalanisamy-concentrix - There are eligibility requirements that are checked after auth that could result in the end user being directed to the web experience instead of the native one.

For this specific token, you are being routed to the web experience because of country of the end user account you're logging in with. We support the native experience in the US, EU, and Canada - native experiences outside of those regions are not guaranteed.

mpalanisamy-concentrix commented 1 year ago

@jonathajones thank you for the update. Will validate the issue with the supported country you have mentioned.

jonathajones commented 1 year ago

@mpalanisamy-concentrix Happy to help! If you're consistently seeing the web fallback for user accounts in the US / EU, let me know the tokens and I will investigate them on my end.

mpalanisamy-concentrix commented 1 year ago

sure @jonathajones , as I mentioned in the ticket https://github.com/paypal/paypalcheckout-ios/issues/139 do we have any option to disable the PayIn4 payment option from the PayPal account?

Eric-Catalyst commented 1 year ago

Is there a way to check if the native experience is supported prior to performing a transaction? We may need to disable the PayPal option if native is not supported in the country the user is in.

Also, how is location determined? Is it dynamic based on the current location of the device or based on the device's locale settings?

jonathajones commented 1 year ago

@Eric-Catalyst The location is determined based on the country of the end user's PayPal account. The eligibility request is more nuanced than just a location check (there are other factors that could result in the user falling back to the web experience), and it's not possible to determine this before hand currently.

Eric-Catalyst commented 1 year ago

Is the EU country list pre or post Brexit?

Eric-Catalyst commented 1 year ago

Also, could you document this limitation in the reference documentation for the SDK? It was a bit of a surprise.

jonathajones commented 1 year ago

Hi @Eric-Catalyst - It's mentioned in our public docs here - https://developer.paypal.com/limited-release/paypal-mobile-checkout/#link-eligibility

The UK is a supported country as well

Eric-Catalyst commented 1 year ago

Right. Post Brexit the UK is not in the EU, so that is a bit out of date. I recommend you also document it here: https://paypal.github.io/mobile-checkout-docs/ios/reference/ as that is what we spent most of our time looking at. I don't think we ever saw the limited release note.

Eric-Catalyst commented 1 year ago

You can close this as we now understand it is a design feature not a defect in the SDK.

mpalanisamy-concentrix commented 1 year ago

By Changing the Device Region to supported countries this issue is resolved