You can get a money order at any post office, most banks, and many retail stores like Walmart, grocery chains, and convenience stores. The process takes just a few minutes: bring cash or a debit card, tell the clerk the amount you need, pay a small fee, and fill out the form before you leave. Here’s everything you need to know to do it right.
Where to Buy a Money Order
Your cheapest option is usually a retail store. Walmart charges no more than $1 per money order. Grocery chains like Kroger and convenience stores like 7-Eleven also sell them, typically through MoneyGram or Western Union, with fees that generally fall between $1 and $5.
The U.S. Postal Service is another reliable choice. USPS charges $2.55 for money orders up to $500 and $3.60 for amounts between $500.01 and $1,000. You can buy or cash postal money orders at any post office location.
Banks and credit unions sell money orders too, often for around $5. Wells Fargo, for example, charges $5 for a money order in any amount up to $1,000. Some banks waive the fee for certain account holders, so it’s worth asking. The tradeoff is that bank money orders can feel more “official” to a recipient, which occasionally matters for landlords or government offices.
What to Bring
You need two things: payment and the exact dollar amount you want on the money order.
Most sellers accept cash and debit cards. Credit cards are not accepted for money order purchases at the post office, and most retailers follow the same rule. The reason is simple: a money order purchased with a credit card would function like a cash advance, which carries high interest and additional fees from the card issuer.
You generally don’t need a government-issued ID for a single small purchase. However, if you buy $3,000 or more in money orders in a single day (even across multiple visits or locations), the post office requires you to complete a Funds Transaction Report and show valid ID. Other sellers have similar reporting thresholds under federal rules.
How Much You Can Send
A single domestic money order maxes out at $1,000. If you need to send more than that, you’ll need to purchase multiple money orders. At the post office, there’s no daily limit on how many you can buy, though the reporting requirement kicks in at $3,000 in total purchases per day.
International money orders through USPS have a lower cap of $700 (and $500 for a couple of specific countries). If you’re sending money abroad and need to exceed that amount, you’ll need multiple orders or a different transfer method.
How to Fill It Out
Fill out the money order immediately after purchasing it, before you leave the store or post office. A blank money order is almost like cash: anyone who finds it could write in their own name and cash it.
Here are the fields you’ll see:
- Pay to / Pay to the order of: Write the full name of the person or company you’re paying. Spell it correctly, because the recipient will need to match this name when cashing it.
- From / Purchaser: Write your full name.
- Address: Enter your address in the purchaser section. Some money orders also have a field for the recipient’s address.
- Memo / Account number: If you’re paying a bill, write your account number here. This helps the company apply the payment to the right account. The field might be labeled “payment for” or “memo.”
- Purchaser’s signature: Sign the front of the money order. This line is sometimes labeled “signer” or “drawer.” Do not sign the back, as that’s where the recipient endorses it when cashing.
Keep Your Receipt
The receipt is your proof of purchase and your only way to track or cancel the money order later. It contains the money order’s serial number, the amount, and the purchase location. Take a photo of both the receipt and the completed money order before handing it off or mailing it.
If the money order gets lost or you need to confirm it was cashed, you’ll use that serial number to file a trace. At the post office, you can check the status online or fill out a Money Order Inquiry form in person. MoneyGram lets you check online or call their customer service line. Western Union offers an online form or phone inquiry.
What If It Gets Lost or Stolen
If your money order goes missing, you can request a cancellation and refund, but it takes time and costs a fee. USPS charges $18 to replace a lost or stolen money order, and a formal research request using their Form 6401 can take 30 to 60 days to process. MoneyGram charges $18 with a turnaround of about eight days. Western Union charges $15 but can take six to eight weeks.
After roughly 30 days, the issuer typically sends you either a copy of the cashed money order (showing who deposited it and when) or a notice that it hasn’t been cashed yet. If it’s still outstanding, you can cancel it and get your money back minus the processing fee. This is why that receipt matters so much: without the serial number, you’ll have a much harder time filing a claim.
Paying for the Money Order Step by Step
The full process, from walking in to walking out, usually takes under five minutes:
- Go to the counter or customer service desk and ask for a money order in the amount you need.
- Hand over your payment. The clerk will collect the face amount plus the fee. If you need a $200 money order at Walmart, you’ll pay $201 or less.
- Fill out the money order completely before leaving. Use a pen, not pencil.
- Detach and keep the receipt stub. Some money orders have a perforated receipt attached; others come with a separate printed receipt.
- Deliver or mail the money order to your recipient. If mailing, consider using a trackable shipping method so you know it arrived.
Money orders don’t expire at most issuers, but some begin deducting service charges from the value after one to three years of inactivity. If you buy one and decide not to use it, cash it or request a refund sooner rather than later.

