Le verdict en trois phrases
Lancer un checkout mobile money sans recette, c'est laisser 1 paiement sur 20 échouer silencieusement faute de retry, sans jamais le voir. Le vrai risque n'est pas le bug visible mais le webhook manqué : le client paie, votre système ne le sait pas, la commande est perdue. La parade tient en trois mots : sandbox, idempotence, replay.
La checklist de recette mobile money
Avant d'ouvrir aux vrais clients, chaque scénario ci-dessous doit être testé en sandbox gratuit, y compris les cas d'échec. Ce sont les cas d'échec qui coûtent de l'argent, pas les cas heureux.
| Scénario | À tester | Pourquoi |
|---|---|---|
| Paiement réussi | webhook reçu et commande validée | cas nominal |
| Timeout USSD (60 s) | statut « en attente » puis résolution | client lent |
| Webhook en double | idempotence : une seule commande | opérateur renvoie |
| Webhook manqué | replay / réconciliation | commande perdue |
| Paiement refusé | message clair, panier conservé | UX |
| Remboursement | retour fonds + statut mis à jour | litige |
| Montant erroné | rejet propre | fraude/bug |
Le timeout USSD à 60 secondes est le piège classique : le client valide sur son téléphone plus lentement que votre page ne l'attend. Sans gestion du statut « en attente », vous marquez la commande comme échouée alors qu'elle sera payée.
Le coût réel d'un test négligé
Un webhook manqué non détecté équivaut à une commande perdue. Sur un volume modeste, le cumul devient vite douloureux.
| Volume/jour | Échecs silencieux (5 %) | Panier moyen | Perte/jour | Perte/mois |
|---|---|---|---|---|
| 20 commandes | 1 | 15 000 FCFA | 15 000 FCFA | 450 000 FCFA |
| 50 commandes | 2-3 | 15 000 FCFA | ~37 500 FCFA | ~1 125 000 FCFA |
| 100 commandes | 5 | 15 000 FCFA | 75 000 FCFA | 2 250 000 FCFA |
Ces pertes sont invisibles parce que le client, lui, a payé : il croit avoir commandé, vous ne voyez rien. C'est un double coût, financier et réputationnel.
Besoin d'un site web professionnel ?
Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.
Mini cas pratique
Moussa lance une boutique en ligne à Dakar sans recette sérieuse. Dès la première semaine, 40 commandes/jour, mais 5 % de webhooks manqués, soit 2 commandes/jour à 15 000 FCFA jamais enregistrées : 30 000 FCFA/jour perdus, et des clients furieux sans nouvelles de leur commande. Après une recette complète (idempotence + retry + réconciliation automatique toutes les heures), le taux d'échec silencieux tombe à quasi 0. Deux jours de test lui auraient épargné près de 900 000 FCFA sur le premier mois et une dizaine d'avis négatifs.
FAQ
Qu'est-ce qu'un webhook manqué ? C'est une notification de paiement que votre serveur n'a pas reçue ou pas traitée. Le client a payé, mais votre système l'ignore ; sans réconciliation, la commande est perdue.
Pourquoi l'idempotence est-elle obligatoire ? Parce que les opérateurs renvoient parfois le même webhook plusieurs fois. Sans clé d'idempotence, vous créez des commandes ou des remboursements en double.
Le sandbox est-il payant ? Non, les environnements de test des principaux opérateurs sont gratuits. Vous simulez succès, échecs et timeouts sans manipuler d'argent réel.
Combien de temps prend une recette sérieuse ? Comptez 1 à 2 jours pour couvrir tous les scénarios de la checklist. C'est dérisoire face aux 450 000 à 2 250 000 FCFA/mois qu'un checkout défaillant peut coûter.
Faut-il tester les remboursements ? Absolument : le remboursement est le scénario le plus oublié et le plus sensible. Testez le retour de fonds et la mise à jour de statut avant d'ouvrir aux clients.
Discutons de votre projet. Nous réalisons la recette complète de votre paiement mobile money, sandbox et cas d'échec compris. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.

