Chargeback Prevention

Understanding Chargeback Disputes

What happens when a customer disputes a charge, and how Fidro helps you respond.

5 min read Last updated March 13, 2026

A chargeback dispute happens when a customer contacts their bank to reverse a charge. This guide explains the dispute lifecycle and how Fidro helps you handle them.

The dispute lifecycle

  1. Customer contacts their bank — They claim the charge is fraudulent, not as described, or unauthorized
  2. Bank creates a dispute — The charge amount is immediately deducted from your Stripe balance
  3. Stripe notifies you — You get a charge.dispute.created webhook event
  4. Fidro processes the event — The transaction is marked as "Disputed" in your dashboard
  5. You respond (or Fidro auto-refunds) — You have a limited window to submit evidence or accept the dispute
  6. Bank decides — The bank reviews evidence and rules in your favour or the customer's

How Fidro handles disputes

When Fidro receives a charge.dispute.created event:

  1. It finds the matching transaction in your dashboard (by charge ID)
  2. It marks the transaction as Disputed with the reason, status, and timestamp
  3. If you have auto-refund on dispute enabled, it issues a refund via the Stripe API
  4. If you have dispute notifications enabled, it emails you immediately

Dispute reasons

Stripe categorises disputes by reason. Common ones:

Reason What it means
fraudulent Customer claims they didn't make the purchase (most common)
duplicate Customer claims they were charged twice
product_not_received Customer claims they didn't receive what they paid for
product_unacceptable Customer received the product but claims it's defective
subscription_canceled Customer claims they cancelled but were still charged
unrecognized Customer doesn't recognise the charge on their statement

Why early detection matters

The best way to handle disputes is to prevent them. Fidro's risk scoring catches high-risk transactions at payment time, before the customer has a chance to dispute.

If a transaction scores 85/100 at payment time and you auto-refund it, that's a $0 loss. If you let it through and the customer disputes it 30 days later, you lose the transaction amount plus the $15–$25 dispute fee.

Viewing disputes in your dashboard

The Transactions page shows dispute status for every transaction:

  • Purple "Disputed" badge — A dispute has been filed
  • Grey "Refunded" badge — The transaction was refunded (manually or automatically)

Click any disputed transaction to see the full details: dispute ID, reason, status, and timestamp, along with the original risk score and checks.

Protecting your chargeback ratio

Stripe monitors your chargeback ratio (disputes / total transactions). If it exceeds 0.75–1%, you risk:

  • Higher processing fees
  • Mandatory holds on your balance
  • Account review or termination

Fidro helps keep your ratio low by:

  1. Scoring transactions at payment time to catch fraud early
  2. Auto-refunding high-risk payments before disputes are filed
  3. Alerting you to disputes so you can respond quickly