If a customer emails asking for a refund on a crypto order, there’s no “dispute” button to click and no processor to call. Card networks built an entire chargeback system to reverse payments after the fact. Crypto chargebacks don’t exist, because crypto wasn’t built that way. Once a transaction confirms on-chain, it’s final. No institution has the authority to pull it back.

That sounds like a problem until you notice it cuts both ways. The same finality that stops you from forcing a refund through a network also stops anyone from forcing one on you. No card network siding with the customer by default, no “friendly fraud” chargeback three months after you’ve shipped the order. What you get instead of crypto chargebacks is full responsibility for the refund process, on both sides of the transaction.

crypto chargebacks vs card refund comparison

This post is about what that looks like day to day: why crypto chargebacks don’t exist, the refund situations that actually come up in a non-custodial WooCommerce setup, and how to handle each one without a reversal button to lean on.

In this guide:

  • Why crypto chargebacks don’t exist
  • Card chargebacks vs. crypto refunds, side by side
  • Five refund situations you’ll actually run into
  • How to send a manual crypto refund
  • Building trust without a chargeback safety net
  • How StayCrypto handles refunds
  • FAQ

Why crypto chargebacks don’t exist

A card chargeback works because there’s a central authority, Visa, Mastercard, the issuing bank, sitting between the buyer and the merchant with the power to reverse a settled transaction. That authority exists because the card network, not the customer, is technically holding and moving the money. It’s undoing its own ledger entry, not anyone else’s.

A blockchain has no equivalent authority. Once a transaction gets enough confirmations, it becomes part of a shared, append-only record that no single party can edit, not StayCrypto, not the merchant, not the customer. Nobody is positioned to “reverse” it, because reversing it would mean rewriting history that thousands of other computers already agreed on.

That holds true whether the gateway is custodial or non-custodial, which surprises people who assume a processor holding funds could just reverse things on its own systems. In practice, even custodial processors don’t reverse on-chain transactions. They only reverse the internal ledger entry for funds still sitting in their own system, before those funds get forwarded out.

Card chargebacks vs. crypto refunds

Card chargebackCrypto refund
Who initiates itCustomer, via their bankMerchant, manually
Can be forced without merchant’s consentYesNo
Reverses the original transactionYesNo, it’s a new, separate transaction
Typical timelineDays to weeksAs fast as the merchant sends it
Fraud risk for merchantFriendly fraud, false disputesNone from the payment rail itself
Fraud risk for customerBank has final sayDepends entirely on merchant’s honesty
Who needs a return addressBank already has itAlready visible on-chain, from the paying wallet

The last row is the one that surprises people. A crypto refund doesn’t need the customer to dig up their bank details. The wallet address that paid you is sitting right there in the transaction. As long as they still want the refund at that same address, you already have everything you need to send it.

Five refund situations you’ll actually run into

Order cancelled before you’ve shipped anything

The easy case. The order’s paid, nothing’s shipped yet, and the customer changed their mind or you’re out of stock. Send the equivalent amount back to the address that paid you, in the same stablecoin they used, and cancel the order in WooCommerce.

Underpayment that never matches an order

StayCrypto reserves a unique total, down to the cent, for each open order, so an incoming payment can be matched automatically without a shared address getting confused between customers. If a buyer’s wallet rounds the amount, or they edit it by hand, the payment lands on-chain but never matches anything, and the order just sits unpaid. You’ll see it as an unmatched incoming transaction. Either way you’re fixing it manually: refund the stray amount and ask them to check out again, or ship anyway if you’re confident it’s the same customer and the shortfall’s trivial.

Wrong network

This is the one that actually costs money if nobody catches it in time. Ethereum, BNB Chain, and Polygon share the same address format, so a payment sent to the right address on the wrong one of those three chains is recoverable. You just need a wallet that supports that chain to move it back out. Tron uses a completely different address format, though. Send TRC-20 funds to an EVM address, or the other way around, and there’s a real chance they’re gone for good, because the receiving side may not even recognize the format as valid. Worth flagging clearly at checkout: this is a customer-side mistake no gateway can undo after the fact.

Duplicate payment

