Skip to main content

What is SPEI?

SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico’s instant payment system. Offer your customers a bank-to-bank payment option with lower fees than cards. SPEI enables instant bank transfers 24/7 between any Mexican bank accounts using CLABE numbers.

When to Use SPEI

Large Transactions

Lower processing fees make SPEI ideal for high-value orders

Customer Preference

Some customers prefer bank transfers over cards

B2B Payments

Business customers often prefer bank transfers

Alternative Payment

Offer as an alternative when cards decline

How SPEI Works

1

Create Payment Request

You create a payment request with SPEI as the payment method.
2

CLABE Assigned

Cheqpay assigns a unique CLABE account number for this payment.
3

Customer Transfers

Display the CLABE to your customer who transfers funds from their bank.
4

Instant Confirmation

Payment is confirmed automatically (usually within minutes).
5

Webhook Notification

You receive a webhook notification when funds are received.
SPEI transfers typically complete within minutes but can take up to 24 hours.

Create a SPEI Payment

POST /payment-orders
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Example

{
  "externalId": "order-124",
  "customer": {
    "firstName": "Carlos",
    "lastName": "Hernández",
    "email": "[email protected]",
    "phoneNumber": "+521555987654"
  },
  "amount": 50000,
  "currency": "MXN",
  "description": "Large order payment",
  "paymentMethod": {
    "type": "spei"
  }
}

Response with CLABE

{
  "paymentOrder": {
    "id": "ord_def456",
    "externalId": "order-124",
    "status": "PENDING",
    "amount": 50000,
    "currency": "MXN",
    "description": "Large order payment"
  },
  "paymentMethod": {
    "type": "spei",
    "options": {
      "spei": {
        "clabe": "646180111234567890",
        "bankName": "STP"
      }
    }
  },
  "customer": {
    "id": "cus_abc789",
    "firstName": "Carlos",
    "lastName": "Hernández",
    "email": "[email protected]"
  }
}

Display Payment Instructions

Show the CLABE number prominently so customers can complete the transfer:

Required Information

CLABE Number

18-digit unique account identifier

Bank Name

Receiving bank (usually STP)

Amount

Exact amount to transfer

Reference

Order number or payment reference

Example Display

<div class="payment-instructions">
  <h2>Complete Your Payment</h2>
  <p>Transfer the exact amount to the following CLABE:</p>

  <div class="clabe-display">
    <strong>CLABE:</strong> 646180111234567890
    <button onclick="copyToClipboard()">Copy</button>
  </div>

  <div class="payment-details">
    <p><strong>Bank:</strong> STP</p>
    <p><strong>Amount:</strong> $500.00 MXN</p>
    <p><strong>Reference:</strong> Order #124</p>
  </div>

  <p class="note">
    Payment will be confirmed automatically within minutes.
  </p>
</div>
Customer must transfer the exact amount. Incorrect amounts may delay payment confirmation.

Monitor Payment Status

SPEI payments start with status PENDING and update to COMPLETED when funds are received.
curl -X GET https://prod.cheqpay.mx/payment-orders/ord_def456 \
  -H "x-api-key: YOUR_API_KEY"
Use webhooks to receive instant notifications:
{
  "eventType": "spei.deposit_received",
  "data": {
    "paymentOrderId": "ord_def456",
    "status": "COMPLETED",
    "amount": 50000
  }
}

Set Up Webhooks

Learn how to receive real-time SPEI notifications

SPEI Best Practices

Each CLABE is unique per payment order. Never reuse CLABEs across different orders.
Make the CLABE number easy to copy. Provide clear instructions on how to complete the transfer.
Email the CLABE to customers so they can complete the transfer later from their bank.
Consider setting a payment expiration (e.g., 24 hours) to avoid indefinite pending orders.
Don’t poll for updates. Use webhooks to get instant notifications when payments complete.

SPEI Payment Timeline

TimeEvent
0 minPayment created, CLABE assigned
0-10 minCustomer initiates transfer from their bank
2-30 minTransfer completes (most common)
Up to 24hMaximum time for transfer to complete
Most SPEI transfers complete within 5-10 minutes during business hours.

Testing SPEI in Sandbox

SPEI payments in sandbox automatically complete after 30 seconds:
1

Create SPEI Payment

Make a payment request with type: "spei" in sandbox.
2

Wait 30 Seconds

Sandbox simulates the bank transfer delay.
3

Auto-Complete

Payment status automatically updates to COMPLETED.
No need to actually transfer funds in sandbox - payments auto-complete for testing.

Handling Payment Failures

SPEI payments rarely fail, but here are potential issues:
IssueSolution
Wrong amount transferredContact support to reconcile
Transfer not receivedCheck customer’s bank confirmation
CLABE expiredCreate new payment with fresh CLABE
Bank system downWait and retry, banks have 99.9%+ uptime

Fees and Limits

Processing Fees

SPEI typically has lower fees than card payments:
  • Card payments: ~3.5% + fees
  • SPEI transfers: Flat fee per transaction
Contact [email protected] for current SPEI pricing.

Transaction Limits

  • Minimum: $1.00 MXN
  • Maximum: $8,000,000.00 MXN per transaction
  • Daily limit: Contact support for high-volume needs

Next Steps