Refunds and chargebacks
- Prevent chargebacks by proactively refunding
- Maintain customer relationships
- Avoid chargeback fees and dispute ratios
- Respond to customer/bank actions
- Fight with evidence when you believe you’re right
- Accept when fighting isn’t worth the cost
Technical refund limits:
- Must refund within 90 days for bank transfers (AU BECS, NZ BECS)
- No technical time limit for card refunds
- Cannot refund more than the original charge amount
- “Disputes” and “chargebacks” are essentially the same thing in Stripe’s terminology - Stripe uses “dispute” to refer to what the banking industry calls “chargebacks.”
- Let me clarify the terminology and process:
- Stripe uses “Dispute” for what banks call “Chargeback”:
charge.dispute.created webhook = chargeback initiated
stripe.Dispute.modify() = respond to chargeback
Dispute reason codes = chargeback reason codes
- A chargeback (also known as a dispute) is when a cardholder asks their bank to forcibly reverse a transaction instead of coming to you for a refund.
- The bank pulls the funds—plus an extra dispute fee—from your Stripe account immediately while they investigate.
- For Direct charges: Your platform is responsible for chargebacks
- For Destination charges: Your platform is responsible, but can reverse transfers
- For Separate charges and transfers: Your platform handles disputes, can reverse transfers
- Limiting Chargebacks: Prevention Strategies
- Keep your chargeback rate below 0.75% to avoid monitoring programs
- Track your rate in the Stripe Dashboard
- Set up alerts for sudden increases in disputes
- Review patterns regularly to identify vulnerable areas
- By implementing these strategies, you can significantly reduce chargebacks while maintaining a positive customer experience. Would you like me to dive deeper into any specific aspect of chargeback prevention or handling?
- Stripe Radar: Machine learning fraud prevention
- Dispute Prevention: Verifi and Ethoca alerts to prevent disputes before they become chargebacks
- Smart Disputes: AI-powered evidence collection and submission
- Monitoring Your Chargeback Rate
- Fraud: The card was stolen/used without permission.
- Service/Product Issues: “Item not received,” “Not as described,” or “Service not rendered.”
- Technical Errors: Duplicate billing or a refund that was promised but never arrived.
- Friendly Fraud: The customer forgot they made the purchase or didn’t recognise your business name on their bank statement.
| Phase | Action |
|---|---|
| Notification | Stripe receives the chargeback notification from the card network |
| You receive an email alert and a webhook event (charge.dispute.created) | |
| The disputed funds are immediately withdrawn from your account | |
| A $15 chargeback fee is typically applied (refunded if you win) | |
| Response Window | You have 7-21 days to respond (varies by card network) |
| Stripe provides a dashboard interface to submit evidence | |
| You can respond via Dashboard or API | |
| Evidence Submission | You submit documentation supporting your case |
| Stripe formats and submits your evidence to the card network | |
| Resolution Phase | Card issuer reviews evidence (typically 60-75 days) |
| Decision is made: won, lost, or “in review” | |
| If you win, the funds and chargeback fee are returned to your account | |
| If you lose, the customer keeps the refund and the chargeback fee stands |
| Strategy | Description |
|---|---|
| Clear Business Practices | Transparent policies: Clear refund, return, and cancellation policies |
| Descriptive billing: Use clear statement descriptors that customers recognize | |
| Communication: Send receipts and order confirmations promptly | |
| Customer service: Provide responsive support to resolve issues before they escalate | |
| Fraud Prevention | Enable Radar: Use Stripe’s machine learning fraud detection |
| Custom rules: Set up Radar rules for your specific business patterns | |
| Strong verification: Implement 3D Secure for high-risk transactions | |
| Address verification: Enable AVS and CVC checks | |
| Device fingerprinting: Track and flag suspicious devices | |
| Technical Implementation | Proper logging: Record customer IP addresses, timestamps, and device data |
| Shipping tracking: Use traceable shipping methods with delivery confirmation | |
| Fulfillment proof: Maintain proof of service delivery or product shipment | |
| Customer acknowledgments: Get signed agreements or acceptance of terms | |
| Dispute Management | Respond quickly: Submit evidence as soon as possible |
| Comprehensive evidence: Include all relevant documentation | |
| Monitor patterns: Track dispute reasons to identify systemic issues | |
| Pre-emptive refunds: Issue refunds before customers resort to chargebacks |
| Business Type | Prevention Tactics |
|---|---|
| Digital Goods | Implement IP logging and download tracking |
| Require acknowledgment of terms before download | |
| Maintain access logs showing account usage | |
| Subscription Services | Send reminders before billing cycles |
| Make cancellation easy and straightforward | |
| Document all customer communications | |
| High-Ticket Items | Request signed delivery confirmations |
| Take photos/video of products before shipping | |
| Consider requiring signed contracts |
- Setting up webhooks for charge.dispute.created events allows you to automatically respond when customers dispute charges with their banks. Here’s how to implement this:
- First, configure the webhook endpoint in your Stripe Dashboard or via API to listen for charge.dispute.created events.
- For Connect Platforms
- When handling disputes for connected accounts, you need additional logic:
- The webhook automation ensures you respond quickly to disputes, which significantly improves your chances of winning them compared to manual processes.
Immediate response capabilities:
- Automatically gather and submit evidence
- Notify customer service teams instantly
- Update order/customer records
- Trigger fraud prevention measures
- Send automated responses to customers
Time-sensitive actions:
- Disputes have strict deadlines (typically 7-21 days)
- Automated evidence collection ensures faster response
- Reduces manual workload on support teams
Evidence types to automate:
- Service documentation and receipts
- Shipping/delivery confirmations
- Customer communication logs
- Refund/return policies
- Terms of service agreements