Where you can buy a money order

Money orders are sold at banks, credit unions, post offices, grocery stores, pharmacies, and check-cashing businesses. The most common places are the U.S. Postal Service (USPS), Walmart, Western Union, and MoneyGram. Not every location sells them — call ahead or check the website if you need one outside normal business hours or in a specific neighborhood.

Banks and credit unions typically charge the least, often $1 to $3 per money order if you have an account. Retail locations like Walmart and grocery stores usually charge $0.70 to $1.50. Check-cashing businesses and wire transfer services charge more, sometimes $2 to $5, because they serve people without bank accounts. USPS charges vary by the amount but generally run $1.45 to $1.95 for domestic orders.

Some locations have limits on how much a single money order can be for. USPS caps them at $1,000. Walmart typically allows up to $1,000 per order. If you need to send more than that, you can buy multiple money orders, but you'll pay the fee for each one.

Key Takeaways

  • Money orders are available at post offices, banks, Walmart, grocery stores, and check-cashing businesses, with fees ranging from under $1 to $5 depending on the location.
  • You'll need cash or a debit card to buy one, and you must know the recipient's name and address before you go.
  • The service takes just a few minutes — the seller fills in the amount, you provide payment plus the fee, and you receive the money order to mail or deliver.
  • Money orders can be tracked and replaced if lost or stolen, unlike cash, which is why they're used for rent, security deposits, and other high-value payments.
  • If you need to cancel a money order, contact the issuer with your receipt and the money order number, though refunds can take weeks.

What you need to bring and provide

You need cash or a debit card to buy a money order. Most sellers do not accept credit cards. Bring your receipt or confirmation if you're replacing a lost or damaged money order.

Before you go to the counter, have the recipient's name and mailing address ready. The seller will ask you to write or print the payee name on the money order — this is the person or business who can cash it. You'll also need to provide your own name and address as the sender, though some locations may not require this.

If you're buying a money order for a business, have the exact legal name of the business. If it's for a government agency like a court or tax office, use the exact name they provided in their paperwork. Mistakes in the payee name can delay or prevent the recipient from cashing the money order.

How the transaction works at the counter

Tell the seller the amount you want the money order for. They will show you the fee and the total you'll pay. You provide the cash or debit card. The seller fills in the amount, the payee name, and your information on the money order form.

You'll receive the money order itself, a receipt, and sometimes a stub or duplicate copy. Keep the receipt and stub — they contain the money order number, which you'll need if you ever have to report it lost or request a replacement. The money order is now ready to mail or hand-deliver to the recipient.

The entire process usually takes 5 to 10 minutes. If the location is busy, it may take longer. Some sellers can issue money orders instantly; others may need to verify funds or process the order through a system, which can add a few minutes.

How money orders are tracked and replaced

Every money order has a unique serial number printed on it. This number is recorded by the issuer — USPS, Western Union, MoneyGram, or whoever sold it. If a money order is lost or stolen before the recipient cashes it, you can contact the issuer with your receipt and the money order number to report it and request a replacement.

The issuer will verify that the money order has not been cashed. If it hasn't, they will issue a replacement. This process can take two to four weeks, sometimes longer. You may have to pay a small fee to replace it, typically $1 to $5. Some issuers require you to sign an affidavit stating that the money order was lost.

Once a money order is cashed by the recipient, it cannot be replaced or refunded. This is why it's important to confirm that the recipient received it before assuming it was lost. If the recipient says they never got it, ask them to check with their bank — sometimes money orders are deposited but take time to clear.

Canceling a money order you no longer need

If you bought a money order but no longer need to send it, you can request a refund from the issuer. Contact the company that sold it to you — USPS, Western Union, Walmart, or your bank — with your receipt and the money order number. They will verify that it has not been cashed and process a refund.

Refunds typically take two to four weeks to appear in your account or as a replacement check. Some issuers charge a cancellation fee of $1 to $5. A few may not refund at all if too much time has passed, so check their policy when you call.

You cannot cancel a money order once it has been cashed by the recipient. If you sent it to the wrong person or address, your only option is to contact that person and ask them to return it or deposit it into an account you control.

Money orders versus other payment methods

Money orders are safer than cash because they can be tracked and replaced. They're also more widely accepted than personal checks, especially for rent, security deposits, court fees, and utility payments. Many landlords and government agencies specifically request money orders because they clear faster than checks and cannot bounce.

Wire transfers are faster — they move money in hours rather than days — but they cost more and cannot be reversed once sent. Cashier's checks are similar to money orders but are issued by banks and require a bank account. Certified checks are personal checks stamped by your bank to may provide the funds exist.

If you need to send money to someone you know and trust, a personal check or bank transfer is usually cheaper. If you're paying a stranger, paying a government agency, or need proof of payment, a money order is the standard choice. If you need the money to arrive the same day, a wire transfer is faster, though more expensive.

Common issues and how to handle them

If the recipient says they never received the money order, ask them to check with their bank first — it may have been deposited but not yet cleared. If they confirm it was never received, contact the issuer with your receipt and money order number to report it lost and request a replacement or refund.

If you made a mistake filling out the money order — wrong payee name, wrong amount, or illegible writing — do not send it. Return to the issuer with your receipt and request a replacement. Most issuers will issue a new one at no charge if the error was theirs, but may charge a small fee if you made the mistake.

If the recipient cashed the money order but claims they never received it, that is a dispute between you and them, not with the issuer. The money order has already been paid out. You would need to pursue the matter through small claims court or contact law enforcement if you believe fraud occurred.

Frequently Asked Questions

Can I buy a money order with a credit card?

Most sellers do not accept credit cards for money orders. You'll need cash or a debit card. Some banks may allow you to buy a money order from your account using a teller, which functions like a debit transaction, but this varies by bank.

What happens if I lose the receipt?

Keep your receipt — it contains the money order number you'll need to track or replace the money order. If you lose it, you can still contact the issuer with the money order number if you wrote it down elsewhere, but without either the receipt or the number, replacement becomes much harder. Ask the issuer what information they need to help you.

How long does it take for a money order to clear?

Money orders typically clear within one to three business days after the recipient deposits or cashes them. Some banks clear them the same day. This is faster than personal checks, which can take five to seven business days. Ask your bank or the recipient's bank if you need a specific timeline.

Can I get a refund if I sent a money order to the wrong address?

Once a money order is cashed, you cannot get a refund. If you sent it to the wrong address and it was never cashed, you can request a replacement or refund from the issuer. If someone else cashed it, you would need to contact law enforcement or pursue the matter in small claims court.

Is a money order safer than sending cash in the mail?

Yes. Cash cannot be tracked or replaced if lost or stolen. A money order has a serial number, can be reported lost, and can be replaced. The recipient must have the money order in hand to cash it — they cannot cash a check or transfer based on a description. This makes money orders the safer choice for sending payment by mail.