laravel-bkash maintained by sabuj073
Description
bKash Tokenized Checkout payment gateway integration for Laravel
Author
Last update
2026/03/10 06:01
(dev-main)
License
Downloads
0
Tags
Laravel bKash
bKash Tokenized Checkout payment gateway integration for Laravel.
Installation
composer require sabuj073/laravel-bkash
Publish config:
php artisan vendor:publish --tag=bkash-config
Configuration
In .env:
BKASH_SANDBOX=true
BKASH_APP_KEY=your_app_key
BKASH_APP_SECRET=your_app_secret
BKASH_USERNAME=your_username
BKASH_PASSWORD=your_password
BKASH_CALLBACK_URL=https://yoursite.com/bkash/callback
BKASH_SUCCESS_URL=https://yoursite.com/bkash/success
BKASH_FAIL_URL=https://yoursite.com/bkash/fail
Usage
Create payment and redirect user:
use Sabuj073\Bkash\BkashGateway;
$bkash = app(BkashGateway::class);
$result = $bkash->createPayment('500', 'INV-001');
return redirect($bkash->getRedirectUrl($result));
Add callback route (Execute payment is done in the package's callback; you can use your own controller if needed):
Route::get('/bkash/callback', \Sabuj073\Bkash\Http\Controllers\BkashCallbackController::class)->name('bkash.callback');
Route::get('/bkash/success', fn () => view('bkash.success'))->name('bkash.success');
Route::get('/bkash/fail', fn () => view('bkash.fail'))->name('bkash.fail');
After redirect to success, use session('bkash_trx_id') for your order fulfillment. Never fulfill only from callback URL params—always verify via Execute Payment (handled in callback) or session.
Security
- Always fulfill orders only after Execute Payment returns
Completedand you havetrxID. The callback redirect parameters can be forged.