Cash Payments
Integrate cash-based payment methods in Mexico with Bamboo. Use OXXOPay and Paynet to generate payment vouchers for in-store transactions.
This page describes the requirements to process cash-based payment methods in Mexico, including OXXOPay and Paynet. These methods generate a payment voucher that the payer can use to complete the transaction at a physical location. The purchase remains in PENDING status until payment is confirmed by the network.
These methods use a Redirect flow.
The API response includes anAction.URLor aPaymentUrlwhere the payer can download the voucher and complete the payment.
OXXOPay
OXXO is the largest convenience store network in Mexico. This payment method allows customers to pay for online purchases using cash at any OXXO location. The API generates a payment voucher with a barcode and reference code. The purchase remains in Pending status until the payment is completed at the store.
Payment Flow
- The payer selects OXXOPay at checkout.
- Bamboo returns a payment voucher URL and barcode.
- The payer goes to an OXXO store and presents the reference or barcode.
- The store accepts the payment in cash and confirms it to the network.
- Bamboo updates the transaction to Completed once payment is confirmed.
Request Parameters
The following parameters are required specifically for this payment method.
Refer to the Purchase operation guide for standard fields and authentication requirements.
| Property | Type | Mandatory? | Description |
|---|---|---|---|
PaymentMethod | string | Yes | Find the value in the table Payment Method. Use OXP for OXXOPay. |
TargetCountryISO | string | Yes | Must be "MX". |
Customer → Email | string | Yes | Customer’s email address. |
Customer → FirstName | string | Yes | Customer’s first name. |
Customer → LastName | string | Yes | Customer’s last name. |
Customer → DocumentNumber | string | No | Customer’s document number. |
Customer → PhoneNumber | string | Yes | Customer’s phone number, including the Indicative for Mexico +52. |
Customer → Address → Country | string | No | Customer’s country. |
Customer → Address → State | string | No | Customer’s state or province. |
Customer → Address → City | string | No | Customer’s city. |
Customer → Address → AddressDetail | string | Yes | Customer’s street and address detail. |
Customer → Address → PostalCode | string | No | Customer’s postal code (ZIP). |
MetaDataIn → PaymentExpirationInMinutes | numeric | No | Time in minutes before the voucher expires. If omitted, a default value is applied by the API. |
Request example
{
"PaymentMethod": "OXP",
"Amount": 100,
"TargetCountryISO": "MX",
"Currency": "USD",
"Customer": {
"Email": "[email protected]",
"FirstName": "Lucia",
"LastName": "Perez",
"PhoneNumber": "+525532100000",
"Address": {
"Country": "Mexico",
"State": "Ciudad de Mexico",
"City": "Coyoacan",
"AddressDetail": "Av Universidad 3000"
}
},
"MetaDataIn": {
"PaymentExpirationInMinutes": "7200"
}
}Response parameters
The API returns the purchase with status PENDING and includes a voucher URL and metadata required to complete the payment at a physical location. For more information on the response parameters, please refer to the Response parameters section of the Purchase creation.
| Property | Type | Description |
|---|---|---|
MetadataOut → PaymentUrl | string | URL of the payment coupon. |
MetadataOut → PaymentCode | string | Reference number to complete the payment. |
MetadataOut → PaymentBarcodeUrl | string | Image URL for the scannable barcode. |
You can use the
PaymentUrlto redirect the customer to a hosted voucher page.
Alternatively, use thePaymentCodeandPaymentBarcodeUrlfields to build a custom payment experience directly in your checkout.
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": 10000,
"Currency": "MXN",
"Installments": 1,
"TaxableAmount": null,
"Tip": null,
"Url": "https://api.bamboopayment.com/Purchase/128598955264065792",
"MetadataOut": {
"PaymentUrl": "https://s3.amazonaws.com/gateway...0010101.html",
"PaymentCode": "4300000013990006",
"PaymentBarcodeUrl": "https://gateway.stage.bamboop....jpeg"
},
"Action": null,
"PaymentMethod": {
"Brand": "OxxoPay",
"Type": "PhysicalNetwork"
}
}Paynet Cash
Paynet allows your customers to generate a payment coupon and complete the transaction using cash at participating physical locations.
Cash Networks
Customers can pay their Paynet voucher in any of the following networks:
Farmacias Benavides

7-Eleven

Walmart

Farmacias del Ahorro

Sam’s Club

Walmart Express

Bodega Aurrera

Circle K

Request parameters
These fields are required to create a Paynet purchase.
Refer to the Purchase operation for general field definitions and authentication rules.
| Property | Type | Mandatory? | Description |
|---|---|---|---|
PaymentMethod | string | Yes | Use PYN for Paynet. Refer to the Payment Method table. |
TargetCountryISO | string | Yes | Must be "MX". |
Customer → Email | string | Yes | Customer’s email address. |
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 | Country of the customer. |
Customer → Address → State | string | No | State or province. |
Customer → Address → City | string | No | City of residence. |
Customer → Address → AddressDetail | string | No | Street and address information. |
Customer → Address → PostalCode | string | No | Postal code (ZIP). |
MetaDataIn → PaymentExpirationInMinutes | number | No | Voucher expiration time in minutes. Default applied if not sent. |
Request example
{
"PaymentMethod": "PYN",
"Amount": 1000,
"TargetCountryISO": "MX",
"Currency": "MXN",
"Customer": {
"Email": "[email protected]",
"FirstName": "Lucia",
"LastName": "Perez",
"PhoneNumber": "525532100000",
"Address": {
"Country": "Mexico",
"State": "Ciudad de Mexico",
"City": "Coyoacan",
"AddressDetail": "Av Universidad 3000"
}
},
"MetaDataIn": {
"PaymentExpirationInMinutes": 7200
}
}Response Parameters
Once the purchase is created, the response includes all necessary data to display the voucher or embed it in your checkout. For more information on the response parameters, please refer to the Response parameters section of the Purchase creation.
| Property | Type | Description |
|---|---|---|
MetadataOut → PaymentCode | string | Reference number used to complete the payment. |
MetadataOut → PaymentBarcodeUrl | string | URL of the barcode image for in-store scanning. |
MetadataOut → PaymentUrl | string | PDF voucher download link. |
You can redirect the customer to
MetadataOut.PaymentUrl,
or usePaymentCodeandPaymentBarcodeUrlto embed the experience in your checkout.
Response example
{
"TransactionId": "128598955264065792",
"Result": "COMPLETED",
"Status": "PENDING",
"Amount": 1000,
"Currency": "MXN",
"Installments": 1,
"Url": "https://api.bamboopayment.com/Purchase/128598955264065792",
"MetadataOut": {
"PaymentCode": "9988780335829741",
"PaymentBarcodeUrl": "https://sandbox-api/barcode/9988...9741",
"PaymentUrl": "https://sandbox-dashboard/paynet-pdf/.../9988780335829741"
},
"PaymentMethod": {
"Brand": "OpenPayPayNet",
"Type": "PhysicalNetwork"
}
}Discover the API
Learn more about how to create and manage cash-based transactions in Mexico:
Updated about 19 hours ago
