Most places won't sell you a money order with a credit card

The short answer is no — the vast majority of money order sellers, including Western Union, MoneyGram, Walmart, and the U.S. Postal Service, do not accept credit cards as payment. They accept cash, debit cards, and sometimes bank transfers, but not credit cards. This is a deliberate policy, not a technical limitation.

The reason is straightforward: money orders are meant to be a safer alternative to cash for people who don't have bank accounts or don't want to carry large amounts of cash. Sellers treat them as a cash-like product. Accepting credit cards would create a different kind of transaction — one where you're borrowing money to send money to someone else, which changes the risk profile for both the seller and the credit card company.

If you need to send money and only have a credit card available, you have other routes. Understanding why this restriction exists helps you figure out which alternative actually fits your situation.

Key Takeaways

  • Western Union, MoneyGram, the U.S. Postal Service, and most retailers will not accept credit cards to buy money orders.
  • You can use a credit card to withdraw cash from an ATM, then use that cash to buy a money order, though ATM cash advances charge interest immediately and often carry a separate fee.
  • Wire transfers, peer-to-peer payment apps, and bank transfers are often faster and cheaper than money orders and work directly from a credit card or linked bank account.
  • If you need a money order specifically because the recipient won't accept other payment methods, ask them whether they would accept a cashier's check or certified check instead.

Why credit card companies and money order sellers block this

Money order sellers see credit cards as a mismatch with their product. A money order is a prepaid instrument — you hand over cash or its equivalent, and the seller issues a may provide payment order. When you use a credit card, you're not handing over cash; you're creating a debt that you'll pay back later. That debt sits between the money order seller and the credit card company, and neither wants to be responsible for it.

Credit card companies have their own reason: they classify money orders as a cash advance, which is a loan against your credit limit. Cash advances come with higher interest rates (often 3 to 5 percentage points above your regular APR), start accruing interest immediately with no grace period, and usually charge an upfront fee of 3 to 5 percent of the amount. Blocking money order purchases prevents cardholders from accidentally triggering these expensive terms.

Some credit card companies do allow you to use your card at an ATM to withdraw cash, which you could then use to buy a money order. But that cash withdrawal is also treated as a cash advance with the same fees and interest rates. You're not getting around the system — you're just taking an extra step.

Using an ATM cash advance to buy a money order

If you have a credit card and need a money order, the only direct path is to use your card to withdraw cash from an ATM, then use that cash to buy the money order. Here's what that costs you:

The ATM withdrawal itself is treated as a cash advance. You'll pay an upfront fee (typically $3 to $10, depending on your card and the ATM) plus interest that starts accruing immediately at your cash advance rate. If your regular APR is 18 percent but your cash advance rate is 23 percent, you're paying that higher rate from day one — there's no grace period like there is for regular purchases.

Then you pay the money order fee itself, which varies by seller. The U.S. Postal Service charges $1.45 to $2.00 depending on the amount. Western Union and MoneyGram typically charge $1 to $5 for domestic transfers. Walmart charges around $0.88 to $1.25.

The total cost adds up quickly. A $500 money order could cost you $10 (ATM fee) plus $11.50 (cash advance interest for one month at 23 percent APR) plus $2 (money order fee) — roughly $23.50 in fees and interest before you've even sent the money. That's a 4.7 percent cost on a $500 transfer.

Faster and cheaper alternatives to money orders

In most cases, you have better options that work directly with a credit card or a linked bank account:

Wire transfers move money directly from your bank account to someone else's, usually within hours. Most banks charge $15 to $30 per wire, but the money arrives may provide and the recipient can't reverse it. You can initiate a wire from your bank's website or app, or by calling. Some banks let you wire from a credit card if you have a linked bank account, though you're still borrowing against your credit limit.

Peer-to-peer payment apps like Venmo, PayPal, Square Cash, and Zelle let you send money to someone's phone number or email address. Most have no fee for standard transfers (though they take 1 to 3 days), and many let you link a credit card directly. The recipient gets the money in their bank account. These work best for people you know and trust, since the transaction is less formal than a money order.

Bank transfers through your own bank's bill pay system are free and take 1 to 3 business days. You provide the recipient's name, account number, and routing number, and your bank handles the rest. This is the cheapest option if you have a bank account.

Cashier's checks or certified checks from your bank are similar to money orders but carry more weight — they're official bank documents and are harder to dispute. They cost $5 to $15 per check and take a few minutes to issue. If someone is asking for a money order specifically, ask whether they'd accept a cashier's check instead.

When you actually need a money order

Money orders are useful in a few specific situations: paying rent or a utility bill when the landlord or company doesn't accept electronic payments, sending money to someone who doesn't have a bank account, or making a payment where you want a paper trail and a may provide amount.

If you're in one of those situations and you don't have cash on hand, the ATM cash advance route is your only direct option with a credit card. But before you go that route, ask yourself whether the recipient would accept an alternative. Many landlords and utility companies now accept online payments, bank transfers, or checks. Many people who once needed money orders now use peer-to-peer apps. The money order is becoming less common, and that's usually good news for your wallet.

Protecting yourself if you do use a credit card cash advance

If you decide to withdraw cash via ATM and buy a money order, keep these steps in mind:

First, check your card's cash advance limit. It's often lower than your regular credit limit — sometimes $500 or $1,000 even if you have a $5,000 card. Your card issuer's website or app will show this, or you can call the number on the back of your card.

Second, pay back the cash advance as quickly as possible. Interest accrues daily, and there's no grace period. If you can pay it back within a few days, the interest charge will be small. If it sits for a month, the cost compounds.

Third, keep the money order receipt and the ATM receipt. If something goes wrong with the money order — it gets lost, the recipient claims they never got it, or there's a dispute — you'll need proof of both transactions.

Frequently Asked Questions

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

No. Walmart, the U.S. Postal Service, Western Union, and MoneyGram all require cash or a debit card. Some locations may accept bank transfers or checks, but not credit cards. Call ahead if you're unsure about a specific location.

What if I use a debit card instead of a credit card?

Debit cards work fine at all money order sellers. The money comes directly from your bank account, with no fees beyond the money order fee itself. If you have access to a debit card, that's always cheaper than using a credit card cash advance.

Is there any credit card company that lets you buy money orders directly?

Not in the traditional sense. Some credit cards let you transfer your balance to a bank account or use a convenience check, but those are treated as cash advances with the same fees and interest rates. You're not actually buying a money order; you're borrowing cash.

How much does it cost to get a cash advance to buy a money order?

You'll pay an ATM fee ($3 to $10), interest on the cash advance (starting immediately at your cash advance APR, which is usually 3 to 5 points higher than your regular rate), and the money order fee itself ($0.88 to $5 depending on the seller). For a $500 money order, expect total costs of $20 to $35.

What should I do if the recipient won't accept anything but a money order?

Ask them whether they'd accept a cashier's check, certified check, or bank transfer instead. Many people request money orders out of habit, not necessity. If they truly need a money order, explain that you don't have cash available and ask whether they can wait a few days while you arrange it, or whether they'd accept a wire transfer or other method.