Guide de démarrage

Démarrer avec SigmaPay

De l'inscription au premier paiement réel : ce qu'il faut faire, dans l'ordre, selon votre situation. Comptez 15 minutes si vous utilisez un plugin, une demi-journée pour une intégration API sur mesure.

Quel est votre cas ?

La réponse détermine si vous avez besoin d'un webhook — la seule étape qui demande un peu de technique.

🧩

J'ai une boutique WooCommerce, Drupal ou Moodle

Installez le plugin SigmaPay : il contient déjà tout, y compris la page webhook. Aucune ligne de code.

⚙️

J'ai un site ou une application développé(e) sur mesure

Vous appelez l'API SigmaPay depuis votre code, et vous créez une page webhook sur votre serveur pour être prévenu des paiements. Des SDKs JavaScript, Python et PHP sont disponibles.

📱

Je n'ai pas de site (WhatsApp, Instagram, boutique physique…)

Vous n'avez besoin ni de code ni de webhook. Créez des liens de paiement, des factures ou un QR code depuis le dashboard, et suivez les paiements dedans.

Les 5 étapes

1

Créer votre compte

Inscrivez-vous sur sigmapay.digital/app/register. Vous accédez immédiatement au dashboard avec une clé API test.

2

Soumettre votre dossier KYC

Dans Paramètres → Vérification d'identité, envoyez votre pièce d'identité et le contrat signé (plus le NINEA/RCCM pour une entreprise). Notre équipe le valide sous 48 h ouvrées. Tant que ce n'est pas fait, aucun paiement réel ne peut passer — mais vous pouvez déjà tout intégrer et tester.

3

Récupérer votre clé API

Paramètres → Clés API. La clé sigmapay_test_… sert à développer sans argent réel ; la clé sigmapay_live_… s'active une fois le KYC validé. Copiez-la à la génération : elle ne sera plus jamais affichée.

4

Configurer le webhook (plugin ou API uniquement)

Paramètres → Configuration Webhook : saisissez l'URL de votre page webhook et un secret que vous inventez (une longue chaîne aléatoire). Ce même secret doit être renseigné dans votre plugin ou votre code. Cliquez ensuite sur « Envoyer un webhook de test » pour vérifier que votre serveur répond bien.

5

Tester, puis passer en live

Avec la clé test, faites un paiement sur votre boutique : la transaction doit apparaître dans le dashboard et votre site doit réagir (commande payée, accès débloqué…). Une fois le KYC validé, remplacez la clé test par la clé live. Rien d'autre ne change.

💡
Vous pouvez faire les étapes 3 à 5 avec la clé test sans attendre la validation KYC. Le jour où le KYC est validé, vous ne changez que la clé.

Le webhook, expliqué simplement

Quand un client paie, l'opérateur mobile money met parfois plusieurs secondes — ou minutes — à confirmer, et le client peut fermer son navigateur entre-temps. Votre site ne peut donc pas se fier à la page de retour pour savoir si le paiement a réussi.

Le webhook, c'est SigmaPay qui appelle votre serveur dès qu'il a la réponse, que le client soit encore là ou pas. Concrètement : une page de votre site (par exemple https://ma-boutique.sn/sigmapay/webhook) qui reçoit unPOST JSON à chaque changement d'état d'une transaction.

Ce que reçoit votre page
POST /sigmapay/webhook
Content-Type: application/json
X-SigmaPay-Signature: 3f9a…   ← HMAC-SHA256 du corps, avec votre secret

{
  "event": "transaction.updated",
  "transactionId": "cm1x…",
  "reference": "CMD-1234",
  "status": "SUCCESS",
  "amount": 5000,
  "currency": "XOF",
  "channel": "WAVE"
}

Votre page doit faire trois choses : vérifier la signature (recalculer le HMAC avec votre secret et comparer — sinon n'importe qui pourrait vous envoyer un faux « SUCCESS »), traiter le statut (marquer la commande payée), et répondre 200. Si votre page ne répond pas 2xx, SigmaPay réessaie 3 fois (5 s, 10 s, 20 s).

⚠️
Vous ne recevez pas d'URL de webhook de la part de SigmaPay — c'est l'inverse : vous créez la page chez vous, puis vous nous donnez son adresse dans le dashboard. Avec un plugin, cette page existe déjà : son adresse est indiquée dans le guide du plugin.

Pour vérifier sans faire de vrai paiement : Paramètres → Configuration Webhook → « Envoyer un webhook de test ». SigmaPay envoie un payload factice (avec "test": true) signé avec votre secret, et vous montre ce que votre serveur a répondu. Un exemple complet de page webhook en PHP, Node et Python est dans la documentation API.

Dépannage

SymptômeCause probableSolution
Le paiement apparaît dans le dashboard mais mon site ne réagit pasLe webhook n'arrive pas ou est refusé.Utilisez « Envoyer un webhook de test » dans Paramètres. Un 401 = secret différent des deux côtés ; un 404 = mauvaise URL ; aucune réponse = serveur injoignable.
Ma clé live renvoie 403Votre compte n'est pas encore vérifié.Vérifiez le statut KYC dans Paramètres. Utilisez la clé test en attendant la validation.
Le webhook de test répond 200 mais un vrai paiement ne déclenche rienVotre code ne traite que certains statuts, ou ignore le payload de test (champ « test »: true).Vérifiez que votre page traite le statut SUCCESS et retrouve bien la commande à partir de « reference » ou « transactionId ».
Mon URL de webhook est refusée à l'enregistrementL'URL n'est pas valide ou n'est pas publique.Elle doit être complète (https://…), avec un vrai nom de domaine — pas localhost ni une adresse IP privée.

Besoin d'aide ?

Écrivez à support@sigmapay.sn en indiquant l'email de votre compte marchand, votre type d'intégration (plugin, API, sans site) et, si c'est un problème de webhook, le résultat du bouton « Envoyer un webhook de test ». Ça nous évite un aller-retour.