## 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 evidence_due_by. Automate the intake and evidence assembly; keep the fight-or-accept call rule-based with human override for large amounts.

## Steps

1. Subscribe to charge.dispute.created and store the dispute id, amount, reason, and evidence_due_by.
   Expected: Every dispute enters your system with its deadline.
2. Auto-pull evidence: order record, delivery tracking, customer messages, and the descriptor shown at purchase.
   Expected: The evidence pack assembles itself.
3. 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.
4. For fights, submit evidence via the API at least 48 hours before the deadline.
   Expected: No deadline misses.
5. 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
