Overview
SPEI cash-in generates a disposable CLABE that the payer uses to make a SPEI transfer from their banking app. When NTX Pay receives the settlement, the transaction moves toCONFIRMED and triggers the cash_in webhook.
Characteristics:
- CLABE valid for a single transfer (one-time use)
- Asynchronous confirmation (seconds to minutes)
- Expires on configurable date (default ~24 hours)
Endpoint
POST /api/spei/cash-in
Headers
Request
Response (201)
Request Fields
Value in MXN centavos (minimum 1). Ex.:
50000 = $500.00 MXN.Unique external identifier (up to 100 characters). Use to correlate with your system. Recommended for idempotency.
Charge description (up to 255 characters).
Payer name (1–255 characters), shown on the SPEI checkout.
Payer email (valid email format).
Payer RFC/CURP (10–20 characters).
Payment Flow
Transaction States
| Status | Meaning |
|---|---|
PENDING | CLABE issued, waiting for transfer |
CONFIRMED | Transfer received and settled |
FAILED | Processing error |
EXPIRED | CLABE expired without receiving transfer |
Idempotency
Resend the same request with the sameexternalId to ensure that a network failure doesn’t generate two charges. In case of duplication, NTX Pay returns the existing charge.
Next Steps
cash_in webhook
Details of the confirmation webhook payload
SPEI Cash-Out
Send SPEI transfers