DEV Community

failedpaymentskits
failedpaymentskits

Posted on

How to Answer a Stripe Dispute by Reason Code – A Practical Guide

How to Answer a Stripe Dispute by Reason Code – A Practical Guide

When a customer disputes a charge, Stripe emails you and shows a response deadline on the dispute in the Dashboard.

If you don't submit evidence by that deadline, the dispute is lost and the money stays with the customer. The deadline depends on the card network, so there is no fixed number of days: always go by the date the Dashboard shows.

Below is a checklist for the most common dispute reasons:

Reason What you need to show Typical evidence Tips
fraudulent The cardholder made or authorized the purchase. • Order confirmation and receipt
• Billing/shipping address match and AVS/CVC results
• IP address, device or login history
• Past undisputed orders from the same customer
Show that the person who paid is the person who used the product: logins, downloads, delivery to their address.
product_not_received The product or service was delivered. • Tracking number and carrier delivery confirmation
• For digital goods, access or download logs with timestamps
Match the delivery address to the one on the order.
subscription_canceled The customer didn't cancel before the charge, or knew the cancellation terms. • Your cancellation policy and where the customer agreed to it
• Account activity after the date they say they canceled
• Renewal reminder emails you sent
If they did cancel in time, a refund is usually cheaper than a fight.
duplicate The two charges were for separate purchases, or one was already refunded. • Both charge IDs with their separate orders
• The refund record, if you refunded one
If it really was a double charge, refund it and accept the dispute.

Why the deadline matters

You get one submission. Once you submit evidence (or the deadline passes), you can't add more, so gather everything first and submit before the date in the Dashboard.

Step‑by‑Step Workflow

  1. Check the Dashboard

    • Open Payments → Disputes in the Stripe Dashboard.
    • Open the dispute and note its reason and its response deadline.
  2. Gather evidence

    • Use the table above to decide what the reason calls for.
    • Stick to facts the bank can check: dates, IDs, addresses, logs. Skip long emotional explanations.
  3. Submit it in Stripe

    • On the dispute page, choose to counter the dispute and fill in the evidence form Stripe gives for that reason.
    • Upload files where it asks and write a short, factual summary.
  4. After you submit

    • The dispute moves to under review. The card issuer decides the outcome, not Stripe.
    • You'll see the result on the dispute page and get an email when it's decided.

Common Pitfalls to Avoid

Pitfall How to fix it
Missing the deadline Set a reminder a few days BEFORE the response deadline, not on it.
Submitting in a hurry You only get one submission; don't submit half the evidence to "hold your place".
Generic screenshots Every screenshot should show the specific order or charge ID, dates and status.
Leaving out customer messages If the customer confirmed the order by email or chat, include it.

Quick Reference: Where to Find Evidence

Evidence type Where to find it
Order confirmation Your store or e‑commerce platform's order page
Shipping confirmation The carrier's tracking page
Subscription status and history Your billing system or the customer's subscription in Stripe
Cancellation policy acceptance Your checkout or sign‑up page, and the terms the customer accepted

Final Thoughts

Answering a dispute well comes down to matching the evidence to the reason and submitting before the deadline in the Dashboard.

There's a longer walkthrough by reason on our site: how to answer a Stripe dispute. If disputes keep coming up, the Stripe Dispute Evidence Kit is a one-time download to help you put the evidence together.

This article was written with AI assistance.

For more resources on Stripe payments, visit stripe-revenue-leakage-watchdog.pages.dev.

Top comments (0)