Troubleshooting E-Wallet
This guide will help you resolve common issues that may arise when using the E-Wallet plugin.
Common Issues
Plugin Not Appearing in Admin
If the E-Wallet plugin doesn't show in the admin panel:
Check File Permissions:
bashchmod -R 755 platform/plugins/e-walletVerify plugin.json:
bashcat platform/plugins/e-wallet/plugin.jsonClear Cache:
bashphp artisan cache:clear php artisan config:clearCheck Core Version:
- Verify Botble CMS is version 7.5.0 or higher
Wallet Payment Not Showing at Checkout
If customers can't see the wallet payment option:
Check Program Status:
- Go to Settings > E-Wallet
- Ensure "Enable E-Wallet" is checked
Check Payment Method:
- Go to Admin > Payments > Payment methods
- Ensure "Wallet" is enabled
Customer Authentication:
- Wallet payments require customers to be logged in
- Guest checkout cannot use wallet
Balance Check:
- Verify customer has sufficient balance
- Balance must be >= order total
Clear Cache:
bashphp artisan cache:clear
Top-up Issues
Top-up Form Not Showing
Verify Top-up Enabled:
- Settings > E-Wallet
- Check "Enable Top-up"
Customer Authentication:
- Ensure customer is logged in
Clear Route Cache:
bashphp artisan route:clear
No Payment Methods Available
Configure Payment Gateways:
- Admin > Payments > Payment methods
- Enable at least one gateway (Stripe, PayPal, etc.)
Check Allowed Methods:
- Settings > E-Wallet > Top-up Settings
- Verify "Allowed Payment Methods" includes your gateways
Verify Gateway Configuration:
- Check API keys are correct
- Test payment gateway independently
Top-up Not Completing
If payment is successful but wallet not credited:
Check Webhook Configuration:
- Verify payment gateway webhooks are set up
- Check webhook URLs are accessible
Review Logs:
- Check
storage/logs/laravel.logfor errors - Look for payment-related exceptions
- Check
Manual Completion:
- Admin > E-Wallet > Top-ups
- Find the pending top-up
- Click "Complete"
Check Transaction Table:
sqlSELECT * FROM ec_wallet_transactions WHERE reference_type LIKE '%TopUp%' ORDER BY created_at DESC LIMIT 10;
Payment Issues
Insufficient Balance Error
Verify Balance:
sqlSELECT * FROM ec_wallets WHERE customer_id = ?;Top-up Wallet:
- Customer should add more funds
Admin Adjustment:
- Admin > E-Wallet > Wallets
- Find customer and click "Adjust Balance"
Payment Deducted But Order Failed
Check Duplicate Transactions:
sqlSELECT * FROM ec_wallet_transactions WHERE customer_id = ? AND type = 'payment' ORDER BY created_at DESC;Refund the Amount:
- Admin can adjust balance to credit back the amount
Review Error Logs:
- Check what caused order creation to fail
Wallet Balance Not Deducting
Check Payment Status:
sqlSELECT payment_status, payment_channel FROM ec_orders WHERE id = ?;Check Transaction Record:
sqlSELECT * FROM ec_wallet_transactions WHERE reference_type LIKE '%Order%' AND reference_id = ?;
Withdrawal Issues
Withdrawal Form Not Showing
Verify Withdrawal Enabled:
- Settings > E-Wallet
- Check "Enable Withdrawal"
Check Customer Balance:
- Customer must have balance > 0
Verify Payout Methods:
- At least one payout method must be configured
Withdrawal Request Fails
Check Amount Limits:
- Verify min/max withdrawal settings
- Ensure amount is within limits
Sufficient Balance:
- Customer must have enough balance
Review Validation Errors:
- Check form validation messages
- Review logs for detailed errors
Withdrawal Stuck in Pending
Admin Approval Required:
- Withdrawals require manual admin approval
- Admin > E-Wallet > Withdrawals
- Click "Approve" to process
Check Status Workflow:
- Pending → Processing → Completed
Balance Issues
Balance Not Updating
Check Transaction Status:
sqlSELECT * FROM ec_wallet_transactions WHERE id = ? AND status = 'completed';Verify Balance After:
sqlSELECT w.balance, t.balance_after FROM ec_wallets w JOIN ec_wallet_transactions t ON t.wallet_id = w.id WHERE w.id = ? ORDER BY t.created_at DESC LIMIT 1;Recalculate Balance (if mismatch):
php$wallet = Wallet::find($walletId); $correctBalance = WalletTransaction::where('wallet_id', $walletId) ->where('status', 'completed') ->sum('amount'); $wallet->update(['balance' => $correctBalance]);
Negative Balance When Not Allowed
Check Setting:
- Settings > E-Wallet
- Ensure "Allow Negative Balance" is unchecked
Review Transactions:
- Check for any erroneous transactions
Adjust Balance:
- Admin can adjust to correct the balance
Settings Not Saving
Check Permissions:
bashchmod -R 775 storage chown -R www-data:www-data storageClear Config Cache:
bashphp artisan config:clearCheck Database:
- Verify database connection is working
Review Error Logs:
- Check
storage/logs/laravel.log
- Check
Advanced Troubleshooting
Clearing All Caches
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clearOr use the admin panel:
- Go to Admin > Platform Administration > Cache management
- Click "Clear all CMS cache"
Checking Logs
Review Laravel logs for errors:
- Check
storage/logs/laravel.log - Look for errors related to "wallet" or "e-wallet"
- Pay attention to timestamps
- Check for stack traces
Database Issues
If you suspect database problems:
Verify Tables Exist:
sqlSHOW TABLES LIKE 'ec_wallet%';Run Migrations:
bashphp artisan migrateCheck Data Integrity:
- Look for orphaned records
- Verify foreign key relationships
Performance Issues
If the plugin is causing slowdowns:
Add Database Indexes:
sqlCREATE INDEX idx_wallet_customer ON ec_wallets(customer_id); CREATE INDEX idx_transaction_wallet ON ec_wallet_transactions(wallet_id); CREATE INDEX idx_transaction_customer ON ec_wallet_transactions(customer_id);Enable Caching:
- Configure Redis or Memcached
- Set appropriate cache lifetimes
Limit Displayed Transactions:
- Show only recent transactions with pagination
JavaScript Debugging
For checkout and dashboard issues:
Open Browser Console (F12):
- Check for JavaScript errors
- Look for failed AJAX requests
- Review network tab for API errors
Common JS Issues:
- jQuery conflicts
- Missing dependencies
- CORS errors
Testing:
- Disable other plugins temporarily
- Test in incognito mode
- Try different browsers
Error Messages
"Wallet not found for customer ID: X"
Cause: Wallet doesn't exist for customer
Solution: Wallet will be created automatically on first wallet action, or admin can adjust balance to create one.
"Insufficient wallet balance"
Cause: Customer balance is less than required amount
Solutions:
- Customer should top-up wallet
- Admin can adjust balance
- Use different payment method
"This transaction has already been processed"
Cause: Duplicate idempotency key (prevents duplicate transactions)
Solutions:
- This is expected behavior
- Check if original transaction succeeded
- Use different idempotency key if retry needed
"E-Wallet is currently disabled"
Cause: Plugin is disabled in settings
Solution: Go to Settings > E-Wallet and enable it
"Customer account required for wallet payment"
Cause: Guest checkout attempted with wallet
Solution: Customer must log in to use wallet payment
Getting Support
If you're unable to resolve the issue:
Before Contacting Support
- Review this troubleshooting guide
- Check the FAQ section
- Gather relevant error messages and logs
Information to Provide
When contacting support, include:
Environment Details:
- Botble CMS version
- PHP version
- E-Wallet plugin version
- Browser and version
Issue Description:
- Detailed description of the problem
- Steps to reproduce the issue
- Expected vs actual behavior
Screenshots/Logs:
- Screenshots of error messages
- Relevant log entries
- Browser console errors
Contact Methods
- Documentation: https://docs.botble.com/e-wallet
- Support Tickets: https://botble.ticksy.com
- Email: [email protected]
We typically respond within 12-24 hours during business days.
