SPEI and CoDi in Mexico: how to get paid without a card terminal
Published on
SPEI is the classic bank transfer: the customer types your CLABE and sends the money. CoDi runs on top of that same SPEI, but the customer scans a QR code instead of typing anything, and it charges no sales commission. If large transfers get rejected, it's the MTU: a limit each person sets on their own bank, which defaults to 12,500 pesos.
In Mexico, transfers already move more money than cards. For a business selling on WhatsApp or Instagram that's good news: you don't need a terminal, a contract with a payment gateway, or to pay a percentage of every sale. You need a CLABE and to know two or three things that aren't obvious.
SPEI and CoDi aren't alternatives: one runs on top of the other
CoDi uses SPEI underneath. The money travels the same way and arrives just as fast. What changes is how you ask the customer for it: with SPEI you give them your details to type, with CoDi you show them a QR they scan.
| SPEI | CoDi | |
|---|---|---|
| What you give the customer | Your 18-digit CLABE | A QR code or an NFC charge |
| What can go wrong | Mistyping a digit | Very little: the amount is embedded in the code |
| Sales commission | Usually none | None |
| Who runs it | Banco de México | Banco de México, on top of SPEI |
| Works well for | Selling remotely, over chat | Charging in person or with a fixed amount |
The MTU: why transfers get rejected for no apparent reason
Since October 1, 2025, the CNBV requires banks to let every customer set their own cap for digital operations. It's called the Monto Transaccional del Usuario (User Transaction Amount).
Anyone who didn't configure it before September 30, 2025 got a default limit of 12,500 pesos from their institution. Any operation above that is automatically rejected until the cap is raised from the app or by calling the bank.
This hits your business two ways. If you sell something expensive and your customer's transfer bounces, it isn't your fault or your account's: it's their MTU. It's worth knowing so you can explain it in two sentences instead of losing the sale. And check your own too: if you're going to receive large amounts, it's worth having it set where you need it.
Getting paid without a terminal, in practice
The mechanics are the same as in the rest of the region, with one important difference: in Mexico the detail you share is the CLABE, not a phone number.
- Share the CLABE, the bank and the account holder. All three, not just the number: the customer needs to add the account, and the name has to match or they'll rightly get suspicious.
- Ask for the receipt, not just the notice. "I already sent it" isn't a payment. The SPEI receipt carries a tracking key and a time.
- Check your own app before shipping the product. It's the only reliable source; screenshots get faked too easily.
- Use CoDi when the amount is fixed. Since the amount travels inside the code, typing errors and underpayments disappear.
When a payment gateway is actually worth it
Charging by transfer has a clear ceiling: someone has to check the incoming payments one by one. If you handle dozens of orders a day, that time stops paying off and a gateway with automatic confirmation pays for itself. Below that, charging by SPEI or CoDi leaves you the full amount.
Show your details to the customer when the order is placed
MyShopLink lets you set up your CLABE and the methods you accept, and shows them to the buyer at checkout, with the exact amount. The order arrives complete — what was ordered, where it's going and how they'll pay — so all you have to do is check the payment.
Sources (in Spanish)
- CoDi and SPEI in Mexico 2026, how digital payments work — ViaUno
- CNBV's MTU limit and rejected transfers — Tecnoguías
- SPEI overtakes card payments in Mexico — Expansión
- CoDi and QR payments: which banks support it — Banks Mexico