Most money order sellers won't take credit cards directly, but you have workarounds

You cannot walk into a store and hand over a credit card to buy a money order at the counter. Money order sellers — post offices, grocery stores, check-cashing shops, and Walmart — accept cash, debit cards, and sometimes traveler's checks, but not credit cards. The reason is practical: money orders are a form of may provide payment, and sellers want when ready, irreversible payment themselves before they issue one.

You do have options if you only have a credit card. You can withdraw cash from an ATM using your credit card (though this costs a cash advance fee), then use that cash to buy the money order. You can also use a credit card to pay bills or send money through digital payment apps, which may work better than a money order for what you're trying to do. A third option is to use a debit card instead if you have one, since those are accepted everywhere money orders are sold.

Key Takeaways

  • Money order sellers do not accept credit cards at the point of sale, so you cannot buy one directly with a credit card.
  • You can withdraw cash from an ATM using your credit card, then use that cash to buy a money order, but you will pay a cash advance fee (usually 3 to 5 percent of the amount).
  • A debit card works at any money order counter and costs nothing extra, so that is the cheapest option if you have one.
  • Digital payment apps and bill-pay services often replace money orders entirely and may accept credit cards directly.

Why money order sellers reject credit cards

Money order sellers need to know the payment is final before they hand over the money order. When you pay with cash or a debit card, the money is gone from your account when ready and cannot be reversed. A credit card transaction, by contrast, can be disputed or charged back for up to 60 days after the purchase. If a seller issues a money order and you later dispute the credit card charge, the seller has already given away the money order but lost the payment.

This is not about the seller being cautious — it is about the structure of how credit cards work. The credit card network (Visa, Mastercard, Amex, Discover) allows cardholders to reverse transactions, which protects you as a buyer but creates risk for a seller of something that cannot be taken back. Money orders fall into that category.

Using an ATM cash advance to buy a money order

If you have a credit card and need a money order, you can use your credit card at an ATM to withdraw cash, then use that cash to buy the money order. Most ATMs accept credit cards, though not all — look for one at your bank or a network ATM in a grocery store or convenience store.

The cost of this route is a cash advance fee. Credit card companies charge a percentage of the amount you withdraw, usually 3 to 5 percent, plus interest that begins accruing when ready (not after a grace period like a regular purchase). If you withdraw $500 to buy a $500 money order, you might pay $15 to $25 in fees and interest, depending on your card's terms and how long you carry the balance.

Check your credit card statement or call the number on the back of your card to find out your cash advance fee before you go to the ATM. Some cards charge a flat fee instead of a percentage, which might be cheaper if you are withdrawing a small amount.

Using a debit card instead

If you have a debit card linked to a checking or savings account, use that to buy a money order instead of going through a credit card cash advance. Debit cards are accepted at every place that sells money orders — post offices, Walmart, grocery stores, and check-cashing shops. There is no fee for using a debit card, and the money comes straight out of your account with no interest charges.

If you do not have a debit card but have a checking account, you can order one from your bank for free. It usually arrives in 5 to 10 business days. If you need a money order sooner, the cash advance route is your only option.

When digital payment might work better than a money order

Before you go through the trouble of getting cash and buying a money order, consider whether you actually need one. Money orders are useful when the person receiving the payment needs a may provide form of payment and does not have a way to receive digital transfers. But many situations that once required money orders now have faster, cheaper alternatives.

If you are paying a bill, most companies accept credit card payments online or by phone. If you are sending money to a person, apps like Venmo, PayPal, Square Cash, and Zelle let you send money directly from a credit card (though some charge a fee for credit card transfers). If you are paying rent, many landlords now accept online payments or have set up accounts with payment processors that take credit cards. Ask the person or business you are paying whether they have an alternative to a money order before you buy one.

Money order costs and where to buy them

A money order itself costs between $0.50 and $2.50, depending on the amount and where you buy it. The U.S. Postal Service charges a flat fee based on the amount: up to $500 costs $1.45, and $500.01 to $1,000 costs $1.95. Walmart and grocery stores often charge less, sometimes $0.50 to $1.00 for amounts under $500. Check-cashing shops vary widely, from $1 to $3 or more.

You can buy money orders at post offices, Walmart, most grocery stores (in the customer service area), and check-cashing shops. Some banks also sell them. Call ahead if you are going somewhere you have not been before, because not every location carries them.

Frequently Asked Questions

Can I buy a money order with a credit card online?

Some online services sell money orders, but they typically require a bank account or debit card for payment, not a credit card. Western Union and MoneyGram, which sell money orders online, do not accept credit cards directly. Your best option is to use a digital payment app instead, which often accepts credit cards and reaches the recipient faster.

What if I do not have a debit card or ATM access?

You can visit a bank branch in person and ask to withdraw cash using your credit card. The teller can process a cash advance for you, though you will still pay the cash advance fee. Some credit unions also offer this service to members. Call your card issuer to find out which branches or ATMs near you accept your card.

Is a cash advance cheaper than a money order?

Not usually. A $500 cash advance at 5 percent costs $25 upfront, plus interest. A $500 money order costs $1.95 at the post office. If you have a debit card, use it instead — there is no fee. A cash advance only makes sense if you have no other way to get cash and the money order is urgent.

Can I use a prepaid credit card to buy a money order?

No, prepaid cards are rejected the same way regular credit cards are. However, some prepaid cards come with a PIN that lets you use them like a debit card at the register, which money order sellers will accept. Check your prepaid card's terms to see if it has this feature.

What happens if I dispute a money order purchase on my credit card?

If you bought the money order with a cash advance, disputing it is difficult because you received the cash — the money order seller did not charge your card directly. The dispute would be with your credit card company over the cash advance itself, not the money order. Keep your receipt from the money order purchase in case you need to prove you bought it.