如果您想设置 bkash 支付网关,您需要遵循一些步骤。下面我将逐步指导您如何集成 bkash 支付网关。为此,我们将使用 bkash 的 merchant api。
1. bkash api 集成要点
bkash 商户账户:您必须拥有 bkash 商户账户。如果没有你可以申请bkash merchant。
api凭证:在商户帐户设置后,bkash将向您提供api用户名、api密码、应用程序密钥和应用程序密钥。
ssl证书:bkash支付网关必须要有ssl证书。
webhook url:您需要设置一个webhook url来接收付款通知。
2.支付网关集成流程
第1步:环境设置
首先设置您的 php 环境或任何其他服务器端环境。
composer.json 文件(如果使用 php)
json
复制代码
{
“要求”:{
“guzzlehttp/guzzle”: “^7.0”
}
}
然后运行composer install。
第 2 步:文件和目录结构
明文
复制代码
项目根目录/
├──index.php
├── bkash/
│ ├── config.php
│ ├── Token.php
│ ├── create_ payment.php
│ ├──execute_ payment.php
│ └── query_ payment.php
└── success.php
步骤3:bkash api配置(bkash/config.php)
php
复制代码
返回[
‘base_url’ => ‘https://checkout.sandbox.bka.sh/v1.2.0-beta’,
‘用户名’ = > ‘your_bkash_username’,
‘密码’ = > ‘your_bkash_password’,
‘app_key’ = > ‘your_app_key’,
‘app_secret’ => ‘your_app_secret’,
‘callback_url’ => ‘https://fqrhost.com/success.php’
];
?>
步骤 4:生成访问令牌 (bkash/token.php)
php
复制代码
$config = include(‘config.php’);
函数generatetoken() {
全局 $config;
$url = $config[‘base_url’] 。 ‘/checkout/token/grant’;
$标题= [
‘内容类型:application/json’,
‘用户名:’ . $config[‘用户名’],
‘密码:’ 。 $config[‘密码’]
];
$data = [ 'app_key' => $config['app_key'], 'app_secret' => $config['app_secret'] ]; $curl = curl_init($url); curl_setopt($curl, curlopt_httpheader, $headers); curl_setopt($curl, curlopt_post, true); curl_setopt($curl, curlopt_postfields, json_encode($data)); curl_setopt($curl, curlopt_returntransfer, true); $result = curl_exec($curl); curl_close($curl); $response = json_decode($result, true); return $response['id_token'];
}
$token =generatetoken();
?>
第5步:创建付款(bkash/create_ payment.php)
php
复制代码
include(‘token.php’);
函数createpayment($金额){
全局 $config, $token;
$url = $config[‘base_url’] 。 ‘/结账/付款/创建’;
$标题= [
‘内容类型:application/json’,
‘授权:’ 。 $代币,
‘x-app-key:’ 。 $config[‘app_key’]
];
$data = [ 'amount' => $amount, 'currency' => 'bdt', 'intent' => 'sale', 'merchantinvoicenumber' => 'inv-' . uniqid(), 'callbackurl' => $config['callback_url'] ]; $curl = curl_init($url); curl_setopt($curl, curlopt_httpheader, $headers); curl_setopt($curl, curlopt_post, true); curl_setopt($curl, curlopt_postfields, json_encode($data)); curl_setopt($curl, curlopt_returntransfer, true); $result = curl_exec($curl); curl_close($curl); return json_decode($result, true);
}
$response = createpayment(1000); // 1000卢比付款
header(‘位置:’ . $response[‘bkashurl’]);
?>
第6步:执行付款(bkash/execute_ payment.php)
php
复制代码
include(‘token.php’);
函数executepayment($ paymentid) {
全局 $config, $token;
$url = $config[‘base_url’] 。 ‘/结帐/付款/执行/’ 。 $付款id;
$标题= [
‘内容类型:application/json’,
‘授权:’ 。 $代币,
‘x-app-key:’ 。 $config[‘app_key’]
];
$curl = curl_init($url); curl_setopt($curl, curlopt_httpheader, $headers); curl_setopt($curl, curlopt_returntransfer, true); $result = curl_exec($curl); curl_close($curl); return json_decode($result, true);
}
if (isset($_get[‘ paymentid’])) {
$response =executepayment($_get[‘ paymentid’]);
回声’
';<br> print_r($response);<br> echo '
‘;
}
?>
第7步:成功页面(success.php)
php
复制代码
echo “支付成功!”;
?>
3.系统测试
您可以使用 bkash 的沙盒环境测试您的系统。
要使用生产模式,请从 bkash 更新您的 api 密钥和 url。
4. webhook 设置(可选)
bkash 可以使用 webhook url 进行支付更新。我们将向您发送包含付款信息的通知。
购买域名托管