1. Configurer le sandbox
Utilisez une clé API sandbox depuis votre backend :2. Créer un client
Créez un client individuel avecPOST /v3/customers :
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 :
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} :
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 :
GET /v3/customers/{customerId}/capabilities/{capabilityId} :
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 :
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} :
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 :data.id en tant que QUOTE_ID, puis exécutez-le avec POST /v3/transfers :data.id en tant que TRANSFER_ID. Récupérez les instructions avec GET /v3/transfers/{transferId}/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} :
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.