Stripe Fees, Refunds and Disputes Explained

Stripe takes its processing fee on every charge, and — importantly — keeps that fee when you refund. Disputes add their own fee. These three things (fees, refunds, disputes) are the main ways your Stripe balance ends up lower than the payments you collected.

The short answer: a charge adds amount − fee to your balance. A refund subtracts the full refunded amount but does not give back the original processing fee. A dispute reverses the charge and adds a dispute fee (returned only if you win). Stripe does not charge a fee to send a normal payout.

Processing fees on every charge

Stripe charges a per-transaction fee on each successful payment. For most accounts this is a percentage of the charge plus a fixed amount (for example, 2.9% + $0.30 per successful card payment in the US — your exact rate depends on your country and payment method). The fee appears as a stripe_fee balance transaction and is subtracted before the money is yours. Stripe does not charge a fee to initiate a normal payout.

Refunds: the original fee is not returned

When you refund a payment, Stripe reverses the charged amount, but the processing fee from the original transaction is not returned. As Stripe’s own support notes, for standard pricing there is usually no extra charge to issue a refund, but “Stripe’s processing fees from the original transaction aren’t returned.” You can refund the full amount or a partial amount; either way the fee stays with Stripe. The refund itself shows up as a refund balance transaction with a negative amount.

Disputes (chargebacks): a separate fee

A dispute (also called a chargeback) is opened when a cardholder’s bank reverses a payment. Two things happen:

The dispute fee is returned if you win the dispute (you submit evidence and it resolves in your favor) and not returned if you lose. In either case the disputed amount itself is already reversed.

A worked example

Suppose you take two charges, then refund one in full and lose a dispute on the other (US example rates: 2.9% + $0.30 fee, $15 dispute fee):

How fees, a refund and a dispute change your balance
Event Category Gross Fee Net
Charge Acharge100.003.2096.80
Charge Bcharge50.001.7548.25
Refund of Charge Arefund−100.000.00−100.00
Dispute on Charge Bdispute−50.0015.00−65.00
Net change to your Stripe balance−19.95

Even though you collected $150.00 in charges, the full refund (you ate Charge A’s $3.20 fee) and the lost dispute (the $50 plus a $15 fee) leave your balance −$19.95 on this batch. The original processing fees are gone, and the dispute fee is not returned because the dispute was lost.

How to check fees, refunds and disputes in Stripe

  1. Open Payments and Balances

    In the Dashboard, open Payments to see each charge and refund, and Balances for the running total. Each event is a balance transaction.

  2. Review the Payout reconciliation report

    The itemized payout reconciliation report groups every row by reporting category — charge, refund, stripe_fee, dispute — so you can see how much each one removed from the payout.

  3. Check dispute status

    Open Disputes to see whether a dispute is won, lost or under review. The dispute fee is returned only when the dispute is won.

  4. Sum the Net column

    Add up net across the batch. It should equal the change in your balance — and, once settled, the payout.

Common misunderstandings

How Stripe Money Detective can help. Stripe Money Detective imports the Payout Reconciliation (Itemized) CSV and groups every balance transaction by reporting category — charges, refunds, Stripe fees, disputes and adjustments — so you can see exactly how much each one changed the payout. It flags duplicate balance transaction IDs instead of double-counting them and marks a payout Unverified when a row is missing or cannot be parsed. It supports automatic payouts in a single currency and runs entirely on your Mac — no Stripe connection, no upload. It explains the numbers; it is not accounting or tax advice. See how it works.

Related official resources