Payment Methods

OXXO Pay

Generate an OXXO Pay voucher, how long it lasts, and how you learn it was paid.

Accept cash payments at OXXO convenience stores in Mexico. OXXO is the country's largest convenience store chain, ideal for customers who prefer cash or don't have a bank account.

When to use OXXO

  • Customers without a bank account or card.
  • E-commerce customers who prefer cash.
  • Areas with high OXXO store density.

Step 1: create the request

curl -X POST https://stage.tonder.io/api/v1/process/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operation_type": "payment",
    "amount": 250.00,
    "currency": "MXN",
    "customer": { "name": "María Isabel Fernández", "email": "maria.fernandez@email.com" },
    "payment_method": { "type": "oxxopay" },
    "client_reference": "ORD-001"
  }'

Step 2: handle the response

OXXO payments start in pending and include the payment instructions:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "operation_type": "payment",
  "status": "pending",
  "amount": 250.00,
  "currency": "MXN",
  "payment_instructions": {
    "reference_code": "99900012345678",
    "barcode": "||99900012345678||",
    "store_name": "oxxopay",
    "expiration_date": "2024-07-29T23:59:59Z",
    "instructions": [
      "Acude a cualquier tienda OXXO",
      "Presenta este código de barras en caja",
      "Paga exactamente $250.00 MXN en efectivo"
    ]
  },
  "voucher_pdf": "https://api.tonder.io/vouchers/abc123.pdf",
  "created_at": "2024-07-26T10:30:00Z"
}
FieldDescription
idUnique transaction identifier — store it for status checking.
statusPayment status — initially pending.
payment_instructions.reference_codeOXXO Pay reference code.
payment_instructions.barcodeBarcode to display to the customer.
payment_instructions.expiration_dateVoucher expiration date.
voucher_pdfURL to download the PDF voucher.

Confirmation usually arrives within minutes of paying at a store. However, OXXO's system may hold a payment in pending for up to 3 hours while it checks for internal failures or potential refunds. This is expected behavior. If it remains pending beyond 3 hours, contact support.

Step 3: display the instructions

Display the barcode so the customer can show it at the register.

Show the reference_code as a backup in case the barcode can't be scanned.

Use the instructions array to guide the customer.

Indicate when the voucher expires and offer to download the voucher_pdf.

Limits

OXXO Pay has a minimum of $10 MXN and a maximum of $10,000 MXN per transaction. See the full table in Limits.

Next steps

Was this page helpful?

On this page