Skip to main content

HomeAll guides

Buying a Money Order With a Credit Card: What Works and What Doesn't

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

The short answer is no — the vast majority of money order vendors do not take credit cards at all. Western Union, MoneyGram, the U.S. Postal Service, Walmart, and grocery store money order counters all require cash or a debit card. A few smaller vendors may accept credit cards, but they are rare enough that you should not count on finding one.

The reason is straightforward: money orders are meant to be a cash alternative for people who do not have bank accounts or who want to send money without a check. Vendors treat them as cash transactions, which means they want when ready payment in cash or from a linked bank account. Credit card companies also discourage this because money orders are classified as a cash advance, which carries a fee and higher interest rate than a regular purchase.

If you need to send money and only have a credit card available, there are other routes that actually work with credit cards — but a money order is not one of them.

Key Takeaways

  • Western Union, MoneyGram, USPS, Walmart, and most grocery stores require cash or a debit card for money orders and will not accept credit cards.
  • If your credit card issuer does allow a money order purchase, it will be treated as a cash advance with a separate fee and higher interest rate.
  • Wire transfers, peer-to-peer payment apps, and cashier's checks are credit-card-friendly alternatives when you need to send money securely.
  • Getting cash from an ATM using your credit card and then buying a money order is possible but costs you an ATM fee plus a cash advance fee.

Why credit card companies treat money orders as cash advances

When you use a credit card to get a money order, your card issuer sees it as a cash advance, not a purchase. This matters because cash advances have different rules than regular charges. You pay a separate fee — usually 3 to 5 percent of the amount — right away. Interest also starts accruing when ready, with no grace period like you get on regular purchases.

Because of these costs, most money order vendors straightforward do not bother accepting credit cards. They would have to process the transaction as a cash advance through their payment system, which adds complexity and cost on their end. It is easier for them to accept only cash and debit cards.

Even if a vendor did accept your credit card, you would pay more than if you had used cash. A $500 money order with a 3 percent cash advance fee costs you $15 just to buy it, plus interest charges that start the same day.

The workaround: getting cash with your credit card first

You can withdraw cash from an ATM using your credit card, then use that cash to buy a money order. This works, but it is expensive. You pay an ATM fee (usually $2 to $3) plus the cash advance fee from your card issuer (3 to 5 percent). On a $500 money order, you are looking at $18 to $28 in fees before you even buy the money order itself.

This route only makes sense if you absolutely need a money order and have no other way to pay for it. For most situations, the alternatives below are cheaper and faster.

Better alternatives that accept credit cards

Wire transfers are the most direct replacement for a money order. Banks and credit unions offer wire transfers, and many accept credit cards for the fee (though not always for the full transfer amount). A domestic wire typically costs $15 to $30 and arrives the same day or next business day. You will need the recipient's bank account and routing number.

Peer-to-peer payment apps like Venmo, PayPal, Square Cash, and Zelle let you send money directly from a credit card to another person's phone number or email. These are free or nearly free for most transfers and arrive within minutes to a few hours. The catch is that both you and the recipient need to be on the same app, and there are daily limits on how much you can send.

Cashier's checks are another option. Your bank can issue one, and you can often pay for it with a credit card at the teller window. A cashier's check costs $5 to $15 and is safer than a personal check because the bank guarantees the funds. It takes a few minutes to get one and can be mailed or handed over in person.

Money transfer services like Wise (formerly TransferWise) accept credit cards and specialize in sending money internationally or between bank accounts. Fees are lower than wire transfers for international moves, though domestic transfers may not save you money.

When you actually need a money order

Money orders are still useful in a few specific situations. Landlords and utilities sometimes require them because they cannot be stopped like checks. Some people use them to send cash through the mail safely. Bail bonds and court fees sometimes only take money orders.

If you are in one of these situations and do not have cash or a debit card, your best bet is to ask the recipient whether they will take a cashier's check or wire transfer instead. Most will, and both can be paid for with a credit card. If they insist on a money order, you will have to get cash first — either from an ATM with your credit card (and pay the fees) or by asking someone else to lend you cash temporarily.

What to do if a vendor claims they take credit cards for money orders

Occasionally you may find a small vendor or online service that says it sells money orders and takes credit cards. Before you use them, verify that they are legitimate. Check whether they are registered with your state's financial services regulator. Look for customer reviews on independent sites, not just their own website.

Be especially cautious of online money order services. Some are scams designed to steal your credit card information. Stick with vendors you know — USPS, Western Union, MoneyGram, Walmart — even if it means finding another way to pay.

Frequently Asked Questions

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

Most online money order services do not exist or are scams. The legitimate vendors — Western Union, MoneyGram, USPS — do not sell money orders online. You have to go in person to a physical location and pay with cash or a debit card. If you need to send money online, use a wire transfer or peer-to-peer app instead.

What if my bank offers money orders and I have a credit card with them?

Some banks and credit unions do allow you to order money orders through their online banking or at a branch using a credit card on file. Call your bank directly to ask. If they do offer this, it will likely still be treated as a cash advance with a fee, so compare the total cost to a wire transfer or cashier's check first.

Does Walmart take credit cards for money orders?

No. Walmart's money order service requires cash or a debit card only. You cannot use a credit card at the money services desk. If you need to send money and only have a credit card, Walmart does not help — use a wire transfer or peer-to-peer app instead.

Is it worth paying the cash advance fee to buy a money order with a credit card?

Rarely. The cash advance fee alone (3 to 5 percent) plus interest charges usually cost more than a wire transfer or cashier's check. Only do this if the recipient absolutely will not take any other form of payment and you have no other way to get cash.

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

No. The USPS money order counter accepts cash and debit cards only. Credit cards are not an option. If you need a money order and only have a credit card, you will need to get cash from an ATM first or use one of the alternatives listed above.

This guide is for general information only and is not medical, financial, legal, or other professional advice. For decisions specific to your situation, consult a qualified professional. See our Editorial Policy.