advanced
car-sharing
disputes
chargebacks

Disputes & Chargeback Defense

Automated chargeback defense — how Levy Fleets generates evidence, submits responses to Stripe, and manages payment disputes

Levy Fleets Team11 février 20269 min read

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

  1. Customer contacts their bank — Claims a charge was unauthorized, fraudulent, or for a service not received
  2. Bank files a dispute with Stripe — Stripe debits the disputed amount from your account
  3. Levy Fleets receives the dispute — Via Stripe webhook
  4. Evidence is compiled automatically — Rental agreements, GPS data, device fingerprints, payment history
  5. Evidence is submitted to Stripe — Stripe forwards to the bank for review
  6. Bank decides — Dispute is resolved as won (charge upheld) or lost (refund stands)

Dispute Statuses

Stripe Status (from the bank)

StatusMeaning
Warning: Needs ResponsePre-dispute warning — respond early to prevent full dispute
Warning: Under ReviewPre-dispute response is being reviewed
Warning: ClosedPre-dispute resolved (no full dispute filed)
Needs ResponseFull dispute filed — evidence must be submitted
Under ReviewEvidence submitted, bank is reviewing
WonDispute decided in your favor — charge upheld
LostDispute decided against you — refund stands

Internal Response Status

StatusMeaning
PendingDispute received, waiting for processing window
Ready for ResponseProcessing window passed, evidence ready to compile
Evidence SubmittedEvidence compiled and submitted to Stripe
WonDispute won
LostDispute lost
SkippedManually 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:

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:

ReasonResponse Strategy
FraudulentDevice fingerprint, IP geolocation, ride GPS data proving customer was present
Product Not ReceivedRide data, GPS trail, trip duration proving service was delivered
Product UnacceptableTerms of service, rental agreement, condition reports
DuplicateTransaction history showing charges are distinct
Subscription CanceledBilling records, cancellation policy, agreement terms
Credit Not ProcessedRefund policy, processing timeline, wallet credits
UnrecognizedCustomer details, device info, ride history proving account ownership
GeneralComprehensive evidence package

Processing Timeline

Disputes are not responded to immediately. The system uses a waiting period to allow for manual review:

  1. Day 0 — Dispute received via Stripe webhook, status set to Pending
  2. Day 1–7 — Waiting period for operator review. You can manually skip the dispute if you don't want to contest it.
  3. Day 7+ — When response_due_at arrives, status moves to Ready for Response
  4. Automated processing — The cron job picks up ready disputes, generates evidence, and submits to Stripe
  5. Evidence submitted — Status moves to Evidence Submitted
  6. Bank review — Typically takes 60–90 days
  7. 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:

  1. Open the dispute in Dashboard → Disputes
  2. Click Skip Auto-Response
  3. Enter a reason for skipping
  4. 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.