Why there is no chargeback
A confirmed blockchain transaction cannot be undone. Nobody sits between payer and payee with authority to pull funds back, which is the property that removes chargeback risk from crypto payments and, in the same movement, removes the customer’s recourse.
For a merchant this is the main commercial argument for crypto rails, particularly in high-risk categories where card processing runs 5 to 10 percent largely because of dispute exposure.
It also means a refund policy has to exist and be visible, because a customer with no recourse is a customer deciding whether to trust you before paying.
The three decisions
Decision one: which address
The trap sits here, and it is not obvious.
Do not refund to the sending address by default. That address frequently belongs to an exchange, because the customer withdrew directly to your invoice. An exchange deposit address expects a specific memo or belongs to a different user entirely, and a refund sent there can be credited to somebody else or lost outright.
Ask the customer for a refund address explicitly, every time. This costs one message and prevents the failure mode that generates the worst support conversations.
Decision two: which amount
Genuinely hard, and the policy has to be written before the first refund.
A customer paid for a 100-dollar order. Between purchase and refund the coin moved. Three options exist and each is defensible.
Same crypto amount
Simple, and the customer gains or loses on the price movement.
Same fiat value
The customer is made whole in the terms the price was quoted in, and the merchant absorbs the movement.
Value at refund date
Whatever the coin is worth now, in the original amount.
Which of the three to choose
Most businesses settle on the same fiat value, because the price was quoted in fiat and that is what the customer agreed to pay. Whichever you choose, publish it, since a customer discovering the policy during a dispute assumes the worst interpretation.
How stablecoins remove the question
Refunds in stablecoins avoid the question entirely, which is one more reason they carry most gateway volume.
Decision three: who pays the fee
The refund transfer costs a network fee, and somebody absorbs it.
Deducting it from the refund is common and needs stating in the policy. Absorbing it is friendlier and, on an expensive network, non-trivial: a refund on Ethereum during congestion can cost several dollars. Choosing a cheap network for refunds where the customer accepts it solves most of this.
Partial refunds and what to record
Partial refunds work identically, sent for part of the amount.
Record the refund against the original payment with both transaction hashes, the crypto amount, the fiat equivalent at refund time and the reason. Accounting needs the pair, and a dispute six months later needs the reason. A payment gateway stores this automatically, and the setup guide covers how it reaches your records.