1. Configura el sandbox
Utiliza una clave de API de sandbox desde tu backend:2. Crea un cliente
Crea un cliente individual conPOST /v3/customers:
data.id como CUSTOMER_ID.
3. Elige el resultado
- Cobro (pay-in): recibe USD y liquida USDC en la cartera emitida del cliente.
- Pago (payout): envía USDC desde la cartera emitida del cliente a una cuenta bancaria propiedad del cliente.
- Cuenta bancaria emitida: emite una cuenta ACH/USD que se liquida en la cartera emitida del cliente.
4. Encuentra una capacidad elegible
Lista las capacidades soportadas conGET /v3/customers/{customerId}/capabilities/supported:
availability en available o beta, eligibility.eligible en true, los directions y method necesarios y el accountType correspondiente. Utiliza la cartera emitida del cliente como destino del cobro, origen del pago o cuenta de liquidación de la cuenta bancaria; utiliza la cuenta propiedad del cliente como destinationId para esta ruta de pago. Si se devuelven institutions, utiliza únicamente una elección de institución devuelta. Guarda el id de la entrada como CAPABILITY_ID; no fijes en el código un ID de capacidad universal.
5. Solicita la capacidad
Solicita la capacidad seleccionada conPOST /v3/customers/{customerId}/capabilities/{capabilityId}:
data.status como CAPABILITY_STATUS y data.openTaskIds como TASK_IDS.
6. Completa el onboarding en sandbox
SiTASK_IDS no está vacío, completa cada requisito actual mediante Capacidades y tareas.
Para este recorrido, establece la capacidad en ready con POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status:
GET /v3/customers/{customerId}/capabilities/{capabilityId}:
CAPABILITY_STATUS y TASK_IDS a partir de data.status y data.openTaskIds. Continúa solo cuando CAPABILITY_STATUS sea ready.
7. Construye el flujo seleccionado
Crea una cartera USDC emitida en Base conPOST /v3/customers/{customerId}/accounts:
data.id como FLOW_WALLET_ID, data.status como FLOW_WALLET_STATUS y data.openTaskIds como FLOW_WALLET_TASK_IDS. Si FLOW_WALLET_TASK_IDS no está vacío, completa las tareas actuales mediante Capacidades y tareas.
Vuelve a consultar la cartera con GET /v3/customers/{customerId}/accounts/{accountId}:
FLOW_WALLET_STATUS y FLOW_WALLET_TASK_IDS a partir de data.status y data.openTaskIds. Continúa solo cuando FLOW_WALLET_STATUS sea ready.
- Cobro
- Pago
- Cuenta bancaria emitida
Crea una cotización USD a USDC con Guarda Guarda La respuesta contiene
POST /v3/quotes:data.id como QUOTE_ID y luego ejecútala con POST /v3/transfers:data.id como TRANSFER_ID. Obtén las instrucciones con GET /v3/transfers/{transferId}/instructions:data.transferId y data.instructions. Guarda data.transferId como TRANSFER_ID y data.instructions como FUNDING_INSTRUCTIONS.TRANSFER_ID con GET /v3/transfers/{transferId}:
Cobro
Construye el flujo completo de cobro.
Pago
Construye la gestión de pagos en producción.
Cuenta bancaria emitida
Gestiona el aprovisionamiento y los datos.