Walmart sells money orders at the customer service desk, and the process takes about five minutes
You can walk into any Walmart with a customer service desk, hand over cash, and walk out with a money order. Walmart charges a flat fee — currently $0.88 for amounts up to $1,000 — though this price can vary slightly by location. You do not need an account, ID, or any paperwork beyond the money order form itself. The service is available during store hours, which means early morning, late evening, and weekend options at most locations.
The money order is issued by MoneyGram, which is a major money transfer company. This matters because the recipient can cash it at thousands of locations nationwide, not just at Walmart. You get a receipt showing the amount, the fee, and a tracking number in case something goes wrong in transit.
Key Takeaways
- Walmart charges $0.88 per money order for amounts up to $1,000, payable in cash at the customer service desk.
- You need only the recipient's name, the amount, and cash — no bank account or ID required.
- The money order is issued by MoneyGram and can be cashed at banks, check-cashing stores, and other retailers nationwide.
- Walmart money orders take about five minutes to issue and come with a receipt and tracking number for your records.
What you need to bring to Walmart
Bring cash in the exact amount you want to send, plus $0.88 for the fee. You do not need a bank account, debit card, or credit card. You do not need to show ID. The only information you must provide is the recipient's name and the dollar amount.
If you do not know the exact amount, ask the customer service associate to help you calculate it. For example, if you want to send $500 and the fee is $0.88, you bring $500.88. Some people round up to make the math simpler — bringing $501 to send a $500 money order leaves you with a small overage that you can use toward the fee on a second order or take as change.
How to fill out the money order form at Walmart
The customer service associate will hand you a MoneyGram money order form. You fill in the recipient's name in the "Pay to the Order of" field. Write clearly — the recipient will need to match this name when they cash it. You also write in the dollar amount, both in numbers and in words (for example, "Five Hundred Dollars").
You do not fill in your own name on a Walmart money order, though you can write it on the back for your records. The form has spaces for a memo or reference number if you want to note what the money is for — this is optional. Once you hand the completed form and your cash to the associate, they process it through the MoneyGram system, print the official money order, and give you a receipt.
Fees and limits at Walmart
Walmart charges $0.88 per money order for amounts up to $1,000. If you need to send more than $1,000, you can purchase multiple money orders — there is no limit on how many you can buy in a single visit. Each one costs $0.88 and has its own tracking number.
The fee is the same whether you send $10 or $1,000, so sending a small amount is proportionally more expensive. If you are sending less than $20, you might want to consider other payment methods. For larger amounts or regular transfers, a bank account or wire transfer may be cheaper in the long run, though those require more setup time.
How the recipient cashes a Walmart money order
The person you send the money order to can cash it at Walmart, any bank, most check-cashing stores, and many other retailers. They bring the money order to the customer service desk or teller, sign the back, and show ID. The cashing location verifies the money order through MoneyGram and hands over the cash.
Most locations cash MoneyGram money orders the same day. If the recipient loses the money order or it is damaged, they can contact MoneyGram with the tracking number from your receipt, and MoneyGram can issue a replacement. This is why keeping your receipt is important — you will need the tracking number to help them if something goes wrong.
When to use a Walmart money order instead of other options
A Walmart money order makes sense when you need to send cash to someone who does not have a bank account, when you do not want to share your banking information, or when the recipient is in a location without access to digital payment services. It is also useful for paying bills by mail, since many landlords and utility companies still accept money orders.
If you are sending money to someone you know and trust, a peer-to-peer payment app like Venmo or Cash App is usually faster and cheaper. If you are sending a large amount internationally, a wire transfer or money transfer service designed for that purpose will be more efficient. But for domestic cash transfers to someone without a bank account, a Walmart money order is straightforward and widely accepted.
What happens if something goes wrong
If you lose your receipt before the money order is cashed, contact MoneyGram directly with as much information as you can remember — the amount, the recipient's name, and the date of purchase. MoneyGram can search their records and issue a replacement if the original has not been cashed.
If the recipient says they never received the money order, check your receipt for the tracking number and contact MoneyGram to confirm whether it was cashed. If it was cashed but the recipient claims they did not receive the funds, that is a dispute between the recipient and their bank or cashing location, not something Walmart or MoneyGram can resolve. This is why sending money orders to people you trust is important — once cashed, the money is gone.
Frequently Asked Questions
Can I buy a money order at Walmart without cash?
No. Walmart money orders must be paid for in cash. You cannot use a debit card, credit card, or check. If you do not have cash on hand, you will need to withdraw it from an ATM or bank first.
Do I need an ID to buy a money order at Walmart?
No. Walmart does not require ID to purchase a money order. You need only the recipient's name, the amount, and cash. This is one reason money orders are popular for people without bank accounts.
How long does it take to get a money order at Walmart?
The entire process — filling out the form, paying the fee, and receiving the money order — usually takes about five minutes. The money order is ready to use or mail immediately after you receive it.
Can the recipient cash a Walmart money order anywhere?
MoneyGram money orders can be cashed at Walmart, banks, check-cashing stores, and many other retailers. Not every location cashes them, so the recipient should call ahead if they are going somewhere unfamiliar. Most major banks and Walmart locations accept them without question.
What if I write the wrong name on the money order?
If you catch the mistake before you leave the customer service desk, tell the associate immediately. They can usually void that money order and issue a new one. If you discover the error after you leave, contact MoneyGram with your receipt and tracking number — they may be able to stop payment if the money order has not been cashed yet.