Disputes & Chargeback Defense
When a customer disputes a charge with their bank, Stripe notifies Levy Fleets and gives you a window to submit evidence. The platform includes an automated chargeback defense system that compiles evidence from your rental data and submits it to Stripe — often without any manual intervention needed.
How Chargebacks Work
- Customer contacts their bank — Claims a charge was unauthorized, fraudulent, or for a service not received
- Bank files a dispute with Stripe — Stripe debits the disputed amount from your account
- Levy Fleets receives the dispute — Via Stripe webhook
- Evidence is compiled automatically — Rental agreements, GPS data, device fingerprints, payment history
- Evidence is submitted to Stripe — Stripe forwards to the bank for review
- Bank decides — Dispute is resolved as won (charge upheld) or lost (refund stands)
Dispute Statuses
Stripe Status (from the bank)
| Status | Meaning |
|---|---|
| Warning: Needs Response | Pre-dispute warning — respond early to prevent full dispute |
| Warning: Under Review | Pre-dispute response is being reviewed |
| Warning: Closed | Pre-dispute resolved (no full dispute filed) |
| Needs Response | Full dispute filed — evidence must be submitted |
| Under Review | Evidence submitted, bank is reviewing |
| Won | Dispute decided in your favor — charge upheld |
| Lost | Dispute decided against you — refund stands |
Internal Response Status
| Status | Meaning |
|---|---|
| Pending | Dispute received, waiting for processing window |
| Ready for Response | Processing window passed, evidence ready to compile |
| Evidence Submitted | Evidence compiled and submitted to Stripe |
| Won | Dispute won |
| Lost | Dispute lost |
| Skipped | Manually skipped (operator decided not to contest) |
Automated Evidence Generation
The system automatically compiles a comprehensive evidence package for each dispute. This includes:
Customer Information
- Full name, email, phone number
- Account registration date
- Card last 4 digits and card brand
Signup Verification
- IP address at signup
- IP geolocation (city, region, country, ISP)
- GPS coordinates at signup
Device Fingerprint
- Device platform (iOS/Android)
- Device brand, model, and OS version
- App version and build number
- Device timezone and locale
- Screen resolution
- Device ID and fingerprint hash
Ride & Trip Data
- Total rides taken on the platform
- Total riding minutes and distance (km)
- Individual ride details: start/end times, duration, distance
- GPS coordinates for ride start and end locations
- Street addresses for ride start and end
- Vehicle numbers for each ride
- Parking proof photos (if available)
Payment History
- All Stripe charges: date, amount, card details, status, description
- Total amount spent on the platform
- Total successful charges
- Disputed charge amount and context
- Failed charge attempts (dates and counts)
Activity Logs
- Push notification history (title, body, type, timestamp, read status)
- Wallet transaction history (amounts, types, descriptions)
Signed Documents
- Rental agreement PDF (the exact agreement the customer signed)
- Customer signature image
- Signing timestamp and device information
Evidence PDFs
The system generates two PDF documents for each dispute:
1. Customer Consent PDF
Contains the signed rental agreement with:
- Full agreement text
- Customer's digital signature
- Signing metadata (timestamp, IP, device, location)
2. Chargeback Response PDF
A comprehensive document containing:
- Customer identification and verification data
- All rides and trip details with GPS evidence
- Payment history proving prior successful transactions
- Device fingerprint proving the customer's device was used
- Push notification logs proving the customer received communications
- Wallet activity showing account engagement
- Fraud indicators (if any)
Dispute Reasons
The system tailors its response based on the dispute reason:
| Reason | Response Strategy |
|---|---|
| Fraudulent | Device fingerprint, IP geolocation, ride GPS data proving customer was present |
| Product Not Received | Ride data, GPS trail, trip duration proving service was delivered |
| Product Unacceptable | Terms of service, rental agreement, condition reports |
| Duplicate | Transaction history showing charges are distinct |
| Subscription Canceled | Billing records, cancellation policy, agreement terms |
| Credit Not Processed | Refund policy, processing timeline, wallet credits |
| Unrecognized | Customer details, device info, ride history proving account ownership |
| General | Comprehensive evidence package |
Processing Timeline
Disputes are not responded to immediately. The system uses a waiting period to allow for manual review:
- Day 0 — Dispute received via Stripe webhook, status set to Pending
- Day 1–7 — Waiting period for operator review. You can manually skip the dispute if you don't want to contest it.
- Day 7+ — When
response_due_atarrives, status moves to Ready for Response - Automated processing — The cron job picks up ready disputes, generates evidence, and submits to Stripe
- Evidence submitted — Status moves to Evidence Submitted
- Bank review — Typically takes 60–90 days
- Resolution — Won or Lost
Response Deadline
Stripe gives a limited window to submit evidence (typically 7–21 days from dispute creation). The automated system processes disputes before the deadline, but if you want to add custom evidence or skip a dispute, do so before the response due date.
Manual Controls
Skipping a Dispute
If you don't want to contest a specific dispute (e.g., you agree the customer deserves a refund), you can skip it:
- Open the dispute in Dashboard → Disputes
- Click Skip Auto-Response
- Enter a reason for skipping
- The dispute will not receive an automated response
Adding Custom Evidence
Before the automated response is sent, you can attach additional evidence:
- Custom photos or documents
- Email correspondence with the customer
- Additional context or explanations
Dashboard View
The Dashboard → Disputes page shows all disputes with:
- Dispute amount and reason
- Customer name and associated ride
- Stripe status and internal response status
- Evidence submission status
- Response deadline countdown
- Win/loss outcomes
Filter by status to focus on disputes needing attention (Pending, Ready for Response) or review outcomes (Won, Lost).
Special Cases
Balance Recovery Disputes
When a customer has an outstanding balance (e.g., from a failed charge after a ride) and the balance recovery charge is disputed, the response includes additional context about the original ride, the failed payment attempts, and the recovery charge justification.
Violation Charge Disputes
When a violation charge is disputed as a chargeback, the violation evidence (ticket photos, toll receipts) is included in the evidence package.
Prevention is Better
The best chargeback defense is prevention. Clear pricing, signed rental agreements, and good customer communication reduce dispute rates. The automated defense system is your safety net, not your primary strategy.
Need Help?
For questions about dispute management or to review a specific chargeback case, contact us at support@levyelectric.com.