{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/hosted-checkout/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Third-Party Disclaimer","description":"Official Banxa API documentation – on-ramp and off-ramp transfers with identity verification and compliance.","llmstxt":{"title":"Banxa Developer Documentation","description":"Integrate crypto-fiat exchange with Banxa's licensed infrastructure: payments, KYC, compliance, and settlement handled. 150+ countries, 45 global licences.","details":{"content":"Two integration products: **Banxa Native API** for partners who manage their own KYC and want full UX control (headless, HMAC server-to-server, no Banxa-hosted screens); **Banxa Hosted Checkout** for partners who want Banxa to handle KYC and payments (three paths: Referral URL, API, or React Native SDK). Both use the same sandbox and production environments at `https://api.banxa-sandbox.com` and `https://api.banxa.com`.\n\n## When to use Banxa\n\nReach for Banxa when a product needs to let people **buy crypto with fiat or sell crypto for fiat** without the partner holding money-transmitter or VASP licences. Banxa is the licensed counterparty: it takes the payment, runs compliance, and delivers the asset. Typical fits are wallets, exchanges, dApps, gaming platforms and fintech apps adding an on-ramp or off-ramp.\n\nPick the product by who owns KYC:\n\n- **Banxa Native API** - the partner already runs its own KYC and wants no Banxa screens at all. Headless, HMAC-signed server-to-server, partner owns the entire interface. Needs a backend. Days to weeks to integrate.\n- **Banxa Hosted Checkout** - the partner does not want to run KYC. Banxa handles identity, payment and delivery in its own flow, reached by redirect, embedded iFrame, or React Native SDK. No backend required for the referral path. Hours to days to integrate.\n- **Legacy API** - existing integrations only. Do not start here.\n\nBanxa is not the right tool for crypto-to-crypto swaps, custody or wallet infrastructure, or for any flow where the partner wants to settle funds itself.\n\n## Constraints\n\n- **Authentication**: HMAC credentials must be stored server-side only, never expose in frontend, mobile, or client-side code. HMAC is required for all Native API calls and for KYC sharing in Hosted Checkout; `x-api-key` is used for all other Hosted Checkout endpoints.\n- **`externalCustomerId`**: Required on every buy and sell order. Use a stable opaque identifier, never PII.\n- **`identityReference`**: Must remain constant for the same user across all requests. Must not contain PII. If you attempt to create an identity for an email that already exists, you will receive a 422 / code 81, so retrieve the existing record rather than retrying creation. Use `GET /eapi/v0/identities/{identityReference}?email=user@example.com` to look up the real `identityReference` linked to an email.\n- **`quoteId`**: Only supported by `POST /eapi/v0/ramps` (bank transfer). The React Native SDK and Embedded Payment Button do not accept a `quoteId`, so use indicative pricing (`GET /eapi/v0/price`) for SDK and Embedded Payment Button flows.\n- **Quotes**: Indicative prices are not rate-locked, so refresh close to order creation to minimise rate drift. Locked quotes (`GET /eapi/v0/quote`) expire after approximately 3 minutes and are only valid for bank transfer ramp creation.\n- **Eligibility gate**: Never create a ramp or invoke the SDK when `paymentReady` is `false`. Always check eligibility and satisfy all requirements before payment execution.\n- **Webhooks**: Verify all inbound webhook signatures with HMAC-SHA256 before processing. Return HTTP 200 immediately and process asynchronously.\n- **Product selection**: Banxa Native is for partners who manage their own KYC. Banxa Hosted Checkout is for partners who do not do KYC. These are separate products with separate flows: do not mix endpoints across products.\n- **SDK scope**: The React Native SDK has no `banxa.customerIdentity` module. Identity and KYC are handled through the Native API only. `primerCallbacks` and `primerSettings` are Native context only and must not be referenced in Hosted Checkout integrations.\n- **Payment method naming**: Never use \"eAPI\" or \"EAPI\" as a product name. The correct name is \"Banxa Native API\". The URL path prefix `/eapi/` is correct and should not be changed.\n"}}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"third-party-disclaimer","__idx":0},"children":["Third-Party Disclaimer"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the complete documentation index, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.banxa.com/llms.txt"},"children":["llms.txt"]},". Append ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".md"]}," to any page URL for its markdown version."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Banxa is the merchant of record for the payment: Banxa charges the customer's card directly. The statement descriptor varies by processor and issuer, so the charge may appear under Banxa's name or a payment processor's name. For this reason, you must tell the customer they are transacting with a third party (Banxa) before they reach the Banxa checkout. This is a condition of going live."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Go-live requirement"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your go-live review video must show the disclaimer in your flow. Integrations without it will not be approved for production."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requirements","__idx":1},"children":["Requirements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You build and display the disclaimer in your own UI; Banxa does not inject it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["It must appear before the customer lands on the Banxa checkout, for example on your confirm or continue step."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The customer must be made aware of Banxa on every order, not only the first."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["There is no mandated template; the disclosure must clearly name Banxa as the third-party provider."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"why-it-matters","__idx":2},"children":["Why it matters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the customer does not recognise the charge on their card statement, they may assume fraud and raise a chargeback, or ignore Banxa's verification follow-ups. Both hurt your conversion."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"acceptable-patterns","__idx":3},"children":["Acceptable patterns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Either of the following satisfies the requirement:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A \"Continue with Banxa\" (or similar) button or label at the hand-off point. Because it appears on every order, this pattern also covers returning customers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A short disclaimer panel with an acknowledgement checkbox."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sample-wording","__idx":4},"children":["Sample wording"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You are now leaving {Your Brand} for Banxa. Services related to card payments are provided by Banxa, a separate third-party platform. By proceeding, you acknowledge that you have read and agree to Banxa's Terms of Use and Privacy and Cookies Policy. For any questions related to Banxa's services, please contact support@banxa.com."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your disclaimer only appears for new customers, ensure returning customers can still see that Banxa is involved on every order; the button-label pattern covers this."]}]},"headings":[{"value":"Third-Party Disclaimer","id":"third-party-disclaimer","depth":1},{"value":"Requirements","id":"requirements","depth":2},{"value":"Why it matters","id":"why-it-matters","depth":2},{"value":"Acceptable patterns","id":"acceptable-patterns","depth":2},{"value":"Sample wording","id":"sample-wording","depth":3}],"frontmatter":{"title":"Third-Party Disclaimer Requirement | Banxa Docs","description":"Before going live, partners must disclose to customers that payments are processed by Banxa as merchant of record. Requirements, acceptable patterns, and sample wording.","seo":{"title":"Third-Party Disclaimer"}},"lastModified":"2026-08-20T06:59:29.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/hosted-checkout/docs/getting-started/required-disclaimer","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}