Démarrage rapide
Objectif : réaliser votre premier paiement de test en quelques minutes, avec uniquement curl (un outil disponible dans votre terminal). Aucun argent réel n’est utilisé.
Étape 1 — Créer votre compte
- Ouvrez le portail client MafPay et cliquez sur Créer un compte.
- Renseignez votre nom, votre email, votre téléphone et le nom de votre entreprise.
- Vous recevez un code à 6 chiffres par email : saisissez-le pour vérifier votre adresse.
- Connectez-vous.
Étape 2 — Créer une application
Dans le portail, ouvrez Applications puis Nouvelle application (ex : « Ma boutique »).
MafPay génère pour cette application deux paires de clés :
| Clé publique | Secret | |
|---|---|---|
| Sandbox (test) | pk_test_… |
sk_test_… |
| Live (production) | pk_live_… |
sk_live_… |
Pour ce guide, utilisez uniquement les clés _test_.
Étape 3 — Récupérer votre identifiant d’entreprise
Sur la page Entreprise du portail, copiez votre endpoint_key (24 caractères, ex : d7f5c1eb86d42ff82775fa7b). Il fait partie de l’adresse de chaque requête.
Gardez ces quatre informations sous la main : les exemples de cette page les désignent par les noms ci-dessous, à remplacer par vos valeurs.
| Dans les exemples | À remplacer par | Où le trouver |
|---|---|---|
$MAFPAY_URL |
l’adresse de l’API (http://localhost:8000 en local, sinon celle fournie par MafPay) |
communiquée par MafPay |
$ENDPOINT_KEY |
votre endpoint_key |
page Entreprise |
$PK |
votre clé publique sandbox (pk_test_…) |
page de votre application |
$SK |
votre secret sandbox (sk_test_…) |
page de votre application |
Étape 4 — Activer un moyen de paiement
Dans la page de votre application, ouvrez Moyens de paiement, choisissez l’onglet Sandbox, puis Configurer Wave (ou Orange Money). Le formulaire est le même qu’en production : il demande vos identifiants marchands.
Valeurs de test du sandbox
En sandbox, MafPay vérifie vos identifiants comme le ferait l’opérateur : une valeur incorrecte fait échouer l’initiation (« Identifiants sandbox invalides »). Saisissez exactement ces valeurs de test :
| Moyen de paiement | Champ | Valeur de test |
|---|---|---|
| Wave | Clé API | sandbox_wave_key_demo |
| Wave | Secret de webhook (facultatif ; s’il est renseigné, il doit être exact) | whsec_sandbox_demo |
| Orange Money | Client ID | sandbox_client_id |
| Orange Money | Client secret | sandbox_client_secret |
| Orange Money | Code marchand | 123456 |
Cliquez sur Enregistrer, puis activez le moyen de paiement (l’interrupteur « Activé » de sa carte).
Pour vérifier que tout est prêt, vous pouvez demander à MafPay la liste des moyens de paiement disponibles :
/api/v1/{endpoint_key}/providers/?country=SNLa réponse indique "environment": "sandbox" (vous êtes bien en mode test) et la liste des moyens de paiement activés, chacun avec son code (WAVE_SN, ORANGE_MONEY_SN). Le détail et des exemples de code sont dans Moyens de paiement.
Étape 5 — Créer un paiement
Votre serveur demande à MafPay de créer le paiement :
/api/v1/{endpoint_key}/payments/initiate/Comment vous vous identifiez. Chaque requête porte deux en-têtes : X-Api-Key (votre clé publique pk_test_…) et X-Api-Secret (votre secret sk_test_…). Voir Authentification.
Ce que vous envoyez (au format JSON) :
| Champ | Exemple | Obligatoire |
|---|---|---|
provider |
WAVE_SN |
oui |
amount |
"5000" |
oui |
currency |
XOF |
non (XOF par défaut) |
description |
Commande #123 |
non |
customer_phone |
+221771234567 |
non |
customer_name |
Awa Diop |
non |
metadata |
{ "order_id": 123 } : vos propres données |
non |
success_url / error_url |
adresses de retour de votre site | non |
Ce que MafPay vous répond (code HTTP 201) :
| Champ de la réponse | Signification |
|---|---|
reference |
l’identifiant du paiement (MAFPAY-XXXXXXXX) : notez-le |
status |
PROCESSING : MafPay attend que le client paie |
deep_links |
le lien à ouvrir pour payer |
qr_code |
le QR code du paiement (image PNG encodée en base64) |
expires_at |
la date limite pour payer |
metadata |
vos données, renvoyées telles quelles |
Les exemples de code prêts à copier (curl, JavaScript, Python, PHP), avec la réponse complète, sont dans Initier un paiement.
Étape 6 — Payer comme un client
En sandbox, il n’y a pas de vrai téléphone : MafPay fournit une page de paiement de test, exactement comme le ferait l’application de l’opérateur.
- Ouvrez dans votre navigateur le lien de
deep_linksreçu à l’étape 5 (ou scannez leqr_code: il mène à la même page). - La page affiche le montant déjà chargé, le marchand et le moyen de paiement.
- Cliquez sur Payer (ou Annuler pour tester l’échec).
Le paiement passe à SUCCESS et, si vous avez configuré votre webhook_url, MafPay envoie la notification transaction.success à votre serveur (voir Webhooks).
Étape 7 — Vérifier le résultat
Pour connaître l’état d’un paiement, interrogez-le avec sa référence :
/api/v1/{endpoint_key}/payments/{reference}/status/Les en-têtes d’identification sont les mêmes qu’à l’étape 5. La réponse contient notamment :
| Champ | Signification |
|---|---|
status |
SUCCESS : le paiement est réussi (autres valeurs possibles : FAILED, CANCELLED, EXPIRED) |
paid_at |
la date du paiement |
error_message |
le motif en cas d’échec, sinon vide |
Vous voyez aussi le paiement dans la page Transactions du portail. Les statuts sont détaillés dans Suivre un paiement, avec des exemples de code.
Et ensuite ?
- Comprendre les clés : Authentification.
- Recevoir automatiquement la confirmation, sans interroger : Webhooks.
- Tester l’échec, l’annulation, l’expiration : Tester en sandbox.
- Un exemple de boutique complet : Guide d’intégration complet.