Yes, you can buy a money order with a debit card at most retailers
Most places that sell money orders accept debit cards as payment. Walmart, Western Union locations, grocery stores, and post offices typically let you swipe or insert your debit card at the register. The transaction works like any other debit card purchase — the money comes directly from your checking account, and you get a receipt showing the amount and confirmation number.
The main limitation is that some smaller retailers or independent check-cashing services may only take cash. Before you go, call ahead or check the retailer's website to confirm they accept debit cards. This takes two minutes and saves a trip if they don't.
One thing to know: using a debit card does not change the money order fee. You pay the same amount whether you hand over cash or a card. Fees range from about $0.50 to $3.00 depending on the retailer and the money order amount, but the card method itself does not add extra cost.
Key Takeaways
- Walmart, Western Union, the post office, and most grocery stores accept debit cards for money order purchases.
- The fee you pay is the same whether you use cash or a debit card — typically $0.50 to $3.00 depending on the retailer.
- Some independent check-cashing shops may only accept cash, so calling ahead prevents a wasted trip.
- Your debit card transaction posts to your checking account when ready, just like any other purchase.
Where to buy a money order with a debit card
Walmart accepts debit cards at all locations and charges $0.88 for money orders up to $1,000 and $1.88 for money orders from $1,000 to $5,000. You can buy them at the customer service desk or money services counter.
The U.S. Postal Service accepts debit cards and charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000. Post offices are open during standard business hours, and some locations have extended evening or Saturday hours.
Western Union locations (often inside grocery stores, pharmacies, or standalone offices) accept debit cards. Fees vary by location but typically run $1 to $2 for smaller amounts. You can find a nearby location on their website by entering your zip code.
Grocery stores like Kroger, Safeway, and Albertsons often have money order services at the customer service counter and accept debit cards. Fees are usually $0.50 to $1.50. Not every location offers money orders, so check with your store first.
What happens when you pay with a debit card
When you hand over your debit card, the cashier runs it like a regular purchase. The money order amount plus the fee comes out of your checking account right away. You will see the transaction on your bank statement within one to two business days, depending on your bank.
Unlike a credit card, a debit card does not build a record of the purchase for rewards or points — the money straightforward leaves your account. This also means you cannot dispute the transaction the same way you can with a credit card, so make sure the money order amount is correct before you hand over your card.
If the retailer's system goes down and the card transaction fails, you can try again or pay with cash if you have it. Some retailers will hold the money order while you run to an ATM, but this is not may provide, so it is worth having a backup payment method.
Debit card vs. cash for money orders
The practical difference is small. Both methods charge the same fee and produce the same money order. Cash leaves no record on your bank statement, while a debit card does. If you need documentation of the purchase for accounting or tax reasons, the debit card route gives you that automatically through your bank.
Debit cards are safer if you are carrying large amounts of cash — you do not have to worry about losing money on the way to the retailer. Cash is faster if the retailer's card reader is slow or broken, and it does not require you to remember your PIN.
If you do not have a debit card or prefer not to use it, cash is always an option at any money order retailer. If you do not have cash on hand, some retailers have ATMs on-site where you can withdraw it before buying the money order.
Fees and limits when using a debit card
Money order fees do not change based on payment method, but they do vary by retailer and amount. Walmart charges $0.88 to $1.88, the post office charges $1.45 to $1.95, and Western Union and grocery stores typically charge $0.50 to $2.00. The amount you are sending does not affect the fee — a $100 money order costs the same as a $500 one at the same retailer.
Most retailers cap money orders at $1,000 per transaction. If you need to send more than $1,000, you can buy multiple money orders. There is no limit on how many you can buy in one day, but each one carries its own fee.
Your bank may have daily debit card spending limits, but these are usually $500 to $2,500 per day depending on your account type. If you are buying a large money order or multiple ones, check your bank's limits beforehand. You can often raise your limit by calling customer service or through your online banking portal.
What to bring and what to expect
You need your debit card and the amount of money you want to send (the money order amount plus the fee). You do not need an ID to buy a money order with a debit card — the card itself serves as payment. However, some retailers may ask for ID as part of their standard process, so bringing one does not hurt.
The transaction takes about five minutes. The cashier will ask you for the money order amount, the recipient's name, and sometimes your name. They will run your debit card, print the money order, and give you a receipt. Keep the receipt until the money order is cashed — it contains the confirmation number you need if something goes wrong.
If the retailer's card reader is broken, ask if they have a backup method or if you can come back later. Do not assume you have to pay with cash — many retailers can process debit cards manually or through a different terminal.
Frequently Asked Questions
Can I use a credit card to buy a money order instead of a debit card?
Most retailers do not accept credit cards for money order purchases. Walmart, the post office, and Western Union typically only take cash or debit cards. Some credit card companies also treat money order purchases as cash advances, which carry higher fees and interest rates. Stick with debit or cash.
What if my debit card is declined when I try to buy a money order?
This usually means you do not have enough money in your account or you have hit your daily spending limit. Check your account balance on your phone or ask the cashier to run the card again. If it fails twice, pay with cash if you have it, or come back after your bank processes pending transactions (usually the next business day).
Do I need to know the recipient's name before I buy the money order?
Yes. The cashier will ask you who the money order is for, and you need to provide the recipient's full name. You cannot leave it blank or change it later. Make sure you have the correct spelling before you hand over your debit card.
Can I get cash back when I buy a money order with a debit card?
No. Money order transactions do not include a cash-back option like a regular debit card purchase at a grocery store might. If you need cash, use an ATM before or after you buy the money order.
What if I lose the money order receipt?
Keep the receipt. It has the confirmation number you need to track the money order or file a claim if it is lost or stolen. If you lose it, contact the retailer where you bought it with your debit card statement showing the purchase. They can look up the money order by the transaction date and amount, but this takes longer than having the receipt.