sabuj073 / laravel-bkash
bKash Tokenized Checkout payment gateway integration for Laravel
dev-main
2026-03-10 05:01 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
This package is auto-updated.
Last update: 2026-03-10 05:07:23 UTC
README
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.