Where you can buy money orders with a credit card
Most places that sell money orders will take a credit card, but not all. Your best options are Western Union, MoneyGram, Walmart, grocery store chains like Kroger and Safeway, and your own bank or credit union. Post offices do not take credit cards for money orders — they accept cash and debit cards only. Check your specific location before you go, because policies vary by store and region.
Western Union and MoneyGram have the widest footprint. You can find Western Union at Walmart, CVS, Walgreens, grocery stores, and independent agent locations. MoneyGram operates through Walmart, grocery stores, and other retailers. Both let you buy online and pick up in person, or buy in person at a physical location. If you use their websites or apps, you can pay with a credit card and complete the transaction without leaving home.
Banks and credit unions often sell money orders to their own customers. Call ahead to confirm they accept credit cards and ask about fees — some charge less than Western Union or MoneyGram. Walmart and major grocery chains sell them at the customer service desk during business hours, and most accept credit cards at that counter.
Key Takeaways
- Western Union and MoneyGram accept credit cards both online and at physical locations, making them the most flexible options.
- Walmart, grocery stores, and some banks sell money orders with credit cards, though fees and limits vary by location.
- Post offices do not accept credit cards for money orders under any circumstance.
- Buying online through Western Union or MoneyGram and picking up in person avoids the need to carry cash to a store.
- Fees typically range from $1 to $5 per money order depending on the amount and the seller, so compare before you buy.
How to buy a money order online with your credit card
Go to the Western Union website or read the Western Union app. Create an account or sign in, then select "Send Money" and choose "Money Order" as your service. Enter the amount you need, the recipient's name, and your delivery location. You can have it ready for pickup at a nearby agent location within minutes, or have it mailed to the recipient's address.
At checkout, enter your credit card details. Western Union will show you the total fee before you confirm. Once approved, you will receive a confirmation number. If you chose pickup, go to your selected location with a valid ID and the confirmation number to collect the money order. If you chose delivery by mail, Western Union will send it to the address you provided.
MoneyGram works the same way. Visit moneygram.com or use the MoneyGram app, create an account, and select the money order option. Enter the amount, recipient name, and pickup or delivery address. Pay with your credit card at checkout. You will get a reference number to use for pickup or tracking.
Buying a money order in person with a credit card
Walk into Walmart, a grocery store, or your bank and go to the customer service desk or money services counter. Tell the employee you want to buy a money order and provide the recipient's name and the amount. Have your credit card ready. The employee will process the transaction, charge your card, and hand you the money order.
Bring a valid ID. Some locations ask for it; others do not, but having it prevents delays. The entire process takes five to ten minutes. You will receive a receipt and the money order itself. Keep the receipt until the recipient confirms they received and cashed the money order.
At Western Union or MoneyGram agent locations (which include many pharmacies and convenience stores), the process is identical. Ask the clerk if they sell money orders, provide the recipient information, hand over your credit card, and wait for the transaction to complete.
Fees and limits when using a credit card
Money order fees are typically $1 to $5 per order, depending on the amount and the seller. Western Union and MoneyGram usually charge around $1 to $2 for amounts under $500 and slightly more for larger orders. Walmart and grocery stores often charge $0.70 to $1.50. Your bank may charge less or nothing if you are a customer.
Most sellers cap individual money orders at $1,000. If you need to send more, you can buy multiple money orders. Some locations limit how many you can buy in a single day, so ask if you need more than one.
Using a credit card does not change the fee. You pay the same amount whether you use cash, a debit card, or a credit card. However, your credit card company may treat the purchase as a cash advance if they categorize money orders that way — check your card's terms. A cash advance typically comes with a higher interest rate and an upfront fee, so it is worth confirming before you buy.
Why you might want to use a credit card for a money order
A credit card is convenient if you do not have cash on hand or do not want to carry it. Buying online means you never have to leave home. If you are building credit history, using your card and paying the bill on time adds to your payment record, though the money order fee itself is a small cost.
A credit card also creates a record of the transaction. Your statement shows the date, amount, and seller, which can be useful if there is a dispute later. Cash leaves no trail.
The main drawback is the potential cash advance fee and interest rate. If your card treats money orders as cash advances, the cost can outweigh the convenience. Before you buy, log into your card's website or call the number on the back to ask how they categorize money orders.
Alternatives if you cannot find a money order seller near you
If no Western Union, MoneyGram, or Walmart is nearby, try your bank or credit union first. Many will sell money orders to members at low or no cost. Call ahead to confirm they accept credit cards.
Some post offices partner with Western Union, so you can buy a Western Union money order at the post office counter using a credit card, even though the post office itself does not sell its own money orders with credit cards. Call your local post office to ask.
If you need to send money urgently, consider a wire transfer instead. Banks and credit unions offer wire transfers, which are faster than a money order but usually cost more ($15 to $30). Online payment services like PayPal, Venmo, or Square Cash may also work depending on what the recipient needs.
Frequently Asked Questions
Can I buy a money order with a credit card at the post office?
No. The U.S. Postal Service only accepts cash and debit cards for its own money orders. However, some post offices sell Western Union money orders, which you can buy with a credit card. Call your local post office to ask if they offer Western Union.
Will buying a money order with my credit card hurt my credit score?
No, the purchase itself does not affect your score. However, if your card treats it as a cash advance, you will pay interest and a fee, which costs money but does not directly impact your credit. Making the purchase and paying your bill on time is good for your credit history.
What is the maximum amount I can buy in one money order?
Most sellers cap individual money orders at $1,000. If you need to send more, you can buy multiple money orders. Some locations limit how many you can buy in one day, so ask the seller.
How long does it take to get a money order if I buy online?
If you buy through Western Union or MoneyGram online and pick it up in person, it is ready within minutes to a few hours. If you choose delivery by mail, it typically arrives within five to seven business days, depending on the carrier.
Is it cheaper to buy a money order with cash or a credit card?
The fee is the same regardless of payment method. However, if your credit card company charges a cash advance fee, using the card costs more than paying with cash. Check your card's terms before you buy.