When to Use OXXO
OXXO payments are perfect for:- Customers without bank accounts or credit cards.
- E-commerce customers who prefer cash payments.
- Areas with high OXXO store density.
- Building trust with cash-preferred demographics.
Step 1: Create and Send the Payment Request
OXXO payments are simple to set up - just specify the payment type and amount. Send your payment request to the Process Transaction endpoint and the API will generate a payment voucher for your customer:For detailed information about all available request fields and their requirements, see the Create a Payment guide.
Step 2: Handle the Response
OXXO payments start with apending
status and include payment instructions for the customer:
Field | Description |
---|---|
id | Unique transaction identifier - store this for status checking |
status | Current payment status - will be pending initially |
payment_instructions.reference_code | OXXO reference code for payment |
payment_instructions.barcode | Barcode to display to customer |
payment_instructions.expiration_date | When the payment voucher expires |
voucher_pdf | URL to download the payment voucher PDF |
Id
and Status
Fields ValidationCheck that you received a valid id
and status
before proceeding. If either is missing or invalid, do not display payment instructions and handle the error appropriately.Step 3: Display Payment Instructions to Your Customer
Present the payment voucher clearly to help customers complete their OXXO payment successfully. Create a user-friendly page that displays all necessary information for the customer to pay at any OXXO store:1
Show the barcode prominently
Display the
barcode
in a format the customer can easily show to the cashier.2
Include the reference code
Show the
reference_code
as backup in case the barcode can’t be scanned.3
Provide clear instructions
Use the
instructions
array to guide the customer through the payment process.4
Highlight the expiration date
Make sure customers know when the voucher expires.
5
Offer the PDF voucher
Provide a link to download the
voucher_pdf
for printing.Step 4: Track Payment Status
OXXO payments follow this status flow:pending
- Waiting for customer to pay at store.success
- Cash payment received and confirmed.
Step 5: Handle OXXO-Specific Scenarios
There are some specificities to consider when using OXXO payments:Payment Timing
Payment Timing
The processing time for OXXO payments follows these rules:
- Payments are processed 24-48 hours after customer pays at store.
- OXXO stores typically open 24/7.
- Vouchers usually expire after 3-7 days.
Amount Limits
Amount Limits
Regarding the amount limits, OXXO has the following restrictions:
- Minimum amount is $20 MXN (varies by configuration).
- Maximum amount is $10,000 MXN per transaction.
- Daily limits may apply per customer.
Common Issues
Common Issues
Some common issues that may occur when using OXXO payments are:
Issue | Cause | Solution |
---|---|---|
amount_too_high | Exceeds OXXO limits | Split into multiple payments |
amount_too_low | Below minimum threshold | Increase amount or use different method |
expired_voucher | Customer paid after expiration | Create new payment request |
Best Practices for OXXO Payments
Follow the best practices below to integrate OXXO payments:Customer Communication
Customer Communication
- Send payment instructions via email and SMS.
- Include store locator links to help customers find nearby OXXO stores.
- Provide clear expiration date warnings.
- Offer customer support for payment questions.
Order Management
Order Management
- Keep orders in “pending payment” status until confirmed.
- Send reminder emails before voucher expiration.
- Have a process for handling expired payments.
- Consider offering payment extensions for loyal customers.
Technical Implementation
Technical Implementation
- Generate barcode images for better user experience.
- Make vouchers mobile-friendly for easy display at stores.
- Cache PDF vouchers for faster loading.
- Implement retry logic for voucher generation.
Implementation Example
Here is an example of how to implement OXXO payments. This code displays the payment voucher information on the frontend:Next Steps
- Set up webhooks to receive notifications when OXXO payments are completed.
- Learn about HTTP response codes to handle different API responses.
- Explore SPEI bank transfers for customers who prefer bank payments.