Skip to content

How to accept SPEI payments in Mexico at checkout (2026)

How a business accepts SPEI transfers from Mexican shoppers in 2026: CLABE instructions, exact MXN amounts, CLABE virtual accounts, and USD settlement.

To accept SPEI payments in Mexico at checkout, show the shopper a CLABE and the exact amount in whole pesos, then wait for the transfer. SPEI is fast: Banco de México says a payment should take no more than 30 seconds after approval. With BlindPay, a SPEI payin quote returns the peso amount, the payin returns the CLABE, and the merchant receives USD stablecoins.

SPEI is the bank transfer every Mexican bank app already supports. This guide covers checkout collection as of October 2026, for businesses in or outside Mexico. Start with what a global payments checkout is for the full stack.

Key takeaways

  • SPEI is developed and operated by Banco de México, and a payment should take no more than 30 seconds after approval.
  • Mexican accounts are identified by an 18-digit CLABE. The checkout shows one, plus the exact MXN amount.
  • SPEI needs no payer details on a BlindPay payin quote, unlike Pix, PSE, or Transfers 3.0.
  • MXN amounts are whole pesos. BlindPay rejects a sender amount with centavos.
  • From October 21, 2026, BlindPay SPEI CLABE virtual accounts give a customer a permanent CLABE for repeat deposits.

What is SPEI and why does it fit a checkout?

SPEI is Mexico's interbank payment system. It fits a checkout because it is fast, universal, and needs nothing but a CLABE.

Banco de México describes SPEI as a system it developed and operates, says a SPEI payment should not take more than 30 seconds after approval, and identifies accounts with an 18-digit CLABE. Banxico also issues the CEP, an electronic payment receipt, which helps when a shopper says they paid.

For a checkout, that means the shopper pays from the app they already use, and the deposit shows up while they are still on your page. Pix vs SPEI compares it with Brazil's instant rail.

Which SPEI collection option fits your checkout?

A one-time SPEI payin for each order, or a permanent CLABE for customers who pay again and again.

OptionHow the payer paysQuote first?AmountBest for
One-time SPEI payinSends to the CLABE returned for this payinYes, locks rate and fees for 5 minutesExact amount from the quote, whole pesosCheckout orders with a fixed price
SPEI CLABE virtual accountSends to the customer's permanent CLABENoAny amount, any timeRepeat payers, top-ups, B2B buyers
SPEI payoutNothing; the recipient's bank is creditedYes, a payout quoteExact MXN amountRefunds, sellers, suppliers in Mexico

Checkout orders usually want the one-time payin, since the price is known and the deposit should match one order. A SPEI CLABE virtual account suits a customer who funds a balance or pays recurring invoices. On BlindPay, each deposit to that CLABE creates a new spei payin at the live MXN rate, and it never pays an open SPEI payin quote.

How do you accept a SPEI payment, step by step?

Six steps, with no payer details to collect.

  1. Price the order in USD. The shopper picks Mexico and SPEI.
  2. Request a SPEI payin quote with payment_method: "spei". With currency_type: "receiver" and cover_fees: true, the merchant receives exactly the USD price and the MXN amount includes fees and exchange.
  3. Show the price with the currency code, such as "MXN 823". The es-MX locale prints pesos with a bare "$", which shoppers can read as dollars.
  4. Create the payin from the quote within 5 minutes, with an Idempotency-Key tied to the order.
  5. Show the CLABE from the clabe field, the exact amount, and the beneficiary, each with a copy button.
  6. Wait for the deposit and confirm the order when the payin completes.

Designing the instructions screen covers copy buttons, the waiting state, and what to show while a payment is on hold.

How do MXN amounts work at a SPEI checkout?

In whole pesos. Centavos break the match.

MXN settles in whole units at the bank. A sender-denominated quote must be a multiple of 100 minor units, so 10000 (MXN 100) is valid and 10050 is rejected with request_amount_must_be_a_whole_currency_unit. When you quote the receiver side instead, BlindPay rounds the computed peso amount down to a whole unit before returning it.

The quote also enforces a minimum and maximum per currency. MXN starts around 10 pesos, and the receiver's per-transaction KYC limit can be lower than the currency ceiling. Read the error message and show it under the SPEI option rather than hardcoding a number. Local currency pricing at checkout covers display versus charge currency.

Why do SPEI checkout payments fail?

