intermediate
payments
billing
troubleshooting

Payment and Billing Issues

Troubleshoot payment failures, billing discrepancies, refund problems, wallet issues, and Stripe integration errors in Levy Fleets

Levy Fleets Team25 décembre 202522 min read

Payment and Billing Issues

This guide helps you diagnose and resolve payment-related issues in Levy Fleets, from failed transactions to billing discrepancies and refund problems.

Payment Systems

Levy Fleets supports two payment modes: Post-Paid (customers pay after rides) and Wallet (customers maintain a prepaid balance). The troubleshooting steps may vary depending on your configured mode.


Quick Reference: Payment Issue Categories

Issue TypeCommon CauseQuick Fix
Payment declinedInsufficient funds / Card expiredCustomer updates payment method
Wrong amount chargedPricing misconfigurationReview pricing rules
Refund not processedPending in queueWait 24-48 hours
Wallet balance wrongTransaction not reflectedCheck transaction history
Stripe errorAPI/integration issueCheck Stripe dashboard

Payment Declined or Failed

Symptoms

  • Customer reports card declined during ride start
  • "Payment failed" error message
  • Ride ended early due to payment issue
  • Customer account blocked due to failed payment

Possible Causes

CauseLikelihoodHow to Identify
Insufficient fundsHighBank declined for NSF
Card expiredHighCheck card expiration
Card limit reachedMediumDaily/monthly spending limit
Fraud protectionMediumBank flagged transaction
Wrong CVV/ZIPMediumValidation failed
Card blockedLowCustomer's bank blocked card
Stripe issueLowCheck Stripe dashboard status

Solutions

1

Review Transaction Details

Go to the customer profile and check the transaction history. Look for the failed payment entry and note any error codes or messages.

2

Check Stripe Dashboard

Log into your Stripe dashboard and search for the customer or transaction. Stripe provides detailed decline reasons.

3

Identify Decline Code

Common Stripe decline codes:

CodeMeaningCustomer Action
insufficient_fundsNot enough moneyUse different card
card_declinedGeneral declineContact bank
expired_cardCard expiredUpdate card
incorrect_cvcWrong CVVRe-enter card
processing_errorTemporaryTry again later
fraudulentSuspected fraudContact bank
4

Guide Customer to Update Payment

Direct the customer to update their payment method in the app:

  1. Open the app
  2. Go to Settings/Profile
  3. Select Payment Methods
  4. Add a new card or update existing
5

Clear Account Block

If the customer's account was blocked due to failed payment:

  1. Go to Customer profile
  2. Verify new payment method is added
  3. Verify wallet balance is positive
  4. Unblock the account

When to Escalate

  • If Stripe dashboard shows "succeeded" but customer was still declined
  • If multiple customers report declines simultaneously (possible system issue)
  • If decline codes indicate potential fraud patterns

Customer Overcharged for Ride

Symptoms

  • Customer claims they were charged more than expected
  • Ride total seems too high for duration/distance
  • Customer requesting refund for overcharge

Possible Causes

CauseLikelihoodDescription
Long pause includedHighPause time billed at pause rate
Pricing tier appliedMediumBase vs. premium pricing
No daily capMediumTotal exceeded expected maximum
Surge pricing activeMediumHigher rates during peak times
Promo not appliedMediumCustomer expected discount
Billing calculation errorLowSystem error

Solutions

1

Review Ride Details

Open the ride detail page and examine:

  • Total active time
  • Total paused time
  • Distance traveled
  • Pricing breakdown
2

Check Pricing Configuration

Verify the pricing that was applied:

  • Unlock fee amount
  • Per-minute rate
  • Per-minute pause rate (if applicable)
  • Distance rate (if applicable)
  • Daily cap amount
3

Verify Timeline

Review the ride timeline for:

  • Start time
  • Any pause periods
  • End time
  • Total duration calculation
4

Check for Promotions

Verify if a promo code or subscription should have applied:

  • Was a promo code entered?
  • Does customer have active subscription?
  • Was it within promo validity period?
5

Issue Refund if Warranted

