Skip to content
Last updated

Embedded Checkout (iFrame) — Overview

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.


How it works

  1. Your app creates a checkout URL — either via a Referral link or the checkoutUrl returned by POST /v2/buy or POST /v2/sell.
  2. The URL is loaded as the src of an iFrame element (web) or inside a WebView component (mobile).
  3. The customer completes the Banxa checkout flow within the embedded view.
  4. On completion, Banxa redirects to your redirectUrl — you can detect this navigation event in the WebView to dismiss the component.

Advantages

  • The customer stays within your application throughout the transaction.
  • You control the surrounding UI and context.
  • Consistent with a native-feeling product experience.

Considerations

Camera access

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.

iOS liveness check

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.

Payment method compatibility

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 WKWebView or SFSafariViewController.
  • 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.

Implementation

Web Implementation Mobile Implementation