Heim >Backend-Entwicklung >PHP-Tutorial >Regeln zum Erstellen des Zahlungsgateways von bkash
Wenn Sie das Bkash Payment Gateway einrichten möchten, müssen Sie einige Schritte befolgen. Im Folgenden gebe ich eine Schritt-für-Schritt-Anleitung, wie Sie das Bkash Payment Gateway integrieren können. Hierfür verwenden wir die Merchant API von Bkash.
1. Grundlagen für die Bkash-API-Integration
Bkash-Händlerkonto: Sie müssen über ein Bkash-Händlerkonto verfügen. Wenn nicht, können Sie sich für Bkash Merchant bewerben.
API-Anmeldeinformationen: Bkash stellt Ihnen nach der Einrichtung des Händlerkontos API-Benutzernamen, API-Passwort, App-Schlüssel und App-Geheimnis zur Verfügung.
SSL-Zertifikat: Für das Bkash-Zahlungsgateway ist ein SSL-Zertifikat obligatorisch.
Webhook-URL: Sie müssen eine Webhook-URL festlegen, um Zahlungsbenachrichtigungen zu erhalten.
2. Integrationsprozess des Zahlungsgateways
Schritt 1: Umgebungseinrichtung
Richten Sie zunächst Ihre PHP-Umgebung oder eine andere serverseitige Umgebung ein.
composer.json-Datei (bei Verwendung von PHP)
json
Code kopieren
{
„erfordern“: {
„guzzlehttp/guzzle“: „^7.0“
}
}
Führen Sie dann die Composer-Installation aus.
ধাপ ২: ফাইল এবং ডিরেক্টরি স্ট্রাকচার
Klartext
Code kopieren
Projektstammverzeichnis/
├── index.php
├── bkash/
│ ├── config.php
│ ├── token.php
│ ├── create_zahlung.php
│ ├──execute_zahlung.php
│ └── query_zahlung.php
└── success.php
Siehe auch: Bkash API-Konfiguration (bkash/config.php)
php
Code kopieren
zurück [
'base_url' => 'https://checkout.sandbox.bka.sh/v1.2.0-beta',
'Benutzername' => 'YOUR_BKASH_USERNAME',
'Passwort' => 'YOUR_BKASH_PASSWORD',
'app_key' => 'YOUR_APP_KEY',
'app_secret' => 'YOUR_APP_SECRET',
'callback_url' => 'https://fqrhost.com/success.php'
];
?>
ধাপ ৪: Access Token Generate (bkash/token.php)
php
Code kopieren
$config = include('config.php');
Funktion genericToken() {
global $config;
$url = $config['base_url'] . '/checkout/token/grant';
$headers = [
'Content-Type:application/json',
'Benutzername:' . $config['Benutzername'],
'Passwort:' . $config['password']
];
$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 = genericToken();<br> ?><br> ধাপ ৫: Zahlung erstellen (bkash/create_paid.php)<br> php<br> Code kopieren<br> <?php<br> include('token.php');</p> <p>Funktion createPayment($amount) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/zahlung/erstellen';<br> $headers = [<br> 'Content-Type:application/json',<br> 'Autorisierung:' . $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('Location: ' . $response['bkashURL']);<br> ?><br> ধাপ ৬: Zahlung ausführen (bkash/execute_paid.php)<br> php<br> Code kopieren<br> <?php<br> include('token.php');</p> <p>FunktionexecutePayment($zahlungID) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/zahlung/ausführen/' . $zahlungsID;<br> $headers = [<br> 'Content-Type:application/json',<br> 'Autorisierung:' . $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);
}
if (isset($_GET['zahlungID'])) {
$response =executePayment($_GET['zahlungID']);
echo '
$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']; ';
}
?>
Schritt 7: Erfolgsseite (success.php)
php
Code kopieren
echo „Zahlung erfolgreich!“;
?>
3. Systemtest
Sie können Ihr System mit der Sandbox-Umgebung von Bkash testen.
Um den Produktionsmodus zu verwenden, aktualisieren Sie Ihren API-Schlüssel und Ihre URL von Bkash.
4. Webhook-Einrichtung (optional)
Bkash kann die Webhook-URL für Zahlungsaktualisierungen verwenden. Sie erhalten eine Benachrichtigung mit Zahlungsinformationen.Domain-Hosting kaufen
Das obige ist der detaillierte Inhalt vonRegeln zum Erstellen des Zahlungsgateways von bkash. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!