Walmart sells money orders at customer service desks in most stores, and they cost less than at banks or check-cashing services
You can walk into almost any Walmart with cash and walk out with a money order within minutes. Walmart's money order fee is typically $0.70 to $0.88 per order, depending on your state — significantly lower than what banks or Western Union charge. You don't need an account, ID, or any relationship with Walmart to buy one.
The money order itself is issued by MoneyGram, a major money order processor. Walmart is simply the retailer selling it to you. This matters because if something goes wrong with the money order later, you'll be dealing with MoneyGram's customer service, not Walmart's.
Money orders work best when you need to send money to someone who won't accept a personal check, when you want a paper record of payment, or when the recipient needs proof that funds have been set aside. They're commonly used for rent, utility deposits, court fees, and payments to businesses that don't take cards.
Key Takeaways
- Walmart charges $0.70 to $0.88 per money order depending on your state, making it one of the cheapest places to buy one.
- You need cash, the recipient's name, and the amount you want to send — no bank account or Walmart membership required.
- Money orders are issued by MoneyGram, so you contact MoneyGram if you need to cancel, replace, or track a money order after purchase.
- The maximum amount per money order at Walmart is typically $1,000, though you can buy multiple orders if you need to send more.
- Keep your receipt — it's your proof of purchase and contains the reference number you'll need if anything goes wrong.
What you need to bring to Walmart
Bring cash in the amount you want to send, plus the fee. Walmart does not accept debit cards, credit cards, or checks for money order purchases — cash only. If you're sending $500, bring $500.70 to $500.88 depending on your state.
You'll also need to know the recipient's name exactly as they want it to appear on the money order. If you're sending it to a business, use the business name. If you're sending it to a person, spell their name the way they've given it to you. Mistakes here can make it hard for the recipient to cash the money order.
You do not need a Walmart membership, an ID, or a bank account. Walmart does not ask for your name or personal information when you buy a money order, though you may be asked for a phone number or address for their records.
How to buy a money order at Walmart
Go to the customer service desk, not the checkout lanes. This is usually near the front of the store or sometimes at the back near the pharmacy. Tell the associate you want to buy a money order and have your cash ready.
The associate will ask you for the recipient's name and the amount. They'll print out the money order form, fill in those details, and show it to you to confirm everything is correct before they process it. Check the spelling of the name and the dollar amount carefully — once it's printed, you can't change it.
Pay the fee in cash. The associate will give you the completed money order and a receipt. The receipt shows the reference number, the amount, the fee, and the date. Keep this receipt until the recipient confirms they've cashed the money order.
Maximum amounts and limits per transaction
Walmart allows a maximum of $1,000 per money order. If you need to send more than $1,000, you'll need to buy multiple money orders. For example, to send $2,500, you'd buy three money orders: two for $1,000 each and one for $500.
There's no daily limit on how many money orders you can buy at Walmart, so you can purchase as many as you need in a single visit. However, if you're buying a very large number of money orders in one transaction, the associate may ask questions or take longer to process them.
Sending the money order to the recipient
You can hand the money order directly to the recipient in person, or you can mail it. If you mail it, use a tracked mail service like Certified Mail so you have proof it was delivered. Regular mail works, but you won't know if it arrived.
The recipient cashes the money order at their bank, a check-cashing service, or sometimes at Walmart's customer service desk. They'll need to sign the back of the money order and show ID. The funds are usually available within one to three business days after they deposit or cash it.
Once the recipient has cashed it, the money order is complete. You won't receive a confirmation from Walmart or MoneyGram — you'll know it worked when the recipient tells you they received the funds.
If you need to cancel or replace a money order
If you bought a money order but haven't sent it yet, you can ask Walmart to cancel it and refund your money. Bring your receipt and the unused money order to the customer service desk. Walmart will typically refund the full amount including the fee, though some locations may keep the fee.
If you've already sent the money order and it gets lost or damaged, contact MoneyGram directly using the reference number on your receipt. MoneyGram can issue a replacement, but the process takes time — usually several weeks — and they'll ask for proof that the original money order wasn't cashed. This is why keeping your receipt is critical.
If the recipient says they never received the money order you mailed, and you used Certified Mail, you can file a claim with the postal service. If you used regular mail, you have no proof of delivery, which is why tracking matters for larger amounts.
Walmart money orders versus other options
Banks typically charge $5 to $10 per money order, making Walmart significantly cheaper. Western Union charges $1 to $2 per money order depending on the amount. Check-cashing services usually charge $1 to $3. For a single money order, Walmart saves you money. For multiple orders, the savings add up quickly.
The trade-off is speed and convenience. Banks have limited hours and require an account. Walmart is open early and late, and you don't need an account. Western Union locations are scattered and sometimes charge more for larger amounts. If you need a money order outside business hours, Walmart is often your only option.
For very large amounts, a cashier's check from your bank is safer because it's backed by the bank itself, not just MoneyGram. But cashier's checks cost more and require a bank account. For routine payments under $1,000, a Walmart money order is the practical choice.
Frequently Asked Questions
Can I buy a money order at Walmart with a debit card?
No. Walmart only accepts cash for money orders. You must bring the exact amount in bills or coins. If you don't have cash, you'll need to withdraw it from an ATM first or use a different payment method at a different retailer.
What if I make a mistake on the money order?
If you notice the error before you leave the customer service desk, tell the associate immediately. They can cancel it and issue a new one. If you've already left the store, you'll need to return with your receipt and ask for a cancellation. Once it's been sent to the recipient, you can't change it — the recipient would need to return it unused for a refund.
How long does a money order stay valid?
Money orders don't expire, but most states require them to be cashed within a certain period — typically one to three years — or the funds go to the state. After that time, the recipient can still cash it, but they may need to contact MoneyGram to claim the funds. Keep your receipt in case you need to prove you purchased it.
Can I track a money order I sent?
You can track it using the reference number on your receipt if you contact MoneyGram directly. However, MoneyGram's tracking is limited — they can tell you if it's been cashed, but not where or when in detail. For real-time tracking, use Certified Mail when you send it through the postal service.
What if the recipient loses the money order?
If they haven't cashed it yet, they can contact MoneyGram with your reference number and request a replacement. MoneyGram will issue a new one, but it takes time and they may ask for proof the original wasn't cashed. This is why the recipient should treat a money order like cash — once it's lost, recovery is slow and uncertain.