Back in 2007 Stripe changed how they charge around issuing refunds, but they kept the old rules at play for existing customers.
They have now announced however that as of the 1st May 2020, old customers will face the new style charges, which mean that if you refund a customer, you don't get back the transaction fee you were charged on the initial transaction.
There are no other fees for carrying out a refund, but the fees of typically 1.4% and 20p for european card transactions won't come back to you.
PayPal announced the same change early last year, after years of just keeping the 20p per transaction and still refunding the percentage fee so this isn't a new thing for card payment processors.
A take away for developers from this move is to be careful around test transactions - if you're testing on a live environment, which it's very important to do, only test small value items so the percentage fee is low, and keep live tests to a minimum. For consumers, they may find shops keener to do replacements than refunds or being slightly stricter around refund policies.
Shop owners meanwhile will need to check their refund policies and ensure they're legally correct for customers whilst not leaving themselves open to needing to grant more refunds than they need to. I expect lots of Stripe customers will overlook the emails Stripe have been sending about this change and spend May and April wondering why their Stripe balance isn't looking as healthy as usual!