One-Time Purchase Integration - Third-Party USDC Settlement
Accept credit card payments and settle USDC directly to a third-party wallet
This guide walks you through integrating Coinflow checkout to accept one-time credit card purchases with USDC settlement to a third-party wallet address.
Prerequisites
Complete these steps before starting the integration.
Quick Reference
Authorization Headers
Helpful Resources
Choose Your Implementation
API Only
Checkout Link
React SDK
Best for custom checkout UIs. Full control over the payment flow.
Step 1: Get a session key
Create a JWT token for the customer that authorizes them to call checkout endpoints.
Session keys expire after 24 hours. Refresh them before expiration.
Step 2: Get pricing totals
Show the customer a quote inclusive of all fees.
Step 3: Tokenize the credit card
See PCI-compliant card tokenization for the “Tokenize New Card” implementation.
Step 4: Tokenize the destination wallet
Tokenize the wallet address that will receive the USDC settlement.
Step 5: Process a new card payment
Step 6: Process saved card payments (returning users)
Re-tokenize the saved card with CVV first (see card tokenization docs - “Refresh Token w/ CVV” tab), then:
Step 7: Get payment details (optional)
3DS Integration
After implementing basic card checkout, add 3DS for enhanced security. Contact the Coinflow team to enable 3DS on your account.
Chargeback Protection
Add the protection script
Add the chargeback protection script to every page of your app. This script analyzes user behavior to detect potential fraud.
On sandbox, use partnerId = COINFTEST when configuring the protection script.
Add protection data to checkout requests
Pass chargebackProtectionData along with these headers:
x-device-id- Device ID from the protection scriptx-coinflow-client-ip- Payer’s IP addressuser-agent- Payer’s User Agent
Complete the chargeback protection form to get your chargebackProtectionData.productType and partnerId for production.

