Si vous souhaitez configurer la passerelle de paiement Bkash, vous devez suivre quelques étapes. Ci-dessous, je donne un guide étape par étape sur la façon dont vous pouvez intégrer la passerelle de paiement Bkash. Pour cela, nous utiliserons l'API marchand de Bkash.
1. Éléments essentiels pour l'intégration de l'API Bkash
Compte marchand Bkash : vous devez disposer d'un compte marchand Bkash. Sinon, vous pouvez postuler pour Bkash Merchant.
Informations d'identification API : Bkash vous fournira le nom d'utilisateur API, le mot de passe API, la clé d'application et le secret d'application après la configuration du compte marchand.
Certificat SSL : Un certificat SSL est obligatoire pour la passerelle de paiement Bkash.
URL Webhook : vous devez définir une URL Webhook pour recevoir des notifications de paiement.
2. Processus d'intégration de la passerelle de paiement
Étape 1 : Configuration de l'environnement
Configurez d’abord votre environnement PHP ou tout autre environnement côté serveur.
Fichier composer.json (si vous utilisez PHP)
json
Copier le code
{
"exiger": {
"guzzlehttp/guzzle": "^7.0"
>
>
Ensuite, exécutez composer install.
ধাপ ২ : ফাইল এবং ডিরেক্টরি স্ট্রাকচার
texte en clair
Copier le code
racine du projet/
├── index.php
├──bkash/
│ ├── config.php
│ ├── jeton.php
│ ├── create_payment.php
│ ├──execute_payment.php
│ └── query_payment.php
└── success.php
Lire : Configuration de l'API Bkash (bkash/config.php)
php
Copier le code
revenir [
'base_url' => 'https://checkout.sandbox.bka.sh/v1.2.0-beta',
'nom d'utilisateur' => 'VOTRE_BKASH_USERNAME',
'mot de passe' => 'VOTRE_BKASH_PASSWORD',
'app_key' => 'VOTRE_APP_KEY',
'app_secret' => 'VOTRE_APP_SECRET',
'callback_url' => 'https://fqrhost.com/success.php'
];
?>
ধাপ ৪ : Générer un jeton d'accès (bkash/token.php)
php
Copier le code
$config = include('config.php');
fonction generateToken() {
global $config;
$url = $config['base_url'] . '/checkout/token/grant';
$en-têtes = [
'Type de contenu :application/json',
'nom d'utilisateur:' . $config['nom d'utilisateur'],
'mot de passe:' . $config['mot de passe']
];
$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> ধাপ ৫ : Créer un paiement (bkash/create_payment.php)<br> php<br> Copier le code<br> <?php<br> include('token.php');</p> <p>fonction createPayment($montant) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/paiement/créer';<br> $en-têtes = [<br> 'Type de contenu :application/json',<br> 'autorisation :' . $jeton,<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('Emplacement : ' . $response['bkashURL']);<br> ?><br> ধাপ ৬ : Exécuter le paiement (bkash/execute_payment.php)<br> php<br> Copier le code<br> <?php<br> include('token.php');</p> <p>fonction exécuterPayment($paymentID) {<br> global $config, $token;<br> $url = $config['base_url'] . '/checkout/paiement/exécuter/' . $ID de paiement ;<br> $en-têtes = [<br> 'Type de contenu :application/json',<br> 'autorisation :' . $jeton,<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['paymentID'])) {
$response = exécuterPayment($_GET['paymentID']);
écho '
$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']; ';
>
?>
Étape 7 : Page de réussite (success.php)
php
Copier le code
echo "Paiement réussi!";
?>
3. Tests du système
Vous pouvez tester votre système à l'aide de l'environnement Sandbox de Bkash.
Pour utiliser le mode production, mettez à jour votre clé API et votre URL depuis Bkash.
4. Configuration du webhook (facultatif)
Bkash peut utiliser l'URL du Webhook pour les mises à jour de paiement. Une notification vous sera envoyée avec les informations de paiement.acheter un hébergement de domaine
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!