A customer’s wallet is slow to confirm, they assume it failed, and they send it again. Now there are two matching transactions and one order. Keep the paid order, and refund the second transaction back to whichever wallet sent it, same stablecoin, no conversion needed.

Dispute after delivery

Item didn’t match the listing, arrived damaged, wasn’t what they ordered, the usual reasons a refund gets requested days after a card payment would already be final too. There’s no card network to escalate to if you say no here. Whatever your return policy says is where this actually gets resolved, which is exactly why having a written one matters more with crypto than it does when a processor is backing you up.

crypto payment sent on wrong network

How to send a manual crypto refund

StayCrypto is non-custodial, meaning the plugin never touches your funds. Payments go straight from the buyer’s wallet to yours, and a refund works the same way in reverse: straight from your wallet, with nothing in the plugin to click for it.

  1. Open the order in WooCommerce and confirm the paying wallet address from the matched transaction.
  2. Open your own wallet (the one you entered in the plugin’s settings) and send the refund amount to that address, on the same network the original payment used.
  3. Use the same stablecoin, USDT or USDC, so there’s no exchange-rate step to argue about.
  4. Update the order status in WooCommerce by hand. The plugin watches for incoming payments, not outgoing refunds, so this part isn’t automatic.
  5. Keep the transaction hash. It’s your receipt, and it’s the first thing to send if the customer says they never got it.

Building trust without a chargeback safety net

Card payments carry an implicit promise: if a merchant doesn’t deliver, the bank will eventually make the customer whole. Crypto payments don’t carry that promise, so the merchant’s own policy ends up doing the job the card network usually does. That’s the trade-off crypto chargebacks not existing brings with it.

A refund policy that’s actually visible at checkout, not buried three clicks deep, does more for conversion with a crypto payment option than it does with a card one. Customers already know there’s no bank standing behind this payment method, so they read the merchant’s policy more carefully than usual. Might as well make it easy to find.

Sticking to stablecoins, which is what StayCrypto uses across all four supported networks, removes one whole category of argument: nobody’s debating whether a refund should reflect the price on the payment date or the refund date, because a dollar-pegged token doesn’t move enough for that argument to exist in the first place.

How StayCrypto handles refunds

StayCrypto doesn’t have a refund button. That’s a direct consequence of being non-custodial, not a missing feature. The plugin’s job is watching BNB Chain, Polygon, Tron, and Ethereum for incoming payments and matching them to the right order through the unique-amount system. It never holds a balance it could refund from, because the money goes straight to your own wallet in the first place. There are no crypto chargebacks to defend against here, custodial or not.

So every refund is a transaction you send yourself, from a wallet only you control. Nobody at StayCrypto can process it faster for you, and nobody can block it either. It’s the same trade-off that applies to receiving payments, just running the other direction, and honestly, I’d rather type an address into my own wallet than sit in a support queue waiting for someone else to approve my own money moving.

FAQ

Can a customer dispute a crypto payment through their bank?

Only if they funded the wallet through a card or bank on-ramp, and only for that on-ramp purchase, not the on-chain payment to you. The blockchain transaction itself isn’t something any bank can reach, let alone reverse.

What happens if I send a refund to the wrong address?

The same finality that protects a legitimate payment applies here too. A refund sent to the wrong address isn’t recoverable. Always copy the address directly from the transaction record instead of retyping it.

Does StayCrypto process refunds automatically?

No. Since it’s non-custodial, refunds are a transaction you send from your own wallet, not something the plugin does on your behalf.

Should I refund in the same stablecoin the customer paid with?

Yes. It avoids a conversion step and matches what the customer is actually expecting back.

What if the customer paid on the wrong network?

Recoverable if it’s a mix-up between Ethereum, BNB Chain, and Polygon, since they share an address format. Not reliably recoverable between Tron and any of the other three, since the address formats aren’t compatible.

Will crypto chargebacks ever become a thing?

Unlikely, since finality is a property of the blockchain itself, not a policy choice any single payment provider could reverse.

See the plugin page
Ask a question

Related reading: Custodial vs Non-Custodial Crypto Payment Gateway: 4 Critical Risks You Need to Know

See the plugin page Ask a question