Most money order sellers won't take credit cards directly, but you have workarounds

You cannot walk into a Western Union or MoneyGram location and hand them a credit card to buy a money order. The major money order providers—Western Union, MoneyGram, and USPS—do not accept credit cards at their physical locations. Some online money order services do accept credit cards, but they charge fees that can make the total cost steep. Your practical options are using a debit card, cash, or a bank transfer instead.

The reason for this restriction is straightforward: money orders are treated as cash equivalents, and credit card companies classify them as cash advances. A cash advance on a credit card comes with a separate, higher interest rate (often 25% or more), an upfront fee (typically 3% to 5% of the amount), and no grace period—interest starts accruing immediately. Sellers avoid the liability of processing these transactions, so they simply don't accept credit cards.

Key Takeaways

  • Western Union, MoneyGram, and USPS do not accept credit cards for money order purchases at physical locations.
  • Using a credit card to buy a money order counts as a cash advance, which triggers a fee and a higher interest rate with no grace period.
  • Online money order services like Sezzle or Paysend may accept credit cards, but their fees often exceed what you would pay with cash or a debit card.
  • Debit cards, cash, and bank transfers are the lowest-cost ways to send money that a money order would cover.

Why credit card companies treat money orders as cash advances

When you use a credit card to buy a money order, the card issuer sees it as a request for cash, not a purchase. This classification matters because cash advances are riskier for the lender—there is no merchant involved to dispute a transaction, and the money leaves the banking system immediately. To offset that risk, card issuers charge you upfront.

A cash advance fee is typically 3% to 5% of the amount withdrawn, with a minimum fee (often $5 to $10). On a $500 money order, that is $15 to $25 just to get the cash. Then interest accrues at a rate that is usually 5 to 10 percentage points higher than your regular purchase APR, and it starts the day you withdraw the cash—no 21-day grace period like you get on purchases. If you carry a balance, that money order will cost you significantly more than the face value.

Where you might find credit card acceptance

A few online money transfer services accept credit cards, though they are not traditional money order providers. Services like Sezzle, Paysend, and some smaller platforms allow credit card payments, but they charge their own fees on top of any cash advance fee your card might impose.

Paysend, for example, charges 2% to send money domestically and accepts credit cards, but that 2% is added to the amount you send. On a $500 transfer, that is $10 in fees alone, before any cash advance fee from your card. These services are useful if you need to send money to a specific person's bank account rather than issue a physical money order, but they are not cheaper than using a debit card or cash.

Debit cards as the practical alternative

A debit card works at any location that accepts credit cards for money orders—Western Union, MoneyGram, and USPS all take debit cards. Because a debit card draws directly from your bank account, the transaction is not classified as a cash advance. You pay only the money order fee itself (usually $1 to $5 depending on the amount and provider), with no additional interest or percentage-based charges.

If you do not have a debit card, most banks can issue one within a few business days, or you can use a prepaid debit card from a retailer like Walmart or Target. These prepaid cards cost $2 to $5 to activate and work identically to a debit card for money order purchases.

When a bank transfer makes more sense than a money order

If the person you are sending money to has a bank account, a direct bank transfer is almost always cheaper and faster than a money order. Most banks offer free domestic transfers to other accounts, and the money arrives in one to three business days. You can initiate a transfer from your credit card's issuing bank's website or app, though the transfer itself draws from your linked checking account, not your credit card balance.

Wire transfers cost $15 to $30 but are faster (usually same-day or next-day) and work internationally. ACH transfers (the standard domestic bank-to-bank method) are free and take two to three days. A money order costs $1 to $5 but requires the recipient to physically deposit it, which takes additional time. For most situations, a free ACH transfer beats a money order on both cost and speed.

Cash as the simplest option

If you have access to cash, that is the most straightforward way to buy a money order. You pay the money order fee and nothing else. You can withdraw cash from an ATM using your credit card (which does trigger a cash advance fee), but that defeats the purpose—you would pay the cash advance fee plus the money order fee, making it more expensive than just using a debit card or bank transfer.

If you need cash to buy the money order, use your debit card at an ATM or ask for cash back at a grocery store or pharmacy when you make a purchase. Both are free or nearly free, unlike a credit card cash advance.

What happens if you try to use a credit card anyway

If you attempt to buy a money order with a credit card at Western Union, MoneyGram, or USPS, the transaction will be declined. These providers have systems in place to reject credit cards. If you somehow complete the purchase through an online service that accepts credit cards, your card issuer may still flag it as a cash advance and charge you accordingly, even if the merchant does not label it that way.

Check your credit card statement after any money order purchase. If it shows up as a cash advance, contact your card issuer to dispute it if you believe it was processed incorrectly. Some issuers will reclassify it as a regular purchase if you can show it was a legitimate transaction, though this is not may provide.

Frequently Asked Questions

Will my credit card let me buy a money order online?

Some online money transfer services accept credit cards, but your card issuer may still classify the transaction as a cash advance and charge you a fee. Check your card's terms or call the issuer before attempting an online money order purchase. Using a debit card or bank transfer avoids this problem entirely.

What if I do not have a debit card?

You can get a prepaid debit card from most retailers in minutes for $2 to $5. Alternatively, ask your bank to issue a debit card, which usually takes three to five business days. If you need a money order immediately, paying cash is your fastest option.

Is there a way to use my credit card rewards on a money order?

Not directly. Money order purchases do not earn rewards, and using a credit card to buy one triggers a cash advance fee that wipes out any rewards value. If you want to use your credit card strategically, use it for regular purchases and pay the money order with a debit card or cash instead.

Can I use a credit card to buy a money order at Walmart or Target?

Walmart and Target sell money orders and accept credit cards for the purchase itself, but your card issuer may still classify it as a cash advance. The retailer does not prevent the transaction, but your bank might charge you a cash advance fee. Call your card issuer first to confirm how they classify money order purchases at these locations.

What is cheaper: a money order or a wire transfer?

A money order costs $1 to $5 and takes several days to clear. A domestic wire transfer costs $15 to $30 but arrives in one business day. An ACH transfer (standard bank transfer) is free and takes two to three days. For small amounts, a money order is cheaper; for larger amounts or urgent transfers, a wire transfer may be worth the cost.