Skip to main content

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

Most places won't let you buy a money order with a credit card directly

You cannot walk into most money order sellers — post offices, grocery stores, check-cashing shops, Walmart — and hand them a credit card to buy a money order. They accept cash, debit cards, and sometimes traveler's checks, but not credit cards. The reason is simple: money orders are meant to be a safer alternative to cash or checks, and sellers treat them that way by limiting payment methods to funds that are already in your account or hand.

If you need a money order and only have a credit card available, you have a few real options, but none of them are direct. You'll either need to convert your credit card to cash first, use a money order service that does accept credit cards, or find an alternative payment method that works for what you're trying to pay for.

Key Takeaways

  • Post offices, Walmart, grocery stores, and check-cashing shops do not accept credit cards to buy money orders — they require cash or a debit card.
  • You can withdraw cash from an ATM using your credit card (though fees apply), then use that cash to buy a money order at any standard seller.
  • Some online money order services and payment apps accept credit cards, but they charge higher fees than in-person money orders and may not work for all payment types.
  • A debit card, if you have one, is the simplest way to buy a money order at a physical location without using credit.
  • For rent, bills, or other regular payments, a bank transfer or check may be faster and cheaper than a money order, even if you have to pay a credit card cash advance fee.

Using an ATM cash advance to get cash for a money order

The most straightforward path is to use your credit card at an ATM to withdraw cash, then use that cash to buy a money order. Most credit cards work at ATMs, though you'll pay a fee for the withdrawal — typically between $2 and $5 per transaction, depending on your card issuer and the ATM operator. Some ATMs charge an additional fee on top of what your card issuer charges, so you may see two fees appear on your statement.

Once you have cash in hand, you can buy a money order at any post office, Walmart, grocery store, or check-cashing shop. Money orders at the post office cost around $1.45 to $2.00 depending on the amount. Walmart charges roughly $0.70 to $1.00. So your total cost is the ATM fee plus the money order fee — usually $3 to $7 total.

The downside is that a credit card cash advance also triggers interest charges immediately. Unlike a regular purchase, which may have a grace period before interest kicks in, cash advances start accruing interest the day you withdraw the money. Your card issuer may also charge a separate cash advance fee, often 3% to 5% of the amount withdrawn. Check your card's terms to see what applies to you.

Online money order services that accept credit cards

A handful of online services let you buy and send money orders using a credit card. MoneyGram and Western Union both offer online money order purchases through their websites or apps, and both accept credit cards as payment. You order the money order online, pay with your credit card, and the service either mails it to you or lets you pick it up at a location near you.

The trade-off is cost and speed. Online money orders typically cost $5 to $15 depending on the amount and delivery method, which is much higher than the $0.70 to $2.00 you'd pay in person. Delivery also takes several business days if you're having it mailed, or you may need to pick it up at a physical location, which defeats some of the convenience of ordering online. These services work well if you're sending money to someone out of state or internationally, but they're expensive for a simple local payment.

Payment apps like PayPal and Square Cash do not issue money orders themselves, but they can send money directly to a recipient's bank account. If the person you're paying has a bank account and can receive a transfer, this is often faster and cheaper than a money order, and you can pay with a credit card linked to your app account.

Using a debit card instead if you have one

If you have a debit card linked to a checking account, that's the easiest way to buy a money order at any physical location. Debit cards are accepted everywhere that sells money orders — post offices, Walmart, grocery stores, and check-cashing shops — and there's no fee for using the card itself. You only pay the money order fee, which is $0.70 to $2.00 depending on where you buy it.

A debit card pulls money directly from your bank account, so there's no interest charge and no cash advance fee. If you don't have a debit card but have a bank account, you can request one from your bank for free, and it usually arrives within 5 to 10 business days. If you need a money order sooner, the ATM cash advance method is your faster option.

When a bank transfer or check might be better than a money order

Before you commit to buying a money order with a credit card, consider whether the person you're paying can receive a bank transfer instead. A direct bank transfer from your checking account costs nothing and takes one to three business days. If you don't have a checking account but have a credit card, you could open a checking account at most banks in a single day, fund it with a credit card transfer (which may have a fee), and then send a transfer.

A personal check is another option if the recipient accepts checks. Checks are free if you already have them, and they work for most payments except those that require a money order specifically (like court fees or some rental deposits). If you don't have checks, ordering them costs $10 to $30 and takes a week or two to arrive.

Money orders are most useful when the recipient specifically requires one, when you're sending cash to someone you don't fully trust with your bank details, or when you need proof of payment. For routine bills and rent, a bank transfer or check is usually faster and cheaper than any credit card route to a money order.

Fees and costs to expect

If you use a credit card ATM withdrawal to get cash for a money order, expect to pay:

  • ATM withdrawal fee: $2 to $5 from your card issuer, plus potentially another $1 to $3 from the ATM operator.
  • Cash advance fee: 3% to 5% of the amount withdrawn (charged by your card issuer).
  • Interest on the cash advance: starts accruing immediately at a rate that varies by card, often 20% to 30% annually.
  • Money order fee: $0.70 to $2.00 depending on where you buy it.

If you buy through an online service like MoneyGram or Western Union with a credit card, expect $5 to $15 for the money order itself, plus any interest or fees your credit card charges for the purchase (which is typically none, since it's a regular purchase, not a cash advance).

A debit card purchase avoids the cash advance fee and interest, leaving you with only the money order fee itself.

Frequently Asked Questions

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

No. Walmart, the post office, grocery stores, and check-cashing shops do not accept credit cards for money order purchases. They accept cash, debit cards, and sometimes traveler's checks. You'll need to use one of those payment methods or convert your credit card to cash first.

What's the cheapest way to buy a money order with a credit card?

Using an ATM to withdraw cash, then buying a money order in person, is usually cheapest if your ATM fees are low. You'll pay $2 to $5 for the ATM withdrawal, plus $0.70 to $2.00 for the money order. Online services cost $5 to $15 per money order, which is more expensive. However, if your credit card charges a high cash advance fee (3% to 5%), an online service might be cheaper for small amounts.

Will using a credit card cash advance to buy a money order hurt my credit score?

A cash advance itself doesn't directly hurt your score, but it increases your credit utilization (the amount of available credit you're using), which can lower your score temporarily. The high interest rate on cash advances can also make the debt harder to pay off, which affects your score over time. A regular credit card purchase through an online money order service won't have this effect.

Can I use a credit card to buy a money order online and have it mailed to me?

Yes. MoneyGram and Western Union both offer online ordering with credit card payment and mail delivery. The money order typically arrives within 5 to 10 business days, and the service charges $5 to $15 depending on the amount and delivery method. This is more expensive than buying in person but works if you can't visit a physical location.

Is there a limit to how much I can withdraw from an ATM with a credit card?

Yes. Most credit cards set a daily ATM withdrawal limit, often $500 to $1,000, though this varies by card issuer and your credit limit. Check your card's terms or call the issuer to find out your specific limit. Money orders themselves have limits too — most sellers cap them at $1,000 per order, though you can buy multiple money orders if you need to send more.