Skip to main content

Démarrage rapide

Ce guide vous montre comment accepter votre premier paiement mobile money avec SahelPay, en sandbox.

Prérequis

  • Un accès SahelPay (demander l’accès : l’ouverture de compte se fait sur demande)
  • Vos clés API de test (sk_test_..., disponibles dans le dashboard)
La sandbox est gratuite. L’accès à la production est soumis à une validation et à un contrat distinct (voir Passer en production).

1. Créer un paiement

Le header X-Idempotency-Key est obligatoire sur POST /v1/payments (400 IDEMPOTENCY_KEY_REQUIRED sinon). Réutilisez la même clé pour un retry : vous obtenez le même paiement, jamais un doublon.
Les SDKs demandent hosted_checkout: true par défaut : redirect_url pointe alors vers le checkout hébergé SahelPay. Avec hosted_checkout: false (défaut de l’API brute), SahelPay initie directement le paiement mobile money et redirect_url pointe vers la page de l’opérateur.

2. Rediriger le client

Redirigez le client vers redirect_url. Il valide le paiement sur la page de l’opérateur.
Deux modes de test : metadata.sahelpay_mock: true (option SDK mock) utilise le simulateur SahelPay et n’appelle pas l’opérateur, tandis que metadata.sandbox: true (option SDK sandbox) appelle l’environnement de test de l’opérateur. Voir le guide de test.

3. Recevoir le webhook

Le webhook est la source de vérité. Ne marquez jamais une commande comme “payée” sans avoir reçu et vérifié le webhook payment.success.
Configurez votre endpoint webhook dans le dashboard, puis implémentez le handler :

4. Page de retour

Après un paiement confirmé par le serveur (SUCCESS), la page de paiement SahelPay redirige automatiquement le client vers votre return_url après quelques secondes (un lien « Retour au site marchand » reste affiché). Un paiement en attente, échoué ou non vérifié ne déclenche jamais de redirection automatique. SahelPay n’ajoute aucun paramètre à votre return_url : incluez-y votre propre référence de commande. L’URL doit être en https:// et hors des domaines SahelPay, sinon la page de paiement ne propose aucun retour.
La page de retour sert uniquement à l’UX. Le statut définitif vient toujours du webhook.

Méthode de paiement disponible

L’alias MOBILE_MONEY est également accepté.
C’est le seul moyen de paiement disponible. Une autre valeur de provider ou de payment_method renvoie 400.

Prochaines étapes

Passer en production

Accès production sur demande

Webhooks

Configurer et sécuriser vos webhooks

Tests

Sandbox opérateur et simulateur SahelPay

SDKs

Installer les SDKs officiels

Kit développeur et logos

Logos, bouton « Payer avec SahelPay », SDKs et template

API Reference

Documentation complète de l’API