Dispute
A dispute is Stripe's object for a chargeback — a cardholder's bank reversing a payment; it opens with a deadline the merchant must meet to fight it.
A dispute is Stripe's representation of a chargeback: a cardholder's bank has reversed a payment, and Stripe creates a Dispute object to track it. The funds are withdrawn from your balance while the case is open, and you get a window to respond with evidence or accept the loss.
How a dispute works in Stripe
When an issuer files a chargeback, Stripe fires the charge.dispute.created event and debits the disputed amount (plus a fee) from your balance. The Dispute object carries a reason (such as fraudulent, product_not_received, or subscription_canceled), a status, and an evidence_details.due_by timestamp — the deadline to submit your response.
You can either accept the dispute (concede and keep the reversal) or challenge it by uploading dispute evidence, which begins representment. As the case progresses, Stripe emits charge.dispute.updated and finally charge.dispute.closed with a status of won or lost.
The fee
Stripe charges a dispute fee — $15.00 in most markets — when a dispute is created. Whether that fee is returned if you win depends on your region and Stripe's current policy, so treat it as a real cost of every dispute. See dispute fee for detail.
Why disputes matter
- Time-sensitive — missing the
due_bydeadline means an automatic loss, so speed matters. - Costly — you lose the amount, the fee, and often the shipped goods.
- Trackable — networks watch your dispute ratio, and an early fraud warning can flag risk before a dispute even lands.
ChargeBell treats a new dispute as a critical alert: it posts dispute created to Slack the moment Stripe reports it, so someone can start gathering evidence right away instead of finding out after the deadline.
Related terms
Updated July 6, 2026