Most money order sellers won't take credit cards directly

You cannot pay for a money order with a credit card at most locations. The U.S. Postal Service, Western Union, MoneyGram, and Walmart all require cash, debit card, or bank account payment. A few regional money order sellers have different policies, but they are the exception.

The reason is structural: money orders are a cash-like product. They move money from one person to another without a bank account, which is their entire purpose. Credit card companies treat money orders as cash advances or transfers, not purchases, which means they charge fees and interest differently. Money order sellers avoid credit cards because the transaction costs eat into their margins on a product that already operates on thin profit.

If you need a money order and only have a credit card, you have concrete workarounds — but they cost money and take planning.

Key Takeaways

  • The U.S. Postal Service, Western Union, MoneyGram, and Walmart require cash or debit for money orders; credit cards are not accepted at the counter.
  • If your credit card issuer treats money orders as cash advances, you will pay a fee (usually 3 to 5 percent) plus interest from the transaction date, not the statement date.
  • The fastest workaround is to withdraw cash from an ATM using your credit card, then buy the money order with cash, though this triggers the same cash advance fees.
  • A debit card, prepaid card, or bank transfer to someone who can buy the money order for you avoids fees entirely if those options are open to you.
  • Some credit card issuers code money orders differently; calling your card issuer before you attempt the purchase tells you whether you will face a cash advance fee.

Why credit card companies block money orders

Credit card networks classify money orders as a cash equivalent, not a purchase. When you buy something at a store, the merchant pays a processing fee to the card network (usually 1.5 to 3 percent of the transaction). That fee is built into the price you pay. Money order sellers operate on margins too small to absorb that fee, so they refuse credit cards rather than raise prices.

Even if a money order seller wanted to accept your credit card, your card issuer might decline the transaction. Visa and Mastercard have rules that flag money orders, wire transfers, and similar transactions as cash-like, and many issuers automatically decline them or reclassify them as cash advances. A cash advance on a credit card typically costs 3 to 5 percent of the amount, charged immediately, plus interest at a higher rate than regular purchases — often 20 to 30 percent annually, calculated from the day of the transaction, not from your statement date.

The combination of merchant refusal and issuer decline makes credit cards impractical for money orders in almost all cases.

Getting cash to buy a money order

If you need a money order and have a credit card but no cash or debit card, the most direct route is to withdraw cash from an ATM using your credit card. This is a cash advance, so you will pay the same fee and interest as if you tried to buy the money order directly with the card. The advantage is that you control the timing and amount — you withdraw exactly what you need, buy the money order, and keep the cash advance period as short as possible.

The cost is real: a $500 money order would cost you $15 to $25 in cash advance fees, plus interest. If you carry the balance for a month, interest adds another $8 to $15. This makes sense only if you have no other way to get the money order and the money order itself is urgent.

Some credit cards offer better cash advance terms than others. A card with a 0 percent introductory period on cash advances (rare, but they exist) or a card from a credit union rather than a bank sometimes has lower cash advance fees. Call your card issuer before you withdraw to confirm the fee and whether any promotional rate applies.

Using a debit card or prepaid card instead

If you have access to a debit card or prepaid card, use that instead. Debit cards are accepted everywhere that credit cards are refused for money orders — the U.S. Postal Service, Western Union, MoneyGram, and Walmart all take debit. There is no fee, no interest, and no classification as a cash advance. The money comes directly from your account.

A prepaid card (like a Visa or Mastercard gift card, or a reloadable prepaid account) works the same way. You load money onto it, then use it like a debit card. This is useful if you have a credit card but no debit card and no bank account. The prepaid card itself may have fees to load or use, but those are separate from the money order transaction.

If you have a friend or family member with a debit card, asking them to buy the money order for you and accepting cash in return avoids the credit card problem entirely. This is common and straightforward — you are not asking them to lend you money, just to make a purchase on your behalf.

Bank transfers and online alternatives

Before you buy a money order at all, consider whether you actually need one. Money orders exist because some people and businesses do not have bank accounts or do not trust electronic transfers. But if the person or business you are paying has a bank account, a bank transfer, wire transfer, or payment app (Venmo, PayPal, Cash App) is faster, cheaper, and works with a credit card more easily.

Some payment apps let you link a credit card directly. Others require a bank account or debit card. Check the app's payment methods before you assume it will not work. If the recipient uses a payment app, this is almost always faster and cheaper than a money order.

If the recipient specifically requires a money order and you have a bank account, transfer money from your credit card to your bank account (if your card issuer allows it), then use your bank account to buy the money order. This costs a cash advance fee but avoids the money order seller's refusal. Some card issuers charge less for a balance transfer to a bank account than for a cash advance, so it is worth asking.

Checking your card issuer's specific policy

Before you attempt any of these workarounds, call your credit card issuer and ask directly: "If I try to buy a money order with my card, will you decline the transaction or charge me a cash advance fee?" The answer depends on your specific card and issuer.

Some issuers code money orders as a merchant category that triggers a cash advance fee. Others decline the transaction outright at the point of sale. A few smaller issuers or credit unions may not have this restriction, though it is uncommon. The issuer's customer service line can tell you in two minutes whether your card will work and what it will cost.

If your issuer does allow the transaction, ask whether it is coded as a purchase or a cash advance. This changes the interest rate and when interest starts accruing. A purchase gives you a grace period (usually 21 to 25 days before interest kicks in); a cash advance charges interest immediately.

Frequently Asked Questions

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

No. The U.S. Postal Service accepts cash and debit cards only. If you try to use a credit card, the transaction will be declined at the counter. You must use cash, a debit card, or a prepaid card.

What if I use a credit card to withdraw cash and then buy the money order with that cash?

You will pay a cash advance fee (3 to 5 percent) and interest from the day you withdraw, even though you use the cash immediately. This costs the same as trying to buy the money order directly with the credit card, so it is not a workaround — it is the same cost with an extra step.

Do Western Union and MoneyGram accept credit cards?

Western Union and MoneyGram accept debit cards and cash, but not credit cards, for money orders. Some locations may have different policies, so call ahead if you are unsure. Online money order services sometimes have different payment options than in-person locations.

Is there a way to avoid the cash advance fee?

Yes: use a debit card, prepaid card, or bank transfer instead of a credit card. If you have none of those options, ask a friend or family member to buy the money order for you and pay them back in cash. Both avoid the fee entirely.

What is the difference between a money order and a wire transfer?

A wire transfer moves money directly from one bank account to another and is faster (usually same-day). A money order is a paper instrument that works without bank accounts. Wire transfers cost $15 to $30 and work with credit cards more easily through payment apps. Money orders cost $1 to $5 but require cash or debit at the point of sale.