Looking to hire Laravel developers? Try LaraJobs

laravel-bkash maintained by sabuj073

Description
bKash Tokenized Checkout payment gateway integration for Laravel
Last update
2026/03/10 06:01 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

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 Completed and you have trxID. The callback redirect parameters can be forged.