---
title: "How to accept SPEI payments in Mexico at checkout (2026)"
seoTitle: "How to accept SPEI payments in Mexico at checkout"
description: "How a business accepts SPEI transfers from Mexican shoppers in 2026: CLABE instructions, exact MXN amounts, CLABE virtual accounts, and USD settlement."
date: "2026-10-21"
updated: "2026-10-21"
category: "payments"
author: "BlindPay Team"
howto:
  name: "Accept a SPEI payment from a Mexican shopper"
  steps:
    - name: "Price the order"
      text: "Set the price in USD and offer SPEI when the shopper picks Mexico. SPEI needs no extra payer details."
    - name: "Request a payin quote"
      text: "Create a SPEI payin quote. It returns the MXN amount in whole pesos and locks the rate and fees for 5 minutes."
    - name: "Create the payin"
      text: "Create the payin from the quote with an Idempotency-Key and read the CLABE from the response."
    - name: "Show the CLABE and amount"
      text: "Display the 18-digit CLABE, the exact MXN amount, and the beneficiary, each with a copy button."
    - name: "Wait for the transfer"
      text: "The shopper sends the SPEI transfer from their bank app. SPEI payins typically arrive within minutes."
    - name: "Mark the order paid"
      text: "When the payin completes, confirm the order. The merchant receives USD stablecoins and can withdraw to a bank account."
faq:
  - q: "What is SPEI?"
    a: "SPEI is Mexico's interbank electronic payment system, developed and operated by Banco de México. A payment should take no more than 30 seconds after approval, according to Banxico, and accounts are identified by an 18-digit CLABE. Banxico also issues a CEP, an electronic payment receipt, that payers and merchants can use to confirm a transfer."
  - q: "What is a CLABE?"
    a: "A CLABE is the 18-digit standardized bank code that identifies a Mexican bank account for SPEI. At a SPEI checkout, the shopper sends pesos to the CLABE you display. With BlindPay, each one-time SPEI payin returns its own CLABE, and a SPEI CLABE virtual account gives a customer a permanent CLABE that never gets reassigned."
  - q: "How long does a SPEI checkout payment take?"
    a: "Usually minutes from the moment the shopper sends it. Banxico says SPEI itself should take no more than 30 seconds after approval. BlindPay's cut-off times reference lists SPEI payin arrival at up to 10 minutes, and BlindPay waits up to 30 minutes before marking a SPEI payin failed if no deposit arrives."
  - q: "Can a business outside Mexico accept SPEI payments?"
    a: "Yes, through a provider that collects pesos in Mexico. With BlindPay, a business in the US or elsewhere creates a SPEI payin quote, shows the CLABE and exact amount, and receives USD stablecoins when the pesos land. SPEI CLABE virtual accounts are also available for customers of any country, individuals and businesses."
  - q: "Why does a SPEI checkout ask for an exact amount in whole pesos?"
    a: "MXN settles in whole units at the bank, so BlindPay quotes SPEI amounts in whole pesos and rejects a sender amount with centavos. The shopper should send exactly the amount shown, so the deposit matches the payin. Show it with a copy button and the currency code, such as MXN 823, so it never reads as dollars."
---

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](/resources/more/what-is-a-global-payments-checkout) 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](https://www.banxico.org.mx/services/interbanking-electronic-payme.html) 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](https://www.banxico.org.mx/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](/resources/more/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.

| Option | How the payer pays | Quote first? | Amount | Best for |
| --- | --- | --- | --- | --- |
| One-time SPEI payin | Sends to the CLABE returned for this payin | Yes, locks rate and fees for 5 minutes | Exact amount from the quote, whole pesos | Checkout orders with a fixed price |
| SPEI CLABE virtual account | Sends to the customer's permanent CLABE | No | Any amount, any time | Repeat payers, top-ups, B2B buyers |
| SPEI payout | Nothing; the recipient's bank is credited | Yes, a payout quote | Exact MXN amount | Refunds, 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](/resources/more/checkout-payment-instructions-ux) 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](/resources/more/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](https://docs.stripe.com/payments/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](/docs/kb/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](https://www.banxico.org.mx/services/interbanking-electronic-payme.html), [Banxico's CEP](https://www.banxico.org.mx/cep/), [Stripe bank transfers documentation](https://docs.stripe.com/payments/bank-transfers), and [Stripe's test of 50+ payment methods](https://stripe.com/blog/testing-the-conversion-impact-of-50-plus-global-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](/docs/payins), [payin quotes](/docs/payin-quotes), and [virtual accounts](/docs/virtual-accounts) docs. For sending pesos the other way, read [how to send USDC to a bank account in Mexico](/resources/more/how-to-send-usdc-to-bank-account-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](/docs/quickstart-payin) and follow it to completed.
