Jika anda ingin menyediakan Bkash Payment Gateway, anda perlu mengikuti beberapa langkah. Di bawah ini saya memberikan panduan langkah demi langkah tentang cara anda boleh menyepadukan Gerbang Pembayaran Bkash. Untuk ini, kami akan menggunakan Bkash's Merchant API.
1. Perkara-perkara penting untuk Integrasi API Bkash
Akaun Pedagang Bkash: Anda mesti mempunyai Akaun Pedagang Bkash. Jika tidak, anda boleh memohon Bkash Merchant.
Bukti Kelayakan API: Bkash akan memberikan anda Nama Pengguna API, Kata Laluan API, Kunci Apl dan Rahsia Apl selepas persediaan Akaun Pedagang.
Sijil SSL: Sijil SSL adalah wajib untuk gerbang pembayaran Bkash.
URL Webhook: Anda perlu menetapkan URL Webhook untuk menerima pemberitahuan pembayaran.
2. Proses Integrasi Gerbang Pembayaran
Langkah 1: Persediaan Persekitaran
Mula-mula sediakan persekitaran PHP anda atau mana-mana persekitaran sebelah pelayan yang lain.
fail composer.json (jika menggunakan PHP)
json
Salin kod
{
"memerlukan": {
"guzzlehttp/guzzle": "^7.0"
}
}
Kemudian jalankan pemasangan komposer.
ধাপ ২: ফাইল এবং ডিরেক্টরি স্ট্রাকচার
teks biasa
Salin kod
projek-root/
├── index.php
├── bkash/
│ ├── config.php
│ ├── token.php
│ ├── create_payment.php
│ ├── execute_payment.php
│ └── query_payment.php
└── kejayaan.php
ধাপ ৩: Konfigurasi API Bkash (bkash/config.php)
php
Salin kod
kembalikan [
'base_url' => 'https://checkout.sandbox.bka.sh/v1.2.0-beta',
'nama pengguna' => 'ANDA_BKASH_USERNAME',
'kata laluan' => 'ANDA_BKASH_KATA',
'app_key' => 'KUNCI_APP_ANDA',
'app_secret' => 'RAHSIA_APP_ANDA',
'url_panggil balik' => 'https://fqrhost.com/success.php'
];
?>
ধাপ ৪: Jana Token Akses (bkash/token.php)
php
Salin kod
$config = include('config.php');
fungsi generateToken() {
global $config;
$url = $config['base_url'] . '/checkout/token/grant';
$headers = [
'Content-Type:application/json',
'nama pengguna:' . $config['nama pengguna'],
'kata laluan:' . $config['kata laluan']
];
$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']; </p> <p>}</p> <p>$token = generateToken();<br> ?><br> ধাপ ৫: Buat Pembayaran (bkash/create_payment.php)<br> php<br> Salin kod<br> <?php<br> include('token.php');</p> <p>fungsi createPayment($amount) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/payment/create';<br> $headers = [<br> 'Content-Type:application/json',<br> 'keizinan:' . $token,<br> 'x-app-key:' . $config['app_key']<br> ];</p> <pre class="brush:php;toolbar:false">$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); </p> <p>}</p> <p>$response = createPayment(1000); // ১০০০ টাকা পেমেন্ট<br> header('Lokasi: ' . $response['bkashURL']);<br> ?><br> ধাপ ৬: Laksanakan Pembayaran (bkash/execute_payment.php)<br> php<br> Salin kod<br> <?php<br> include('token.php');</p> <p>fungsi executePayment($paymentID) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/payment/execute/' . $paymentID;<br> $headers = [<br> 'Content-Type:application/json',<br> 'keizinan:' . $token,<br> 'x-app-key:' . $config['app_key']<br> ];</p> <pre class="brush:php;toolbar:false">$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);
}
jika (isset($_GET['paymentID'])) {
$response = executePayment($_GET['paymentID']);
bergema '
$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']; ';
}
?>
Langkah 7: Halaman Kejayaan (success.php)
php
Salin kod
echo "Pembayaran Berjaya!";
?>
3. Ujian Sistem
Anda boleh menguji sistem anda menggunakan Persekitaran Kotak Pasir Bkash.
Untuk menggunakan Mod Pengeluaran, kemas kini Kunci API dan URL anda daripada Bkash.
4. Persediaan webhook (pilihan)
Bkash boleh menggunakan URL Webhook untuk kemas kini pembayaran. Pemberitahuan akan dihantar kepada anda dengan maklumat pembayaran.beli pengehosan domain
Atas ialah kandungan terperinci Peraturan untuk membuat gerbang pembayaran bkash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!