If the customer was genuinely overcharged:

  1. Go to customer wallet
  2. Add credit for the overcharge amount
  3. Note: "Refund for ride #XXXX - overcharge adjustment"

Price Calculation Reference

Standard ride price calculation:

Total = Unlock Fee + (Active Minutes x Per-Minute Rate) + (Pause Minutes x Pause Rate) + (Distance x Distance Rate)

With daily cap:

Total = MIN(Calculated Total, Daily Cap)

Customer Undercharged or Not Charged

Symptoms

  • Ride completed but no charge recorded
  • Transaction shows $0.00
  • Revenue not appearing in reports

Possible Causes

CauseLikelihoodDescription
Free ride promoHigh100% discount applied
Payment processing delayMediumCharge still pending
Ride auto-cancelledMediumSystem cancelled before billing
Subscription packageMediumRide covered by subscription
Pricing not configuredLowNo pricing rules for vehicle model

Solutions

1

Check Ride Status

Verify the ride status is "Completed" not "Cancelled". Cancelled rides may not be charged.

2

Review Applied Discounts

Check if any promotions or subscriptions were applied that result in $0 charge.

3

Check Pricing Configuration

Go to Pricing and verify:

  • Pricing exists for the vehicle model
  • Pricing is marked as "Active"
  • Unlock fee and rates are set (not $0)
4

Check Transaction Log

Look for the transaction in customer history. It may be pending rather than missing.

5

Manually Bill if Needed

If a charge should have occurred but didn't:

  1. Calculate the correct amount
  2. Charge customer wallet (add negative credit)
  3. Document the manual adjustment

Wallet Balance Issues

Customer Wallet Shows Wrong Balance

Symptoms:

  • Customer claims balance is incorrect
  • Wallet shows different amount than expected
  • Recent top-up not reflected

Possible Causes:

  • Transaction not yet processed
  • Bonus expired
  • Charge not yet reflected
  • Multiple transactions in progress

Solutions:

1

Check Transaction History

Review all recent transactions in the customer's wallet:

  • Top-ups
  • Ride charges
  • Bonus additions/expirations
  • Refunds
2

Verify Recent Activity

Check if there are pending transactions that haven't posted yet. Allow 5-10 minutes for processing.

3

Check Bonus Expiration

Bonus credits may have expired. Look for "Bonus Expired" entries in transaction history.

4

Recalculate Balance

Manually add up all transactions to verify the current balance is correct.

5

Adjust if Needed

If balance is genuinely wrong:

  1. Calculate the correct amount
  2. Add an adjustment credit with detailed note
  3. Document the discrepancy for audit

Customer Cannot Add Funds to Wallet

Symptoms:

  • Top-up button fails
  • Payment method charged but balance not updated
  • Error message during top-up

Possible Causes:

  • Payment method declined
  • Stripe processing error
  • App connectivity issue
  • Wallet system temporarily down

Solutions:

  1. Check payment method - Verify card is valid and has funds
  2. Check Stripe dashboard - Look for successful or failed charges
  3. Wait and retry - Temporary processing delays are common
  4. Try different payment method - Rule out card-specific issues
  5. Clear app cache - Customer should clear app data and retry
  6. Manual credit addition - Operator can add credit manually as workaround

When to Escalate: If Stripe shows successful charge but wallet wasn't credited, contact support immediately with transaction ID.


Negative Wallet Balance

Symptoms:

  • Customer wallet shows negative amount
  • Customer cannot start new rides
  • Account may be blocked

Possible Causes:

  • Ride ended before payment processed
  • Top-up payment was reversed/chargedback
  • Refund was processed but original charge remains

Solutions:

1

Understand How Negative Balances Occur

Negative balances typically happen when:

  • A ride was completed but payment failed
  • A top-up was reversed by the customer's bank
  • A chargeback was processed
2

Review Transaction History

Look for:

  • Failed payment attempts
  • Reversed transactions
  • Chargebacks
3

Determine Resolution

Options:

  • Collect payment: Customer adds funds to cover negative
  • Write off: For small amounts, credit the difference
  • Block account: For repeat offenders or fraud
4

