1. Configurer le sandbox
Utilisez une clé API sandbox depuis votre backend :Sandbox setup
2. Créer un client
Créez un client individuel avecPOST /v3/customers :
Create customer
data.id en tant que CUSTOMER_ID.
3. Choisir le résultat
- Encaissement : recevez des USD et réglez en USDC dans le portefeuille émis du client.
- Paiement : envoyez des USDC depuis le portefeuille émis du client vers un compte bancaire détenu par le client.
- Compte bancaire émis : émettez un compte ACH/USD qui règle dans le portefeuille émis du client.
4. Trouver une capacité éligible
Listez les capacités prises en charge avecGET /v3/customers/{customerId}/capabilities/supported :
Supported capabilities
availability défini sur available ou beta, eligibility.eligible défini sur true, les directions et la method nécessaires, et le accountType correspondant. Utilisez le portefeuille émis du client comme destination d’encaissement, source de paiement ou compte de règlement du compte bancaire ; utilisez le compte détenu par le client comme destinationId pour ce chemin de paiement. Si des institutions sont renvoyées, utilisez uniquement un choix d’institution renvoyé. Stockez l’id de l’entrée en tant que CAPABILITY_ID ; ne codez pas en dur un ID de capacité universel.
5. Demander la capacité
Demandez la capacité sélectionnée avecPOST /v3/customers/{customerId}/capabilities/{capabilityId} :
Request capability
data.status en tant que CAPABILITY_STATUS et data.openTaskIds en tant que TASK_IDS.
6. Terminer l’onboarding en sandbox
SiTASK_IDS n’est pas vide, complétez chaque exigence actuelle via Capacités et tâches.
Pour cette procédure, définissez la capacité sur ready avec POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status :
Set capability ready
GET /v3/customers/{customerId}/capabilities/{capabilityId} :
Refetch capability
CAPABILITY_STATUS et TASK_IDS depuis data.status et data.openTaskIds. Continuez uniquement lorsque CAPABILITY_STATUS est ready.
7. Construire le flux sélectionné
Créez un portefeuille USDC émis sur Base avecPOST /v3/customers/{customerId}/accounts :
Create wallet
data.id en tant que FLOW_WALLET_ID, data.status en tant que FLOW_WALLET_STATUS, et data.openTaskIds en tant que FLOW_WALLET_TASK_IDS. Si FLOW_WALLET_TASK_IDS n’est pas vide, complétez les tâches actuelles via Capacités et tâches.
Récupérez à nouveau le portefeuille avec GET /v3/customers/{customerId}/accounts/{accountId} :
Refetch wallet
FLOW_WALLET_STATUS et FLOW_WALLET_TASK_IDS depuis data.status et data.openTaskIds. Continuez uniquement lorsque FLOW_WALLET_STATUS est ready.
- Encaissement
- Paiement
- Compte bancaire émis
Créez un devis USD vers USDC avec Stockez Stockez La réponse contient
POST /v3/quotes :Pay-in quote
data.id en tant que QUOTE_ID, puis exécutez-le avec POST /v3/transfers :Execute quote
data.id en tant que TRANSFER_ID. Récupérez les instructions avec GET /v3/transfers/{transferId}/instructions :Funding instructions
data.transferId et data.instructions. Stockez data.transferId en tant que TRANSFER_ID et data.instructions en tant que FUNDING_INSTRUCTIONS.TRANSFER_ID avec GET /v3/transfers/{transferId} :
Monitor transfer
Encaissement
Construisez le flux d’encaissement complet.
Paiement
Construisez la gestion des paiements en production.
Compte bancaire émis
Gérez le provisionnement et les coordonnées.