Buying Money Orders at Walmart With a Credit Card
Walmart will not let you buy a money order with a credit card
Walmart's money order service only accepts cash or a debit card at the register. If you try to pay with a credit card, the transaction will be declined. This is a hard rule across all Walmart locations — there is no workaround or exception.
The reason is simple: money orders are considered a cash advance or financial service by Walmart's payment system. Credit card companies treat these transactions the same way they treat ATM withdrawals — they charge a fee and classify it differently than a regular purchase. Walmart decided years ago to block credit cards for money orders to avoid those fees and to keep the service straightforward for customers.
If you need a money order and only have a credit card, you have other options. You can withdraw cash from an ATM using your credit card (though this usually costs a fee), use a debit card instead, or visit a different money order provider that may have different rules.
Key Takeaways
- Walmart money orders can only be purchased with cash or a debit card — credit cards are not accepted at any Walmart location.
- Money orders are classified as financial services by credit card companies, which is why Walmart blocks credit card payments for them.
- If you only have a credit card, you can withdraw cash from an ATM (though fees apply) or use a different money order provider.
- Money orders at Walmart cost between $0.70 and $1.25 depending on the amount, and you can buy them at the customer service desk or money services counter.
Why credit cards don't work for money orders anywhere
Money orders fall into a category that credit card companies call "cash-like transactions." This includes ATM withdrawals, wire transfers, and gambling. When you use a credit card for these, the card issuer treats it as a cash advance rather than a purchase. That distinction matters because cash advances come with their own fees — usually 3 to 5 percent of the amount — and they start charging interest immediately, with no grace period.
Walmart decided to block credit cards for money orders to avoid this fee structure. It keeps the service simpler and cheaper for customers who pay with cash or debit. Other money order providers like MoneyGram and Western Union have the same policy. The few places that do accept credit cards for money orders are typically online services, and they pass the cash advance fee directly to you.
What payment methods Walmart actually accepts for money orders
Cash is the most common way to buy a money order at Walmart. You walk up to the money services counter or customer service desk, hand over the amount you want to send plus the fee, and walk out with the money order.
Debit cards work the same way as cash from Walmart's perspective. You can use any debit card — whether it is linked to a checking account, a prepaid card, or a gift card with a Visa or Mastercard logo. Walmart treats debit transactions as direct withdrawals from your account, not as credit, so there is no cash advance fee.
If you do not have cash or a debit card on hand, you can get cash from Walmart's customer service desk using your credit card. Walmart charges a fee for this service (usually $3 for amounts under $100), but it is cheaper than the cash advance fee your credit card company would charge at an ATM.
How to buy a money order at Walmart with a debit card
Go to the money services counter or customer service desk. Tell the associate you want to buy a money order and provide the amount. The associate will ask for the recipient's name and address — this is the person or business the money order is being sent to. You will also need to provide your name and address as the sender.
Hand over your debit card and the fee. Walmart's money order fees range from $0.70 for amounts up to $1,000 to $1.25 for amounts between $1,000 and $5,000. You cannot buy a money order for more than $5,000 at Walmart. The associate will process the transaction, and you will receive the money order immediately.
Keep the receipt. It contains a tracking number you can use to confirm the money order was cashed. If it gets lost or stolen before the recipient cashes it, you can use this number to file a claim and get a replacement.
Alternatives if you only have a credit card
If you are at Walmart and only have a credit card, you can ask the customer service desk for a cash withdrawal. Walmart charges $3 for cash withdrawals under $100 and $4 for $100 to $500. This is cheaper than using an ATM, where your credit card company would charge a cash advance fee on top of any ATM operator fee. Once you have cash, you can buy the money order normally.
Another option is to visit a different money order provider. Post offices, banks, and check-cashing stores all sell money orders. Some of these places may accept credit cards, though most do not. Call ahead before you go to confirm their payment methods.
If you need to send money urgently and do not have cash or a debit card, consider using a digital payment app like Venmo, PayPal, or Square Cash instead. These apps let you send money directly from a credit card to another person's bank account or phone number. There is usually a fee for credit card transfers (around 3 percent), but it is faster than a money order and does not require you to leave home.
When you actually need a money order instead of other payment methods
Money orders are useful when the person or business you are paying does not accept digital payments or credit cards. Landlords, bail bondsmen, and some government agencies still require money orders or cashier's checks. Money orders are also safer than sending cash through the mail because they cannot be cashed by anyone except the named recipient.
If you are paying a bill or sending money to someone you know, a digital payment app is usually faster and easier. If you are paying a stranger or a business that specifically asks for a money order, that is when Walmart's money order service makes sense. Just remember to bring cash or a debit card — your credit card will not work.
Frequently Asked Questions
Can I buy a money order online at Walmart with a credit card?
No. Walmart does not offer money orders through its website or app. Money orders can only be purchased in person at a Walmart location, and only with cash or a debit card. Some online money order services do accept credit cards, but they charge higher fees to cover the credit card processing cost.
What if my debit card is declined at Walmart?
Ask the associate to try again — sometimes a temporary connection issue causes a decline. If it happens twice, your bank may have blocked the transaction for fraud protection. Call your bank to confirm the transaction is legitimate, then try again. If your debit card is not working, use cash instead or ask for a cash withdrawal from your credit card.
Can I use a prepaid gift card to buy a money order at Walmart?
Yes, if the gift card has a Visa or Mastercard logo and works as a debit card. Walmart treats prepaid cards the same way as regular debit cards. The card must have enough balance to cover both the money order amount and the fee. Walmart money order fees are $0.70 to $1.25, so make sure your card has at least that much available.
Do I need an ID to buy a money order at Walmart?
Walmart does not always require ID, but it is a good idea to bring one. If the amount is large or if the associate has any questions, they may ask for identification. Having your ID ready speeds up the process.
What happens if the money order gets lost?
Keep your receipt — it has a tracking number. If the money order is lost or stolen before the recipient cashes it, contact Walmart with your receipt and tracking number. Walmart can issue a replacement or refund, though the process usually takes a few weeks. This is why money orders are safer than cash for sending money through the mail.