SPEI
Charge via SPEI transfer: generate the reference, show it to the customer, and wait for confirmation.
SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico's real-time bank transfer system, ideal for higher-value transactions where the customer prefers paying from their bank.
When to use SPEI
- Higher-value transactions (B2B payments).
- Customers who prefer bank transfers over cards.
- Transactions requiring immediate processing during business hours.
- Reducing card processing fees for large amounts.
Step 1: create the request
SPEI doesn't require additional customer data beyond the basics. The API generates the payment instructions.
{
"operation_type": "payment",
"amount": 500.00,
"currency": "MXN",
"customer": { "name": "Carlos Eduardo López", "email": "carlos.lopez@empresa.mx" },
"payment_method": { "type": "SPEI" },
"client_reference": "ORD-001"
}Step 2: handle the response
SPEI payments always start in pending because they require the customer to complete the transfer.
The response includes redirect information with the CLABE:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"operation_type": "payment",
"status": "pending",
"amount": 500.00,
"currency": "MXN",
"next_action": {
"redirect_to_url": {
"url": "https://stage-payflow.tonder.io/spei?clabe=710969000000629935&...",
"return_url": "https://tonder.io?tndr_payment_id=63772",
"verify_transaction_status_url": "/transactions/21cbe500-b320-4e0d-9186-9fb63c3d9617/"
}
}
}Show the customer the CLABE and reference so they can complete the transfer. Confirm the result with a webhook or by polling the status.
New SPEI merchants (MX) should use Frictionless SPEI, which automatically processes mismatched amounts and direct transfers.
This page covers SPEI deposits. SPEI also supports withdrawals (to a bank account or debit card) via Withdrawals via API Direct.
Limits
SPEI has a minimum of $1 MXN per transaction. See the full table in Limits.
In addition, your business can configure a custom minimum amount for SPEI (above the default minimum). Request it from your Tonder integration manager.
If a customer attempts to pay an amount below the configured minimum, Tonder issues an automatic refund for the amount received and the transaction does not complete.
