Most money order sellers won't take credit cards directly, but you have workarounds

You cannot walk into a Western Union, MoneyGram, or post office and hand over a credit card to buy a money order. These sellers treat money orders as cash equivalents and require actual cash, debit cards, or bank transfers. The reason is straightforward: money orders are final transactions with no chargeback protection, so sellers avoid the fraud risk that comes with credit card purchases.

That said, you can get a money order using your credit card indirectly. The most common path is to use your credit card to withdraw cash from an ATM, then use that cash to buy the money order. A second option is to transfer money from your credit card to a bank account (through a cash advance or balance transfer), then pay for the money order from that account. Each route has different costs and timing, and which one makes sense depends on why you need the money order and what fees you can absorb.

Key Takeaways

  • Western Union, MoneyGram, and the U.S. Postal Service do not accept credit cards for money order purchases because money orders cannot be reversed.
  • The cheapest workaround is usually to withdraw cash from an ATM using your credit card, then buy the money order with that cash.
  • A cash advance from your credit card to your bank account costs more in fees but gives you time to move the money without ATM withdrawal limits.
  • Some banks and credit unions let you buy money orders directly from your account, which bypasses credit cards entirely and often costs less.
  • Money order fees typically range from $1 to $5 depending on the amount and seller, and you will pay this fee on top of any credit card fees.

Using an ATM withdrawal to buy a money order

This is the fastest and usually cheapest option. You use your credit card at an ATM to withdraw cash, then take that cash to buy the money order. The cost is the ATM fee (typically $2 to $3 if you use an out-of-network machine) plus the money order fee itself.

The catch is ATM limits. Most credit cards have a daily cash advance limit—often $500 to $1,000, though it varies by card and issuer. If you need a money order for more than that, you will either have to make multiple withdrawals on different days or use a different method. Also, cash advances on credit cards start accruing interest immediately, unlike regular purchases. There is no grace period. So if you withdraw $500 at a 25% APR, you are paying roughly $3.42 per month in interest on that amount.

Moving money from your credit card to your bank account

A cash advance from your credit card directly to your bank account lets you sidestep ATM limits and buy the money order from your actual bank balance. You call your credit card issuer or use their app to request a cash advance, and the money lands in your checking account within one to three business days.

The cost is higher: cash advances typically charge a fee of 3% to 5% of the amount (so $30 to $50 on a $1,000 advance), plus interest starting immediately at a rate that is usually 2% to 5% higher than your regular purchase APR. A $1,000 cash advance at 5% fee plus 28% APR costs you $50 upfront and roughly $23 per month in interest if you carry it for 30 days. This method makes sense only if you need a large money order and cannot wait for a paycheck, or if your credit card's cash advance APR is unusually low.

Buying a money order directly from your bank

Many banks and credit unions sell money orders to their own customers without requiring a credit card at all. You simply walk in with your debit card or checkbook and buy one from your account. Fees are usually $1 to $3, and there is no interest charge because the money comes straight from your balance.

This is the cheapest option if you have a bank account with available funds. Call your bank first to confirm they sell money orders and what the fee is—not all banks do, and some have stopped offering them. If your bank does not sell them, ask whether they can order one for you, which sometimes takes a few days but costs the same.

Where to buy money orders and their typical fees

SellerAccepts Credit Card?Typical FeeBest For
U.S. Postal ServiceNo (cash or debit only)$1.45 to $2.00Small amounts under $1,000
Western UnionNo (cash or debit only)$1 to $5Larger amounts; available 24/7 at many locations
MoneyGramNo (cash or debit only)$1 to $5Larger amounts; available at pharmacies and retailers
Your bank or credit unionNo (debit card or account holder only)$1 to $3Lowest cost if you have an account
Walmart, grocery storesNo (cash or debit only)$0.88 to $1.50Convenience and low fees

Comparing the total cost of each method

Let's say you need a $500 money order. Here is what each path costs:

ATM withdrawal method: $500 cash advance at ATM (out-of-network fee $3) + money order fee $2 = $5 upfront. Interest on $500 at 25% APR for 30 days = $10.42. Total: roughly $15.

Cash advance to bank account: $500 cash advance (5% fee = $25) + money order fee $2 = $27 upfront. Interest on $500 at 28% APR for 30 days = $11.67. Total: roughly $39.

Bank account directly: Money order fee $2. Total: $2.

If you have a bank account with $500 available, that is always the cheapest option. If you do not, the ATM withdrawal method costs less than a cash advance, but both are expensive compared to waiting for a paycheck or finding another payment method.

When a money order is not the best choice

Before you commit to paying fees and interest on a credit card, consider whether a money order is actually what you need. Many situations that seem to require a money order can be handled other ways: a bill payment through your bank's bill pay service (free), a wire transfer (faster, though it costs $15 to $30), a check (free if you have checks), or a direct payment to the recipient if they accept it.

Money orders are useful when the recipient will not accept a personal check, you need a receipt of payment, or you are sending cash through the mail and want it to be traceable. They are not useful just because you do not have cash on hand—that is what makes the credit card fees add up quickly.

Frequently Asked Questions

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

No. Online money order services like MoneyGram.com and Western Union's website also do not accept credit cards for money order purchases. You can use a credit card to pay for a wire transfer or a bill payment, but those are different products. For a money order, you must use cash, a debit card, or a bank account.

What if my credit card has a low cash advance limit?

You can make multiple ATM withdrawals on different days to reach the amount you need, or you can request a temporary increase to your cash advance limit by calling your card issuer. Some issuers will raise it for a few days if you ask. Alternatively, use the cash advance to bank account method, which has no daily limit—only a total limit per transaction.

Does using a credit card to get a money order hurt my credit score?

A cash advance itself does not hurt your score, but it increases your credit utilization (the percentage of your available credit you are using), which can lower your score slightly. The bigger risk is that you carry a balance on the cash advance, which costs interest and keeps your utilization high for longer.

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

No. Prepaid cards are treated the same as regular credit cards by money order sellers—they will not accept them. You would have to use the same workarounds: withdraw cash from an ATM or transfer the balance to a bank account first.

Is there a limit to how much a money order can be for?

The U.S. Postal Service caps money orders at $1,000. Western Union and MoneyGram allow up to $2,500 per transaction, though fees increase with the amount. If you need to send more than that, you will need multiple money orders or a different payment method like a wire transfer.