Credit Purchase Integration: USDC Settled Directly to BYO Wallet (EVM)
Credit Purchase Integration: USDC Settled Directly to BYO Wallet (EVM)
Credit Purchase Integration: USDC Settled Directly to BYO Wallet (EVM)
This page is for advanced / cryptocurrency-native companies. If that’s not you, head back to the Quickstart for the standard flows.
This implementation guide outlines how Merchants on EVM chains can accept pay-ins and settle to a Merchant’s EVM wallet.
This integration assumes you’ve completed the Account Setup prerequisites — sandbox merchant account, API key, team access, and any product-specific configuration (settlement location, chargeback protection, or wallet funding).
Quick Links:
Authorization Headers:
Authorization — Your API key from the merchant dashboard.x-coinflow-auth-user-id — A unique customer ID from your own systems identifying the payer or payee.x-coinflow-auth-session-key — A JWT that authorizes the payer. Valid for 24 hours; refresh after expiry.Share payer events with Coinflow Sharing major events that a payer makes throughout their lifecycle on your website prior to them making a purchase will allow us to collect more information about them and improve your approval rates.
For full descriptions and timing guidance for each event, see Sending Payer Events.
Install Coinflow package
npm i @coinflowlabs/reactCoinflowPurchase componentShare payer events with Coinflow Sharing major events that a payer makes throughout their lifecycle on your website prior to them making a purchase will allow us to collect more information about them and improve your approval rates.
For full descriptions and timing guidance for each event, see Sending Payer Events.
Fetch a session key
This creates a JWT token for the customer, and authorizes the user to call these endpoints. You will pass the returned session key as x-coinflow-auth-session-key header.
Get the Totals for the checkout to show the customer a quote inclusive of all fees.
Tokenize the Credit Card Number. See tab: Tokenize New Card
Tokenize the checkout parameters. This encrypts the checkout parameters so bad actors cannot tamper with the checkout args.
Enable a New Card Checkout This endpoint will enable a new user who has never made a purchase to complete their purchase with a credit card. Below is an example of how you’d call the card checkout endpoint:
Re-tokenize a saved card number. See tab: Refresh Token w/ CVV
Enable a Saved Card Checkout This endpoint will enable a returning user to complete a purchase with a previously saved card. The returning user will need to enter their CVV before confirming the purchase. Once you’ve retrieved the refreshed card token, pass it into the Saved Card Checkout endpoint. Below is an example request:
Follow the below recipe to learn how to add 3DS to your new card and saved card requests.
partnerId provided by the Coinflow team.chargebackProtectionData object to the new and saved card checkout as well as the below headers. See an example of what the request will look like when you pass chargeback protection data to the new card checkout endpoint.
x-device-id - Get this after adding the script in step 1x-coinflow-client-ip- the payer’s ipv4 addressuser-agent - the payer’s User AgentGet Credits Authorization Message Get a message which the payer’s wallet should sign - this authorizes them to spend the credit balance.
Sign the Message.