Most places that sell money orders won't take credit cards directly
You cannot walk into a post office, bank, or grocery store and hand them a credit card to buy a money order. Money order sellers — the U.S. Postal Service, Western Union, MoneyGram, and most banks — require cash, debit card, or bank account payment. A credit card transaction creates a cash advance, which triggers fees and interest rates that make the money order expensive before you even mail it.
If you need to buy a money order and only have a credit card available, your real options are limited to two routes: withdraw cash from an ATM using the credit card, or use a service that converts credit to cash. Both cost money. Neither is designed for this purpose, and both should be your last resort if you genuinely cannot pay another way.
Key Takeaways
- Money order sellers do not accept credit cards as payment; they require cash, debit, or bank account access.
- Using a credit card cash advance to fund a money order costs an upfront fee (typically 3 to 5 percent) plus interest that starts when ready, with no grace period.
- A debit card, if you have one, is the cheapest way to buy a money order and avoids credit card fees entirely.
- If you must use a credit card, withdrawing cash at an ATM is cheaper than a cash advance through the money order seller.
- For recurring payments, setting up automatic bank transfers or bill pay eliminates the need for money orders altogether.
Why credit card cash advances cost more than the money order itself
When you use a credit card to get cash — whether at an ATM or by asking a teller for a cash advance — the card issuer charges you a cash advance fee. This fee is usually 3 to 5 percent of the amount withdrawn, with a minimum of $5 to $10. So a $500 cash advance costs $15 to $25 just to get the cash out.
On top of that fee, interest starts accruing when ready. Credit cards do not give you a grace period on cash advances the way they do on purchases. If your card charges 20 percent annual interest, that is roughly 1.67 percent per month. A $500 cash advance held for 30 days costs about $8.35 in interest alone, plus the upfront fee.
A money order itself costs $1 to $3 depending on where you buy it. So your total cost to buy a $500 money order with a credit card cash advance is roughly $24 to $36 in fees and interest — before you even mail it. That is a 5 to 7 percent surcharge on a transaction that should cost almost nothing.
Using an ATM withdrawal instead of a cash advance through the seller
If you have no other option, withdrawing cash at an ATM with your credit card is slightly cheaper than asking the money order seller to process a cash advance for you. The ATM fee is the same (3 to 5 percent), but you avoid the seller's additional processing, and you control exactly how much cash you take out.
Find an ATM that belongs to your credit card's network or a bank that does not charge out-of-network fees. Withdraw only the amount you need for the money order plus a small buffer. Then go directly to the money order seller, buy the money order with cash, and return home. The faster you complete this, the less interest accrues.
This is still expensive. It should only happen if you have exhausted every other option: no debit card, no bank account, no friend or family member who can lend you the cash, and no way to delay the payment until you have cash on hand.
Why a debit card is the right tool if you have one
If you have a debit card linked to a bank account, use that instead. Debit cards are accepted at every place that sells money orders — post offices, banks, grocery stores, and check-cashing services. There is no fee for using a debit card, no interest, and no cash advance penalty.
The only cost is the money order itself: $1 to $3 depending on the seller and the amount. That is the true cost of the transaction. If you do not have a debit card but have a bank account, you can often request a temporary card from your bank within hours, or you can visit a branch in person and withdraw cash directly.
Alternatives that eliminate the need for a money order
Before you commit to buying a money order at all, ask yourself whether you actually need one. Money orders exist because some people do not have bank accounts or do not trust electronic transfers. But if you have a bank account, you have better options.
Bill pay through your bank lets you send a check electronically to almost any address. You authorize the payment from your bank account, and the bank mails a physical check on your behalf. It is free or costs $1 to $2, takes 3 to 7 business days, and requires no cash or credit card.
Bank transfers (ACH transfers or wire transfers) move money directly from your account to someone else's account. They are faster than checks or money orders, cost nothing or a few dollars, and work if the recipient has a bank account.
Payment apps like Venmo, PayPal, or Square Cash let you send money when ready to someone with a smartphone. If the recipient does not have a bank account, some apps let them cash out at a retail location for a small fee.
If the person you are paying insists on a money order, ask them why. Often they will accept a check, a bank transfer, or a payment app instead. Money orders are rarely the only option anymore.
Where to buy a money order if you do have cash or a debit card
The U.S. Postal Service sells money orders up to $1,000 at any post office. The fee is $1.45 for amounts up to $500 and $1.95 for $500 to $1,000. You need cash or a debit card, and the transaction takes about 10 minutes.
Western Union and MoneyGram sell money orders at grocery stores, pharmacies, check-cashing services, and their own locations. Fees vary by location and amount but are usually $1 to $3. Both accept cash and debit cards.
Banks and credit unions often sell money orders to customers for $1 to $3. Call ahead to confirm they sell them and what payment methods they accept. Some require you to be a customer; others sell to anyone.
Grocery stores and pharmacies (Walmart, Target, CVS, Walgreens) sell money orders at their customer service desks. Fees are typically $0.70 to $1.50. All accept cash and debit cards.
What information you need to buy a money order
Have the recipient's name and address ready before you go to the seller. The money order will have a blank for the recipient (called the "payee") and a blank for your name (the "purchaser"). Write clearly in pen. If you make a mistake, most sellers will void it and issue a new one for free.
You do not need an ID to buy a money order, though some sellers may ask for one. You do not need a bank account. You do not need to provide a reason. The transaction is straightforward: you hand over cash or a debit card, you fill in the recipient's name, and you receive the money order.
Keep your receipt. If the money order is lost or stolen before it reaches the recipient, the receipt is your proof of purchase and your way to request a replacement.
Frequently Asked Questions
Can I use a credit card to buy a money order online?
Some online money order services accept credit cards, but they charge a processing fee on top of the money order fee — often 2 to 3 percent. You still avoid the cash advance fee, but you pay a different markup. For a $500 money order, that is $10 to $15 in fees. It is cheaper than a cash advance but more expensive than buying in person with cash or a debit card.
What happens if I use a credit card cash advance to buy a money order and then dispute it?
You cannot dispute a cash advance the way you can dispute a purchase. Once you withdraw the cash, it is yours to spend. The credit card company will not reverse the transaction or refund the fee. If the money order is lost or the recipient never receives it, that is a separate issue between you and the money order seller, not the credit card company.
Is there a limit to how much I can withdraw with a credit card cash advance?
Yes. Your credit card issuer sets a cash advance limit, which is usually lower than your credit limit. It might be 20 to 50 percent of your available credit. Check your card's terms or call the issuer to find out your limit before you go to the ATM.
Will using a credit card to buy a money order hurt my credit score?
A cash advance itself does not directly hurt your score, but it increases your credit utilization (the percentage of your available credit you are using), which can lower your score slightly. It also adds to your balance, which means higher interest charges and a longer payoff timeline. The damage is usually small but real.
Can I use a prepaid credit card to buy a money order?
Most prepaid cards work like debit cards and are accepted at money order sellers. There is no cash advance fee because prepaid cards do not offer cash advances. If you have a prepaid card with a balance, it is a better choice than using a traditional credit card.