Most money order sellers do not take credit cards, but a few options exist
You cannot walk into most places and hand over a credit card to buy a money order. Banks, post offices, and check-cashing stores typically require cash or a debit card. However, you have a few workarounds: you can use a credit card to withdraw cash at an ATM (though this costs a fee), buy a money order online through certain services, or use a credit card to load funds onto a prepaid card and then use that card in person.
The reason most sellers avoid credit cards is that money orders are a form of payment that cannot be reversed. If someone uses a stolen credit card to buy a money order, the card company cannot claw back the money the way it can with a regular purchase. That risk is why the industry has stuck with cash and debit cards, which draw directly from an account rather than creating a debt.
Key Takeaways
- Post offices, banks, and check-cashing stores do not accept credit cards for money order purchases in person.
- You can withdraw cash from a credit card at an ATM and use that cash to buy a money order, but ATM fees typically range from $2 to $5.
- Online money order services like MoneyGram and Western Union sometimes allow credit card payment, though fees are higher than in-person purchases.
- Using a prepaid card loaded with credit card funds is another path, though it adds a step and may trigger additional fees.
- Debit cards remain the cheapest and most direct way to buy a money order at physical locations.
Using an ATM to convert credit to cash
If you have a credit card but no cash on hand, you can use a credit card cash advance at an ATM. Insert your card, select "cash advance" or "withdrawal," enter the amount, and the ATM will dispense cash. You then take that cash to a post office, bank, or check-cashing store and buy your money order normally.
The catch is cost. Most credit card companies charge a cash advance fee of 3% to 5% of the amount withdrawn, with a minimum fee of $5 to $10. So if you withdraw $100 to buy a $100 money order, you might pay $103 to $105 total. Some ATMs also charge their own fee on top of that — typically $2 to $3. You are also charged interest on the cash advance when ready, usually at a higher rate than your regular purchase APR, so the longer you hold the cash before buying the money order, the more it costs.
Buying money orders online with a credit card
MoneyGram and Western Union both offer online money order purchases and accept credit cards on their websites. You log in, enter the recipient's information, choose the amount, and pay with your credit card. The money order is then mailed to the recipient or held for pickup at a physical location.
Online purchases cost more than in-person ones. A $100 money order bought in person at a post office costs around $1.45. The same money order through MoneyGram's website costs $5 to $10 depending on delivery speed. Western Union's online fees are similar. You are paying for the convenience of not leaving home and for the credit card processing itself. If you need the money order quickly, overnight delivery adds another $15 to $25.
Not all online services accept credit cards. Some require a bank account for ACH transfer or only take debit cards. Check the payment methods listed on the website before you start the transaction.
Loading a prepaid card with your credit card
You can buy a prepaid card (like a Visa or Mastercard prepaid option) and load it with funds from your credit card. Once loaded, the prepaid card functions like a debit card and is accepted at most places that sell money orders. This works because the seller sees a card that draws from a stored balance, not a credit line.
The downside is layered fees. Loading a prepaid card with a credit card often costs 2% to 3% of the amount loaded. The prepaid card itself may have a monthly fee of $5 to $10. Then you still pay the money order fee when you buy it. For a $100 money order, you could end up paying $8 to $15 in total fees before the money order itself is issued.
Why debit cards remain the simplest option
If you have access to a debit card, that is the cheapest way to buy a money order. Debit cards are accepted everywhere that sells money orders — post offices, banks, Walmart, grocery stores, and check-cashing locations. There is no cash advance fee, no processing fee, and no interest charge. You pay only the money order fee itself, which ranges from $0.85 to $2 depending on the amount and the seller.
If you do not have a debit card but have a credit card, opening a basic checking account at a bank or credit union is often faster and cheaper than paying the fees to convert your credit card to cash or a money order. Many banks offer accounts with no monthly fee and issue a debit card within one to two business days.
Comparing your total costs
| Method | Typical Total Cost for $100 Money Order | Time to Complete |
|---|---|---|
| Debit card in person | $101 to $102 | Same day |
| Credit card ATM cash advance + in-person purchase | $105 to $110 | Same day |
| Prepaid card loaded with credit card | $108 to $115 | 1 to 2 days |
| Online MoneyGram or Western Union | $105 to $115 | 1 to 3 days |
What to do if you have no debit card or cash
If you need a money order urgently and have only a credit card, the ATM cash advance route is usually fastest. You lose $5 to $10 in fees, but you have the money order the same day. If cost matters more than speed, opening a checking account and waiting for the debit card is cheaper in the long run.
Some credit unions and community banks offer same-day debit card issuance if you open an account in person. Call ahead to ask. You may also ask a friend or family member to buy the money order with their debit card and reimburse them with your credit card later — this avoids all the fees, though it requires someone you trust.
Frequently Asked Questions
Can I use a credit card at the post office to buy a money order?
No. The U.S. Postal Service does not accept credit cards for money order purchases at the counter. You must pay with cash, a debit card, or a prepaid card. Online purchases through the USPS website are not available for money orders.
Do banks accept credit cards for money orders?
Most banks do not. They accept cash and debit cards. Some banks may accept credit cards if you are a customer with an account, but this is rare. Call your bank to ask before you visit.
Is a cash advance cheaper than buying a money order online?
Usually yes. A cash advance costs 3% to 5% plus ATM fees, so roughly $5 to $10 on a $100 withdrawal. Online money orders cost $5 to $10 in fees alone, plus you wait one to three days for delivery. If you need the money order same-day, the cash advance is faster and often cheaper.
What if I use a credit card to buy a prepaid card?
It works, but the fees stack. You pay 2% to 3% to load the prepaid card, then the money order fee itself. The prepaid card may also charge a monthly fee. For a one-time money order, this is more expensive than a cash advance.
Can I buy a money order with a credit card at Walmart?
No. Walmart's money order service accepts cash and debit cards only. You cannot use a credit card at the register. However, you can withdraw cash from a credit card at Walmart's ATM and then buy the money order with that cash.