Yes, you can buy a money order with a checking account at most places that sell them

You do not need cash to buy a money order. Most banks, credit unions, post offices, and retailers that sell money orders will let you pay with a debit card linked to your checking account, or sometimes with a check drawn on that account. The process is straightforward: you walk in, tell them the amount, provide the recipient's name, and pay. They print the money order on the spot.

The catch is that not every location accepts every payment method. A grocery store might take your debit card but not a personal check. Your bank might charge you a fee for the money order itself—usually between $1 and $10 depending on the amount—and some places charge extra if you pay by check instead of cash or card. It is worth calling ahead if you have a specific payment method in mind.

Key Takeaways

  • Banks, credit unions, post offices, and many retailers sell money orders and accept debit cards tied to checking accounts as payment.
  • Fees range from $1 to $10 and vary by location and amount; some places charge more if you pay by check rather than debit card.
  • You will need the recipient's name and the exact amount before you go, and the money order is issued when ready.
  • Not all locations accept all payment methods, so confirm what they take before you arrive or call ahead.

Where you can buy a money order with a debit card

Your own bank or credit union is often the easiest route. Walk in with your debit card, ask for a money order, and they will process it on the spot. Many banks do this for free if you have an account with them, though some charge $1 to $3. Credit unions typically charge less than banks—sometimes nothing for members.

The U.S. Postal Service sells money orders at every post office and accepts debit cards. Their fee is a flat $1.45 for amounts up to $500 and $1.95 for $500.01 to $1,000. Western Union and MoneyGram, which operate through thousands of retail locations (grocery stores, pharmacies, check-cashing shops), also take debit cards at most locations. Their fees are higher—often $3 to $15 depending on the amount—but they are open longer hours than banks or post offices.

Walmart, Target, and many grocery stores sell money orders through their customer service desks and accept debit cards. Fees are usually $3 to $5. Avoid paying by personal check at these locations if possible; some charge an extra $1 to $2 for check payment, and a few do not accept checks at all.

What happens when you pay with a check instead of a debit card

Some people pay for money orders by writing a check on their checking account. This works at banks, credit unions, and some post offices, but it is slower and sometimes costs more. The seller has to verify the check, which can take a few minutes, and they may charge an additional fee—typically $1 to $2 on top of the money order fee itself.

The main reason to use a check is if you do not have a debit card or prefer not to use one. The main reason not to is that it takes longer and costs more. If you have a debit card, use it instead.

Fees and what they depend on

Money order fees are not fixed. They depend on three things: where you buy it, how much the money order is for, and how you pay.

LocationTypical Fee (Debit Card)Amount Limit
Your bank or credit union$0 to $3Usually $1,000 per order
U.S. Postal Service$1.45 to $1.95Up to $1,000
Western Union or MoneyGram$3 to $15Usually $1,000 to $2,000
Walmart, Target, grocery stores$3 to $5Usually $500 to $1,000

Larger amounts sometimes cost more. A $500 money order at Western Union might cost $5, while a $1,500 order costs $10. Post office fees do not change with amount within their limits, so a $100 order costs the same $1.45 as a $500 order.

If you pay by personal check instead of debit card, add $1 to $2 to these fees at most locations. Some places do not charge extra; others do. Ask before you hand over the check.

What you need to bring and what happens next

Bring your debit card and know three things: the exact dollar amount of the money order, the full name of the person or business it is going to, and your own name. You do not need an ID at most locations, though some ask for one. The seller will fill out the money order with this information, you will swipe or insert your debit card, and the money order prints when ready. The whole process takes five to ten minutes.

Once you have the money order, it is your responsibility to get it to the recipient. You can mail it, hand it to them, or deposit it into their account if they give you permission. Money orders do not expire, but if it is lost or stolen, you will need the receipt and the money order number to file a claim for a replacement. Keep the receipt until the recipient confirms they received and cashed it.

Why you might choose a money order over other payment methods

A money order is safer than sending cash through the mail because it is traceable and can be replaced if lost. It is faster than a bank transfer if the recipient does not have a bank account or if you need them to have the funds when ready. It is more formal than a personal check, which matters if the recipient does not know you or does not trust your account to have funds.

The downside is the fee. If you are sending money to someone with a bank account, a free transfer through your bank's app or a service like Venmo or PayPal costs nothing. A money order costs $1 to $15 depending on where you buy it. For small amounts or frequent transfers, that adds up. For one-time payments to someone without a bank account, or for situations where you need a paper trail, a money order makes sense.

Frequently Asked Questions

Can I buy a money order online and pay with my checking account?

No. Money orders must be purchased in person at a physical location. You cannot buy them online. Some services like Western Union let you order one online and pick it up at a location, but you still have to go there to pay and collect the money order.

What if my bank does not sell money orders?

Not all banks do. If yours does not, the post office is your most reliable backup—every post office sells them. Western Union and MoneyGram locations are also everywhere. Call ahead to confirm they accept debit cards and ask about their fee.

Do I need to have the money in my checking account when I buy the money order?

Yes. When you pay with a debit card, the funds are drawn from your account when ready, just like any other debit card purchase. If you do not have enough money, the transaction will be declined.

Can I buy a money order for more than $1,000?

Most places cap money orders at $1,000 per order. If you need to send more, you can buy multiple money orders. Some Western Union locations sell orders up to $2,000, so ask if you need a larger amount.

Is there a difference between paying with a debit card and paying with a check?

Debit card payment is faster and usually costs the same or less. Check payment takes longer because the seller has to verify the check, and some places charge an extra $1 to $2. If you have a debit card, use it.