SPEI
Info
The purchase status for Alternative Payment methods will remain Pending until the customer completes the payment at online banking, or mobile banking app.
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.
Property | Type | Mandatory? | Description |
---|---|---|---|
PaymentMethod | string | Yes | Find the value in the table Payment Method. |
TargetCountryISO | string | Yes | Indicate the destination country. |
Customer → Email | string | Yes | Customer’s email. |
Customer → FirstName | string | Yes | Customer’s first name. |
Customer → LastName | string | No | Customer’s last name. |
Customer → DocumentNumber | string | No | Customer’s Document Number. |
Customer → PhoneNumber | string | No | Customer’s phone number. |
Customer → Address → Country | string | No | Customer’s Country. |
Customer → Address → State | string | No | Customer’s State. |
Customer → Address → City | string | No | Customer’s City. |
Customer → Address → AddressDetail | string | No | Customer’s Address Detail. |
Customer → Address → PostalCode | string | No | Customer’s Postal Code. |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Configure 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:
Property | Type | Description |
---|---|---|
Response → MetadataOut → Clabe | string | Corresponds to the CLABE account number to which the funds will be sent. This number is dynamic and unique per transaction. |
Response → MetadataOut → Expiration | date | Payment expiration date and time. |
Response → MetadataOut → Amount | numeric | Amount to be entered by the payer when they make the payment. |
Response → MetadataOut → BankBeneficiaryName | string | Name of the CLABE account owner. |
Response → MetadataOut → BankConcept | string | ID of the CLABE account owner. |
Response → MetadataOut → BankReference | string | ID of the CLABE account owner. |
Response → MetadataOut → PaymentCouponUrl | string | URL of the payment coupon. |
Note
The CLABE number in the Response belongs to Bamboo Payment Systems, your customer must set up a wire transfer to this number from their banking application.
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.
Access Banking Platform
Your customer must log in to their online banking platform to initiate the one-time transfer.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.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.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.
Important
The transfer must match the purchase amount. Otherwise, Bamboo will reject the transaction.
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.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.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.