The embedded checkout loads the Banxa checkout flow inside your application using an iFrame (web) or WebView (mobile). The customer completes their transaction without leaving your product.
- Your app creates a checkout URL — either via a Referral link or the
checkoutUrlreturned byPOST /v2/buyorPOST /v2/sell. - The URL is loaded as the
srcof an iFrame element (web) or inside a WebView component (mobile). - The customer completes the Banxa checkout flow within the embedded view.
- On completion, Banxa redirects to your
redirectUrl— you can detect this navigation event in the WebView to dismiss the component.
- The customer stays within your application throughout the transaction.
- You control the surrounding UI and context.
- Consistent with a native-feeling product experience.
Banxa requires camera access for KYC document capture. On web, the iFrame must have the allow="camera; microphone" attribute. On mobile, the WebView must have camera permissions enabled.
Sumsub KYC liveness verification requires SFSafariViewController on iOS. It will not complete inside a standard WKWebView. If your customers will encounter liveness checks, use SFSafariViewController as your WebView implementation.
Some payment methods have restrictions inside iFrames and WebViews:
- Apple Pay on web — requires merchant certificate and domain configuration to work inside an iFrame. Contact your Banxa account manager to ensure Apple Pay is correctly set up for your integration.
- Apple Pay on iOS — works inside a correctly configured
WKWebVieworSFSafariViewController. - Google Pay on Android — requires Custom Chrome Tabs, not a standard WebView. If Google Pay is enabled for your integration, use Custom Chrome Tabs.
- iDEAL, Klarna, PayPal — redirect out of the iFrame to complete the payment. The customer is returned to the Banxa order status page afterwards.