How Stripe's two-tier fee model changes dispute economics, when to use Smart Disputes vs. manual submission, and how to build winning responses using Stripe's 20+ structured evidence fields.
Stripe is the most technically sophisticated payment processor for dispute management. It also became the most expensive to fight chargebacks on in 2025. Understanding both realities is essential to winning strategically.
The 2025 two-tier fee model fundamentally changed dispute economics on Stripe. Previously, a single $15 fee was refunded if you won. Now, the initial $15 is never refunded, and a second $15 "dispute countered" fee is charged only if you choose to fight. The counter fee is refunded if you win. This means every contested dispute costs at minimum $15 (if you win) or $30 (if you lose) — plus the lost transaction. Blanket representment is no longer economically viable. Every dispute is now a financial decision.
Stripe automatically includes basic transaction data when forwarding your response: payment amount, date, customer name and email, billing address, payment method details, and transaction ID. This establishes that a charge occurred but does not make the case that the dispute is invalid.
Stripe receives alerts from card networks before some chargebacks are formally filed. These Early Fraud Warnings give you a window to act proactively — issue a refund, contact the customer, or prepare evidence. According to Stripe, 80% of EFWs that go unaddressed become formal chargebacks. A proactive refund on an EFW costs you the transaction but saves both the $15 dispute fee and a mark on your chargeback ratio.
Stripe supports Visa's CE3.0 framework for fraud disputes. If you can provide data from two or more prior undisputed transactions with the same customer (matching IP address, device ID, or shipping address), Visa will shift liability to the issuer. This is powerful for subscription businesses and repeat customers.
Stripe offers the most structured evidence submission system of any processor. Instead of a single file upload, Stripe provides 20+ named fields organized by category. Using these fields correctly is a significant advantage — banks receive a professionally formatted evidence packet rather than an unstructured PDF dump.
| Field Category | Key Fields | Type |
|---|---|---|
| Customer info | customer_name, customer_email_address, customer_purchase_ip, customer_signature, customer_communication | Text + file uploads |
| Product / service | product_description, receipt | Text + file upload |
| Shipping | shipping_address, shipping_carrier, shipping_date, shipping_documentation, shipping_tracking_number | Text + file upload |
| Cancellation / refund | cancellation_policy, cancellation_policy_disclosure, cancellation_rebuttal, refund_policy, refund_policy_disclosure, refund_refusal_explanation | Text + file uploads |
| Duplicate charge | duplicate_charge_id, duplicate_charge_documentation, duplicate_charge_explanation | Text + file upload |
| Service evidence | service_date, service_documentation | Text + file upload |
| Other | access_activity_log, billing_address, uncategorized_file, uncategorized_text | Text + file upload |
dispute_evidence. PDF, JPEG, PNG accepted.submit: false to stage evidence incrementally. Staged evidence is visible in Dashboard and API. Submit when ready by setting to true.Stripe's structured fields are your competitive advantage. Fill every relevant field — customer_name, shipping_tracking_number, product_description — not just uncategorized_text. When the bank receives your evidence, it arrives as a professionally structured packet with labeled sections. Merchants who dump everything into the uncategorized fields waste this advantage and force the reviewer to parse an unstructured wall of text.
Stripe maps each payment method's reason codes into 14 internal categories. Unlike most processors, Stripe also surfaces the exact network reason code in the dispute detail view. This transparency is valuable — use it.
| Stripe Category | Visa | Mastercard | Amex |
|---|---|---|---|
| fraudulent | 10.4 | 4837, 4863 | F29 |
| unrecognized | 10.4 | 4837 | F29 |
| product_not_received | 13.1 | 4853 | C08 |
| product_unacceptable | 13.3 | 4853 | C31 |
| subscription_canceled | 13.7 | 4841 | C28 |
| duplicate | 12.6.1 | 4834 | P08 |
| credit_not_processed | 13.6 | 4860 | C32 |
| customer_initiated | 13.7 | 4853 | varies |
| general | varies | varies | varies |
Stripe is the only major processor that consistently surfaces the exact network reason code in the dispute detail view. On Shopify, WooCommerce, PayPal, and Square, you often see only a simplified category and must dig to find the actual code. On Stripe, it is right there. Use it. Match your evidence to the specific network code requirements, not just the Stripe category label. This single practice improves win rates more than any other.
customer_purchase_ip, customer_email_address, billing_address, shipping_address (match to billing), delivery confirmation, prior transaction history (CE3.0)shipping_tracking_number, shipping_carrier, shipping_documentation, delivery confirmation with signatureproduct_description, customer_communication, product photos, terms of servicecancellation_policy, cancellation_policy_disclosure, cancellation_rebuttal, proof customer agreed to termsduplicate_charge_explanation, duplicate_charge_documentation, duplicate_charge_id (reference the other charge)Stripe's 2025 fee model transforms every chargeback from a simple "fight or accept" decision into a three-way choice: accept, use Smart Disputes, or fight manually. Each has different costs, different evidence quality, and different expected outcomes.
| Option | Cost if You Lose | Cost if You Win | Best When |
|---|---|---|---|
| Accept the dispute | $15 fee + transaction amount | N/A | True fraud, weak evidence, low-value transactions where fight ROI is negative |
| Smart Disputes (AI) | $15 fee only (no counter fee) | $15 fee + 30% of recovered amount | Sub-$50 disputes, limited external evidence, high volume with low staff bandwidth |
| Manual submission | $15 fee + $15 counter fee | $15 fee only (counter fee refunded) | High-value disputes, strong external evidence (emails, contracts, delivery proof) |
Smart Disputes uses AI to automatically gather and submit evidence from Stripe's internal data. It waives the $15 counter fee but charges 30% of any recovered amount. The break-even point is clear:
Smart Disputes only uses Stripe's internal data — transaction records, payment method details, and basic customer information. It cannot access your CRM, email correspondence, customer service logs, delivery photos, or signed contracts. For disputes where external evidence is your strongest material, manual submission will produce a stronger response despite the $15 counter fee.
submit: false and review everything in the Dashboard before final submissionUse a hybrid strategy. Route sub-$50 disputes with limited external evidence to Smart Disputes — the cost is equivalent to manual and requires no staff time. Route high-value disputes with strong external evidence (emails, contracts, delivery photos) to manual submission — you save significantly on the success fee and can include evidence Smart Disputes cannot access.
These patterns appear repeatedly in losing Stripe dispute responses. The 2025 fee model makes several of them more costly than before.
Before 2025, contesting a Stripe dispute cost $15, refunded if you won. The downside of fighting a weak case was minimal. Now, losing costs $30 ($15 non-refundable + $15 counter fee). Merchants who contest every dispute without calculating expected value are spending more on fees than they recover.
Calculate expected value before contesting: transaction amount × estimated win probability − $15 counter fee. If the result is negative, accept the dispute. At a 30% win rate, the break-even transaction value for manual submission is roughly $50.
Stripe provides over 20 structured evidence fields. Merchants who ignore these and paste everything into uncategorized_text waste the most powerful advantage Stripe offers. Banks receive a formatted evidence packet with labeled sections. When everything is in one unstructured field, the reviewer must parse a wall of text.
Map your evidence to Stripe's named fields: tracking number goes in shipping_tracking_number, customer emails go in customer_communication, your cancellation terms go in cancellation_policy. Use uncategorized_text only for your rebuttal letter and anything that does not fit a named field.
Stripe receives Early Fraud Warnings from card networks before chargebacks are formally filed. According to Stripe, 80% of unaddressed EFWs become chargebacks. Merchants who ignore these warnings lose the opportunity to resolve the issue proactively.
Set up webhooks for radar.early_fraud_warning.created events. When you receive an EFW, evaluate immediately: is this likely friendly fraud (fight it) or legitimate fraud (refund proactively)? A proactive refund costs the transaction amount but saves the $15 dispute fee and keeps the dispute off your chargeback ratio.
Smart Disputes waives the $15 counter fee but charges 30% of recovered amounts. On a $500 dispute, that is $150 — ten times the manual counter fee. Merchants who route all disputes through Smart Disputes without considering the math are overpaying on their wins.
Set a threshold. Below $50, Smart Disputes makes economic sense (30% fee roughly equals the manual counter fee). Above $50, manual submission is cheaper — especially if you have strong external evidence that Smart Disputes cannot access. Above $100, manual is almost always the better choice.
Stripe enforces a 0.75% dispute rate threshold — stricter than Visa's 0.9% VDMP trigger. Stripe can restrict or close your account if your dispute activity is excessive, even if you are not technically in a card network monitoring program. Merchants who focus only on individual disputes without tracking their overall rate risk losing their processing capability entirely.
Monitor your dispute rate weekly in the Stripe Dashboard under Payments > Disputes. Track by dispute date and by charge date (Stripe reports both). If your rate approaches 0.5%, shift resources to prevention: Stripe Radar tuning, billing descriptor clarity, proactive EFW responses, and customer service improvements.
Stripe's transparency and structured evidence fields give merchants a real advantage — but the 2025 fee model means win rates directly affect your bottom line in ways they did not before.
| Vertical | Estimated Win Rate | Notes |
|---|---|---|
| Apparel & fashion | ~36% | Strong delivery evidence drives wins. Signature confirmation is the differentiator for high-value items. |
| Consumer electronics | ~17% | Higher values increase issuer scrutiny. Serial numbers and signed delivery are essential. |
| Digital goods / SaaS | ~20–25% | No physical delivery proof. access_activity_log and IP matching are critical fields. |
| Subscriptions | ~25–30% | Cancellation disputes dominate. cancellation_policy and cancellation_policy_disclosure are the key fields. |
At a 30% win rate, here is the expected value of fighting a dispute manually:
Stripe's internal threshold is 0.75% — stricter than any card network. Visa's VDMP triggers at 0.9%. Mastercard's ECP triggers at 1.5%. Exceeding Stripe's threshold can result in account restrictions or termination, even if you have not triggered a network program. Monitor weekly, not monthly.
This framework accounts for Stripe's two-tier fee model, 20+ evidence fields, staging capability, Smart Disputes option, and Early Fraud Warning system. Use it alongside our reason-code-specific guides for the underlying network code.
Before responding to a formal dispute, check whether you received an Early Fraud Warning for this transaction. If you did and ignored it, note this for your records. If the EFW is still active, you may be able to refund proactively before the chargeback is formalized.
Open the dispute in Stripe Dashboard > Payments > Disputes. The network reason code is shown in the dispute detail view. This is the code the bank will evaluate your evidence against. Do not rely on the Stripe category alone.
Transaction amount × estimated win probability − $15 counter fee = expected value. If negative, accept the dispute or route to Smart Disputes. If positive, proceed with manual submission.
Map your evidence to Stripe's structured fields. Stage with submit: false to review before final submission.
| Evidence Field | Contents | Target Size |
|---|---|---|
| uncategorized_text | Structured rebuttal letter addressing the specific reason code. References evidence in other fields. | < 5,000 chars |
| shipping_documentation | Carrier delivery confirmation, signature, tracking screenshots — annotated and cropped. | < 1.5 MB |
| customer_communication | Emails, chat logs, reviews showing receipt or satisfaction. | < 1 MB |
| cancellation_policy / refund_policy | Relevant policy pages only — not entire terms of service. | < 1 MB |
Prevention is more valuable on Stripe than any other processor because of the non-refundable $15 dispute fee. Every prevented dispute saves you $15 minimum — before you even consider the transaction amount or counter fee.
| Action | Why It Matters |
|---|---|
| Enable Stripe Radar | Stripe's machine learning fraud detection tool reduces chargebacks by 30–40% for typical merchants. Some report up to 98% reduction. Radar is included with Stripe — there is no reason not to use it. |
| Enroll in 3D Secure | 3D Secure authentication shifts liability for fraud chargebacks to the card issuer. If a 3D Secure-authenticated transaction results in a fraud dispute, the issuer bears the cost. Enable it for all transactions or set a threshold for high-value ones. |
| Respond to Early Fraud Warnings | Set up webhooks for EFW events and respond within 24 hours. Proactive refunds cost the transaction but save the $15 fee and protect your chargeback ratio. 80% of unaddressed EFWs become chargebacks. |
| Use a clear billing descriptor | Set your billing descriptor to your store name, not your legal entity. "Unrecognized" disputes are often customers who do not recognize the charge. Include your URL or support phone number. |
| Send proactive fulfillment emails | Shipping confirmations with tracking numbers reduce "not received" disputes. Post-delivery follow-up emails create evidence of receipt and reduce friendly fraud. |
| Monitor dispute webhooks | Set up charge.dispute.created webhooks to be notified immediately. The 7–21 day response window starts when the dispute is filed, not when you notice it in the Dashboard. |
| Track your chargeback ratio weekly | Stripe's internal threshold (0.75%) is stricter than any card network. Weekly monitoring gives you time to adjust before you trigger restrictions. Check both dispute-date and charge-date rates. |
This playbook is updated to reflect Stripe's 2025 two-tier dispute fee model, Smart Disputes AI, and current card network rules. Document Version: 2026.1 · Last Updated: March 15, 2026 · Processor: Stripe
Pair this processor guide with reason-code-specific playbooks for your most common dispute types: