Visión General
El cash-in SPEI genera una CLABE desechable que el pagador usa para hacer una transferencia SPEI desde la app de su banco. Cuando NTX Pay recibe la liquidación, se te notifica en el webhookcash_in con el evento transaction.cash_in.settled.
Características:
- CLABE válida para una única transferencia (un solo uso)
- Confirmación asíncrona (segundos a minutos)
- Expira en ~24 horas si no se paga (recibes el webhook
transaction.cash_in.expired)
Endpoint
POST /api/spei/cash-in
Headers
Request
Response (201)
destinationClabe (y/o la checkoutUrl) al pagador final.
El 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.
object
requerido
Beneficiario mostrado al pagador (
name y, cuando esté disponible, taxId).string
Referencia numérica SPEI, cuando esté disponible.
string
URL de checkout alojado (alternativa a la transferencia manual), cuando esté disponible.
string
requerido
Expiración del cobro (ISO 8601).
integer
requerido
Monto en centavos MXN.
Campos del Request
integer
requerido
Monto en centavos MXN. **Mínimo:
1000 centavos (500.00 MXN.string
Identificador externo único (hasta 100 caracteres). Úsalo para correlacionar con tu sistema. Recomendado para idempotencia.
string
Descripción del cobro (hasta 255 caracteres).
string
requerido
Nombre del pagador (1–255 caracteres), mostrado en el checkout SPEI.
string
requerido
Correo electrónico del pagador (formato de e-mail válido).
string
RFC/CURP del pagador (10–20 caracteres).
Flujo de Pago
Estados de la Transacción
En el webhook, la liquidación llega como
transaction.cash_in.settled con status: LIQUIDATED — consulta el payload completo.
Idempotencia
Reenvía la misma solicitud con el mismoexternalId para garantizar que una falla de red no genere dos cobros. En caso de duplicación, NTX Pay devuelve el cobro existente.
Probar en el Sandbox
En el sandbox, la liquidación se simula en segundos — sin depender de un banco emisor. Controla el desenlace con el headerX-Sandbox-Scenario:
Próximos Pasos
Webhook cash_in
Payload del webhook de confirmación
SPEI Cash-Out
Envía transferencias SPEI