Process Write-Off if Appropriate

For small uncollectible amounts:

  1. Add credit equal to negative balance
  2. Note: "Write-off - uncollectible balance"
  3. Document per your financial policy

Refund Issues

Refund Not Appearing in Customer's Account

Symptoms:

  • Refund processed in dashboard but customer doesn't see it
  • Wallet credit added but balance unchanged
  • Bank refund not received

Possible Causes:

Refund TypeProcessing TimeWhere to Check
Wallet CreditImmediateCustomer wallet in dashboard
Card Refund3-10 business daysCustomer's bank statement
Original Payment Reversal5-10 business daysStripe dashboard

Solutions:

1

Identify Refund Type

Determine if the refund was:

  • Wallet credit (appears instantly in app)
  • Payment refund (goes back to original payment method)
2

Verify Refund Was Processed

Check the customer's transaction history for the refund entry with correct amount and timestamp.

3

For Wallet Credits

  • Should appear immediately
  • Check customer wallet balance
  • Have customer log out and back in
  • Force refresh customer data
4

For Card Refunds

  • Check Stripe dashboard for refund status
  • Provide customer with refund transaction ID
  • Advise 3-10 business days for bank processing
  • Customer should contact their bank if not received after 10 days

Refund Requested but Cannot Process

Symptoms:

  • Refund button disabled or missing
  • Error when trying to process refund
  • "Cannot refund this ride" message

Possible Causes:

  • Insufficient permissions
  • Refund already processed
  • Original transaction too old
  • Stripe refund limits reached

Solutions:

  1. Check permissions - Refund requires appropriate role (Admin, Fleet Manager)
  2. Check refund history - Ride may already have been refunded
  3. Check timeframe - Some payment processors limit refund windows (typically 120 days)
  4. Check Stripe limits - You cannot refund more than original charge
  5. Use wallet credit - If card refund fails, add wallet credit instead
  6. Escalate to admin - Higher permissions may be needed

Partial Refund Not Calculating Correctly

Symptoms:

  • Want to refund part of ride but full amount showing
  • Refund amount doesn't match expected partial

Possible Causes:

  • System only supports full refunds for ride charges
  • Calculation includes fees that can't be partially refunded

Solutions:

For partial refunds, use wallet credit:

  1. Calculate the partial refund amount
  2. Go to customer wallet
  3. Add credit for the partial amount
  4. Note: "Partial refund for ride #XXXX - reason"

Pricing Configuration Issues

Pricing Not Applying to Rides

Symptoms:

  • Rides showing $0 charge when they shouldn't
  • Default pricing applied instead of custom pricing
  • Wrong rate being used

Possible Causes:

CauseCheck
Pricing not activeStatus should be "Active"
Wrong vehicle modelPricing linked to wrong model
Date range expiredCheck valid from/to dates
Subaccount mismatchPricing in different subaccount

Solutions:

1

Verify Pricing is Active

Go to Pricing and confirm:

  • Status is "Active" (not Draft or Inactive)
  • Valid date range includes current date
  • Pricing is in the correct subaccount
2

Check Vehicle Model Linking

Verify the pricing is associated with the correct vehicle model(s).

3

Check Priority

If multiple pricing rules exist, verify the correct one has higher priority.

4

Test with New Ride

Start a test ride to see which pricing is applied. Check the ride details for applied rates.


Dynamic Pricing Not Working

Symptoms:

  • Surge pricing not activating during peak times
  • Zone-based pricing not applying
  • Time-based rates not changing

Solutions:

  1. Verify configuration - Check dynamic pricing rules are set up correctly
  2. Check schedule - Verify time-based rules match current time/timezone
  3. Check zone boundaries - Ensure vehicle is within dynamic pricing zone
  4. Check trigger conditions - Verify demand thresholds are being met
  5. Review ride details - Look at pricing breakdown to see what was applied

Stripe Integration Issues

Stripe Connection Not Working

Symptoms:

  • "Stripe not connected" error
  • Cannot process any payments
  • Integration status shows error

Possible Causes:

  • API keys invalid or expired
  • Stripe account restricted
  • Webhook configuration incorrect
  • API version mismatch

