You cannot buy a money order directly with a credit card at most places
Most money order sellers — post offices, grocery stores, check-cashing shops, and Walmart — do not take credit cards at all. They accept cash, debit cards, and sometimes checks. A few locations accept credit cards, but they are the exception, not the rule. If you try to pay with a credit card at a standard money order counter, you will be turned away.
The reason is practical: money orders are a cash-like product. They are meant to move money from one person to another without a credit line in between. Sellers treat them the same way they treat cash withdrawals — they want when ready payment, not a promise to pay later. A credit card creates that promise, which defeats the purpose.
If you need a money order and only have a credit card, you have a few actual paths forward. None of them involve handing your credit card to the money order counter.
Key Takeaways
- Post offices, Walmart, grocery stores, and check-cashing shops do not accept credit cards for money orders — they require cash or a debit card.
- You can withdraw cash from an ATM using your credit card (usually with a fee), then use that cash to buy a money order.
- Some online money order services accept credit cards, but they charge higher fees and take longer to deliver than in-person purchases.
- A debit card works at nearly every money order counter and avoids both the credit card problem and ATM withdrawal fees.
- If you do not have a debit card, a cash advance from your credit card is an option but costs more than other methods.
Getting cash from an ATM using your credit card
A cash advance is a withdrawal of cash from an ATM using your credit card. You put your card in the machine, enter your PIN, and take out money. The amount you withdraw appears as a charge on your credit card bill, just like a purchase.
Cash advances cost more than regular purchases. Your credit card company charges a cash advance fee — typically 3 to 5 percent of the amount you withdraw, with a minimum of $5 to $10. So if you withdraw $500, you might pay $15 to $25 just for the withdrawal. On top of that, cash advances usually have a higher interest rate than regular purchases. If you do not pay off the balance when ready, the interest accrues faster.
Once you have the cash, you can walk into any money order seller and buy a money order with it. This works, but it is expensive for small amounts. If you need a $50 money order, a $5 cash advance fee makes the total cost $55 — a 10 percent markup before you even buy the money order.
Using a debit card instead
If you have a debit card linked to a bank account, use that instead. Debit cards work at every money order counter that takes cards at all. There is no fee for using a debit card, no interest charge, and no markup. You pay only the money order fee itself, which is usually $1 to $3 depending on the seller and the amount.
A debit card is not a credit card — it draws directly from your bank account. If you do not have a debit card but have a bank account, you can request one from your bank at no cost. It typically arrives in 5 to 10 business days. If you need a money order sooner, a cash advance is faster, but a debit card is cheaper if you can wait.
Online money order services that take credit cards
A few online services let you buy money orders with a credit card and have them mailed to you or to a recipient. MoneyGram and Western Union both offer this option through their websites. You enter the amount, the recipient's details, and your credit card information. The service charges a fee (typically $5 to $15 depending on the amount), prints the money order, and mails it.
The trade-off is time and cost. Delivery takes 3 to 7 business days, so this does not work if you need a money order today. The fees are also higher than in-person purchases — you pay the online service fee plus the money order fee. You also pay any credit card cash advance fees if your card issuer treats the purchase as a cash advance (some do, some do not — check with your card issuer first).
Online money orders make sense only if you cannot leave your house, do not have access to a money order seller nearby, or need to send money to someone in another state and want a paper trail. For most people, walking to a store with cash or a debit card is faster and cheaper.
What happens if you try to use a credit card at the counter
If you walk up to a money order counter with a credit card, the seller will tell you they do not accept credit cards. They will ask for cash or a debit card. If you do not have either, you have two options: leave and come back with cash or a debit card, or ask if they have an ATM on-site where you can withdraw cash using your credit card.
Many grocery stores, Walmart locations, and check-cashing shops have ATMs in the building. If yours does, you can use your credit card at the ATM, pay the cash advance fee, and then buy the money order with the cash. This is faster than leaving and coming back, but it still costs you the cash advance fee.
Money order fees and limits by seller
Money order fees vary by seller and by the amount you are sending. The United States Postal Service charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000. Walmart charges $0.88 for amounts up to $1,000. Check-cashing shops and grocery stores typically charge $1 to $3. Western Union and MoneyGram charge more — usually $5 to $15 for online orders.
Most sellers have a maximum money order amount. The USPS caps money orders at $1,000. Walmart caps them at $1,000. Check-cashing shops vary, but many cap at $500 or $1,000. If you need to send more than the limit, you will need to buy multiple money orders or use a different method like a wire transfer.
Frequently Asked Questions
Can I buy a money order with a credit card at Walmart?
No. Walmart's money order counter accepts cash and debit cards only. If you only have a credit card, you can use the in-store ATM to withdraw cash using a cash advance, then buy the money order with that cash. You will pay an ATM fee plus a cash advance fee from your credit card company.
What if I do not have a PIN for my credit card?
You cannot use an ATM without a PIN. Call your credit card company and request one. They can set it up over the phone, and you can use it at an ATM within 24 hours. If you need a money order before then, ask a friend or family member to lend you cash or a debit card.
Is a money order the same as a wire transfer?
No. A money order is a paper document you buy and mail or hand to someone. A wire transfer is electronic and moves money directly from one bank account to another. Wire transfers are faster but cost more (usually $15 to $30). Money orders are slower but cheaper and do not require a bank account.
Can I buy a money order with a credit card over the phone?
Some check-cashing shops and Western Union locations take phone orders with credit cards, but this is rare. Call ahead to ask. Most sellers require you to come in person or use their website. Phone orders also typically have higher fees than in-person purchases.
What if the money order seller's ATM charges a fee?
Most in-store ATMs charge $2 to $3 per withdrawal, on top of any fee your credit card company charges for the cash advance. This adds up quickly. If you have time, it is cheaper to go to your own bank's ATM (which usually has no fee) and withdraw cash there, then come back to buy the money order.
