Most money order sellers won't take credit cards directly
You cannot buy a money order with a credit card at most locations. Retailers like Walmart, CVS, and grocery stores that sell money orders — along with the U.S. Postal Service — accept cash or debit cards only. This is a deliberate policy. Money orders are meant to be a find payment method for situations where a personal check isn't trusted, and requiring cash or a debit card keeps the transaction straightforward and reduces fraud risk.
If you only have a credit card available, you have a workaround: withdraw cash from an ATM using your credit card, then use that cash to buy the money order. Some credit cards charge a cash advance fee for ATM withdrawals — typically 3% to 5% of the amount, plus interest that starts accruing when ready. Check your card's terms before you do this, because the fee might make a money order more expensive than other payment methods.
Key Takeaways
- Money order sellers including Walmart, CVS, the Postal Service, and Western Union accept cash or debit cards, not credit cards.
- You can withdraw cash from an ATM using your credit card, then buy a money order with that cash, but most credit cards charge a cash advance fee.
- Cash advance fees typically run 3% to 5% of the amount withdrawn, plus interest starting when ready, making this option expensive for small transactions.
- If you need to send money and only have a credit card, a bank transfer or payment app may cost less or nothing.
Why sellers require cash or debit
Money orders are sold as a safer alternative to checks or cash for paying bills or sending money to someone you don't know well. The seller's policy of accepting only cash or debit cards protects both the buyer and the recipient. A debit card transaction is tied directly to your bank account and can be traced, while a credit card creates a layer of separation that makes it harder to verify who actually bought the money order.
Retailers and the Postal Service also want to avoid the chargeback disputes that can happen with credit cards. If you buy a money order with a credit card and later dispute the charge, the seller has to refund your credit card company while the money order may already be cashed. This risk is why the policy is consistent across nearly all money order vendors.
The cost of using a credit card cash advance
If you withdraw cash using your credit card at an ATM, you will pay a fee. Most credit cards charge between 3% and 5% of the amount you withdraw, with a minimum fee of $2 to $3. On top of that, interest on the cash advance usually starts the same day — not at the end of a billing cycle like regular purchases. The interest rate for cash advances is often higher than the rate for regular credit card purchases.
For example, if you need $500 for a money order and your card charges a 5% cash advance fee plus 25% annual interest, you would pay $25 upfront plus interest that accrues daily until you pay off the advance. Over a month, that could add $10 or more to the cost. For smaller amounts, this makes the money order route expensive compared to other ways to send money.
Alternatives that work with a credit card
If you need to send money and have a credit card but no cash or debit card, consider whether a money order is actually the best choice. Many payment apps — including Venmo, PayPal, Square Cash, and Zelle — let you send money directly from a credit card to another person's bank account or phone number. These transfers are often free or cost less than a money order plus the cash advance fee.
Bank transfers and wire transfers also work if both you and the recipient have bank accounts. You can set up a transfer through your bank's website or app using your credit card to pay your credit card bill, then transfer funds from your checking account to send the money. This takes longer than a payment app but costs nothing and avoids the cash advance fee entirely.
Where to buy money orders if you have cash or debit
Once you have cash or a debit card, money orders are widely available. The U.S. Postal Service sells them at any post office for a flat fee that varies by amount — typically $1.45 for orders up to $500 and $2.00 for orders from $500.01 to $1,000. Walmart, CVS, Walgreens, and most grocery stores also sell money orders, usually for $0.70 to $1.50 depending on the amount and location.
Western Union and MoneyGram are other options if you need a money order quickly or at an unusual hour. Their fees are higher — often $2 to $5 — but they operate at more locations and longer hours than the Postal Service. Check the fees at your specific location before you buy, because they vary by store and by the amount of the money order.
What to bring when you buy a money order
You will need to know the exact amount you want to send, the name of the person or business the money order is for, and your own name as the purchaser. Bring your cash or debit card. You do not need a bank account or ID at most retailers, though the Postal Service may ask for ID depending on the amount. The seller will fill in the recipient's name and your name, and you will receive a receipt and a stub to keep for your records.
Money orders are not refundable once they are issued, so double-check the amount and the recipient's name before you hand over your cash. If you make a mistake, you will have to buy a new money order and try to get the first one cancelled, which can take weeks.
Frequently Asked Questions
Can I use a credit card to pay my credit card bill and then buy a money order?
No. You cannot use a credit card to pay another credit card bill directly. You would need to transfer money from a bank account or use a balance transfer, which is a different product with its own fees and interest rates. The simplest route is to use a debit card or cash if you have access to either.
What if I need a money order right now and don't have cash?
Find an ATM and use your credit card to withdraw cash, then buy the money order. This costs a cash advance fee but gets you the money order the same day. If the fee is too high, consider whether a payment app or bank transfer would work instead — both are often free and reach the recipient within one to three business days.
Is there a limit to how much I can withdraw as a cash advance?
Yes. Your credit card has a cash advance limit, which is usually lower than your regular credit limit. Check your card's terms or call the number on the back of your card to find out your limit. Some cards set the limit at 20% to 30% of your credit limit, while others have a separate limit.
Do money order fees vary by where I buy them?
Yes. The Postal Service charges a flat fee based on the amount. Retailers like Walmart and CVS set their own fees, which typically range from $0.70 to $1.50. Western Union and MoneyGram charge more, often $2 to $5. Call ahead or check the store's website if you want to know the exact fee before you go.
Can I buy a money order with a prepaid credit card?
Most prepaid cards are treated like debit cards, so yes — you should be able to use a prepaid card to buy a money order at retailers and the Postal Service. However, some prepaid cards have restrictions. Check with your card issuer first to confirm that money order purchases are allowed.