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 an Action.URL or a PaymentUrl where 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

  1. The payer selects OXXOPay at checkout.
  2. Bamboo returns a payment voucher URL and barcode.
  3. The payer goes to an OXXO store and presents the reference or barcode.
  4. The store accepts the payment in cash and confirms it to the network.
  5. 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.

PropertyTypeMandatory?Description
PaymentMethodstringYesFind the value in the table Payment Method. Use OXP for OXXOPay.
TargetCountryISOstringYesMust be "MX".
CustomerEmailstringYesCustomer’s email address.
CustomerFirstNamestringYesCustomer’s first name.
CustomerLastNamestringYesCustomer’s last name.
CustomerDocumentNumberstringNoCustomer’s document number.
CustomerPhoneNumberstringYesCustomer’s phone number, including the Indicative for Mexico +52.
CustomerAddressCountrystringNoCustomer’s country.
CustomerAddressStatestringNoCustomer’s state or province.
CustomerAddressCitystringNoCustomer’s city.
CustomerAddressAddressDetailstringYesCustomer’s street and address detail.
CustomerAddressPostalCodestringNoCustomer’s postal code (ZIP).
MetaDataInPaymentExpirationInMinutesnumericNoTime 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.

PropertyTypeDescription
MetadataOutPaymentUrlstringURL of the payment coupon.
MetadataOutPaymentCodestringReference number to complete the payment.
MetadataOutPaymentBarcodeUrlstringImage URL for the scannable barcode.

💡

You can use the PaymentUrl to redirect the customer to a hosted voucher page.
Alternatively, use the PaymentCode and PaymentBarcodeUrl fields 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

Farmacias Benavides

7-Eleven

7-Eleven

Walmart

7-Eleven

Farmacias del Ahorro

Farmacias del Ahorro

Sam’s Club

Sams Club

Walmart Express

Walmart Express

Bodega Aurrera

Bodega Aurrera

Circle K


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.

PropertyTypeMandatory?Description
PaymentMethodstringYesUse PYN for Paynet. Refer to the Payment Method table.
TargetCountryISOstringYesMust be "MX".
CustomerEmailstringYesCustomer’s email address.
CustomerFirstNamestringYesCustomer’s first name.
CustomerLastNamestringNoCustomer’s last name.
CustomerDocumentNumberstringNoCustomer’s document number.
CustomerPhoneNumberstringNoCustomer’s phone number.
CustomerAddressCountrystringNoCountry of the customer.
CustomerAddressStatestringNoState or province.
CustomerAddressCitystringNoCity of residence.
CustomerAddressAddressDetailstringNoStreet and address information.
CustomerAddressPostalCodestringNoPostal code (ZIP).
MetaDataInPaymentExpirationInMinutesnumberNoVoucher 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.

PropertyTypeDescription
MetadataOutPaymentCodestringReference number used to complete the payment.
MetadataOutPaymentBarcodeUrlstringURL of the barcode image for in-store scanning.
MetadataOutPaymentUrlstringPDF voucher download link.
💡

You can redirect the customer to MetadataOut.PaymentUrl,
or use PaymentCode and PaymentBarcodeUrl to 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: