> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.coinflow.cash/guides/checkout/implementation-overview/getting-started-with-implementation/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.coinflow.cash/_mcp/server. # Getting Started with Implementing Checkout ## Getting Started with Coinflow Checkout Integration Merchants implementing checkout / pay-ins should determine which payment methods you want to support, settlement location, how you will identify the payers. ## Implementation Paths Choose the integration method that best fits your use case: #### Checkout Link The fastest way to get started. Generate a hosted checkout URL and redirect your users - no frontend code required. **Best for:** * Quick integrations * Simple payment flows * Minimal development resources [View Checkout Link Guide](/guides/checkout/implementation-overview/getting-started-with-implementation) #### React SDK Embed Coinflow's pre-built UI components directly in your React application for a seamless user experience. **Best for:** * React applications * Custom branded experiences * Embedded payment flows [View SDK Documentation](/guides/developer-resources/checkout-implementation/developer-react-environment-properties) #### API Integration Full control over the payment experience with direct API access. Build completely custom UIs while leveraging Coinflow's infrastructure. **Best for:** * Custom payment UIs * Mobile applications * Advanced integrations [View API Reference](/api-reference) ## Payment Methods ### Credit Cards, Debit Cards, Apple Pay, Google Pay Payments Coinflow supports various payment methods, including credit cards, debit cards, Apple Pay, Google Pay, Wires, Bank Transfers. These payment methods are eligible for [fraud protection coverage](/guides/checkout/payment-security-risk-management/fraud-protection/about-chargeback-protection), including [chargeback protection](/guides/checkout/payment-security-risk-management/fraud-protection/about-chargeback-protection) and [3D Secure (3DS)](/guides/checkout/payment-security-risk-management/fraud-protection/about-chargeback-protection). Coinflow recommends first testing payments without fraud protection tools enabled, then upon successful testing, test payments with chargeback protection and 3DS enabled. For merchants enabling chargeback protection, ensure you: * [Add the chargeback protection script](/guides/checkout/payment-security-risk-management/fraud-protection/implement-chargeback-protection) to **every page** of your site (not just the payment page). * Pass chargeback protection parameters (e.g., `chargebackProtectionData`) to Coinflow. #### Testing 3DS To enable 3D Secure (3DS) for credit card transactions, merchants must pass the `authentication3DS` parameters when processing payments. If a friction challenge is required (e.g., a user must complete payment authentication), merchants must [implement a 3DS challenge modal](/recipes/recipes/complete-checkout-with-3-ds-challenge-react) in their UI. > **Note:** If you're using Coinflow's checkout link or SDKs, no additional implementation is needed—our pre-built UI handles 3DS challenges automatically. For testing 3DS functionality in the sandbox environment, be sure to [use 3DS-enabled test card numbers](/guides/checkout/testing/testing-credit-cards#3ds-enabled-card-purchases). ### ACH Payments If you're implementing ACH payments, you'll need a bank authentication provider to allow payers to securely link their bank accounts. If you don’t have an existing bank authentication provider, you can use Coinflow’s UI for this process. Bank authentication is already included if you are implementing using Coinflow's SDKs or [Checkout link](/api-reference/api-reference/checkout/get-checkout-link). You can own your checkout UI end to end and still support ACH: Coinflow handles bank authentication and returns a reusable bank account token — see [How To: Link a Bank Account for ACH Checkout](/guides/checkout/payment-methods/payment-methods/ach/link-a-bank-account). | Payment Method | Countries Payment Method is Supported | | :----------------------- | :------------------------------------------------------------------------------------------ | | Credit Card / Debit Card | All not on [Coinflow restricted list](/guides/checkout/payment-methods/supported-countries) | | Apple Pay / Google Pay | All not on [Coinflow restricted list](/guides/checkout/payment-methods/supported-countries) | | PayPal | All not on [Coinflow restricted list](/guides/checkout/payment-methods/supported-countries) | | ACH | United States | | SEPA | European Union | | UK Faster Payments | United Kingdom | | PIX | Brazil | #### Advanced: Stablecoin Pay-Ins To enable stablecoin pay-ins, contact the Coinflow team. Stablecoin pay-ins are available through Coinflow's SDKs or Checkout link only. **Stablecoin pay-ins are not supported via the API**. | Payment Method | Countries Supported | | :------------- | :------------------ | | Stablecoin | All | \ ## Settlement Locations To begin integrating checkout with Coinflow, all merchants must first [configure their settlement settings](/guides/checkout/settlement-locations). This step is essential, as it ensures merchants can receive payments for successful transactions. Without configuring settlement settings, payment statuses will not reach the `settled` status, and Coinflow won't be able to transfer funds for final settlement. Merchants must specify the `settlementType` when sending requests to Coinflow checkout. The correct settlement type depends on the location where the funds will be settled. Coinflow settles funds to your bank account or to a Coinflow Wallet: 1. [Coinflow Wallet (managed, default)](/guides/checkout/settlement-locations/settlement-to-coinflow-wallet) 2. Your bank account #### Advanced: On-Chain Settlement * [Merchant-Managed Wallet](/guides/checkout/settlement-locations/merchant-byo-wallet-settlement) * [Settle to a Contract on the Configured Chain](/guides/checkout/settlement-locations/settlement-to-contracts/settle-to-solana-contract/implement-settlement-to-solana-contract) --- ## Identifying Payers ### Creating Session Keys Most integrations identify payers by your existing customer ID. Pass any consistent string you already use in your system to [create a session key](/api-reference/api-reference/authentication/get-session-key). > **Important:** Session keys are valid for 24 hours. It's the merchant's responsibility to refresh the session key after it expires. #### Advanced: Identifying Payers by Wallet Address If your payers already have a wallet, you can use the wallet address to uniquely identify the payer when interacting with Coinflow. Set the `x-coinflow-auth-blockchain` header to the chain your payers are on. **`Session Key (advanced)`** ```curl Session Key (advanced) curl --request GET \ --url https://api-sandbox.coinflow.cash/api/auth/session-key \ --header 'Authorization: YOUR_API_KEY' \ --header 'accept: application/json' \ --header 'x-coinflow-auth-blockchain: ' \ --header 'x-coinflow-auth-wallet: PAYERS_WALLET_ADDRESS' ```