{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/hosted-checkout/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Choose Your Integration Method","description":"Official Banxa API documentation – on-ramp and off-ramp transfers with identity verification and compliance.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"choose-your-integration-method","__idx":0},"children":["Choose Your Integration Method"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There are three ways to integrate Banxa Hosted Checkout. The right choice depends on your platform, backend capability, and which features you need."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"referral","__idx":1},"children":["Referral"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You construct a Banxa URL with query parameters and redirect the customer to it. No API calls required."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Best for:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Teams that want to integrate quickly with minimal backend work."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use cases where you don't need real-time order status in your own system."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Integrations where KYC sharing is not required."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What you get:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Banxa-hosted checkout pre-populated with your parameters (wallet address, crypto, fiat, amount, etc.)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Co-branding and customisation via dashboard settings."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Limitations:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No webhooks for order status notifications."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No quote comparison within your own UI before checkout."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No KYC sharing."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["→ See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/hosted-checkout/docs/referral-integration/overview"},"children":["Referral Integration"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api","__idx":2},"children":["API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You make server-to-server calls to Banxa to fetch quotes, create orders, and receive webhook notifications. The checkout URL is returned in the order creation response, and you redirect or embed it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Best for:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Teams that need real-time order status updates via webhooks."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Integrations that want to display a quote comparison within their own UI before checkout."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use cases where KYC sharing would improve conversion."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Integrations needing programmatic control over payment methods, fiat/crypto options, and customer data."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What you get:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Full access to all Banxa APIs: Quote, Order, Payment Methods, Countries, Currencies, and Identity."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Webhooks for real-time order status updates."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["KYC sharing to reduce friction for returning customers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ability to build a pre-checkout quote flow within your own UI."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Considerations:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your API key must be kept secret — avoid exposing it in client-side code or public repositories."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["More implementation effort than Referral."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["→ See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/hosted-checkout/docs/api-integration/api-integration-overview"},"children":["API Integration"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"react-native-sdk","__idx":3},"children":["React Native SDK"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The React Native SDK wraps Banxa Hosted Checkout in a TypeScript-first mobile package. Install a single package, configure it with your API key, and call typed methods to fetch quotes, create orders, and present the checkout in a WebView — no backend required for core flows."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Best for:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["React Native mobile apps."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Teams that want faster integration than wiring up API calls manually."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Apps where you want the SDK to handle WebView presentation, navigation events, and return URL detection."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["What you get:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Type-safe methods for order creation, quotes, payment methods, currencies, and countries."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Built-in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CheckoutWebView"]}," component with return URL detection."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["x-api-key"]}," auth as the API — no backend required."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Limitations:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["React Native only — not available for web."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Does not support KYC sharing (requires HMAC auth, which the SDK does not expose)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Order list is filtered by customer only — full order history across all customers requires the API directly."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["→ See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/hosted-checkout/docs/sdk-integration/overview"},"children":["SDK Integration"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"comparison","__idx":4},"children":["Comparison"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Referral"},"children":["Referral"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API"},"children":["API"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"React Native SDK"},"children":["React Native SDK"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Implementation effort"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lowest"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Highest"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Low"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Platform"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Web"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Any"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["React Native mobile"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Backend required"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No (only for KYC sharing)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Webhooks"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes (configured separately)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Quote UI in your app"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["KYC sharing"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Order lookup"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes (all orders)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes (by ID or by customer)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Checkout presentation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Redirect or iFrame"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You choose"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["In-app WebView"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"decision-guide","__idx":5},"children":["Decision guide"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Choose Referral"]}," if you want the fastest possible integration and don't need webhooks or in-app quotes."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Choose API"]}," if you need webhooks, want to show customers a quote before checkout, or have an existing KYC process you want to share with Banxa."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Choose React Native SDK"]}," if you're building a React Native mobile app and want a typed SDK interface without wiring up API calls manually."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All three methods can be used with either Redirect or iFrame checkout visualisation, except the SDK — which handles WebView presentation itself."]}]},"headings":[{"value":"Choose Your Integration Method","id":"choose-your-integration-method","depth":1},{"value":"Referral","id":"referral","depth":2},{"value":"API","id":"api","depth":2},{"value":"React Native SDK","id":"react-native-sdk","depth":2},{"value":"Comparison","id":"comparison","depth":2},{"value":"Decision guide","id":"decision-guide","depth":2}],"frontmatter":{"title":"Choose Your Integration Method | Banxa Docs","description":"Choose between Banxa's Referral, API, and React Native SDK integrations. Compare effort, capabilities, and platform requirements.","seo":{"title":"Choose Your Integration Method"}},"lastModified":"2026-05-19T23:30:38.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/hosted-checkout/docs/getting-started/choose-integration-method","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}