Yes, you can use a credit card to buy a money order, but not everywhere and not always the way you might expect

Most places that sell money orders — post offices, grocery stores, check-cashing shops, Walmart — will not let you swipe a credit card at the counter. They want cash or a debit card. However, you have a few real paths forward: you can use a credit card to withdraw cash from an ATM (though this costs you a cash advance fee), then buy the money order with that cash. Or you can use a credit card to pay online through a money order service, which then mails you the order or deposits funds on your behalf. The catch is that each route costs you something, and the fees add up fast.

The reason most retailers won't take credit cards for money orders is simple: they see it as a way to dodge the credit card company's rules. Money orders are often used to move money quickly or anonymously, and Visa and Mastercard have rules against using their cards for that purpose. A retailer that breaks that rule risks losing the right to accept credit cards at all.

Key Takeaways

  • Most brick-and-mortar money order sellers (post offices, Walmart, grocery stores) do not accept credit cards, only cash or debit cards.
  • Using a credit card to withdraw cash from an ATM so you can buy a money order will cost you a cash advance fee, usually 3 to 5 percent of the amount withdrawn.
  • Online money order services do accept credit cards but charge their own fees on top of the money order fee itself.
  • If you need a money order and only have a credit card, a debit card or cash withdrawal is almost always cheaper than paying multiple layers of fees.

Why retailers won't take credit cards for money orders

Credit card networks — Visa, Mastercard, American Express, Discover — have rules that treat money orders as a form of cash-like transaction. Buying a money order with a credit card is classified the same way as a cash advance: you are converting credit into something that works like cash. The card networks discourage this because it increases their risk and because it lets people spend money they do not have in their bank account.

A retailer who accepts credit cards for money orders is technically breaking the card network's rules. If Visa or Mastercard finds out, the store can lose its ability to accept that card entirely — a penalty far worse than the small fee they would earn from the transaction. So most retailers simply refuse credit cards for money orders to stay safe.

Debit cards are treated differently because the money comes directly from your bank account, not from borrowed credit. That is why you will see debit cards accepted at the post office and Walmart when credit cards are not.

Using an ATM cash advance to buy a money order

If you have a credit card but no cash and no debit card, you can withdraw cash from an ATM using your credit card. Then you can take that cash to any money order seller. The problem is the cost: most credit card companies charge a cash advance fee of 3 to 5 percent of the amount you withdraw, plus they start charging interest on that amount immediately — usually at a higher rate than your regular purchase APR.

Example: You need a $500 money order. You withdraw $500 from an ATM using your credit card. The card charges you a $15 to $25 cash advance fee right away. Then interest starts accruing on the $500 at, say, 24 percent APR. After one month, you owe roughly $10 in interest on top of the fee. The money order itself costs $1.50 to $3. Your total cost is now $26.50 to $38 just to move $500.

Check your credit card's terms to find the exact cash advance fee and APR before you do this. Some cards charge less than others, and a few cards aimed at people rebuilding credit charge more.

Online money order services that accept credit cards

A handful of online services let you buy a money order using a credit card. These services typically charge you a fee (on top of the money order fee itself), mail the money order to an address you provide, or in some cases deposit the funds directly into a bank account. Examples include MoneyGram online and some third-party payment platforms, though availability and fees change frequently.

The advantage is convenience: you do not have to leave home or find an ATM. The disadvantage is cost. You will pay the money order fee (usually $1 to $3), plus the service's credit card processing fee (often 2 to 3 percent), plus potentially a delivery or handling fee. On a $500 order, that can easily be $15 to $25 in fees alone.

If you use an online service, read the fine print about timing. Some services take 3 to 5 business days to deliver or process the money order, which matters if you are on a deadline. Also check whether the service reports the transaction to your credit card company as a cash advance (which would trigger the cash advance fee on top of their own fee) or as a regular purchase.

When a debit card is your best option

If you have access to a debit card — even if it is not your own — using it to buy a money order is almost always cheaper than using a credit card. Debit cards are accepted at post offices, Walmart, grocery stores, and check-cashing shops without any special fees or restrictions. You pay only the money order fee itself, usually $1 to $3.

If you do not have a debit card, opening a basic checking account at a bank or credit union takes about 15 minutes and usually costs nothing. Many banks offer accounts with no monthly fee and no minimum balance. Once you have the debit card, you can buy money orders whenever you need them without the cash advance fees that come with a credit card.

Alternatives to money orders when you only have a credit card

Before you commit to paying fees to buy a money order with a credit card, consider whether a money order is actually what you need. If you are trying to pay a bill, send money to someone, or make a purchase, there may be a cheaper way.

Bank transfer or wire: If the person or business you are paying has a bank account, ask whether they accept bank transfers or wire transfers. You can often set these up online through your bank's website at no cost (for transfers) or for a small fee (for wires). This avoids the money order entirely.

Payment apps: Services like Venmo, PayPal, or Cash App let you send money to another person using a credit card, though they may charge a fee for credit card payments (usually 2 to 3 percent). This is still often cheaper than a money order plus all the fees to buy it with a credit card.

Bill pay through your credit card issuer: Many credit card companies offer a bill pay service where you can mail a check directly from your bank account, or in some cases pay a bill online. Check your card's website or call the number on the back to see what options are available.

What to know about money order limits and holds

Money orders have limits on how much you can buy in a single order. The U.S. Postal Service caps money orders at $1,000. Walmart and other retailers often have similar limits, though some allow you to buy multiple money orders in one transaction. If you need to send more than $1,000, you will need to buy more than one money order, which means paying multiple fees.

Also be aware that some banks and payment services place holds on money orders you deposit, meaning the funds will not be available for a few days even after you deposit the order. This matters if you are counting on the money being available right away.

Frequently Asked Questions

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

Some online services accept credit cards for money orders, but they charge extra fees on top of the money order fee itself. You will usually pay 2 to 3 percent in processing fees plus a delivery or handling fee. Check the total cost before you commit, as it can be $15 to $25 on a $500 order.

What is a cash advance fee and how much does it cost?

A cash advance fee is a charge your credit card company adds when you withdraw cash using your card at an ATM. It is usually 3 to 5 percent of the amount withdrawn, charged immediately. Interest also starts accruing right away at a higher rate than your regular purchases. Check your card's terms for the exact percentage.

Is there a way to buy a money order with a credit card without paying extra fees?

Not really. If you use a credit card to withdraw cash, you pay a cash advance fee. If you use an online service, you pay processing fees. Your cheapest option is to use a debit card, which has no special fees. If you do not have a debit card, opening a basic checking account is usually free and takes about 15 minutes.

Can I use a credit card at the post office to buy a money order?

No. The U.S. Postal Service does not accept credit cards for money orders. They accept cash and debit cards only. The same rule applies at most Walmart locations, grocery stores, and check-cashing shops.

What should I do if I need a money order but only have a credit card?

Your best options are to use a debit card if you have one, withdraw cash from an ATM using your credit card (and pay the cash advance fee), or use an online money order service that accepts credit cards. Compare the total fees for each option before you decide. If you do not need a money order specifically, consider a bank transfer, wire, or payment app instead.