klarna / klarna-mobile-sdk

Klarna Mobile SDK for iOS
https://docs.klarna.com/mobile-sdk/ios/
Apache License 2.0
29 stars 12 forks source link

[Android] Documentation for Custom Tab and One Klarna payment flow. #144

Closed indiascope closed 1 year ago

indiascope commented 2 years ago

Is your feature request related to a problem? Please describe.

In Android 2.1.7 Release in Changelog, I can see "Added support for opening Custom Tabs". and

in the 2.1.6 Release, I can see "Added support for "One Klarna" payment flow."

But In the Documentation, I don't find How we can use it in Android App?

Describe the solution you'd like Please share if any documentation is available for Custom Tab and "One Klarna Payment Flow". So we can open Klarna Payment Flow in Custom Tab instead of Webview and we can implement this in our Android App. If not then please update the Documentation.

Currently, If Webview is not installed on Device then KlarnaOSMView is not opening in Webview. As a fallback, we can open this in Custom Tab?

Describe alternatives you've considered Also, I feel we can update this in Demo App. In Demo App, I have don't find the Implementation of One Klarna payment flow and opening Custom Tab. If possible please also update Demo App also.

Merchant Name I'd rather not state this here unless absolutely necessary.

Screenshots

Screenshot from 2022-06-09 18-01-03

Device and version

Device: All OS version: All Klarna In-App SDK version 2.1.8

Additional context Google is not recommended Embedded login using the web view and also Blocks OAuth Requests Made Via Embedded Browsers. So If for Payment Flow Custom Tab Functionality is available then for security purpose, we want to switch to a custom tab instead of Webview.

https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html https://developers.facebook.com/docs/facebook-login/android/deprecating-webviews

NMGuner commented 2 years ago

Hi @indiascope,

The custom tab support has been added as internal support for Klarna web components to trigger via the SDK hence the flows involving that functionality depend on those components.

For how to enable One Klarna Payment Flow, it depends on the merchant and the region as that is how the One Klarna feature is decided by the Klarna Payments. For the native integration there is no explicit API for that, what the changelog means is One Klarna will only be enabled if SDK version is (or above) 2.1.6(as there are few native improvements for that flow) and the other requirements on the Klarna Payments side have been met according to merchant/region information.

Please let us know if you need further information.

indiascope commented 2 years ago

Hi @NMGuner

If Webview is not Installed on Device or maybe at that Webview is updating then Klarna will Internally choose Custom Tab instead of Webview Correct?

Also Instead of Webview, we can't directly select Chrome Custom Tab correct? Klarna will automatically switch from Webview to Custom Tab as a fallback?

Also For KlarnaOSMView similar Functionality is implemented? I have checked after Uninstalling Webview and when I uninstall Webview, KlarnaOSMView is not opening

NMGuner commented 2 years ago

I am afraid that is not how it works. We can not support integration features if WebView is not installed. Custom Tab feature is something totally different, as I said it is for internal use thus there is no explicit API for it. It totally depends on how Klarna Payments works depending on region as SDK does not have any business logic.

It is similar for OSM, it will only work with WebViews.