Most money order sellers do not accept credit cards
You cannot buy a money order with a credit card at most places that sell them. Banks, post offices, grocery stores, and check-cashing services typically accept only cash, debit cards, or bank transfers. A few online money order services do accept credit cards, but they charge extra fees and the total cost rises quickly.
The reason is straightforward: money orders are meant to move cash-like value, and sellers want to avoid the fraud risk and processing costs that come with credit card transactions. When you pay with a credit card, the seller has to pay a processing fee to the card network — usually 2 to 3 percent of the transaction. That cost gets passed to you or cuts into their margin, so most refuse credit cards entirely.
Key Takeaways
- Banks, post offices, and grocery stores that sell money orders accept cash and debit cards but almost never credit cards.
- A few online money order services accept credit cards, but they add fees that make the total cost significantly higher than buying in person.
- If you do not have cash or a debit card, converting your credit card to cash first — through an ATM withdrawal or cash advance — is usually cheaper than paying online fees.
- Some credit card issuers treat money order purchases as cash advances, which means you pay interest when ready rather than at the end of your billing cycle.
Where you can pay with a credit card
Online money order services are the only common option for credit card payment. Companies like MoneyGram and Western Union operate websites where you can order a money order and pay with a credit card. The process is straightforward: you enter the recipient's details, the amount, and your card information, and the money order is mailed or held for pickup.
The catch is cost. Online services charge a base fee (typically $5 to $10) plus a credit card processing fee (another $2 to $5). A $500 money order that costs $1.50 in person can cost $10 to $15 online. If you are sending a small amount, the fees can exceed 5 percent of the total.
Why credit card companies may block or charge you
Even when a money order seller accepts your credit card, your card issuer might not. Many credit card companies treat money order purchases as cash advances rather than regular purchases. A cash advance means you start paying interest when ready — usually at a higher rate than your regular purchase APR — and you do not get a grace period.
Your card issuer may also decline the transaction outright if they flag it as high-risk. Money orders are sometimes used in fraud schemes, so some issuers block them automatically. If this happens, you will see a decline at checkout with no clear reason. Calling your card's customer service line can sometimes override the block, but they may refuse.
Cheaper alternatives if you do not have cash
If you need a money order but only have a credit card, getting cash first is usually cheaper than paying online fees. Visit an ATM and withdraw cash using your credit card. You will pay an ATM fee (typically $2 to $3) plus a cash advance fee from your card issuer (usually 3 to 5 percent of the amount). For a $500 money order, that is roughly $15 to $28 in fees — still less than some online services, and you avoid the credit card processing markup.
Another option is to ask a friend or family member to buy the money order with their debit card or cash, and you repay them. This works if you trust the person and can settle up when ready. Some employers also offer paycheck advances or loans to employees, which might be worth exploring if you need cash urgently.
What happens if you use a debit card instead
A debit card is the standard payment method at nearly every money order seller. Banks, the post office, Walmart, grocery stores, and check-cashing services all accept debit cards without extra fees or restrictions. The transaction processes like a regular purchase — the money comes directly from your bank account, and you pay only the standard money order fee (usually $1 to $5 depending on the amount and seller).
If you have a debit card but not cash, this is your best option. The fees are predictable and low, and there is no risk of your bank blocking the transaction or charging you interest.
Fees and costs to expect
Money order fees vary by seller and amount. Here is what you typically pay:
- Banks: $5 to $10 for amounts over $1,000; $1 to $5 for smaller amounts.
- Post office: $1.45 to $8.65 depending on the amount.
- Walmart and grocery stores: $0.70 to $3 for amounts under $1,000.
- Check-cashing services: $2 to $10 depending on the amount.
- Online services with credit card: $5 to $15 plus the base money order fee.
If you are paying with a credit card treated as a cash advance, add the cash advance fee (3 to 5 percent) and interest charges. The total cost can easily double or triple compared to paying with cash or a debit card.
Frequently Asked Questions
Will my credit card company charge me interest on a money order purchase?
Only if they classify it as a cash advance. Some issuers do; others treat money order purchases as regular transactions. Call your card issuer before you buy to ask how they code money orders. If they do treat it as a cash advance, you will pay interest from the day of purchase, not at the end of your billing cycle.
Can I buy a money order online with a credit card and pick it up in person?
Yes. MoneyGram and Western Union both offer this option. You pay online with your credit card and pick up the money order at a nearby location within a set timeframe. You still pay the online fees, but you avoid mailing delays. The pickup location must be a participating agent — not all locations offer this service.
What if my credit card is declined when I try to buy a money order?
Call your card issuer's customer service line and ask why. They may have blocked it as a fraud precaution, or they may not allow money order purchases at all. Some issuers will lift a temporary block if you confirm the purchase is legitimate. If they refuse, you will need to use a different payment method.
Is it cheaper to get a money order online or in person?
In person is almost always cheaper. A $500 money order costs $1 to $5 in person with cash or a debit card. Online with a credit card, you pay $10 to $15 or more. The only exception is if you are already paying a cash advance fee to get cash from your credit card — in that case, the costs are closer, and online might be slightly cheaper for large amounts.
Can I use a prepaid credit card to buy a money order?
It depends on the prepaid card and the seller. Some prepaid cards are treated like debit cards and work at in-person sellers. Others are treated like credit cards and face the same restrictions as regular credit cards. Check your prepaid card's terms or call the issuer to confirm whether money order purchases are allowed and how they are coded.