Solutions:

1

Check Stripe Dashboard

Log into Stripe and verify:

  • Account is in good standing
  • No restrictions on the account
  • API keys are valid
2

Verify API Keys

In Levy Fleets settings, verify:

  • Publishable key is correct
  • Secret key is correct
  • Using correct keys (test vs. live)
3

Check Webhook Configuration

In Stripe webhook settings:

  • Verify webhook URL is correct
  • Verify webhook secret matches
  • Check for failed webhook attempts
4

Review API Logs

Check Stripe's developer logs for:

  • Failed API calls
  • Error messages
  • Rate limiting issues

When to Escalate: Contact support if you cannot resolve Stripe integration issues, providing:

  • Stripe account ID
  • Error messages seen
  • Time when issues started

Stripe Fees Higher Than Expected

Symptoms:

  • Processing fees seem too high
  • Fees not matching expected rates

Solutions:

  1. Review Stripe pricing - Confirm your negotiated rates
  2. Check for international cards - Higher fees for non-domestic cards
  3. Check card types - Business/corporate cards may have higher fees
  4. Review Stripe billing - Check monthly invoice for itemized fees
  5. Contact Stripe - Discuss rate optimization if volume justifies

Subscription and Package Issues

Subscription Not Applying

Symptoms:

  • Customer has subscription but being charged per-ride rates
  • Subscription benefits not reflected

Possible Causes:

  • Subscription expired
  • Subscription paused
  • Wrong subscription type for vehicle
  • Subscription limits reached

Solutions:

  1. Check subscription status - Verify Active, not Paused/Cancelled
  2. Check expiration date - Subscription may have expired
  3. Check usage limits - Monthly ride/minute limits may be exhausted
  4. Check vehicle eligibility - Some subscriptions only cover certain vehicle types
  5. Renew subscription - If expired, customer needs to renew

Auto-Renewal Failed

Symptoms:

  • Subscription expired unexpectedly
  • Auto-renewal payment declined
  • Customer wasn't notified of renewal failure

Solutions:

  1. Check payment method - Verify customer has valid payment method
  2. Check Stripe for decline reason - Review failed subscription charge
  3. Notify customer - Contact customer about payment issue
  4. Manually renew - After payment method updated, manually trigger renewal
  5. Review notification settings - Ensure renewal failure emails are configured

Financial Reporting Issues

Revenue Reports Don't Match

Symptoms:

  • Dashboard revenue different from Stripe revenue
  • Daily totals don't add up to monthly
  • Export data doesn't match displayed data

Possible Causes:

  • Different date ranges
  • Filters applied
  • Timezone differences
  • Pending vs. completed transactions
  • Refunds not accounted for

Solutions:

1

Align Date Ranges

Ensure you're comparing exactly the same date ranges, accounting for timezone.

2

Account for Refunds

Revenue in Levy Fleets is gross (before refunds). Stripe shows net (after refunds).

3

Check Transaction Status

Some transactions may be pending. Include all statuses for complete picture.

4

Use Same Timezone

Verify both systems are using the same timezone for date cutoffs.

5

Export Raw Data

Export transaction-level data from both systems and reconcile manually.


Best Practices for Preventing Payment Issues

Proactive Monitoring

  1. Daily checks

    • Review failed payment count
    • Check Stripe dashboard for errors
    • Review negative balance accounts
  2. Weekly checks

    • Reconcile revenue reports
    • Review refund volume
    • Check subscription renewal rates
  3. Monthly checks

    • Full financial reconciliation
    • Review Stripe fees
    • Audit write-offs and adjustments

Customer Communication

  1. Payment failure notifications - Ensure customers receive immediate alerts
  2. Renewal reminders - Send subscription renewal notices
  3. Balance warnings - Alert customers when wallet balance is low
  4. Receipt delivery - Confirm ride receipts are being sent

Need Help?

For payment issues that require investigation of Stripe transactions or complex refunds, contact support@levyelectric.com with:

  • Customer email
  • Transaction date and amount
  • Stripe transaction ID (if available)
  • Description of the issue