Reference8 min read

Disputed a Stripe Charge? Here's What It Actually Costs

A lost Stripe dispute on a $100 transaction costs $118.20 — principal + processing fee + $15 dispute fee. Plus operational time. The full economics by category, win rate by dispute reason, and the framework for fight vs accept decisions.

A customer disputes a charge. What does it actually cost you? The intuitive answer — "I lose the transaction value if I lose the dispute" — undercounts by a factor of 2 to 3. This article walks through the full cost of disputes on Stripe, including the parts that aren't visible in the dispute notification email.

Use the refund/dispute calculator to model your specific scenario.

The Full Cost of a Lost Dispute

When a customer files a chargeback that results in a lost dispute on Stripe:

  1. Principal returned to customer. The full transaction amount is debited from your Stripe balance and returned to the customer's bank.
  2. Original processing fee retained. Stripe keeps the original 2.9% + 30¢ (or whatever rate applied). It's not refunded.
  3. $15 dispute fee retained. Stripe charges $15 for handling the dispute, retained whether you accept or fight.
  4. Time/operational cost. Gathering evidence and submitting a response takes 30-60 minutes per dispute.

For a $100 US transaction:

  • Principal lost: $100
  • Original fee retained by Stripe: $3.20
  • Dispute fee: $15
  • Total direct loss: $118.20

Plus operational time. At $50/hour internal cost, ~$25 in labor per dispute. Total ~$143 per lost $100 dispute — 1.43x the transaction value.

When You Win the Dispute

A successful dispute defense recovers the principal and the $15 dispute fee, but the original processing fee stays with Stripe (because the transaction stayed completed):

  • Principal: returned to your account
  • Original processing fee: retained by Stripe ($3.20 on a $100 transaction)
  • $15 dispute fee: refunded
  • Net cost: $3.20 + operational time

This is the same economic outcome as a normal completed transaction. You're not "losing" anything beyond what you would have paid in fees anyway. The dispute event itself has no economic penalty if you win.

Win Rates Vary Wildly by Category

Industry data on dispute win rates:

  • Subscription / SaaS with usage records: 50-70% win rate. Strong evidence (login records, feature usage).
  • Physical goods with delivery confirmation: 40-60% win rate. Tracking number + signature is strong evidence.
  • Digital goods: 20-40% win rate. Hard to prove the customer actually used what they bought.
  • Services / consulting: 30-50% win rate. Depends entirely on contract terms and evidence quality.
  • Subscription without usage logs: 20-30% win rate. The "I didn't authorize this" claim is hard to refute.

For most categories, fighting most disputes makes economic sense. For digital-goods categories with low win rates, accepting can be cheaper net of operational time.

When to Fight vs Accept

A simple framework:

Fight when:

  • Transaction value > $50 (above $15 + processing fee + operational time threshold)
  • You have evidence: delivery records, usage logs, customer communications, proof of agreed terms
  • The dispute reason is something like "product not received" or "not as described" where evidence directly addresses the claim
  • Win rate in your category > 30%

Accept when:

  • Transaction value < $50 (operational time exceeds expected recovery)
  • Dispute reason is "fraudulent transaction" and you can't prove the customer authorized it
  • The customer has a legitimate complaint (defective product, service not delivered) — fighting is unethical
  • Win rate in your category < 20%

The middle ground: many merchants categorize disputes by reason code and run rules — auto-accept $1-50 disputes with weak evidence, fight $50+ disputes with strong evidence, manually review the rest.

Dispute-Reason Codes Matter

Stripe surfaces the dispute reason — the specific category of customer complaint — in every dispute notification. Different reasons have different optimal responses:

  • Fraudulent / unauthorized. Customer claims they didn't authorize the charge. Hardest to win — proof of authorization (CVV, AVS, 3DS) helps but isn't decisive. Win rate 25-40%.
  • Product not received. Customer didn't get what they paid for. Easiest to win with delivery confirmation. Win rate 60-75%.
  • Product unacceptable. Customer received the product but claims it's defective. Win rate 30-50% — depends entirely on evidence quality.
  • Subscription canceled. Customer claims they canceled but you charged them anyway. Win rate 50-70% with cancellation logs.
  • Duplicate / credit not processed. Operational disputes — usually best to accept and refund directly.

The dispute reason is the strongest predictor of optimal response. Build a per-reason policy.

Reducing Dispute Rate

Disputes are mostly preventable. Practical levers:

1. Clear billing descriptors. Customers who don't recognize a charge on their statement often dispute it. Stripe lets you set a custom billing descriptor — make it match your brand name, not your legal-entity LLC.

2. Email after every recurring charge. A simple "your subscription was charged $X" email reduces "I forgot I had this subscription" disputes by 30-50%. Stripe Billing has this built in.

3. Subscription cancellation that actually works. If your cancellation flow is broken (or hidden), customers will dispute the charge instead of dealing with cancellation. Make cancellation one click.

4. 3D Secure / SCA enforcement. Mandatory in EU/UK; optional in US. Enabling 3DS where optional shifts liability for fraudulent dispute claims to the issuing bank. Lower dispute rate, slightly higher friction at checkout.

5. Stripe Radar. The free tier catches obvious fraud. Radar for Fraud Teams ($0.05/screen) adds rules-based controls for high-risk categories. Pays for itself in chargeback prevention for most consumer e-commerce.

Modeling Dispute Cost in Your Forecasts

For SaaS at 0.1% chargeback rate (typical for subscription businesses), $1M/year in revenue:

  • ~10 disputes/year
  • Win rate 50%
  • 5 lost disputes × ~$100 average × 1.43 multiplier = ~$715/year in dispute losses
  • 5 won disputes × ~$15 retained processing fee = ~$75/year (negligible)
  • Total dispute cost: ~$800/year

For e-commerce at 0.5% chargeback rate (consumer goods):

  • ~50 disputes/year on $1M revenue
  • Win rate 35%
  • 32 lost disputes × ~$50 average × 1.43 = ~$2,300/year
  • Plus Radar Fraud Teams cost if enabled: $0.05 × ~50,000 transactions = $2,500/year
  • Total: ~$5,000/year

These aren't small numbers. For consumer e-commerce in fraud-prone categories, dispute cost can equal 0.5-1% of revenue — a real line item in unit economics.

What Stripe Doesn't Tell You

A few things worth knowing:

1. Dispute rate threshold. Card networks (Visa/Mastercard) have dispute rate ceilings. Above ~1% chargeback rate, you can land on a "monitoring program" that costs more (additional fees per dispute) and threatens loss of card processing entirely. Stripe will warn you, but it's on you to keep the rate low.

2. Friendly fraud is the dominant pattern in some categories. "Friendly fraud" — a real customer disputing a real charge — accounts for 50-70% of disputes in subscription businesses. The customer wasn't defrauded; they regret the purchase or forgot they signed up. Better cancellation UX prevents most of these.

3. Stripe Smart Disputes (a Radar feature) can auto-respond. For high-volume merchants, Smart Disputes uses ML to write evidence packages automatically. Win rates are roughly comparable to manual response with much less operational time. Worth enabling at high volume.

For most businesses, disputes are an underweighted cost. Run yours through the refund/dispute calculator, forecast accurately, and decide whether the operational investment in reducing dispute rate pays off. For most consumer-facing businesses with chargeback rates above 0.3%, it does — and the ROI compounds at every level of revenue.

Try the tools