Most places won't sell you a money order with a credit card directly
You cannot walk into a Western Union or MoneyGram location and hand them a credit card to buy a money order. Retailers like Walmart, CVS, and grocery stores that sell money orders also will not accept credit cards at their service desks. Money orders are treated as cash equivalents, and the companies that issue them treat credit card purchases the same way they treat cash advances — they either refuse them outright or charge you a separate fee on top of the money order fee itself.
If you need a money order and only have a credit card available, you have three realistic paths: use an ATM to withdraw cash first, use a cash advance service, or use a digital payment method instead. Each one costs you something different, and which one makes sense depends on why you need the money order in the first place.
Key Takeaways
- Credit card companies and money order sellers do not accept credit cards directly at the counter because money orders are treated as cash equivalents.
- Withdrawing cash from an ATM using your credit card, then buying the money order with that cash, is the most straightforward method but costs you a cash advance fee plus ATM fees.
- A cash advance from your credit card company (by phone or online) deposits money into your bank account, which you can then withdraw and use to buy a money order.
- If the recipient accepts digital payments, using Venmo, PayPal, or a bank transfer avoids the money order entirely and costs you nothing.
- Some credit unions and banks let members buy money orders with a debit card but not a credit card, so checking with your own bank first may save you fees.
Using an ATM to get cash, then buying the money order
This is the simplest method if you have a credit card and need cash quickly. Go to an ATM that accepts your card, withdraw the amount you need (plus a little extra for the money order fee), and then take that cash to a retailer or service center to buy the money order.
The cost is a cash advance fee from your credit card issuer, usually 3 to 5 percent of the amount withdrawn, plus any ATM fee charged by the ATM operator if it is not in your card's network. A $500 cash advance might cost you $15 to $25 in fees alone, before you even pay for the money order itself. You will also start paying interest on the cash advance when ready — credit cards do not give you a grace period on cash advances the way they do on purchases.
This method works best if you only need a small amount and can pay off the cash advance quickly to minimize interest charges.
Requesting a cash advance directly from your credit card company
Instead of using an ATM, you can contact your credit card issuer by phone or through their online portal and request a cash advance. The company deposits the money into your bank account (usually within one to two business days), and you then withdraw it and buy the money order with that cash.
The fee structure is the same as an ATM cash advance — typically 3 to 5 percent plus interest starting when ready. The advantage is that you avoid ATM fees and you have the money in your own account, which gives you a few days to decide whether to proceed. The disadvantage is the wait: if you need the money order today, this method does not work.
Call the customer service number on the back of your credit card or log into your online account to see if your issuer offers this option. Not all do, and some charge different fees for phone-requested advances versus ATM advances.
Using a debit card instead, if you have one
If you have a debit card linked to a bank account, use that instead of a credit card. Every retailer that sells money orders accepts debit cards, and there are no cash advance fees or interest charges. You are spending money you already have, so the only cost is the money order fee itself — typically $1 to $5 depending on the amount and the seller.
If you do not have a debit card but have a bank account, you can visit your bank branch and withdraw cash directly, then use that cash to buy the money order. This costs nothing beyond the money order fee.
Many credit unions also let members buy money orders at the branch with a debit card or cash, and some will sell them to you over the phone and mail them. Check with your own bank or credit union first before turning to a credit card.
Paying the recipient directly instead of using a money order
Before you commit to the fees and hassle of a money order, ask whether the person or business you are paying will take a digital payment instead. If they have a Venmo account, PayPal account, or can receive a bank transfer, you can send the money that way with no fees and no need for a money order at all.
Money orders are useful when the recipient needs proof of payment or when they do not have a bank account. But many people and businesses accept them out of habit rather than necessity. A quick text or email asking "Can I send this by Venmo instead?" often gets a yes, and it saves you the money order fee plus all the credit card fees on top of it.
If the recipient is a government agency, utility company, or court, check their website first — many now accept online payments and will waive the money order requirement if you pay that way.
Where to buy money orders with cash
Once you have cash in hand, you have several options for where to buy the money order. Western Union and MoneyGram are the largest networks and are available at thousands of locations, including grocery stores, pharmacies, and check-cashing services. Walmart sells money orders at customer service desks. Many banks and credit unions sell them to customers at the branch. The Post Office sells money orders in person and by mail.
Fees vary by location and amount. A $500 money order might cost $1.50 at Walmart, $2 at the Post Office, or $5 at a check-cashing service. Call ahead or check the website of the location nearest you to confirm they have the amount you need in stock and what the fee is.
Frequently Asked Questions
Will my credit card company let me buy a money order if I call and ask?
No. Credit card companies classify money orders as cash equivalents and will not process them as regular purchases. You can only get cash from your credit card through an ATM withdrawal or a cash advance, both of which charge fees and interest.
Can I use a credit card at Western Union or MoneyGram?
Western Union and MoneyGram do not accept credit cards for money order purchases at their locations or online. They accept cash, debit cards, and bank transfers only. If you try to use a credit card, you will be turned away.
Is a cash advance cheaper than a money order fee?
No. A cash advance fee (3 to 5 percent) plus interest is almost always more expensive than a money order fee ($1 to $5). If you can avoid the credit card entirely by using a debit card or bank transfer, that is always the cheapest option.
What if I need the money order today and do not have a debit card?
Your fastest option is to find an ATM, withdraw cash using your credit card, and then buy the money order with that cash. This costs you a cash advance fee and interest, but it gets you the money order the same day. Call ahead to confirm the retailer has the amount you need.
Can I use a credit card to buy a money order online?
No. Online money order services like MoneyGram and Western Union do not accept credit cards for money order purchases. They accept debit cards and bank account transfers. If you need to send money online, a bank transfer or digital payment service is usually faster and cheaper.