Most money order sellers will not take credit cards directly
You cannot buy a money order with a credit card at most retailers and financial institutions. Money order sellers—including the U.S. Postal Service, Western Union, MoneyGram, Walmart, and grocery store chains—accept cash or debit cards only. A few regional banks and credit unions may have different policies, but this is the exception, not the rule.
The reason is straightforward: money orders are a cash-equivalent product. They are designed for people who need a secure payment method without a bank account. Accepting credit cards would create a cash advance situation, which money order sellers avoid because of the fees and fraud risk involved.
If you need a money order and only have a credit card, you have a few real options. None of them involve handing your credit card to the money order counter.
Key Takeaways
- USPS, Western Union, MoneyGram, Walmart, and most grocery stores do not accept credit cards for money order purchases.
- You can withdraw cash from an ATM using your credit card, then use that cash to buy a money order, but this triggers a cash advance fee and higher interest rates.
- A debit card, if you have one, is the simplest way to buy a money order without using cash.
- Some credit unions and regional banks may accept credit cards for money orders; calling ahead saves a wasted trip.
- Money order fees range from about $1 to $5 depending on the amount and the seller, and are the same whether you pay with cash or debit.
Using an ATM cash advance to get cash for a money order
If you have no cash and no debit card, you can use your credit card at an ATM to withdraw cash, then use that cash to buy a money order. This works, but it is expensive. Your credit card issuer will charge a cash advance fee—typically 3 to 5 percent of the amount withdrawn, with a minimum of $5 to $10. A $200 cash advance might cost you $6 to $10 in fees alone.
Cash advances also carry a higher interest rate than regular purchases. While a purchase might have an APR of 18 percent, a cash advance might be 24 or 25 percent. Interest on a cash advance starts accruing immediately—there is no grace period—so even if you pay the balance in full at the end of the month, you will owe interest from the day you withdrew the cash.
The math: a $200 cash advance at 5 percent fee ($10) plus 25 percent APR for one month (about $4.17 in interest) costs you roughly $14 to get $200 in cash. Then you pay the money order fee on top of that. This method works in a genuine emergency, but it is not economical for routine money order purchases.
Why your debit card is the better choice
If you have a debit card linked to a bank account, use it instead of your credit card. Debit cards are accepted at every money order counter that takes cards. There is no cash advance fee, no higher interest rate, and no daily interest accrual. You pay only the money order fee itself.
If you do not have a debit card but have a bank account, you can request one from your bank at no cost. Most banks issue them within a few business days. If you have no bank account at all, opening one is usually free and takes less than an hour in person or online.
A debit card is also useful for other transactions where credit cards are not accepted—groceries, gas, utilities, and many online purchases. If you are considering a credit card cash advance just to buy a money order, opening a bank account and getting a debit card will save you money on this purchase and many others.
Money order fees and where to buy them
Money order fees do not change based on how you pay. Whether you use cash, a debit card, or a credit card (at a place that accepts it), the fee is the same. The fee depends on the amount of the money order and the seller.
| Seller | Typical Fee Range | Payment Methods Accepted |
|---|---|---|
| USPS | $1.45 to $2.20 | Cash, debit card |
| Western Union | $1.50 to $5.00 | Cash, debit card |
| MoneyGram | $1.50 to $5.00 | Cash, debit card |
| Walmart | $0.70 to $1.50 | Cash, debit card |
| Grocery stores (Kroger, Safeway, etc.) | $1.00 to $2.50 | Cash, debit card |
Walmart typically has the lowest fees. The USPS is a good option if you are already going to the post office. Western Union and MoneyGram have the widest network of locations, including many convenience stores and check-cashing outlets.
Fees are usually lower for smaller amounts. A $500 money order at Walmart might cost $1.50, while a $1,000 money order costs the same. At Western Union, a $500 order might be $3.00 and a $1,000 order might be $5.00. Call ahead or check the website of your chosen seller to confirm the exact fee for the amount you need.
Checking with your bank or credit union first
Some credit unions and regional banks issue money orders to their own customers at no fee or a very low fee. If you have a bank account, call your bank before going to a retail money order seller. Ask whether they issue money orders and what they charge. Many banks do not, but some do, and the savings can be significant if you buy money orders regularly.
If your bank does issue money orders, ask whether you can buy them with a credit card. A small number of banks and credit unions will allow this for their own cardholders, though it is rare. Even if they do, the same cash advance rules apply—you will pay a cash advance fee and higher interest rate. But at least you will know the option exists before you make the trip.
Alternatives to money orders when you have only a credit card
If buying a money order with a credit card is too expensive or not possible, consider whether you actually need a money order. Money orders are useful when the recipient needs a may provide payment or when you do not want to share your bank account details. But they are not the only option in every situation.
Bank transfers or wire transfers can be sent directly from your bank account to another account. If you have a credit card but no bank account, this does not help. But if you have both, a wire transfer or ACH transfer is faster and cheaper than a money order.
Payment apps like Venmo, PayPal, Square Cash, and Zelle allow you to send money directly from a linked bank account or, in some cases, from a credit card. Fees vary—some are free for bank transfers, and some charge 2 to 3 percent if you use a credit card. This is still cheaper than a cash advance plus a money order fee for most amounts.
Bill pay through your bank is free and works for any business that accepts checks. If you are paying a utility, landlord, or other regular bill, your bank can mail a check on your behalf at no cost.
If the recipient specifically requires a money order and you have no other way to pay, a cash advance is your only option—but weigh the cost carefully before you proceed.
Frequently Asked Questions
Can I buy a money order with a credit card online?
No. Online money order services like MoneyGram and Western Union do not accept credit cards for money order purchases. They accept bank transfers, debit cards, and cash pickup. If you want to send money online, payment apps or wire transfers are better options for credit card holders.
What if I use my credit card to pay someone else who then buys the money order?
This works, but it is not practical for most situations. You would be paying the other person, who then buys the money order on your behalf. You would need to trust them with the cash and verify they actually bought the money order. For a one-time transaction, this is more complicated than just getting cash from an ATM yourself.
Will the money order seller report a cash advance to my credit card company?
No. The money order seller will not know or report anything. Your credit card company will see the ATM withdrawal and automatically code it as a cash advance based on the merchant category. This happens whether the seller knows what you are doing with the cash or not.
Is there a limit to how much I can withdraw as a cash advance?
Yes. Your credit card has a cash advance limit, which is usually lower than your credit limit. It might be $500, $1,000, or another amount set by your issuer. Check your card's terms or call the customer service number on the back of your card to find out your cash advance limit before you go to an ATM.
Do I have to pay the cash advance fee even if I pay it back immediately?
Yes. The cash advance fee is charged at the time of withdrawal, regardless of when you pay it back. Interest also starts accruing immediately. Paying it back the next day will not eliminate the fee or the interest that has already accrued.