How to accept OXXO payments from customers who don't pay by card
There are two ways to accept OXXO payments. The customer deposits cash straight to your card and you check it in your bank app, or pays a Mercado Pago voucher with a reference that confirms the order on its own.
Graciela runs a craft supply shop in Tlaxcala and ships yarn all over the country. Her customers are women who knit, many of them over sixty, and almost none of them pay by card — so Graciela learned to accept OXXO payments long before she learned to sell online. The question she gets most isn’t about colors. It’s “can I pay you at OXXO?”
She’d say yes and send her card number. At night the ticket photos would come in, and she’d sit down to match each one against a deposit in her banking app. One Thursday she had three photos of $420 and only two cash deposits, with no name attached. One of the three customers hadn’t paid, and there was no way to tell which one.
If customers are already asking you for this, the decision isn’t whether to accept it — it’s which of the two ways to do it.
What does it mean to accept OXXO payments?
Accepting OXXO payments means letting your customer pay you in cash at the register of any OXXO store, no card and no bank account needed. There are two ways to do it, and although they look the same at the register, they work very differently on your end.
The first is a deposit to your card: you give the customer your card number, they deposit the cash, and send you a photo of the receipt. The second is a reference voucher: the customer gets a code tied to their specific order and exact amount, pays with that code, and the confirmation reaches your site on its own — no one has to send you anything.
Why do your customers ask to pay at OXXO?
Because that’s how they pay for everything else. A lot of people in Mexico get paid in cash, don’t have a card, or have one but don’t want to type it into a site they don’t know. The OXXO is two blocks away and stays open late.
If your site only accepts cards, you haven’t won that customer over. She went with whoever gave her a number to deposit to.
What’s the difference between depositing to your card and paying with a voucher?
The difference is who confirms the payment. With a deposit, you confirm it yourself, by hand, order by order; with the voucher, the payment processor confirms it the moment the customer steps away from the register.
That leads to three differences:
- What shows up in your bank. A deposit to your card almost always shows up as a cash deposit with no name attached. If two customers deposit the same amount on the same day, your bank won’t tell you which is which. The voucher is already tied to an order.
- What the confirmation depends on. With a deposit, on you finding the money and matching it to a photo. With the voucher, on the payment simply going through — no photos involved.
- What happens if they never pay. A deposit arranged over chat never expires: the order stays “on hold” until you remember to release it. A voucher comes with a deadline.
The deposit does have one real advantage: you don’t have to connect anything. If you’re getting ten orders a month, it’s probably enough.
How much does it cost to accept OXXO payments?
Both ways cost someone something, but it’s not the same person. With a deposit to your card, OXXO usually charges the customer a fee for depositing, and it varies depending on your card’s bank; you receive the full amount. With the voucher, Mercado Pago charges the fee, and it deducts it from you on every sale.
Check the current rate in your Mercado Pago account, because it changes. And add to that the cost that never shows up on any statement: the hour Graciela spent every night matching receipts to deposits.
How do you add OXXO payments to your site?
By connecting your Mercado Pago account. In your site’s console, under Payment methods, you’ll find the Mercado Pago option, which says exactly what it does: “Card, OXXO, and bank transfer, with your own Mercado Pago account”.
There’s just one slightly technical step: copying a value called Access Token from Mercado Pago Developers and pasting it in. The console tells you exactly which screen to find it on. Then you tap “Activate on store”, and your published site updates on its own within a few minutes, no need to publish again.
Your customer puts together her order, taps “Pay with Mercado Pago”, picks OXXO, and gets her voucher. Back on your site she sees “Payment in process”: her order confirms itself the moment Mercado Pago approves the payment. On your end, the order comes in as “Payment pending”, and once she pays at the register, it switches on its own to “Payment confirmed”. The money lands straight in your Mercado Pago account, and Proyecta doesn’t add any fee on top.
Would you rather stick with the card deposit? That works too, no Mercado Pago needed. Under Bank transfer or cash you write your instructions — where to deposit and to which card — the customer uploads a photo of her receipt with “Upload proof of payment”, and you mark the order with “Register payment” once you see the money in your bank. The order is already logged with a name and an amount, but checking it is still on you.
What happens if the customer never pays?
It cancels itself. The order has a payment window of about three days, and if you’re tracking inventory on your site, the product stays reserved for her during that time. If the window closes with no payment, the order cancels, the product becomes available again, and the customer gets notified.
There are two exceptions. If Mercado Pago still reports the voucher as pending, the order waits instead of cancelling, because that money can still come through. And with a card deposit, if the customer has already uploaded her receipt, the order won’t cancel itself either: she says she paid, so it’s up to you to confirm or cancel it.
What your site won’t do
- It won’t generate vouchers on its own. Vouchers come from your Mercado Pago account. Without that account connected, what you have is the card deposit with manual review.
- It won’t show that money under Deposits. That section of the console is for Stripe card payments. What you collect through Mercado Pago, you see in Mercado Pago.
- It won’t show the button if your site is older. If it was created before September 2026, the Mercado Pago button doesn’t show up yet — you’ll need to request the update.
Deposit yourself fifty pesos
Before you choose, go to the nearest OXXO and deposit $50 to your own card, the way your customer would. Write down three things: how much they charged you in fees, how many minutes you stood in line, and how long it took to show up in your app.
That’s what you’re asking of everyone who buys from you. If it feels reasonable, stick with the deposit. If it doesn’t, describe your business to Proyecta — “an online store for my craft supply shop in Tlaxcala, with yarn sorted by color and thickness, needles and kits to start knitting, Mercado Pago so people can pay at OXXO, and a flat shipping rate” — and publish it at proyecta.dev.