Almost always because the transfer does not match what the payin expects.

  • Wrong amount. The shopper rounds the total or types it wrong. Show the exact amount with a copy button.
  • No transfer. The shopper leaves to their bank app and never sends it. BlindPay waits up to 30 minutes, then marks the payin failed. A payin cannot be canceled, so keep the instructions on screen while it is processing.
  • Expired quote. The shopper waits more than 5 minutes on the price screen. Quote again on the next click.
  • Compliance hold. A payin can land on_hold for manual review. Tell the shopper it is being reviewed, and do not ask them to pay again.

Who this is for: merchants, marketplaces, and platforms selling to Mexican shoppers or businesses, in Mexico or abroad, that want pesos in and dollars out without opening a Mexican bank account.

Where do other providers fit for Mexico?

Some gateways only offer SPEI to businesses based in Mexico. Stripe's documentation lists MXN bank transfers for Stripe accounts in Mexico, while BlindPay collects SPEI for businesses based anywhere and settles them in USD stablecoins. If your company is outside Mexico, check where each provider requires you to be incorporated.

How does BlindPay handle SPEI at checkout?

BlindPay collects pesos over SPEI and settles to the merchant in USD stablecoins through one API. You build the checkout, and BlindPay moves the money.

A one-time SPEI payment starts with a payin quote that locks the amount, fees, and destination for 5 minutes. SPEI needs no payer_rules. The payin response returns the clabe to show the shopper. SPEI payins typically arrive within minutes, and BlindPay's cut-off times reference lists arrival at up to 10 minutes.

From October 21, 2026, a SPEI CLABE virtual account gives a customer of any country a permanent 18-digit CLABE. It is active as soon as it is created, a CLABE is never reassigned, and anyone with a Mexican bank account can send any amount to it at any time. Payers see a pooled recipient name, not your customer's name, but each deposit is credited to the right customer. Contact BlindPay to enable it.

Status arrives by webhook: payin.new, payin.update, and payin.complete. Read status to confirm. To pay back out in Mexico, for refunds, sellers, or suppliers, send a SPEI payout from a quote, or withdraw the dollars over ACH, RTP, wire, or SWIFT (POBO/COBO).

Methodology and sources

External facts: Banco de México on SPEI, Banxico's CEP, Stripe bank transfers documentation, and Stripe's test of 50+ payment methods, which found an average 7.4% conversion lift from showing a relevant method beyond cards (SPEI was not part of it). BlindPay facts come from the payins, payin quotes, and virtual accounts docs. For sending pesos the other way, read how to send USDC to a bank account in Mexico.

What to do next

Add Mexico to your checkout with SPEI as its method and a screen that shows the CLABE and the exact peso amount. Then create a SPEI payin quote on a BlindPay development instance with the payin quickstart and follow it to completed.

FAQ

One API.
Multiple payment rails.

Blind Pay, Inc. (“BlindPay”) is a United States-based financial technology and payments infrastructure company, incorporated in the State of Delaware on May 2, 2024. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000277566153. BlindPay is not a state-licensed money transmitter and does not, in its own capacity, engage in regulated money transmission services. All such regulated activities are conducted exclusively through, and under the licenses of, duly authorized financial institution partners. BlindPay's role is limited to providing financial technology, virtual account management, payment processing, and related payments infrastructure services that facilitate payment flows and account functionalities. These services are provided in coordination with its licensed partners and in compliance with applicable federal MSB requirements and relevant state regulatory frameworks.

Blind Pay, LLC (“BlindPay”) is a Delaware limited liability company formed on June 24, 2025. BlindPay is duly registered as a Money Services Business (“MSB”) with the Financial Crimes Enforcement Network (“FinCEN”) under registration number 31000318334247 and is listed in the Nationwide Multistate Licensing System (“NMLS”) under NMLS ID #2745309.

BLIND PAY SOCIEDADE PRESTADORA DE SERVIÇOS DE ATIVOS VIRTUAIS LTDA. (“BlindPay”) is a Virtual Asset Service Provider (“VASP”) operating in Brazil. The company is presently completing the regulatory adaptation process required of Virtual Asset Service Provider Companies (SPSAV) under Central Bank of Brazil Resolution No. 520/2025, and remains subject to the transitional regime set forth in Article 88 of that Resolution. Registered address: Avenida Princesa Isabel, nº 15, Sala 1405, Edifício Martinho de Freitas, Centro, Vitória/ES, 29010-361.

BlindPay is a stablecoin API that enables individuals and businesses to move money worldwide.