Transfer: two-step add-funds modal on insufficient balance
Deploy Ladill Transfer / deploy (push) Successful in 48s
Deploy Ladill Transfer / deploy (push) Successful in 48s
Creating a transfer that the wallet can't cover used to flash a bare error. Detect the insufficient-balance case and open an in-app two-step modal (billing explainer -> amount -> Paystack) on the create page instead, with an 'Add funds' button to top up on demand. - BillingClient::topup -> POST /api/billing/topup (Transfer already holds its key) - WalletTopupController + route POST /wallet/topup (user.wallet.topup) - store() flashes open_topup_modal on TransferWalletErrors::isInsufficientBalance - service-topup-modal made two-step (uses <x-modal>, plain POST -> checkout) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c9994129dc
commit
a0a706093b
@@ -2,6 +2,7 @@
|
||||
|
||||
use App\Http\Controllers\Auth\SsoLoginController;
|
||||
use App\Http\Controllers\WalletBalanceController;
|
||||
use App\Http\Controllers\WalletTopupController;
|
||||
use App\Http\Controllers\NotificationController;
|
||||
use App\Http\Controllers\Public\QrScanController;
|
||||
use App\Http\Controllers\Public\TransferPublicController;
|
||||
@@ -38,6 +39,7 @@ Route::get('/q/{shortCode}/transfer/files/{file}', [TransferPublicController::cl
|
||||
|
||||
Route::middleware(['auth', 'platform.session'])->group(function () {
|
||||
Route::get('/wallet/balance', [WalletBalanceController::class, 'balance'])->name('wallet.balance');
|
||||
Route::post('/wallet/topup', [WalletTopupController::class, 'store'])->name('user.wallet.topup');
|
||||
Route::get('/notifications', [NotificationController::class, 'index'])->name('notifications.index');
|
||||
Route::get('/notifications/unread', [NotificationController::class, 'unread'])->name('notifications.unread');
|
||||
Route::post('/notifications/{id}/read', [NotificationController::class, 'markAsRead'])->name('notifications.mark-read');
|
||||
|
||||
Reference in New Issue
Block a user