SigmaPay for Drupal Commerce
Ajoutez SigmaPay à votre boutique Drupal Commerce sans écrire une ligne de code. Compatible Drupal 9 et 10.
Demander le plugin par emailInstallation
Copier le module
Demandez le module à support@sigmapay.sn, extrayez sigmapay-drupal.zip reçu et copiez le dossier commerce_sigmapay/ dans modules/contrib/ de votre Drupal.
Activer le module
Via l'interface : Administration → Extensions → Commerce SigmaPay → Activer.
Ou via Drush :
drush en commerce_sigmapay -y && drush crConfigurer la passerelle
Allez dans Commerce → Configuration → Modes de paiement → Ajouter un mode de paiement. Sélectionnez SigmaPay (Redirect) et renseignez vos clés.
Récupérer vos clés
Dans votre Dashboard SigmaPay, copiez votre Clé API (Paramètres → Clés API) et votre Secret Webhook (Paramètres → Webhooks).
Configuration
| Champ | Description |
|---|---|
| Clé API | sigmapay_test_… (test) ou sigmapay_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. |
sigmapay_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-SigmaPay-Signature :
$body = $request->getContent();
$signature = $request->headers->get('X-SigmaPay-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
sigmapay_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/sigmapay dans le dashboard.Dépannage
La commande reste en "En attente" après le paiement›
SigmaPay 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.
SigmaPay n'apparaît pas sur la page de paiement›
Vérifiez que le module est bien activé (drush pml | grep sigmapay) 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 SigmaPay. En mode test, vérifiez que https://bluepay.myfad.org est accessible depuis le serveur Drupal.
Prêt à accepter des paiements ?
Demandez le plugin Drupal et créez votre compte — opérationnel en moins d'une heure.