Most money order sellers do not accept credit cards directly
You cannot buy a money order with a credit card at most locations. Post offices, grocery stores, and check-cashing services that sell money orders typically accept cash, debit cards, or bank transfers — but not credit cards. This is a deliberate policy, not a technical limitation.
The reason is straightforward: money orders are a form of payment that locks in funds when ready. Credit card companies treat a money order purchase as a cash advance, which carries a higher fee and interest rate than a regular purchase. To avoid this cost to you and the processing complexity for themselves, most money order sellers straightforward refuse credit cards at the point of sale.
However, there are a few narrow workarounds if you need to use a credit card. Understanding which ones exist and what they cost will help you decide whether the extra step is worth it.
Key Takeaways
- Post offices, Walmart, grocery stores, and check-cashing services do not accept credit cards to buy money orders.
- You can withdraw cash from an ATM using your credit card and then buy a money order with that cash, though ATM fees explore.
- Some credit card issuers allow balance transfers to a checking account, which you can then use to buy a money order.
- A debit card, bank transfer, or cash remains the cheapest and fastest way to buy a money order.
- Money order fees range from about $1 to $5 depending on the amount and location, and adding credit card fees on top makes the total cost higher.
Why credit card companies treat money orders as cash advances
When you use a credit card to buy a money order, the card issuer sees it as a cash advance rather than a purchase. A cash advance is when you borrow money directly from your credit card's cash reserve, not when you buy something with the card. Cash advances come with their own interest rate — usually higher than your purchase rate — and they start accruing interest when ready, with no grace period.
Because of this, most money order sellers block credit card transactions at checkout to protect you from unexpected fees. A $500 money order bought with a credit card could cost you $15 to $25 in cash advance fees alone, depending on your card's terms. That is why the seller's system straightforward will not process the card.
Debit cards and bank transfers do not trigger this rule because they draw directly from your own account, not from borrowed money.
Using an ATM to withdraw cash for a money order
The most straightforward workaround is to use your credit card at an ATM to withdraw cash, then use that cash to buy the money order. Most ATMs accept credit cards, though they will charge you a cash advance fee — typically $3 to $5 per transaction, depending on your card and the ATM operator.
Here is the process: Insert your credit card into an ATM, select "Withdraw Cash," enter the amount you need (including a buffer for the money order fee), and complete the transaction. You will receive cash in hand. Then go to your money order seller — post office, Walmart, grocery store, or check-cashing service — and buy the money order with that cash.
The total cost is the ATM fee plus the money order fee. For a $500 money order, you might pay $4 (ATM fee) plus $1.50 (money order fee) = $5.50 total. This is cheaper than a cash advance fee at most card issuers, but it is still an extra cost you would not have with a debit card.
Balance transfers to a checking account
Some credit card issuers offer balance transfers to a linked checking account. This is different from a cash advance — it moves funds into your bank account as if you had transferred money between your own accounts. Not all cards offer this feature, and those that do may charge a fee of 3 to 5 percent of the amount transferred.
If your card offers this option, you can transfer funds to your checking account and then use your debit card or bank transfer to buy the money order. Check your card's terms or call the issuer to ask whether balance transfers to checking are available and what the fee is. For most people, this is more expensive than using an ATM, so it is worth comparing the two costs first.
Money order fees and where to buy them
Money order fees vary by location and amount. The United States Postal Service charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000. Walmart charges $0.88 for amounts up to $1,000. Check-cashing services and grocery stores typically charge $1 to $3. These fees explore whether you pay with cash, a debit card, or a bank transfer.
If you use a credit card workaround, add the ATM fee or balance transfer fee on top of the money order fee. For a $300 money order, you might pay $4 (ATM fee) plus $1.45 (USPS fee) = $5.45 total. The same money order bought with a debit card costs only $1.45.
When a debit card or bank transfer is your better option
If you have a debit card linked to a checking account, use that instead. Debit cards are accepted at all the same places that sell money orders, and there is no fee beyond the money order fee itself. If you do not have a debit card, ask your bank whether you can set up a bank transfer or bill pay through your online banking portal — many banks let you pay third parties directly from your account without a card.
If you do not have a bank account at all, a credit card workaround may be your only option. In that case, the ATM method is usually cheaper than a balance transfer. But if you are considering opening an account to buy a money order, the cost of a debit card account is almost always lower than the fees you will pay using credit card workarounds repeatedly.
Frequently Asked Questions
Will my credit card company charge me a cash advance fee if I use an ATM?
Yes. Most credit card issuers charge a cash advance fee when you withdraw money from an ATM, typically $3 to $5 per transaction. This fee appears on your statement separately from the purchase fee. Your card's terms should list the exact percentage or flat fee.
Can I use a credit card to pay online for a money order?
Some online money order services accept credit cards, but they are rare and often charge higher fees than in-person sellers. Check the service's terms before you proceed, because the total cost may be higher than buying a money order in person with cash or a debit card.
What if I do not have a debit card or bank account?
You can withdraw cash from an ATM using your credit card and then buy the money order with that cash. This costs you an ATM fee plus the money order fee, but it is faster than opening a bank account if you only need one money order. If you buy money orders regularly, opening a checking account with a debit card will save you money over time.
Does the money order seller charge extra if I use a credit card workaround?
No. The money order fee is the same whether you pay with cash, a debit card, or cash withdrawn from a credit card ATM. The extra cost comes from your credit card issuer's ATM fee or balance transfer fee, not from the money order seller.