Most credit card issuers don't allow it, but some payment methods that work with money orders do accept credit cards

You cannot walk into most places that sell money orders — post offices, grocery stores, check-cashing shops — and hand over a credit card. The cashier will ask for cash, a debit card, or a check instead. This is by design: money orders exist partly because they let people send funds without a credit card, and sellers want to keep that separation.

That said, you have workarounds. You can use a credit card to get cash from an ATM (though this costs a fee), then buy the money order with that cash. You can also buy money orders online through a few services that do accept credit cards, though these come with their own costs and limitations. The real question is whether any of these routes make sense for what you're trying to do.

Key Takeaways

  • Physical money order sellers — post offices, Walmart, grocery stores — do not accept credit cards, only cash or debit cards.
  • A credit card cash advance from an ATM lets you get cash to buy a money order, but the ATM fee (usually 3–5% of the amount) plus the money order fee makes this expensive.
  • Online money order services like MoneyGram and Western Union accept credit cards for some transactions, though fees are higher and limits are lower than in-person purchases.
  • If you need to send money and have a credit card, a bank transfer, payment app, or wire transfer is usually cheaper and faster than any money order route.

Why credit cards and money orders don't mix

Money orders were created to let people send money safely without a bank account or credit card. The seller's incentive to keep them cash-only is real: if you could charge a money order to a credit card, you'd be using the card to send money to someone else, which looks like a cash advance. Credit card companies charge high fees for cash advances (often 3–5% plus a higher interest rate) because they're riskier and more expensive to process.

Money order sellers also want to prevent fraud. A money order bought with a stolen credit card is a problem for the seller, not the card company. Requiring cash or a debit card (which can be disputed) shifts some of that risk back to the buyer and the bank.

Getting cash from your credit card to buy a money order

If you have a credit card but no cash, you can withdraw money from an ATM using your card's cash advance feature. This gives you the cash you need to buy a money order at any physical location. The cost is steep: most card issuers charge a cash advance fee of 3–5% of the amount withdrawn, plus interest starts accruing immediately (not after a grace period like purchases).

Example: You need a $500 money order. A cash advance costs you $15–$25 in fees, plus interest. The money order itself costs $1–$3. Your total cost is $16–$28 before interest. If you carry the balance for a month, interest adds another $5–$10 depending on your card's APR. This is why cash advances are a last resort.

You'll also hit a limit: most cards cap cash advances at 20–50% of your credit limit, and some issuers set a hard dollar limit (like $500 or $1,000 per day). Check your card's terms or call the issuer before you head to the ATM.

Buying money orders online with a credit card

MoneyGram and Western Union both let you buy money orders online using a credit card. The process is straightforward: you go to their website, enter the recipient's details, pay with your card, and the recipient picks up the money order at a physical location (or it's mailed to them, depending on the service).

The tradeoff is cost and limits. Online money orders through these services typically cost $5–$15 depending on the amount, compared to $1–$3 in person. You also hit lower limits: online purchases are often capped at $500–$1,000, while in-person money orders can go higher. Processing takes 1–3 business days instead of being instant.

These services make sense only if you have no other way to pay and the recipient specifically needs a money order (for example, to pay rent or a utility bill that won't accept other payment methods). For most other situations, there's a cheaper option.

Cheaper alternatives to money orders

Before you commit to a money order route, consider what you're actually trying to do. If you need to send money to someone, a credit card often gives you better options than a money order ever will.

Bank transfers or payment apps: If the recipient has a bank account or uses an app like Venmo, PayPal, or Cash App, you can send money directly from your credit card (or from your bank account linked to your card). Fees are lower or nonexistent, and the money arrives in minutes to a few hours. This works for personal payments, splitting bills, or paying friends.

Wire transfers: If you need to send a large amount or the recipient doesn't have a bank account, a wire transfer through your bank costs $15–$30 and arrives the same day. It's more expensive than a money order but faster and more reliable.

Bill pay through your bank: If you're paying a utility, rent, or other bill, your bank's bill pay service (usually free) mails a check or transfers funds directly. This takes 3–5 business days but costs nothing.

Paying in person: If the recipient is local, paying them directly with cash or a debit card avoids the money order entirely.

When a money order actually makes sense

Money orders are useful in specific situations: when the recipient won't accept other payment methods, when you need a paper trail for a large cash payment, or when you're sending money to someone without a bank account. If you have a credit card and need a money order for one of these reasons, the cheapest path is usually to use your debit card or cash instead.

If you truly have only a credit card available, the online route through MoneyGram or Western Union is faster and simpler than withdrawing cash, even though it costs more. The cash advance route should be your last option because the fees and interest compound quickly.

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, and most other money order sellers only accept cash, debit cards, or checks. Credit cards are not an option at the counter. If you want to use a credit card, you'll need to withdraw cash first or buy online through MoneyGram or Western Union.

What's the difference between a cash advance and buying a money order online?

A cash advance charges you 3–5% plus immediate interest, and you're responsible for the money order fee on top. Buying online through MoneyGram or Western Union charges a flat fee ($5–$15) with no interest, but takes 1–3 days and has lower limits. Online is usually cheaper for smaller amounts under $500.

Will buying a money order with a credit card hurt my credit score?

Using a cash advance or making a purchase online won't directly hurt your score, but it does increase your credit utilization (the percentage of your limit you're using). High utilization can lower your score temporarily. Paying the balance quickly brings it back up.

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

Prepaid cards work like debit cards at the counter, so yes — most money order sellers will accept them. You won't be able to use them for a cash advance, but you can use them to pay for a money order in person at a post office, Walmart, or check-cashing shop.

Is there a limit to how much I can send with a money order bought online?

Yes. MoneyGram and Western Union typically cap online money orders at $500–$1,000 per transaction, though you can send multiple orders. In-person money orders often go higher (up to $1,000 or more depending on the seller). Check the service's website for current limits before you start.