Asset 20 8 2
Does AI recommend your business? Run the free check →

Join 15,000 business owners, marketers and entrepreneurs. The Sunday newsletter you'll be annoyed only arrives once a week.

Article

Stripe Refunds: How to Issue One, the Rules and Why a Refund Fails

To refund a Stripe payment, find it on the Payments page, choose Refund payment from the overflow menu, and keep the full amount or enter a partial one. Refunds come out of your available Stripe balance, go back only to the original payment method, and usually show up for the customer 5 to 10 business days later.

Here's the catch. Stripe's processing fees from the original transaction aren't returned when you refund, and the refund itself might incur a fee. Cancelling a payment before it completes costs nothing. That's why Stripe suggests manual authorization and capture if you refund a lot of orders soon after purchase: you can cancel or capture less, instead of refunding.

The refund rules at a glance

RuleWhat Stripe says, as of October 2026
Where funds come fromYour available balance, not pending amounts
Balance too lowCard refunds wait as pending; refunds on other methods fail
How muchSeveral refunds per charge are fine, but never more than the original amount
Where it goesOnly the original payment method, never a different card or account
Bulk refundsFull refunds only; partial refunds one at a time
Customer emailSent only if the charge was on a customer with a stored email and Email customers for refunds is on

How to refund in the Dashboard

  1. Open the Payments page and find the payment.
  2. Click the overflow menu to the right of it and select Refund payment.
  3. Keep the full amount, or enter a smaller one for a partial refund.
  4. Choose a reason. If you pick Other, add a note explaining it.
  5. Click Refund.

For several full refunds at once, tick the box beside each payment, even across pages, then click Refund and choose a reason. You can also refund through the Refunds API.

Expired cards and bank debits

Refunds to expired or cancelled cards are handled by the card issuer and usually land on the replacement card. If there isn't one, the issuer typically finds another way, such as a cheque or bank deposit. For ACH, iDEAL and similar methods, handling varies by bank, and a closed account can send the refund back to Stripe as failed.

Bank debit payments carry a risk you might not expect. With SEPA, Bacs, ACH, ACSS, AU BECS or NZ bank debits, if you refund while the customer's bank also opens a dispute, the customer could be credited twice. Check each method's refund guidelines before refunding a disputed debit.

Why a refund fails

A refund fails when the customer's bank or card issuer can't process it, for example because the account's closed. The funds return to Stripe and go back into your balance, which can take up to 30 days. Stripe sends a refund.failed event, and it's then on you to find another way to repay the customer.

Failure reasonWhat it means
charge_for_pending_refund_disputedThe customer disputed while the refund was pending; Stripe suggests handling the dispute instead
declinedStripe's financial partners declined it
expired_or_canceled_cardThe payment method was cancelled or expired
insufficient_fundsIt sat pending for lack of balance past the expiry window
lost_or_stolen_cardThe original card was reported lost or stolen
merchant_requestIt failed at the business's request

Refunds that need the customer's bank details

Some methods have no built-in refund route, including Konbini, PromptPay, Boleto and bank transfers. Stripe emails the customer for their bank details, and the refund sits in requires_action until they reply. If they don't respond before the deadline, it fails. If their bank rejects the transfer because of a typo or name mismatch, it goes back to requires_action and Stripe asks them again. You can cancel it at that stage if you'd rather repay another way.

Reversals, references and tracing a refund

A refund issued shortly after the charge may go through as a reversal. The original charge simply drops off the customer's statement and no separate credit appears, which is why some customers say they never saw a refund. You can check on the payment's Timeline under View Details.

When a customer chases you, give them a reference to take to their bank. For cards that's usually an Acquirer Reference Number, or a STAN or RRN where the network doesn't use ARNs. The ARN can take up to 7 business days to arrive from banking partners, and there isn't one for a reversal.

Cancelling a refund

Some card refunds can be cancelled for a short time, from the Dashboard only, as long as they haven't gone through as a reversal. Open the payment, choose Cancel refund from the overflow menu, pick the right refund if there are several partials, and confirm with Yes, cancel refund. Refunds waiting on bank details can be cancelled by API or Dashboard.

Work with me

Want AI doing the heavy lifting in your marketing?

I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.

Connect platforms and refund events

On Connect, direct charge refunds debit the connected account, while destination charge and separate charge and transfer refunds debit your platform, so reverse the transfers to recover the funds. Whatever your set-up, Stripe recommends listening for at least the refund.created event and building your own logic to tell customers or your team where a refund stands.

My verdict on Stripe refunds

I'd turn on Email customers for refunds today, and save the ARN for any customer who chases, because most refund complaints are a customer who can't see it yet. If you refund often right after purchase, look at manual capture, since cancelling is free and refunding isn't. Keep enough available balance to cover refunds, and read how Stripe payout timing works so you know when that balance fills up. For the full picture of what each charge costs you, here's a breakdown of Stripe's fees by country.

Refunds are a workflow, not a button, and the businesses that handle them calmly usually have the steps automated. I run AI training and workshops for teams, and help businesses with AI enablement, AI automation and workflow set-up, so the tools you already pay for do more of the work. Most of that work is with SaaS marketing teams and small businesses. Here's how we can work together.

Frequently asked questions

Does Stripe return fees when you refund?

No. Stripe's processing fees from the original transaction aren't returned, and the refund might incur a fee. Cancelling a payment before it completes is free.

How long do Stripe refunds take to reach the customer?

Customers usually see the credit about 5 to 10 business days after you issue it, depending on their bank.

Can I refund to a different card in Stripe?

No. Refunds can only go back to the original payment method used for the charge.

What happens if my Stripe balance can't cover a refund?

Card refunds stay pending until your balance is sufficient. Refunds for other payment methods fail.

Can I issue partial refunds in bulk in Stripe?

No. The Dashboard's bulk refund option only handles full refunds. Partial refunds must be issued one at a time.

Published and maintained by the Lilach Bullock team, covering marketing, AI and business growth.
Your buyers are asking AI who to use. Does it say you?

See for free whether ChatGPT, Claude, Perplexity, Gemini and Google name you, and get the plan to become the answer.

Check my AI visibility →
Sundays only

Get the Sunday newsletter.

One email a week. AI experiments, marketing tactics, and the workflows Lilach is building right now in her own business.

Subscribe free

Let’s get your marketing running on AI.

Book a free 30-minute call

We figure out what you need, where AI fits in, and what working together would look like.

Book the call →

Or take the 30-second calculator

You’ll see the hours and the money quietly leaking out of your week, and the three workflows worth building first.

Take the calculator →

Or grab the free AI resource library

Prompt packs, templates, checklists, and swipe files. The exact tools I build for paying clients. Yours, free.

Get the library →
Keep reading

More from the blog.