It’s not reasonable because the cost which the fee is covering is not the cost to process the transaction.
It’s three things, in order of their share of the total cost;
1) Rewards programs
2) Fraud risk
3) Interest expense
The rewards are negated, because a refunded transaction earns no points. The fraud risk is zero, because the merchant has returned the funds. This leaves only a portion of the interest expense, assuming the transaction balance was even paid into the merchant account at that point, but then the refund acts to reduce the card balance so that might even cancel out too.
Basically it’s justifiable to hold into the flat fee (e.g. $0.20) but to hold onto the 3% is an absolute scam.
I think it makes sense too, although from a slightly different perspective - that some work was done, and it’s additional work on Stripe (or Stripe’s systems) to refund or reverse a payment. Maybe a small fixed fee makes more sense than a percentage in this case, but either way, refunding a transaction still requires some effort.
It's standard from the consumer side that I see. If you return an item purchased with a foreign currency on a credit card with a forex fee, the forex fee isn't refunded.
the cost to network is often both in forward and reverse side, though most card providers zero out benefits to users so I'm convinced have higher than appropriate margins here (not stripe)