From 1b134d7fd3bf5aaa2c3cda55f18064d3b7e7fcb0 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Thu, 11 Jun 2026 12:52:19 +0000 Subject: [PATCH] Mini API: banks endpoint for payout-account picker. GET /api/v1/mini/wallet/banks?type=bank|mobile_money proxies to the central identity banks endpoint so the app's payout sheet populates from Paystack. Co-Authored-By: Claude Opus 4.8 --- app/Http/Controllers/Api/Mini/WalletController.php | 8 ++++++++ routes/api.php | 1 + 2 files changed, 9 insertions(+) diff --git a/app/Http/Controllers/Api/Mini/WalletController.php b/app/Http/Controllers/Api/Mini/WalletController.php index 5caefe6..576362b 100644 --- a/app/Http/Controllers/Api/Mini/WalletController.php +++ b/app/Http/Controllers/Api/Mini/WalletController.php @@ -63,6 +63,14 @@ class WalletController extends Controller return response()->json(['data' => ['checkout_url' => $checkoutUrl]]); } + public function banks(Request $request): JsonResponse + { + $type = $request->query('type') === 'mobile_money' ? 'mobile_money' : 'bank'; + $response = $this->identitySend('GET', '/api/identity/banks?type='.urlencode($type), []); + + return response()->json(['data' => $response->json('data', [])]); + } + public function payoutAccount(): JsonResponse { $response = $this->identitySend('GET', '/api/identity/payout-account?user='.urlencode((string) ladill_account()->public_id), []); diff --git a/routes/api.php b/routes/api.php index 4299747..5bc2f47 100644 --- a/routes/api.php +++ b/routes/api.php @@ -50,6 +50,7 @@ Route::prefix('v1')->group(function () { Route::get('/mini/wallet', [MiniWalletController::class, 'show'])->name('api.mini.wallet'); Route::post('/mini/wallet/topup', [MiniWalletController::class, 'topup'])->name('api.mini.wallet.topup'); + Route::get('/mini/wallet/banks', [MiniWalletController::class, 'banks'])->name('api.mini.wallet.banks'); Route::get('/mini/wallet/payout-account', [MiniWalletController::class, 'payoutAccount'])->name('api.mini.wallet.payout-account'); Route::put('/mini/wallet/payout-account', [MiniWalletController::class, 'updatePayoutAccount'])->name('api.mini.wallet.payout-account.update'); Route::get('/mini/wallet/withdrawals', [MiniWalletController::class, 'withdrawals'])->name('api.mini.wallet.withdrawals');