File: /var/www/api.vaspayment.com/routes/api.php
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Balance\Index;
use App\Http\Controllers\Admin\ShopController;
use App\Http\Controllers\Authentication\Admin;
use App\Http\Controllers\Authentication\Login;
use App\Http\Controllers\Authentication\Logout;
use App\Http\Controllers\Admin\BillerController;
use App\Http\Controllers\Admin\ProductController;
use App\Http\Controllers\Authentication\Register;
use App\Http\Controllers\Biller\Cable\RingoCable;
use App\Http\Controllers\Biller\Data\PurchaseData;
use App\Http\Controllers\Biller\TransactionsIndex;
use App\Http\Controllers\Biller\Cable\PurchaseCable;
use App\Http\Controllers\Biller\Airtime\RingoAirtime;
use App\Http\Controllers\Biller\Data\DataStationData;
use App\Http\Controllers\Admin\NotificationController;
use App\Http\Controllers\Authentication\ResetPassword;
use App\Http\Controllers\API\NINVerificationController;
use App\Http\Controllers\Authentication\ForgetPassword;
use App\Http\Controllers\Biller\Electricity\PurchasePower;
use App\Http\Controllers\Biller\Funding\MonnifyController;
use App\Http\Controllers\Biller\Verification\BVNController;
use App\Http\Controllers\Biller\Verification\NINController;
use App\Http\Controllers\Biller\Electricity\RingoElectricity;
use App\Http\Controllers\Biller\Webhook\BudPayWebhookController;
use App\Http\Controllers\Biller\Webhook\MonnifyWebhookController;
use App\Http\Controllers\Biller\VirtualAccount\BudPayVAController;
use App\Http\Controllers\Biller\VirtualAccount\MonnifyVAController;
use App\Http\Controllers\Biller\VirtualAccount\GetVirtualAccountController;
use App\Http\Controllers\UserController;
Route::get('/log', [Login::class, 'index'])->name('login');
Route::prefix('v1/auth')->group(function () {
Route::get('/login', [Login::class, 'login']);
Route::post('/admin-login', [Admin::class, 'login']);
Route::post('/register', [Register::class, 'register']);
Route::post('/verify-email', [Register::class, 'verifyEmailOtp']);
Route::post('/forget-password', [ForgetPassword::class, 'forgetPassword']);
Route::post('/reset-password', [ResetPassword::class, 'resetPassword']);
Route::post('/send-email-otp', [Register::class, 'sendEmailOtp']);
Route::post('/logout', [Logout::class, 'logout']);
});
Route::prefix('v1')->middleware('auth:sanctum')->group(function () {
Route::post('/verify-bvn', [BVNController::class, 'verify']);
Route::post('/verify-nin', [NINController::class, 'verify']);
Route::post('/agent-verify-nin', [NINVerificationController::class, 'verify']);
Route::post('/monnify-virtual-account', [MonnifyVAController::class, 'create']);
Route::post('/budpay-virtual-account', [BudPayVAController::class, 'createCustomer']);
Route::post('/card-monnify-initiate', [MonnifyController::class, 'initiate']);
Route::post('/get-virtual-account', [GetVirtualAccountController::class, 'getVirtualAccount']);
Route::post('/get-funding-history', [GetVirtualAccountController::class, 'getFundingHistory']);
Route::post('/commission-transfer', [GetVirtualAccountController::class, 'commissionTransfer']);
Route::post('/get-user-notifications', [NotificationController::class, 'userNotifications']);
Route::post('/get-user-balance', [GetVirtualAccountController::class, 'userBalance']);
Route::post('/buy-airtime', [RingoAirtime::class, 'buyLocalAirtime']);
Route::post('/get-data-networks', [DataStationData::class, 'getDataNetwork']);
Route::post('/get-data-bundles', [DataStationData::class, 'getDataBundle']);
Route::get('/fetch-data-bundle', [DataStationData::class, 'fetchDataBundle']);
Route::post('/buy-data-bundle', [PurchaseData::class, 'purchaseData']);
// for api users
Route::get('/fetch-cable-type', [RingoCable::class, 'fetchCableTv']);
Route::get('/get-cable-type', [RingoCable::class, 'getCableType']);
Route::get('/get-cable-packages', [RingoCable::class, 'getCablePackage']);
Route::post('/query-decoder-no', [RingoCable::class, 'queryDecoderNo']);
Route::post('/buy-cable-subscription', [PurchaseCable::class, 'purchaseCableSubscription']);
Route::post('/get-electricity-type', [RingoElectricity::class, 'getElectricityType']);
Route::post('/query-meter-no', [RingoElectricity::class, 'validateMeterNo']);
Route::post('/buy-meter-token', [PurchasePower::class, 'purchaseMeterToken']);
Route::post('/get-latest-transactions', [TransactionsIndex::class, 'index']);
Route::post('/get-transactions', [TransactionsIndex::class, 'showTrax']);
Route::post('/get-beneficiaries', [TransactionsIndex::class, 'beneficiaries']);
Route::post('/save-beneficiary', [TransactionsIndex::class, 'saveBeneficiary']);
Route::post('/update-user-account', [UserController::class, 'updateAccount']);
Route::post('/get-user-beneficiary', [UserController::class, 'getBeneficiary']);
Route::post('/update-user-beneficiary', [UserController::class, 'updateBeneficiary']);
Route::post('/change-user-password', [UserController::class, 'changePassword']);
Route::post('/save-player-id', [UserController::class, 'savePlayerId']);
});
Route::any('/v1/transfer-budpay-webhook', [BudPayWebhookController::class, 'index']);
Route::any('/v1/transfer-webhook', [MonnifyWebhookController::class, 'index']);
Route::any('/v1/data-station-webhook', [MonnifyWebhookController::class, 'dataStation']);
Route::any('/v1/honorworld-webhook', [MonnifyWebhookController::class, 'dataStation']);
Route::prefix('v1/admin')->middleware('auth:sanctum', 'admin', 'verified')->group(function () {
Route::get('/balance', [Index::class, 'index']);
Route::get('/billers', [BillerController::class, 'index']);
Route::post('/biller-store', [BillerController::class, 'storeOrUpdate']);
Route::delete('/biller-delete', [BillerController::class, 'destroy']);
Route::get('/products', [ProductController::class, 'index']);
Route::post('/product-store', [ProductController::class, 'storeOrUpdate']);
Route::delete('/product-delete', [ProductController::class, 'destroy']);
Route::get('/notifications', [NotificationController::class, 'index']);
Route::post('/notification-store', [NotificationController::class, 'storeOrUpdate']);
Route::delete('/notification-delete', [NotificationController::class, 'destroy']);
Route::get('/shops', [ShopController::class, 'index']);
Route::post('/shop-store', [ShopController::class, 'storeOrUpdate']);
Route::delete('/shop-delete', [ShopController::class, 'destroy']);
});
Route::get('/v1/blogs', [ShopController::class, 'allBlog']);
Route::post('/v1/blog/show', [ShopController::class, 'showBlog']);