🇲🇽 SPEI

Overview

SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico’s real-time A2A (account-to-account) payment system, operated by Banco de México (Banxico). It enables fast, secure, and 24/7 transfers between bank accounts.

Through Orkestra, you can create a SPEI payment by specifying SPEI as the payment method in the order transaction.

📝 Minimum Required Fields for SPEI

When creating an Order for SPEI, the following fields are mandatory:

FieldTypeDescription
charges[].customer.firstNameStringCustomer’s first name.
charges[].customer.lastNameStringCustomer’s last name.
charges[].customer.documentTypeEnumDocument type: must be RFC (individuals/companies) or CURP (individuals).
charges[].customer.documentStringValid RFC or CURP number.
charges[].transactions[].paymentMethodEnumMust be set to SPEI.

⚡ Optional SPEI-specific Fields

Currently, there are no SPEI-specific optional fields. SPEI payments are created by providing basic customer information and transaction data.

📦 Example: SPEI Order Request

{
  "merchantOrderId": "b95e8d4c-8920-4cdd-805e-d4b9c21b619a",  
  "softDescriptor": "Piano Strings",  
  "amount": 250000,
  "currency": "MXN",
  "allowsThirdPartyPayments": false,
  "charges": [
    {
      "customer": {
        "firstName": "Frédéric",  
        "lastName": "Chopin",  
        "documentType": "CURP",
        "document": "SANC850906HMCLRL04"
      },
      "transactions": [
        {
          "paymentMethod": "SPEI"
        }
      ]
    }
  ]
}

🔁 Payment Flow Overview

  • You create an order with the payment method set to SPEI.
  • Orkestra will generate a CLABE (Mexican bank account number) and a Reference Number for the transaction.
  • These details are returned in the transaction response.
  • The customer must make a bank transfer from their bank app using the CLABE and Reference Number.
  • Payment confirmation will be sent via webhook once the funds are received.

🚨 Important Notes

  • SPEI transfers are processed in real time.
  • Ensure that customer document information (RFC or CURP) is properly validated before submission.
  • Expiry times for the payment are based on Orkestra’s default configuration or can be customized in the future.

📦 Example: SPEI Order Response

{
  "id": 98765,
  "merchantOrderId": "b95e8d4c-8920-4cdd-805e-d4b9c21b619a",  
  "softDescriptor": "Piano Strings",  
  "amount": 250000,
  "currency": "MXN",
  "status": "PENDING",
  "charges": [
    {
      "id": 12345,
      "amount": 250000,
      "status": "PENDING",
      "customer": {
        "firstName": "Frédéric",  
        "lastName": "Chopin",  
        "document": "SANC850906HMCLRL04",
        "documentType": "CURP"
      },
      "transactions": [
        {
          "id": 67890,
          "amount": 250000,
          "paymentMethod": "SPEI",
          "spei": {
            "clabe": "646180157000008294"
          },
          "status": "PENDING",
          "transactionPageUrl": "https://paywall.orkestrapay.io/payment/transaction-id"
        }
      ]
    }
  ]
}

🛡️ Relevant Fields in the Response

FieldTypeDescription
charges[].transactions[].spei.clabeStringCLABE (Mexican bank account number for the payment).
charges[].transactions[].transactionPageUrlString (URL)Hosted payment page URL (for iframe or redirect integration).
statusEnumOrder status: PENDING, FAILED.

✅ Summary

To create a SPEI payment, ensure:

  • You have customer name and document information (RFC or CURP).
  • You set the paymentMethod field to SPEI.
  • Customer uses the generated CLABE and Reference Number to make the transfer.
  • Webhook notifications will inform you once the payment is confirmed.

Orkestra handles the banking logistics, allowing you to focus on your business 🚀.