Saltar al contenido principal

Cuándo dispara

El evento cash_out se dispara en dos escenarios:
  • Éxito — el SPEI cash-out enviado vía POST /api/spei/cash-out fue liquidado en Banxico (status: CONFIRMED)
  • Falla — la red SPEI o el provider rechazó la transferencia (status: FAILED)

Payload (confirmado)

{
  "event": "cash_out",
  "deliveryId": "1a3f9e8d-2c47-4b9c-aa18-77a2b3c4d5e6",
  "createdAt": "2026-05-13T12:00:42.000Z",
  "transaction": {
    "id": 56789,
    "externalId": "payout-001",
    "paymentMethod": "SPEI",
    "direction": "out",
    "type": "cash_out",
    "status": "CONFIRMED",
    "provider": "smartfastpay",
    "amountCentavos": 50000,
    "clabe": "012180001234567890",
    "createdAt": "2026-05-13T12:00:00.000Z",
    "confirmedAt": "2026-05-13T12:00:42.000Z"
  }
}

Payload (falla)

{
  "event": "cash_out",
  "deliveryId": "...",
  "createdAt": "2026-05-13T12:01:00.000Z",
  "transaction": {
    "id": 56789,
    "status": "FAILED",
    "paymentMethod": "SPEI",
    "direction": "out",
    "type": "cash_out",
    "amountCentavos": 50000,
    "clabe": "012180001234567890",
    "createdAt": "2026-05-13T12:00:00.000Z",
    "confirmedAt": null
  }
}
Cuando status: FAILED, el saldo bloqueado se devuelve automáticamente.

Headers

HeaderValor
X-NTXPay-Eventcash_out
X-NTXPay-Signaturesha256=<hmac>
X-NTXPay-TimestampUnix epoch
X-NTXPay-DeliveryUUID

Comportamiento

  • At-least-once: puedes recibir CONFIRMED más de una vez. Deduplica por transaction.id.
  • Falla después del éxito: no ocurre. Una transacción no cambia de CONFIRMED a FAILED.
  • Reversa: si la contraparte (beneficiario) devuelve, recibes un evento refund_in separado, con transaction.type = "refund_in" linkado por el externalId.

Respuesta Esperada

HTTP/1.1 200 OK
Ver el guía de implementación para la validación HMAC.