Shopify / checkout-sheet-kit-android

Shopify’s Checkout Sheet Kit makes it simple to perform a checkout inside your Android app.
MIT License
12 stars 3 forks source link

Allow clients to specify urls that should open externally #70

Open kiftio opened 9 months ago

kiftio commented 9 months ago

What are you trying to accomplish?

It's difficult to know which URLs should be opened in an external browser with the apis we have available. We get more information in swift, with WKNavigationType and it's linkActivated.

Checkout contains a large number of (frequently changing) URLs making a whitelist difficult to create.

Merchants may have store policies with links to various sites, checkout ui extensions with custom links and so on. The may also be rendered in cross-domain iframes.

This PR would allow merchants to specify any URLs (regex) where loading should be overridden, and we'd instead invoke onCheckoutLinkClicked(). Which is a little onerous for clients, but with the APIs and information we have available, it might be the best we can do.

Example clicking on policy link:

https://github.com/Shopify/checkout-sheet-kit-android/assets/15106863/a703d105-d12f-4a98-8ee0-ecdbb9612b56

Before you deploy