The complete guide to winning disputes with AI.
The complete guide to fighting chargebacks with Chargeback AI in Claude Code. Screenshots, spreadsheets, pasted text. No API access required.
You do NOT need Stripe API access to use any of this.
Everything in this playbook works with screenshots, spreadsheets, pasted text, and files from your computer. Stripe MCP is an optional bonus, not a requirement.
How to share dispute info with Claude
@ a File
Type @ and pick any file. Works with CSV, Excel, screenshots, PDFs, Word docs, images.
Paste a Screenshot
Screenshot your Stripe dashboard or dispute portal. Paste or drag into chat.
Type or Paste Text
Type details, paste from emails, copy from dashboards. Any format works.
Stripe / Shopify MCP
If connected by your admin, Claude pulls details by dispute ID.
What files work?
Short answer: whatever you have. Claude reads your file and figures out the columns, layout, and format automatically. You do not need to prepare a special template.
Spreadsheets & CSV exports
Basic export: enough for triaging
Triage only| id | amount | reason | status | created |
|---|---|---|---|---|
| dp_1abc... | $349.00 | product_not_received | needs_response | 2026-03-15 |
| dp_2def... | $89.00 | fraudulent | needs_response | 2026-03-18 |
| dp_3ghi... | $215.00 | duplicate | under_review | 2026-03-20 |
Enough for fight/accept decisions, deadline sorting, and reason code lookups. Not enough for full responses. Claude will ask you for evidence details per dispute.
Detailed tracker: enough for full responses
Triage + Respond| id | amount | reason | order | customer | tracking | evidence_notes |
|---|---|---|---|---|---|---|
| dp_1abc... | $349 | not_received | #8742 | J. Martinez | FedEx 7946... | Signed delivery 2/21 |
| dp_2def... | $89 | fraudulent | #9103 | A. Chen | n/a | 3DS auth, AVS match |
With order numbers, tracking, and evidence notes, Claude can generate complete response packages directly from the spreadsheet. No follow-up questions needed.
Don’t have a detailed tracker? That’s fine. Use a basic export for triaging, then when you pick a dispute to fight, share the extra details via screenshot, paste, or additional files. Claude will tell you exactly what it needs.
Where to get it
- Stripe Dashboard → Disputes → Export
- Your acquirer’s dispute portal
- Your team’s own Excel/Google Sheet tracker
What columns?
- Any columns work. Claude reads the headers
- For triage: reason code, amount, date, status
- For responses: add order #, tracking, evidence
Formats accepted
- .csv .xlsx .xls
- .tsv .numbers
- Or just paste rows directly into chat
Screenshots & images
Dispute portals
Screenshot the dispute detail page from Stripe, PayPal, Adyen, or your acquirer. Claude reads the text from the image.
Evidence images
Delivery photos, signed receipts, tracking confirmations, chat logs. Use as exhibits in your response.
How to share
@screenshot.png to pick a file, or just paste/drag the image directly into chat.
Documents
Rebuttal templates
.docx .doc .txt. Your team’s existing templates. Claude improves them per reason code.
Customer emails
.pdf .txt .eml or paste the text. Useful for understanding the customer’s claim.
Evidence PDFs
Shipping manifests, signed contracts, terms of service. @file.pdf and Claude extracts what it needs.
Every way to use them
Get evidence requirements, deadlines, strategy tips, and common mistakes for any code or category.
Get a fight/accept recommendation with win-rate estimate and cost-benefit analysis.
Full package: rebuttal letter, evidence checklist, organization guide, submission tips. Download the rebuttal letter for submission or the full working copy for your records.
Two PDF downloads: After generating the response, you get a page with two buttons:
- Download Rebuttal Letter: clean letter ready to submit to your processor
- Download Full Working Copy: includes evidence checklist, org guide, and notes for your records
Have your own submission template? Use @your-template.docx and ask Claude to fill it in instead.
You don't always need slash commands. You can just talk naturally: I have a Visa fraud dispute for $300, here's what happened.... Claude figures out which command to run.
Workflow recipes
Step-by-step workflows for common analyst tasks. Each card shows what access level is needed.
Single Dispute from Screenshot
- 01 Paste or @ your dispute screenshot
- 02 Ask: Should I fight or accept?
- 03 If yes: /chargeback-ai:respond
- 04 Click "Download PDF" in the generated page
Single Dispute, Typed
- 01 /chargeback-ai:lookup Visa 13.1
- 02 /chargeback-ai:analyze with your details
- 03 /chargeback-ai:respond with full info
- 04 Download PDF and submit
Batch Triage from Spreadsheet
- 01 @disputes.csv — triage all of these
- 02 Claude recommends fight/accept per row
- 03 Ask for responses for the fighters
- 04 Download PDFs for each
Multiple Screenshots Triage
- 01 @dispute1.png @dispute2.png @dispute3.png
- 02 Ask: Triage all three
- 03 Get fight/accept for each
- 04 Generate responses for winners
Multi-Evidence Response
- 01 @dispute.png — dispute details
- 02 @tracking.png — delivery proof
- 03 @emails.txt — customer comms
- 04 Ask for combined response package
Improve Rebuttal Templates
- 01 @fraud-template.docx
- 02 Ask: Improve for Visa 10.4
- 03 Claude adds missing evidence points
- 04 Strengthens tone and structure
Review Your Own Draft
- 01 @my-response-draft.docx
- 02 Ask: Review for Visa 13.1
- 03 Claude flags gaps and weak points
- 04 Suggests improvements
Deadline Check
- 01 @disputes.csv
- 02 Ask: Which expire in 7 days?
- 03 Get priority-sorted list
- 04 Fight the urgent ones first
Single Dispute by ID
- 01 Analyze dp_XXXXX
- 02 Claude pulls all details from Stripe
- 03 /chargeback-ai:respond dp_XXXXX
- 04 Download PDF and submit
Template + Real Case Context
- 01 @template.docx + dispute ID
- 02 Claude pulls case details from Stripe
- 03 Tailors template to actual evidence
- 04 Download improved version
Bulk Code Reference
- 01 Paste a list of codes from your queue
- 02 Ask for deadlines + evidence summary
- 03 Get a cheat sheet for your shift
New Analyst Onboarding
- 01 /chargeback-ai:lookup fraud
- 02 /chargeback-ai:lookup "subscription"
- 03 Ask follow-up questions freely
- 04 Build knowledge by category
Prevention Advice
- 01 Tell Claude which codes you keep losing
- 02 Ask: How do I prevent Visa 10.4?
- 03 Get actionable checkout/process changes
Understand a Customer Claim
- 01 Paste the customer's email or complaint
- 02 Ask: What code is this likely filed under?
- 03 Get evidence requirements preemptively
Analyze Lost Disputes
- 01 @lost-disputes.csv — export of disputes you lost
- 02 Ask: What patterns do you see? Why did we lose?
- 03 Get a breakdown of evidence gaps by reason code
- 04 Ask for process changes to win next time
Quick reference
| What you have | What to do | Access needed |
|---|---|---|
| Reason code from queue | /chargeback-ai:lookup then /chargeback-ai:analyze | None:type it in |
| Screenshot of dispute | Paste or @ it → analyze → respond | None:screenshot only |
| Multiple screenshots | @ all of them → batch triage | None:screenshots only |
| CSV/Excel export | @ file → triage + batch responses | None:dashboard export |
| Rebuttal template | @ file → improve for specific code | None:your template file |
| Multiple evidence files | @ each file → combined response | None:your files |
| Draft response to review | @ draft → ask Claude to review | None:your draft |
| Customer email/complaint | Paste it → predict code + evidence needs | None:paste text |
| Deadline question | Ask with code + date, or @ spreadsheet | None:type or file |
| Prevention question | Ask about patterns you're seeing | None:just ask |
| Want a submission-ready PDF | "Download Rebuttal Letter" for submission, "Full Working Copy" for records | None:auto-generated |
| Stripe dispute ID | Pass ID to any command | Stripe MCP |
| Shopify order ID | Pass ID to any command | Shopify MCP |
Connecting Stripe or Shopify (optional)
This is completely optional. Everything above works without it. But if your admin can grant read-only API access, Claude can pull dispute details by ID instead of you screenshotting or exporting.
Create a restricted API key in Stripe
Go to Stripe Dashboard → Developers → API keys → Create restricted key
Required permissions (all read-only)
No write permissions needed. Chargeback AI only reads data.
Add Stripe MCP to Claude Code
Use rk_live_ (restricted key), not sk_live_ (secret key).
Allow Claude to use the tools
When Claude tries to read from Stripe, it will ask for permission. Choose “Allow always” to stop being asked every time, or pre-allow:
Create a custom app in Shopify
Go to Shopify Admin → Settings → Apps and sales channels → Develop apps
Required scopes (all read-only)
No write scopes needed. Chargeback AI only reads data.
Add Shopify MCP to Claude Code
Allow Claude to use the tools
Who needs to do this? Usually a team lead or admin with access to your Stripe/Shopify developer settings. Analysts don’t need to set this up themselves. Once it’s configured, everyone on the team can use it. If your admin can’t or won’t grant API access, that’s fine. Use screenshots, spreadsheet exports, and pasted text instead.