定制 softrang/bkash-payment 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

softrang/bkash-payment

最新稳定版本:v1.1.1

Composer 安装命令:

composer require softrang/bkash-payment

包简介

A Laravel-ready bKash payment gateway package by Softrang

README 文档

README

A simple and developer-friendly bKash Tokenized Checkout integration for Laravel 12+, created by Softrang.
This package provides a ready-to-use facade, service provider make bKash payments super easy to implement.

1️⃣ Install via Composer

composer require softrang/bkash-payment

2️⃣ .env Setup (Sandbox)

SANDBOX = true 
BKASH_USERNAME = 'sandboxTokenizedUser02'
BKASH_PASSWORD = 'sandboxTokenizedUser02@12345'
BKASH_APP_KEY = '4f6o0cjiki2rfm34kfdadl1eqq'
BKASH_APP_SECRET ='2is7hdktrekvrbljjh44ll3d9l1dtjo4pasmjvs5vl5qr3fug4b'
BKASH_CALLBACK_URL = 'http://127.0.0.1:8000/yourpath'

.env Setup (Live)

SANDBOX = false
BKASH_USERNAME = 'your username'
BKASH_PASSWORD = 'your password'
BKASH_APP_KEY = 'your app_key'
BKASH_APP_SECRET ='your app_secret'
BKASH_CALLBACK_URL = 'http://yourdomain.com/path'

3️⃣ Create a controller named BkashController:

php artisan make:controller BkashController

Then open app/Http/Controllers/BkashController.php and paste:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Softrang\BkashPayment\Facades\Bkash;

class BkashController extends Controller
{
     
    public function create(Request $request)
    {
        $request->validate([
            'amount' => 'required|numeric|min:1',
            'name' => 'required|string|max:255',
            'phone' => 'required|string|max:20',
            'address' => 'required|string|max:255',
        ]);

        // Create payment session using Softrang\BkashPayment
        $response = Bkash::createPayment([
            'amount' => $request->amount,
            'payerReference' => $request->phone,
        ]);

        if (isset($response['bkashURL'])) {
            return redirect()->away($response['bkashURL']);
        }

        return back()->with('error', $response['message'] ?? 'Failed to create payment');
    }

   
    
    public function callback(Request $request)
{
    
    if (in_array($request->status, ['failure', 'cancel'])) {
        return redirect()->route('payment.failed')
            ->with('error', 'Payment cancelled or failed.');
    }

    $paymentID = $request->paymentID;
    $execute = Bkash::executePayment($paymentID);

    if (isset($execute['statusCode']) && $execute['statusCode'] === '0000') {

        session()->put('bkash_success', [
            'trxID'      => $execute['trxID'],
            'amount'     => $execute['amount'],
            'paymentID'  => $execute['paymentID'],
        ]);

        return redirect()->route('bkash.success');
    }

    return redirect()->route('payment.failed')->with('error', 'Payment not completed.');
}
    
    public function success()
    {
        if (!session()->has('bkash_success')) {
            return redirect()->back();
        }

        $data = session('bkash_success');
        session()->forget('bkash_success');
        return view('success', compact('data'));
    }
}

4️⃣ Setup Routes

use App\Http\Controllers\BkashController;

Route::post('/bkash/create', [BkashController::class, 'create'])->name('bkash.create');
Route::get('/bkash/callback', [BkashController::class, 'callback'])->name('bkash.callback');
Route::get('/bkash/success', [BkashController::class, 'success'])->name('bkash.success');

Sandbox Testing Credentials

Testing Number:  01619777283 , 01877722345, 01823074817
OTP: 123456
PIN: 12121

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-10