Understanding the Stripe refund process

Stripe submits refunds to your customer's bank immediately, but depending on the bank processing time, it can take anywhere from 5-10 business days to show up on your customer's statement. The refund always goes back to the same card or account the customer paid with.

In some cases, the refund may be processed as a reversal, meaning the original payment will simply disappear from the account statement as though the charge never occurred. This typically happens when you refund shortly after the original charge, which is common when a customer changes their mind at the counter.

Setting expectations with your customer

Customers can act in many unexpected ways when they are waiting on a refund. Let your customer know that you have processed the refund, send along a screenshot showing it, and let them know it may take 5-10 business days to appear on their statement.

One helpful item we've found is to also give the customer a reference number. Where available, Stripe shows one for card refunds (usually an ARN) in your Dashboard within 7 business days. Your customer can take that number to their bank to trace the refund, and it gives them confidence that you understand the process.

Where does the refund money come from?

The refund is taken from your available Stripe balance. If your available balance can't cover a card refund, Stripe holds it as pending until new payments come in or you top up your balance, and in some regions Stripe may debit your bank account for the difference. Unfortunately, Stripe automatically fails a pending refund after 45 days, so keep an eye on any Refund Pending status in your Dashboard.

Does Stripe return its fees when I refund a payment?

No. Stripe keeps the processing fee from the original charge, even on a full refund. In the US that's 2.7% + 5c for in-person cards and 2.9% + 30c for online cards, so refunding a $100 in-person sale still costs you $2.75. Stripe explains that the banks and card networks generally keep the upfront cost of a refunded transaction.

Our fee works differently. The Payment for Stripe app adds 1.2% per sale, and when you refund from inside the Payment app, our fee is returned along with the refund, including the 15c minimum on newer accounts. A partial refund returns a proportional share. Refunds made from the Stripe Dashboard can't return our fee, because Stripe only lets the app that created the charge refund its fee, so refund from the app whenever you can.

Can I give a partial refund?

Yes. You can issue more than one partial refund on the same charge, as long as the total doesn't exceed the original amount. In the Payment app, tapping Refund asks "How much should be refunded?" and fills in whatever is left, so a partial refund is just a different number. In addition, Interac payments in Canada can only be refunded in person, so the app runs those through your connected card reader with the customer's card.

Can I refund a payment that has been disputed?

No. Once a customer opens a dispute (a chargeback) with their bank, Stripe pulls the disputed amount plus a dispute fee ($15 in the US) from your balance, and you can't issue a refund while the dispute is open. If you agree the customer should get their money back, accept the dispute. The dispute fee applies either way.

It's possible, however uncommon, for a customer to dispute the full amount after a partial refund. Always respond with the refund's amount and date, since card issuers are generally willing to correct it. Learn more in our guide to Stripe disputes and chargebacks.

What happens if my customer doesn't see the refund after 10 business days?

First, open the refund's details in your Stripe Dashboard to see whether it went through as a reversal. If it was a reversal, the original charge has dropped off the statement and there is no separate credit to find. Otherwise, the customer should reach out to their bank with the reference number.

What about if the refund failed?

A refund can fail if the bank or card issuer is unable to process it, for example on a closed account. When a refund does fail, the funds return to your Stripe balance, which can take up to 30 days. Although very rare, Stripe will notify you so you can organize another avenue for refunding your customer.

Refunds are issued from the same place you take the payment. See how charges and refunds work in the Payment app.

Ryan Scherf

Ryan Scherf

Solo-founder. Engineer. Designer.
Minneapolis, MN