sabuj073/laravel-bkash

bKash Tokenized Checkout payment gateway integration for Laravel

Maintainers

Package info

github.com/sabuj073/laravel-bkash

pkg:composer/sabuj073/laravel-bkash

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-03-10 05:01 UTC

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