Last Updated: 01 October 2025 | Change Log
OXXO is a popular cash payment method in Mexico, allowing customers to pay for online purchases at any of the 20,000+ OXXO convenience stores nationwide.
Make yourself familiar with our API principles to ensure a resilient integration.
Product overview
This payment option is ideal for customers without bank accounts or credit cards. Your customers are presented with an OXXO voucher with a unique barcode on your checkout page. They can use this voucher at any of the OXXO stores to pay in cash. Once the payment is processed, you are notified, and the order is confirmed. OXXO is widely used for e-commerce, bill payments, and digital services, making it a trusted and efficient solution for cash-based transactions.
Payment type | Country | Currencies | Recurring | Reversals | Partial reversals | Disputes |
---|---|---|---|---|---|---|
Post-pay voucher | Mexican | MXN | ❌ | ❌ | ❌ | ❌ |
- Minimum Transaction Value: 10,00 MXN
- Maximum Transaction Value: 10.000,00 MXN
- Voucher validity: min. 1 day, maximum 30 days
Get started using our API reference and set your headers.
POST
https://try.access.worldpay.com/apmPayments
- Try
https://try.access.worldpay.com/apmPayments
- Live
https://access.worldpay.com/apmPayments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
{ "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "method": "oxxo", "expiryIn": 10, "logoUrl": "https://depositphotos.com/3d-sphere-logo-61243691.html", "value": { "amount": 3500, "currency": "MXN" }, "narrative": { "line1": "MindPalace" }, "paymentInstrument": { "type": "direct", "country": "MX" }, "resultUrls": { "failure": "https://example.com/failure", "success": "https://example.com/success" }, "customer": { "firstName": "James", "lastName": "Moriarty", "email": "moriarty@example.com" } } }
Used to route the request in Access Worldpay, created as part of on-boarding.
Object that contains the payment type and details.
Type of payment method
- ach
- alipay_cn
- alipay_hk
- bancontact
- blik
- eft
- euteller
- ideal
- klarna
- konbini
- multibanco
- mybank
- open_banking
- oxxo
- paypal
- paysafecard
- pix
- przelewy
- sepa
- safetypay
- trustly
- wechatpay
The value of the payment.
The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.
The supported ISO 4217 currency codes.
The description shown on your customer's bank statement for the payment.
The type of instrument.
Account type.
Account number of direct debit account.
Routing number of direct debit account.
Check number of the direct debit account.
Company name if a corporate account.
City.
The supported ISO 3166-1 alpha-2 country codes.
Postal code.
State code of the billing address in ISO 3166-2 format.
Your customer's first name.
Your customer's last name.
Your unique reference for the customer so that the 'pay faster next time' function can be used during checkout. This allows the shoppers chosen bank to be stored for their next payment.
The customer's e-mail address.
- an HTTP code
201
- a
paymentId
which is unique to the payment - we recommend storing the "id", as you can use it to manage the payment later - a
redirect
to redirect your customer to the APM provider to complete the payment - an link to query the payment status
- an object which will give flow information such as
method
(e.g.oxxo
) and type (direct
) - a
commandId
generated by us identifying a single merchant interaction (e.g.cmdYNdIHBPJwbkjLiykzTx0
)
{
"paymentInstrument": {
"method": "oxxo",
"type": "direct"
},
"paymentId": "uK9Oh5zz4yKhGuFofhhnC1loxh8YRI6ChuSe7sEy6rPwh_KRcHUrrs1qJtQso9gjbUhveud3wEUka96FeYiU0Tp38_5OaydAORxUcSiX2IyXwK6gT8PDO-IvQ-BUMt_iUsGZa3xbZdUeTuq6p3rC1PTBiR7CzE6-theYuKncW_KImK-l23r7xoTI7CEzKmR8",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/apmPayments/uK9Oh5zz4yKhGuFofhhnC1loxh8YRI6ChuSe7sEy6rPwh_KRcHUrrs1qJtQso9gjbUhveud3wEUka96FeYiU0Tp38_5OaydAORxUcSiX2IyXwK6gT8PDO-IvQ-BUMt_iUsGZa3xbZdUeTuq6p3rC1PTBiR7CzE6-theYuKncW_KImK-l23r7xoTI7CEzKmR8"
}
},
"_actions": {},
"redirect": "http://secure-test.worldpay.com/redirect?tokenId=6a4270bc-7ab4-4ffc-a511-bb04f59609a1",
"commandId": "cmdEy5vwB0krLe9eMwAcE66c0"
}
Check out our API reference for the full error code schema.
Next steps