Buying a Money Order With a Credit Card: Where to Go and What to Expect
Most places won't let you buy a money order with a credit card directly
When you walk into a store or bank to buy a money order, the cashier will almost always ask for cash or a debit card. Credit card companies treat money orders as a cash advance — a way to get cash without using an ATM — and they charge a fee for it, usually 3 to 5 percent of the amount. Because of this fee, most retailers and banks simply refuse credit cards for money order purchases. Your best option is to use cash or a debit card instead.
That said, there are a few narrow paths forward if you only have a credit card. None of them are convenient, but they exist. The most practical is to get cash from your credit card first, then use that cash to buy the money order. The other routes involve finding a money order seller willing to bend the rule, which is rare.
Key Takeaways
- Most retailers and banks refuse credit cards for money orders because credit card companies charge a cash advance fee of 3 to 5 percent.
- The most reliable workaround is to withdraw cash using your credit card at an ATM or through a cash advance, then buy the money order with that cash.
- Some Western Union locations and a small number of independent check-cashing shops may accept credit cards, but policies vary by location and you should call ahead.
- Money orders cost between $1 and $5 depending on the amount and where you buy them, and that fee is separate from any credit card cash advance fee you pay.
Getting cash from your credit card to buy a money order
A cash advance is the most straightforward path. You can get cash from your credit card at any ATM that displays your card's logo — Visa, Mastercard, or American Express. Insert your card, enter your PIN, and withdraw the amount you need. Your credit card company will charge you a cash advance fee (usually 3 to 5 percent of the amount) plus a higher interest rate than regular purchases, starting immediately with no grace period.
If you do not have a PIN for your credit card, call the number on the back of your card and ask the issuer to set one up. This can take a day or two. Once you have the PIN and the cash, you can walk into any money order seller — Walmart, CVS, Western Union, your bank, or a check-cashing shop — and buy the money order with cash like anyone else.
Another option is to ask your credit card issuer for a cash advance over the phone or through their app. Some issuers will deposit the cash directly into your bank account, which you can then withdraw and use to buy the money order. This takes longer than an ATM withdrawal but avoids the need for a PIN.
Western Union and independent check-cashing shops
Western Union locations are more likely than chain retailers to accept credit cards for money orders, though the policy is not consistent across all locations. Some Western Union agents will process a credit card transaction; others will not. The only way to know is to call the specific location ahead of time and ask. If they do accept your card, they will likely charge you the same cash advance fee that your credit card company charges, plus the money order fee itself.
Independent check-cashing shops sometimes accept credit cards where banks and retailers do not, because they have more flexibility in their payment policies. Again, this varies widely by shop and location. Call ahead and ask whether they take credit cards for money orders. If they do, confirm the total cost — the money order fee plus any credit card processing fee they charge on top.
Where to buy money orders with cash or debit card
If you can get cash from your credit card, you have many options for where to spend it. Walmart sells money orders for under $1 for amounts up to $1,000, and for a slightly higher fee for amounts up to $5,000. CVS and Walgreens charge around $1 to $2 depending on the amount. Your bank or credit union usually sells them for $1 to $3. Western Union agents (found in grocery stores, pharmacies, and standalone locations) charge $1 to $5 depending on the amount.
Check-cashing shops typically charge $2 to $5 per money order. The Post Office sells money orders for a flat fee that varies by amount — currently around $1.45 for amounts up to $500 and $1.95 for $500 to $1,000, though these prices change periodically. All of these places accept cash and debit cards without question.
The real cost of using a credit card for a money order
If you use a cash advance to buy a money order, you will pay two separate fees. First, your credit card company charges a cash advance fee — typically 3 to 5 percent of the amount you withdraw. Second, the money order seller charges their own fee, which is usually $1 to $5. On a $500 money order, that could be $15 to $25 in total fees, depending on your card's cash advance rate and where you buy the money order.
You will also pay interest on the cash advance immediately, at a higher rate than regular purchases. If you pay off the cash advance within a few days, the interest charge will be small. If it sits on your card for a month, the interest adds up quickly. For this reason, cash advances are expensive and should only be used when you have no other option.
Alternatives if you don't have cash or a debit card
If a credit card is truly your only payment method, consider whether you actually need a money order. Money orders are useful when the recipient needs a may provide payment or when you want to avoid giving out your bank account number. But many situations that once required a money order now have easier alternatives.
If you are paying rent or a bill, ask whether the landlord or company accepts online payment, bank transfer, or a check. If you are sending money to someone, consider a peer-to-peer payment app like Venmo, PayPal, or Square Cash — these let you send money directly from your credit card without the cash advance fee, though some charge a small transaction fee. If you need to send money internationally, services like Wise or OFX often have better rates than money orders and accept credit cards.
Frequently Asked Questions
Can I use a credit card to buy a money order online?
No. Online money order services do not exist in the traditional sense. You must buy a physical money order in person at a retailer, bank, or Western Union location. Some bill payment services let you pay bills directly from a credit card, which may be what you actually need instead of a money order.
Will my credit card company charge me a fee if I get a cash advance to buy a money order?
Yes. Your credit card company will charge a cash advance fee (usually 3 to 5 percent) plus a higher interest rate starting immediately. This is separate from the money order fee charged by the retailer. The total cost can be significant, so explore alternatives first.
What if Western Union won't take my credit card?
Get a cash advance from an ATM using your credit card, then return to Western Union with the cash. This is slower than paying directly with the card, but it works at any Western Union location. Alternatively, try a local check-cashing shop, which may have different policies.
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 often lower than your regular credit limit. Call the number on the back of your card to find out your limit before you go to the ATM. If you need more than your limit allows, you will have to make multiple withdrawals or find another payment method.
Can I use a prepaid credit card to buy a money order?
Most prepaid cards work like debit cards at the point of sale, so retailers usually accept them for money order purchases without treating them as a cash advance. Check with your prepaid card issuer to confirm, since policies vary. If your prepaid card is accepted, you avoid the cash advance fee entirely.