SPEI

Learn how to integrate your solution to process payments with SPEI.

Bank Transfer (SPEI)

SPEI (Sistema de Pagos Electrónicos Interbancarios) is an electronic payment system in Mexico that allows your customers to transfer funds between banks instantly.

To use SPEI, customers must have access to online banking or a mobile banking app offered by their bank and then initiate a transfer by providing the CLABE (Clave Bancaria Estandarizada) number returned in the response.

Request parameters

You need to include specific fields for this payment method to work correctly. Check the Purchase operation article for details on authentication, languages of the response, and basic purchase parameters such as amount and currency.

PropertyTypeMandatory?Description
PaymentMethodstringYesFind the value in the table Payment Method.
TargetCountryISOstringYesIndicate the destination country.
CustomerEmailstringYesCustomer’s email.
CustomerFirstNamestringYesCustomer’s first name.
CustomerLastNamestringNoCustomer’s last name.
CustomerDocumentNumberstringNoCustomer’s Document Number.
CustomerPhoneNumberstringNoCustomer’s phone number.
CustomerAddressCountrystringNoCustomer’s Country.
CustomerAddressStatestringNoCustomer’s State.
CustomerAddressCitystringNoCustomer’s City.
CustomerAddressAddressDetailstringNoCustomer’s Address Detail.
CustomerAddressPostalCodestringNoCustomer’s Postal Code.
MetaDataInPaymentExpirationInMinutesnumericNoConfigure the expiration time for the payment using this field, specifying the duration in minutes. The API applies a default value if you don’t provide this information.
The maximum time allowed is 30 days (43200 minutes).

Request example

{
	"PaymentMethod": "SPE",
	"Amount": 1000,
    "TargetCountryISO": "MX",
	"Currency": "MXN",
	"Customer": {
		"Email": "lucia@test.com",
		"FirstName": "Lucia",
		"LastName": "Perez",
		"PhoneNumber": "525532100000",
		"Address": {
			"Country": "Mexico",
			"State": "Ciudad de Mexico",
			"City": "Coyoacan",
			"AddressDetail": "Av Universidad 3000"
		}
	},
    "MetaDataIn": {
        "PaymentExpirationInMinutes": "7200"
    }
}

Response parameters

In the response, you will find the following parameters. You can use them to create your own confirmation page or use the coupon returned in the response:

PropertyTypeDescription
ResponseMetadataOutClabestringCorresponds to the CLABE account number to which the funds will be sent. This number is dynamic and unique per transaction.
ResponseMetadataOutExpirationdatePayment expiration date and time.
ResponseMetadataOutAmountnumericAmount to be entered by the payer when they make the payment.
ResponseMetadataOutBankBeneficiaryNamestringName of the CLABE account owner.
ResponseMetadataOutBankConceptstringID of the CLABE account owner.
ResponseMetadataOutBankReferencestringID of the CLABE account owner.
ResponseMetadataOutPaymentCouponUrlstringURL of the payment coupon.

Response example

{
    "TransactionId": "128598955264065792",
    "Result": "COMPLETED",
    "Status": "PENDING",
    "ErrorCode": null,
    "ErrorDescription": null,
    "Created": "2024-12-20T20:46:20.199",
    "AuthorizationDate": "2024-12-20T20:46:20.674",
    "AuthorizationCode": "",
    "Amount": 1000,
    "Currency": "MXN",
    "Installments": 1,
    "TaxableAmount": null,
    "Tip": null,
    "Url": "https://api.bamboopayment.com/Purchase/128598955264065792",
    "MetadataOut": {
        "Clabe": "646180366608261696",
        "Expiration": "25/12/2024 20:46:20",
        "Amount": "10.0",
        "BankBeneficiaryName": "Bamboo Payment Mexico SRL DE CV",
        "BankName": "STP",
        "BankConcept": "128598955264065792",
        "BankReference": "128598955264065792"
    },
    "Action": null,
    "PaymentMethod": {
        "Brand": "STP",
        "CardOwner": null,
        "Bin": null,
        "IssuerBank": null,
        "Type": "BankTransfer",
        "Expiration": null,
        "Last4": null
    }
}

Payment experience for customers

Your customer must complete the payment by creating a bank transfer to the CLABE number returned in the response. Your customers must follow these steps to transfer on their banking app.

  1. Access Banking Platform
    Your customer must log in to their online banking platform to initiate the one-time transfer.

  2. Select Transfer Option
    Your customer must navigate to the option for making a transfer or payment. Banking platforms often label this option as Transferencias or a similar term.

  3. Enter Recipient Details
    You must inform the CLABE number in the response, and your customer must provide it in the recipient details. Remember that your customer must enter accurate information to avoid any issues with the transfer.

  4. Specify Transfer Amount
    Your customer must enter the amount of the purchase. Some platforms may ask for the currency type if your customer has multiple currency accounts.

  1. Review and Confirm
    Recall your customer to review all the entered information carefully to ensure accuracy. Your customer must check the CLABE number and the transfer amount. Also, confirm that they have sufficient funds in their account.

  2. Authorize the Transfer
    If required, the online banking platform may ask your customer to authorize the transfer using a security measure such as a password, PIN, or two-factor authentication.

  3. Transaction Confirmation
    Your customer should receive a confirmation message once the transfer is approved and processed. This confirmation may include a transaction reference number they can use for tracking purposes.

It’s important to note that the specific steps and options may vary slightly depending on the bank and the online banking platform your customer is using. Always refer to the guidance the customer’s bank provides and follow their security protocols to ensure a secure and successful transfer.

footer
Last modified December 20, 2024

© Bamboo | All rights reserved 2024