Most places that sell money orders do not accept credit cards directly
You cannot walk into a post office, bank, or convenience store and hand over a credit card to buy a money order at the counter. Money order sellers — the U.S. Postal Service, Western Union, MoneyGram, banks, and grocery stores — accept cash, debit cards, and sometimes checks. Credit cards are not on that list.
The reason is straightforward: a money order is a prepaid payment instrument, and the seller needs may provide funds before they issue it. A credit card is a line of credit, not a may provide payment. If you use a credit card to buy a money order, you are essentially taking a cash advance, and most money order sellers will not process that transaction at the point of sale.
There are workarounds, but each one costs you money and takes extra steps. Understanding your actual options — and what each one costs — helps you decide whether a money order is worth the effort.
Key Takeaways
- Money order sellers at post offices, banks, and stores do not accept credit cards at the counter; you must pay with cash or a debit card.
- You can withdraw cash from an ATM using your credit card, then use that cash to buy a money order, but you will pay a cash advance fee (usually 3 to 5 percent) plus ATM fees.
- Some credit card issuers allow balance transfers to your bank account, which you can then withdraw and use to buy a money order, but this also triggers a fee.
- If you need to send money and have a credit card but no cash or debit card, a direct bank transfer or payment app may be faster and cheaper than a money order.
- Buying a money order itself costs $1 to $5 depending on the amount and where you buy it.
Getting cash from your credit card to buy a money order
The most direct route is to use your credit card at an ATM to withdraw cash, then use that cash to buy the money order. This works, but it is expensive.
When you withdraw cash using a credit card, your card issuer charges a cash advance fee. This is typically 3 to 5 percent of the amount you withdraw, with a minimum fee of $5 to $10. So if you withdraw $200 to buy a $200 money order, you might pay $10 to $15 just for the cash advance. On top of that, the ATM operator may charge you an ATM fee of $2 to $3 if it is not your bank's machine.
Cash advances also start accruing interest when ready — there is no grace period like there is for regular purchases. Interest rates on cash advances are often higher than the rate on regular purchases, sometimes 2 to 3 percentage points higher. If you do not pay off the full amount right away, the interest adds up fast.
Add the money order fee itself (typically $1.50 to $5), and your total cost to send money via money order using a credit card can easily be $15 to $25 before interest.
Using a balance transfer to get funds into your bank account
Some credit card issuers offer balance transfers to your bank account, which is different from a cash advance. You request a transfer of funds from your credit card to your checking or savings account, and the money appears there within a few business days.
This avoids the ATM fee and sometimes has a lower fee than a cash advance — some cards charge 1 to 3 percent instead of 3 to 5 percent. However, you still pay a balance transfer fee, and interest still starts accruing when ready. Once the money is in your bank account, you can withdraw it as cash and buy the money order.
Not all credit cards offer balance transfers to bank accounts. Check your card's terms or call the issuer to ask whether this option is available. Even if it is, the fee and interest make this an expensive way to fund a money order.
Why a money order might not be the cheapest option
If you have a credit card but no cash or debit card, sending money via money order is costly because of the fees involved. Before you go this route, consider whether the person you are paying has other ways to receive money.
Bank transfers (also called wire transfers or ACH transfers) move money directly from your bank account to someone else's. If you have a credit card but no debit card, you may still have a bank account. Log into your bank's website or app and transfer the money directly — no money order needed, and usually no fee if it is a domestic transfer.
Payment apps like Venmo, PayPal, Square Cash, or Zelle let you send money to another person's phone number or email address. Many of these apps let you link a credit card as your payment method, though some charge a fee (usually 1 to 3 percent) when you pay with credit instead of a bank account. Even with the fee, this is often cheaper than the cash advance plus money order route.
If the person you are paying requires a money order specifically — for example, a landlord or a court — then you have no choice. But if they will accept any form of payment, a direct transfer or payment app is almost always cheaper and faster.
Where to buy a money order if you have cash
Once you have cash in hand, you have several places to buy a money order. Each charges a different fee, so the location matters if you are buying a large money order.
The U.S. Postal Service charges $1.45 for money orders up to $500 and $1.95 for money orders from $500.01 to $1,000. Western Union and MoneyGram charge $1 to $5 depending on the amount. Banks often charge $5 to $10. Grocery stores and convenience stores (Walmart, CVS, Walgreens) typically charge $0.70 to $1.50.
If you are buying a small money order, the difference is negligible. If you are buying a large one, a grocery store or convenience store will save you a few dollars compared to a bank or the post office.
What information you need to buy a money order
Regardless of where you buy it, you will need to provide the name of the person or business the money order is for (the payee), and you will need to show a valid ID. Some sellers ask for your address as well.
The payee name must be exact. If you misspell it or get it wrong, the money order may not be accepted. Ask the person you are paying to spell their name for you, or ask for a bill or invoice that shows exactly how they want their name written.
You do not need to know the payee's address to buy a money order, but you do need to know it to fill it out correctly before you send it. Leave the address line blank at the counter if you are not sure, and fill it in later once you have confirmed the correct address.
Frequently Asked Questions
Can I use a credit card to buy a money order online?
Some online money order services (like MoneyGram online or Western Union online) accept credit cards. However, they charge higher fees than in-person purchases — often $5 to $15 depending on the amount — and they may charge a credit card processing fee on top of that. The money order is then mailed to you or the recipient, which adds delivery time.
What if I do not have a PIN for my credit card at the ATM?
You will need a PIN to withdraw cash using a credit card at an ATM. If you do not have one, call your credit card issuer and request one. They can set it up over the phone or send you a temporary PIN. This usually takes one to three business days.
Can I use a prepaid card to buy a money order?
Yes. Prepaid cards work like debit cards at the point of sale, so most money order sellers will accept them. You do not pay a cash advance fee or interest. If you have a prepaid card available, this is a much cheaper option than using a credit card.
Is there a limit to how much I can withdraw as a cash advance?
Yes. Your credit card issuer sets a cash advance limit, which is usually lower than your overall credit limit. Check your card's terms or call the issuer to find out your cash advance limit. Some cards also limit how much you can withdraw per day at an ATM.
What happens if the money order gets lost in the mail?
Money orders are traceable. Keep your receipt, which has a tracking number. If the money order does not arrive or is not cashed within a certain time (usually 12 to 24 months), you can file a claim with the issuer and request a replacement or refund. Bring your receipt and proof that the money order was not cashed.