BluePay for Drupal Commerce
Ajoutez BluePay à votre boutique Drupal Commerce sans écrire une ligne de code. Compatible Drupal 9 et 10.
⬇ Télécharger bluepay-for-drupal.zipInstallation
Copier le module
Extrayez bluepay-drupal.zip et copiez le dossier commerce_bluepay/ dans modules/contrib/ de votre Drupal.
Activer le module
Via l'interface : Administration → Extensions → Commerce BluePay → Activer.
Ou via Drush :
drush en commerce_bluepay -y && drush crConfigurer la passerelle
Allez dans Commerce → Configuration → Modes de paiement → Ajouter un mode de paiement. Sélectionnez BluePay (Redirect) et renseignez vos clés.
Récupérer vos clés
Dans votre Dashboard BluePay, copiez votre Clé API (Paramètres → Clés API) et votre Secret Webhook (Paramètres → Webhooks).
Configuration
| Champ | Description |
|---|---|
| Clé API | bluepay_test_… (test) ou bluepay_live_… (production). Disponible dans Dashboard → Clés API. |
| Secret Webhook | Clé secrète pour valider les notifications IPN (HMAC-SHA256). Dashboard → Webhooks. |
| Mode | Test = aucun vrai paiement. Production = paiements réels. |
bluepay_test_…. Aucun vrai paiement ne sera débité.Webhook IPN
Drupal Commerce génère automatiquement l'URL IPN suivante. Configurez-la dans Dashboard → Webhooks :
https://votre-site.sn/payment/notify/{machine_name_de_la_passerelle}Le module vérifie automatiquement la signature HMAC-SHA256 de chaque notification via l'en-tête X-BluePay-Signature :
$body = $request->getContent();
$signature = $request->headers->get('X-BluePay-Signature', '');
$webhook_secret = $this->configuration['webhook_secret'];
$expected = hash_hmac('sha256', $body, $webhook_secret);
if (!hash_equals($expected, $signature)) {
throw new \Exception('Signature invalide.');
}
// ✓ Paiement confirmé — mettre à jour la commande Drupal Commerce
$payload = json_decode($body, TRUE);
$order_id = $payload['data']['metadata']['order_id'];
$order = \Drupal::entityTypeManager()
->getStorage('commerce_order')
->load($order_id);Tester
Clé API test
bluepay_test_a8be60f2d216b37b9c2133a5d4c2a5a9
Mode
Test
Numéro téléphone
N'importe quel numéro à 9 chiffres
Résultat
Commande marquée payée (simulé)
ngrok http 80. Copiez l'URL https://xxxx.ngrok.io/payment/notify/bluepay dans le dashboard.Dépannage
La commande reste en "En attente" après le paiement›
BluePay n'a pas pu atteindre votre URL IPN. Vérifiez que l'URL IPN est bien configurée dans le dashboard et que votre site est accessible depuis internet (ngrok en local).
Erreur "Signature invalide" dans les logs Drupal›
Le Secret Webhook du module ne correspond pas à celui du Dashboard. Recopiez la valeur exacte sans espaces depuis Dashboard → Webhooks.
BluePay n'apparaît pas sur la page de paiement›
Vérifiez que le module est bien activé (drush pml | grep bluepay) et que la passerelle est configurée dans Commerce → Modes de paiement.
Erreur cURL lors de la création du paiement›
Le serveur Drupal ne peut pas joindre l'API BluePay. En mode test, vérifiez que https://bluepay.myfad.org est accessible depuis le serveur Drupal.
Prêt à accepter des paiements ?
Téléchargez le plugin Drupal et créez votre compte — opérationnel en moins d'une heure.