Buying a Money Order With a Credit Card: What Works and What Doesn't
Most credit cards won't work to buy a money order, but a few payment methods will
You cannot buy a money order directly with a credit card at most places. Money order sellers — including the post office, Western Union, MoneyGram, Walmart, and grocery stores — treat credit cards as cash advances, which means they either decline the card outright or charge you a separate fee on top of the money order cost. The reason is simple: money orders are considered a form of cash, and credit card companies discourage this type of transaction.
However, you have other options. You can use a debit card, a prepaid card, or cash to buy a money order at nearly any location. You can also withdraw cash from an ATM using your credit card (though this also triggers a cash advance fee) and then use that cash to purchase the money order. The best approach depends on what payment method you actually have available and whether you want to avoid extra fees.
Key Takeaways
- Credit cards are typically declined or charged as cash advances when you try to buy a money order, making them an expensive or impossible option.
- Debit cards and prepaid cards work at most money order locations without triggering extra fees.
- If you only have a credit card, withdrawing cash from an ATM and then buying the money order with that cash is an option, but you will pay a cash advance fee either way.
- Money order fees vary by location and amount, ranging from about $1 to $5 for most standard orders.
- If you need to send money and want to avoid fees entirely, a bank transfer or payment app may be a better choice than a money order.
Why credit cards don't work for money orders
Credit card companies classify money order purchases as cash advances. A cash advance is when you use your credit card to get actual cash or a cash-like product instead of making a purchase of goods or services. Because money orders function as cash, the transaction falls into this category.
When a merchant tries to process a money order purchase as a credit card transaction, the card network (Visa, Mastercard, American Express, or Discover) flags it. The merchant's system then either rejects the card entirely or processes it as a cash advance. If it goes through as a cash advance, you pay two costs: the money order fee itself, plus a cash advance fee from your credit card company. That cash advance fee is typically 3% to 5% of the amount, with a minimum charge of $5 to $10. On a $500 money order, that could add $15 to $25 in fees alone.
Some locations, like the U.S. Postal Service and Walmart, have policies that simply decline credit cards for money orders. Others may allow the transaction but charge it as a cash advance. Either way, using a credit card is not a practical path.
What payment methods actually work at money order locations
Debit cards are the most straightforward option. A debit card draws directly from your bank account, so it is not classified as a cash advance. You can use a debit card at the post office, Western Union, MoneyGram, Walmart, grocery stores, and most check-cashing services. There is no extra fee beyond the standard money order charge.
Prepaid cards work the same way as debit cards from the merchant's perspective. If you have a prepaid card loaded with funds, you can use it to buy a money order without triggering a cash advance fee. This includes general-purpose prepaid cards, payroll cards, and some gift cards that function as prepaid cards.
Cash is always accepted and requires no fees beyond the money order cost itself. If you have cash on hand, this is the simplest route.
Bank checks are another alternative if you have a checking account. Instead of buying a money order, you can write a personal check. This works for any situation where the recipient accepts checks, though some people prefer money orders because they may provide the funds are available.
Using a credit card to get cash for a money order
If you do not have a debit card or cash, you can withdraw money from an ATM using your credit card. This is a cash advance, so you will pay a fee — typically $3 to $5 per transaction, plus interest that starts accruing immediately. Once you have the cash, you can walk into any money order location and buy the money order with that cash.
The total cost is the ATM fee plus the money order fee. For a $500 money order, you might pay $5 for the ATM withdrawal, $3 for the money order, and then interest on the $500 cash advance until you pay it back. This is more expensive than using a debit card, but it is an option if you have no other way to access funds.
Before you do this, check your credit card's terms. Some cards have a daily limit on cash advances, and some charge a higher interest rate for cash advances than for regular purchases. You want to know the full cost before you proceed.
Money order fees and where to buy them
Money order fees vary by location and the amount of the order. The U.S. Postal Service charges between $1.45 and $2.20 depending on the amount. Walmart typically charges $0.88 to $1.25. Western Union and MoneyGram fees vary by location but generally range from $1 to $5. Grocery stores and check-cashing services fall somewhere in that range as well.
The fee is the same regardless of whether you pay with cash, a debit card, or a prepaid card. The only time the fee changes is if you use a credit card and it is processed as a cash advance, in which case you pay both the money order fee and the cash advance fee.
If you are sending a large amount of money, the fee percentage can add up. For a $1,000 money order at Western Union, you might pay $5 to $10 in fees. This is worth considering if you have other options, like a bank transfer, which may be free or cheaper.
Alternatives to money orders that may cost less
If you are trying to send money and want to avoid money order fees altogether, consider other options. Bank transfers between accounts at the same bank are usually free. ACH transfers (automated clearing house transfers) through your bank to another person's account are typically free or cost $1 to $3. Payment apps like Venmo, PayPal, or Cash App are free for transfers between users, though some charge a fee if you want to withdraw the money to a bank account.
Money orders are useful when the recipient does not have a bank account, when you need a paper record, or when the recipient does not use payment apps. But if the person you are paying does have a bank account or uses a payment app, those methods are usually cheaper and faster than a money order.
Frequently Asked Questions
Can I buy a money order with a credit card at the post office?
No. The U.S. Postal Service does not accept credit cards for money orders. You can use cash, a debit card, or a prepaid card. If you only have a credit card, you will need to withdraw cash from an ATM first, though this will cost you a cash advance fee.
What if my credit card is declined when I try to buy a money order?
The decline is intentional — the merchant's system is blocking the transaction because money orders are classified as cash advances. This is not a problem with your card or account. Use a debit card, prepaid card, or cash instead. If you do not have any of those, withdraw cash from an ATM using your credit card.
Is there a way to avoid the cash advance fee?
Yes. Use a debit card, prepaid card, or cash to buy the money order. These payment methods do not trigger a cash advance fee. Only credit cards are charged this way. If you do not have a debit card, many banks offer free checking accounts with a debit card, and prepaid cards are available at most retailers.
How much does a money order cost?
Fees vary by location. The post office charges $1.45 to $2.20. Walmart charges $0.88 to $1.25. Western Union and MoneyGram typically charge $1 to $5. The fee does not change based on your payment method — only the amount of the money order affects the cost.
Should I use a money order or a bank transfer instead?
Bank transfers and payment apps are usually cheaper and faster if the person you are paying has a bank account or uses a payment app. Money orders are better when the recipient does not have a bank account, when you need a paper record, or when you are paying a business that requires a money order specifically.