Antes de empezar
Vuelve a obtener la cartera de origen. Confirma que su estado actual permite el pago y que su saldo disponible cubre el importe de origen previsto. Guarda su ID derivado de la respuesta comoSOURCE_WALLET_ID.
También necesitas una capacidad de pago lista para el cliente actual y el destino seleccionado.
Las carteras Tron existentes pueden enviar USDT a otra cartera Tron con una cotización stablecoin_transfers. La entrada y la salida deben usar la misma red y la misma stablecoin. No puedes crear nuevas carteras emitidas en Tron.
1. Prepara el destino
- Propio
- Terceros
Utiliza una cuenta bancaria externa propiedad del cliente cuando el cliente sea el propietario del endpoint. Créala con Léela con
POST /v3/customers/{customerId}/accounts y estas cabeceras:Request headers
Request body
GET /v3/customers/{customerId}/accounts/{accountId}. Continúa solo cuando su estado actual permita el pago. Guarda su ID acc_ como PAYOUT_DESTINATION_ID.2. Crea la cotización del pago
UtilizaPOST /v3/quotes con estas cabeceras:
Request headers
Request body
data.id como QUOTE_ID y presenta el precio y las comisiones devueltos.
Elige una ruta bancaria
Para un pago de cripto a fiat, puedes establecer el campo opcionalinstitutionId para exigir una ruta bancaria aprobada para el cliente. Omítelo para usar el enrutamiento automático.
Request body with institutionId
- Un
institutionIdexplícito nunca recurre a otro banco. Cuando el banco seleccionado no tiene una ruta lista para este cliente, capacidad y destino,POST /v3/quotesdevuelve422bank_not_supported_for_customercon el puntero/institutionId. institutionIdsolo es válido en cotizaciones de pago de cripto a fiat. Enviarlo en una cotización de cobro, de tarjeta o de transferencia de stablecoin devuelve400validation_error.- Las lecturas de cotizaciones y transferencias devuelven el
institutionIdde la ruta seleccionada, incluida una seleccionada automáticamente, cuando se puede identificar el banco.
Pagos SWIFT
En producción, los pagos SWIFT en USD necesitan una capacidad SWIFT lista que admita pagos (swift_pooled o swift_named) y se financian con USDC en Ethereum, Base o Polygon, o con USDT en Ethereum o Polygon. El importe del destinatario después de comisiones debe ser de al menos 100.00 USD.
Un destino SWIFT necesita la dirección postal del banco en bankAddress, bankCity, bankState y bankPostalCode. El país del BIC debe coincidir con el país del banco. Swipelux toma la dirección del beneficiario del perfil del cliente o del destinatario.
Pagos Pix
Los destinos de destinatario Pix y Pix Safe reciben BRL. Cotiza el pago con la capacidad Pix lista del cliente (pix_pooled), financíalo con USDC y establece out.currency en BRL. USDT no puede financiar un pago en BRL.
Un pago Pix no puede llevar una comisión de desarrollador. Si la cuenta de origen tiene comisiones de desarrollador, establece fees.breakdown.developer en {"fixed": "0.00", "bips": 0} en la solicitud de cotización. De lo contrario, POST /v3/quotes devuelve 400 validation_error.
Swipelux calcula el precio de la cotización solo después de que se aprueben los datos bancarios del destino. Mientras se verifican, POST /v3/quotes devuelve 400 validation_error con un detail que indica que el destino aún se está verificando, así que solicita una nueva cotización cuando finalice la verificación. Si los datos bancarios se rechazaron o la configuración del destino está incompleta, el detail te pide que contactes con el soporte, y las nuevas cotizaciones seguirán fallando hasta que el soporte complete la configuración. Si no se puede comprobar la verificación, devuelve 503 quote_temporarily_unavailable; reintenta más tarde.
3. Ejecuta el pago
Crea la transferencia conPOST /v3/transfers. Utiliza una nueva clave para esta ejecución prevista:
Request headers
Request body
data.id de la transferencia como TRANSFER_ID. Una creación exitosa inicia el pago; no demuestra la entrega.
4. Monitorea la entrega
LeeGET /v3/transfers/{transferId} tras la creación y después de cada evento. Utiliza el último data.state, data.stateDetail y data.openTaskIds para decidir si esperar, actuar o mostrar un resultado terminal.
A continuación, revisa Cotizaciones y transferencias para conocer los importes exactos, la recuperación segura de ejecuciones y las tareas de transferencia.