Visión General
El cash-out SPEI envía una transferencia interbancaria a una CLABE de destino. El saldo de la cuenta se debita y NTX Pay procesa la transferencia en la red SPEI. La confirmación llega en el webhookcash_out con el evento transaction.cash_out.settled.
Endpoint
POST /api/spei/cash-out
Headers
Request
Response (201)
transactionId (UUID) es el identificador único de la transacción — es el mismo valor entregado en los webhooks; úsalo para correlacionar eventos y consultar la transacción.
Campos del Response
string
requerido
Identificador único de la transacción (UUID). Mismo valor entregado en los webhooks.
string
requerido
Estado de la transacción:
PENDING, CONFIRMED, FAILED o EXPIRED.string
requerido
CLABE de destino que el pagador debe usar en la transferencia SPEI.
string
Referencia numérica SPEI, cuando esté disponible.
integer
requerido
Monto en centavos MXN.
string
Creación de la transacción (ISO 8601).
Campos del Request
integer
requerido
Monto en centavos MXN (mínimo 1). Ej.:
50000 = $500.00 MXN.string
Identificador externo único (hasta 100 caracteres). Reenvíos con el mismo
externalId devuelven la transferencia existente (idempotencia server-side).string
requerido
CLABE de destino — exactamente 18 dígitos numéricos (regex:
^\d{18}$).string
requerido
Nombre del beneficiario (3–255 caracteres).
string
RFC/CURP del beneficiario (10–20 caracteres). Recomendado para conciliación.
string
Concepto mostrado en el estado de cuenta del beneficiario (hasta 40 caracteres — límite del concepto SPEI).
Validación de Saldo
Antes de enviar, valida el saldo:Estados
En el webhook, los desenlaces llegan como
transaction.cash_out.settled (LIQUIDATED) y transaction.cash_out.rejected (REJECTED) — consulta el payload completo.
Devolución después de la liquidación: si el banco de la contraparte devuelve la transferencia, el saldo se acredita de vuelta y recibes transaction.cash_out.returned en el webhook refund_out.
Códigos de Error
Ejemplo en Node.js con Retry
Probar en el Sandbox
En el sandbox corre el pipeline completo — saldo debitado, tarifa cobrada, estado de cuenta generado — y la liquidación se simula en segundos. Tu cuenta necesita saldo: haz un cash-in antes. Fuerza rechazo, devolución y fallas síncronas con el headerX-Sandbox-Scenario — consulta el catálogo de escenarios.
Próximos Pasos
Webhook cash_out
Payload del webhook de liquidación
Webhook refund_out
Cómo llegan las devoluciones de cash-out