Walmart will not sell you a money order if you pay with a credit card
Walmart's money order service only accepts cash, debit cards, and prepaid cards at the register. If you try to pay with a credit card, the cashier will decline the transaction. This is a policy set by Walmart itself, not by the money order provider or your credit card company.
The restriction exists because money orders are considered a cash-equivalent product. Walmart treats them the same way it treats wire transfers, bill payments, and lottery tickets — services where credit card payments carry higher fraud risk and are not permitted.
If you need a money order and only have a credit card available, you have other options that work around this limitation.
Key Takeaways
- Walmart will not accept credit cards to pay for money orders; you must use cash, a debit card, or a prepaid card.
- You can withdraw cash from an ATM using your credit card (though a cash advance fee applies), then use that cash to buy a money order at Walmart.
- Other retailers like CVS, Walgreens, and Western Union locations accept credit cards for money orders, though fees may be higher than Walmart's.
- Some banks and credit unions sell money orders directly and may accept credit cards; call ahead to confirm their payment methods.
- Money order fees at Walmart range from about $0.70 to $1.25 depending on the amount, plus any cash advance fee if you use a credit card to get cash first.
Getting cash to buy a money order with your credit card
The most direct workaround is to get cash using your credit card, then use that cash to purchase the money order. You can do this at an ATM by requesting a cash advance, or at many retailers by asking for cash back when you make a purchase.
Be aware that a cash advance fee applies when you withdraw cash using a credit card. This fee is typically 3 to 5 percent of the amount withdrawn, with a minimum charge of $5 to $10. Your credit card issuer will also charge interest on the cash advance when ready — there is no grace period like there is for regular purchases. Check your card's terms to see the exact fee and interest rate before you proceed.
If the cash advance fee is steep, it may cost less to use one of the alternative retailers listed below instead of paying both the cash advance fee and the money order fee.
Retailers that accept credit cards for money orders
CVS, Walgreens, and Western Union locations accept credit cards as payment for money orders. You can walk into any of these stores and buy a money order using your credit card at the register without needing to withdraw cash first.
The trade-off is that fees are higher than Walmart's. CVS and Walgreens typically charge $1.25 to $2.00 per money order depending on the amount. Western Union charges $2 to $5 or more depending on the amount and location. Walmart's fees are usually $0.70 to $1.25, so you may pay an extra dollar or more per transaction at these retailers.
If you only need one or two money orders, the extra fee may be worth avoiding the cash advance charge. If you need several, the cash advance route might be cheaper overall.
Banks and credit unions that sell money orders
Many banks and credit unions sell money orders directly to customers. Since these are financial institutions, they are more likely to accept credit cards than retail locations are. However, policies vary by institution.
Call your bank or credit union before you visit to confirm they sell money orders and that they accept credit cards as payment. Some institutions only sell them to account holders, and some have limits on how many you can buy at once. If your bank does not sell money orders, ask if they can refer you to a location that does.
Banks and credit unions typically charge less per money order than retail chains — often $1 to $2 — but you may need to be a member or account holder to use the service.
What to bring when you buy a money order
Regardless of where you buy the money order, you will need to provide the recipient's name and your own name. Have this information ready before you reach the register. You do not need to show ID at most retailers, but some locations may ask for it.
Know the exact amount you need the money order for before you arrive. Money orders are issued for a specific amount and cannot be changed once printed. If you need $500, you cannot buy a $600 money order and use part of it — you would need to cash it and start over.
Have your payment method ready. If you are using a debit card or prepaid card, bring the card itself. If you are using cash, bring bills and coins in the amount you need plus the fee.
Money order limits at Walmart
Walmart sells money orders up to $1,000 per order. If you need to send more than $1,000, you can buy multiple money orders, but you will pay the fee on each one.
Some Walmart locations have daily limits on how many money orders one person can buy. This limit is usually around 5 to 10 per day, but it varies by store. If you need to buy many money orders, call your local Walmart ahead of time to ask about their limit.
Frequently Asked Questions
Can I use a credit card to buy a money order online?
Walmart does not sell money orders online. You must visit a physical Walmart location and buy at the customer service desk. Online money order services like MoneyGram do accept credit cards, but their fees are typically higher than Walmart's in-store fees.
What if my credit card has a PIN? Can I use it as a debit card to buy a money order?
No. Even if your credit card has a PIN, it is still a credit card and Walmart will not accept it for money orders. You need an actual debit card or prepaid card linked to a bank account or prepaid balance.
Is there a fee if I use a credit card cash advance to get money for a money order?
Yes. Your credit card issuer will charge a cash advance fee (usually 3 to 5 percent) plus interest starting when ready. You will also pay Walmart's money order fee. The total cost can be $10 to $20 or more depending on the amount, so compare this to the cost of buying a money order at CVS or Walgreens with your credit card directly.
Can I use a gift card to buy a money order at Walmart?
No. Walmart treats gift cards the same way it treats credit cards for money order purchases — they are not accepted. You must use cash, a debit card, or a prepaid card.
What happens if I try to use a credit card anyway?
The transaction will be declined at the register. The cashier will tell you that credit cards are not accepted for money orders and ask you to provide a different payment method. No charge will appear on your credit card.