Our API Docs just got a new look!

SPEI Offline

What is SPEI Offline?

The SPEI Offline feature offers a streamlined deposit process for your customers in Mexico. It allows them to make payments by directly transferring funds to a previously used unique CLABE account, completely bypassing the standard checkout flow.

When a customer makes a transfer, our system is instantly notified. We then analyze the transaction details to create a formal deposit record, which is sent to you for approval or rejection. This provides a faster, more convenient payment experience for repeat customers.

How It Works

  1. A customer transfers money to their unique CLABE account number.

  2. We receive a notification of the incoming transfer.

  3. We send a POST request to a webhook URL that you provide, containing all the transaction details.

  4. Your system receives the request and returns a response to either approve or reject the deposit.

Getting started

1

Contact your account manager

To enable this feature, please reach out to your designated Account Manager or Technical Account Manager.

2

Provide a webhook URL

You must provide us with a secure URL endpoint that can accept POST requests from our system. This URL will be used to notify you of every new SPEI Offline transaction.

When we detect a new deposit, we will send a POST request to your URL with the following JSON body:

{
  "deposit_id": 123456789,
  "payer_account_number": "123456789123456789",
  "country": "MX",
  "document": "84932568207",
  "full_name": "John Doe",
  "date_of_birth": "19871027",
  "address": "Ruta 13, Mexico",
  "email": "[email protected]",
  "amount": 200,
  "currency": "MXN",
  "payment_method": "SEOF"
}
Field
Type
Description

deposit_id

Integer

Our unique identifier for the payment deposit.

payer_account_number

String

The CLABE of the customer who made the payment.

country

String

The country of the transaction. Always "MX".

document

String

The identification document of the payer.

full_name

String

The full name of the payer.

date_of_birth

String

The payer's date of birth in YYYYMMDD format.

address

String

The address of the payer.

email

String

The email address of the payer.

amount

Number

The transaction amount.

currency

String

The currency of the payment. Always "MXN".

payment_method

String

The payment method used. Always "SEOF" for SPEI Offline.

3

Handle deposit notifications

Your webhook URL must be configured to handle our requests and send back a response indicating your decision.

Approving or rejecting a deposit

Your system's response determines the status of the payment:

  • To Approve: Return an HTTP 200 status code.

  • To Reject: Return an HTTP 400 status code.

4

(Optional) Overriding default information

By default, we generate a random invoice_id and use your account's default notification URL for these deposits. However, you can override these values by including them in the body of your 200 (Approve) response.

If you wish to provide your own identifiers, your response body should look like this:

{
   "invoice_id" : "YOUR_CUSTOM_INVOICE_ID",
   "notification_url" : "https://merchant.com/notifications/deposit/YOUR_ID"
}

If this body is returned, we will use the invoice_id and notification_url you provide instead of our defaults.

Last updated

Was this helpful?