Stripe "charge.dispute.created" webhook: dispute automation playbook
Builds automation on the Stripe charge.dispute.created webhook. Use when you want disputes triaged, evidenced, and tracked without manual inbox watching. Not for dispute prevention.
TL;DR
Treat charge.dispute.created as the start of a timed workflow: classify the dispute reason, pull the order evidence automatically, decide fight or accept by amount and win probability, and submit evidence before evidencedueby. Automate the intake and evidence assembly; keep the fight-or-accept call rule-based with human override for large amounts.
Steps
- Subscribe to charge.dispute.created and store the dispute id, amount, reason, and evidencedueby.
Expected: Every dispute enters your system with its deadline.
- Auto-pull evidence: order record, delivery tracking, customer messages, and the descriptor shown at purchase.
Expected: The evidence pack assembles itself.
- Apply fight-or-accept rules: fight above a value threshold with strong evidence, accept small or weak-evidence disputes.
Expected: Decisions are consistent, not emotional.
- For fights, submit evidence via the API at least 48 hours before the deadline.
Expected: No deadline misses.
- Track win rate by reason code and feed it back into prevention (descriptors, Radar rules).
Expected: Disputes get rarer over time.
When to use
- You want disputes handled without manual monitoring
- Dispute volume justifies automation
- Evidence deadlines are being missed
When not to use
- You have a handful of disputes a year (manual dashboard flow is fine)
- You want to stop disputes happening (prevention playbook instead)
- Amounts are tiny (accepting is cheaper than the evidence labor)
Compatibility
Stripe webhooks charge.dispute.created and charge.dispute.closed; Disputes API. All SDKs.
Variant phrasings
### automate Stripe dispute response
### charge.dispute.created handler
### dispute triage automation Stripe
Root cause
Disputes are time-boxed adversarial processes: the network sets a deadline, the issuer decides fast, and manual inbox-driven handling misses deadlines or submits thin evidence. Automation wins by starting the clock instantly and assembling evidence while humans decide only the judgment calls.
Edge cases
- Test webhooks with dispute fixtures; never test with real chargebacks
- Amounts under the dispute fee may not be worth fighting even with perfect evidence
- Some reasons (duplicate processing with proof) are near-automatic wins: prioritize them
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_FmIA5zXO1c4HzQvwFyAPEw
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.