> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.coinflow.cash/llms.txt.
> For full documentation content, see https://docs.coinflow.cash/llms-full.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:

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-implmentation)

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)

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).

### Crypto Payments

To enable crypto pay-ins, you must contact the Coinflow team. Note that crypto pay-ins are only available through Coinflow's SDKs or Checkout link only. **Crypto pay-ins are not supported via the API**.

| Payment Method           | Countries Payment Method is Supported                                        |
| :----------------------- | :--------------------------------------------------------------------------- |
| Credit Card / Debit Card | All not on \[Coinflow restricted list]\(All not on Coinflow restricted list) |
| Apple Pay / Google Pay   | All not on \[Coinflow restricted list]\(All not on Coinflow restricted list) |
| ACH                      | United States                                                                |
| SEPA                     | European Union                                                               |
| UK Faster Payments       | United Kingdom                                                               |
| PIX                      | Brazil                                                                       |
| Crypto                   | All                                                                          |

<br />

## 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.

Regardless of which payment method the payer pays with, Coinflow will always instantly settle USDC either to:

1. [Coinflow In-App Wallet](/guides/checkout/settlement-locations/settlement-to-coinflow-wallet)
2. [BYO (Bring Your Own) Merchant Wallet on Supported Chain](/guides/checkout/settlement-locations/merchant-byo-wallet-settlement)
3. [Solana Contract](/guides/checkout/settlement-locations/settlement-to-contracts/settle-to-solana-contract/implement-settlement-to-solana-contract) or [EVM Contract](/guides/checkout/settlement-locations/settlement-to-contracts/settle-to-evm-contract/implement-settlement-to-evm-contract)

***

## Identifying Payers

### Creating Session Keys for Non-Crypto Native Users

Coinflow supports both crypto wallet users and those without crypto wallets. If your payers do not have a crypto wallet, you can [create a session key](/api-reference/api-reference/authentication/get-session-key) using your customer identifier. This ID should be consistent with how you identify customers in your system.

> **Important:** Session keys are valid for 24 hours. It's the merchant’s responsibility to refresh the session key after it expires.

### Creating Session Keys for Crypto Native Users

If your payers already have a crypto wallet, you can use the wallet address to uniquely identify the payer when interacting with Coinflow.

```curl Session Key w/ Solana Wallet
// Example of how to generate a session key w/ a payers solana wallet address

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: solana' \
     --header 'x-coinflow-auth-wallet: PAYERS_WALLET_ADDRESS'
```

```Text Session Key w/ EVM Wallet
// Example of how to generate a session key w/ a payers solana wallet address

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: base' \
     --header 'x-coinflow-auth-wallet: PAYERS_EVM_WALLET_ADDRESS'
```

<br />

### Payment Methods Implementation

Coinflow supports various payment methods, including credit cards, debit cards, Apple Pay, and Google Pay. 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

When testing 3DS functionality, [use 3DS-specific card numbers](/guides/checkout/testing/testing-credit-cards#3ds-enabled-card-purchases) in the sandbox environment.