Lecture : 11 minutes · Niveau : intermédiaire · Mise à jour : avril 2026
Pour vendre en ligne au Sénégal et dans la zone CEDEAO, accepter Wave et Orange Money n’est plus optionnel. Ce guide explique l’architecture réelle d’une intégration WooCommerce avec ces moyens de paiement, sans promettre un plugin magique « clic-et-c’est-prêt » qui n’existerait pas.
⚠️ Avertissement : l’écosystème des plugins WordPress pour paiements Mobile Money africains évolue rapidement. Vérifiez systématiquement les plugins disponibles à jour sur wordpress.org/plugins et la documentation officielle des aggregateurs avant intégration en production.
Sommaire
- Pourquoi passer par un aggregateur de paiement
- Les 3 aggregateurs sérieux pour le marché ouest-africain
- Architecture d’une intégration WooCommerce typique
- Étape 1 — Choisir et ouvrir un compte aggregateur
- Étape 2 — Installer le plugin de l’aggregateur sur WooCommerce
- Étape 3 — Configurer les webhooks et callbacks
- Étape 4 — Tester en mode sandbox avant la production
- Étape 5 — Mise en production et surveillance
- Bonnes pratiques sécurité et UX
- FAQ
1. Pourquoi passer par un aggregateur de paiement
Vous pourriez être tenté d’intégrer directement les API des opérateurs (Wave, Orange Money, YAS Money (ex-Free Money)). C’est techniquement possible, mais déconseillé pour une PME pour 4 raisons :
- Complexité contractuelle : chaque opérateur a son propre processus d’agrément marchand, son propre KYC, ses propres délais.
- Coût d’intégration : vous multiplieriez le travail de développement par le nombre de moyens de paiement.
- Maintenance : chaque API évolue indépendamment ; vous devriez suivre tous les changements.
- Réversibilité difficile : changer d’opérateur de paiement après une intégration directe est lourd.
Un aggregateur vous permet de proposer Wave + Orange Money + carte bancaire + autres, avec une seule intégration, un seul contrat, un seul tableau de bord, une seule réconciliation comptable.
2. Les 3 aggregateurs sérieux pour le marché ouest-africain
Ces acteurs sont présentés à titre informatif. Vérifiez les conditions à jour, la disponibilité par pays et les frais sur les sites officiels avant de souscrire.
PayDunya
Site officiel : paydunya.com
Aggregateur historique du marché sénégalais. Couvre Wave, Orange Money, YAS Money (ex-Free Money), Wizall, cartes bancaires Visa/Mastercard. Plugin WooCommerce disponible (vérifier la version à jour sur le dépôt WordPress.org).
CinetPay
Site officiel : cinetpay.com
Aggregateur fortement présent en Côte d’Ivoire et dans plusieurs pays CEDEAO. Couvre la majorité des opérateurs Mobile Money de la zone. Plugin WooCommerce et SDK disponibles.
PayTech
Site officiel : paytech.sn
Aggregateur d’origine sénégalaise, couvre Wave, Orange Money, YAS Money (ex-Free Money), et cartes bancaires. Documentation et SDK disponibles.
Comment choisir ?
Critères à comparer (à valider sur les sites officiels) :
– Frais transactionnels par moyen de paiement et par tranche de montant
– Délai de versement sur votre compte bancaire
– Pays couverts (si vous vendez au-delà du Sénégal)
– Qualité de l’intégration WooCommerce (plugin officiel maintenu vs SDK à intégrer manuellement)
– Réputation et support (groupes Facebook entrepreneurs, retours d’expérience freelance)
3. Architecture d’une intégration WooCommerce typique
L’architecture standard suit ce flux :
[Client paye sur la boutique]
│
▼
[WooCommerce envoie les détails de commande au plugin de l'aggregateur]
│
▼
[Le plugin redirige le client vers la page de paiement de l'aggregateur]
│
▼
[Le client choisit Wave / Orange Money / Carte / etc.]
│
▼
[L'aggregateur traite le paiement avec l'opérateur]
│
▼
[L'aggregateur notifie WooCommerce du résultat (webhook IPN)]
│
▼
[WooCommerce met à jour le statut de la commande (payée / échouée)]
│
▼
[Le client est redirigé sur la page de remerciement de votre boutique]
Les deux maillons critiques :
– La redirection (le client part chez l’aggregateur, doit revenir chez vous)
– Le webhook (IPN — Instant Payment Notification) : c’est l’aggregateur qui appelle votre serveur pour confirmer le paiement. Sans webhook fonctionnel, vous ne saurez jamais si le paiement a réussi.
4. Étape 1 — Choisir et ouvrir un compte aggregateur
Documents typiquement demandés
- Pièce d’identité du dirigeant
- Registre de commerce (NINEA + RCCM au Sénégal, équivalent dans les autres pays)
- RIB du compte bancaire de versement
- Capture d’écran ou URL de votre boutique (vérification que c’est légitime)
Délai d’activation
Très variable, généralement de quelques jours à 2-3 semaines selon la rigueur des contrôles KYC. Anticipez : ne lancez pas votre boutique en pensant intégrer Mobile Money en 24h.
Mode test (sandbox)
Avant l’activation finale, vous obtenez généralement des clés API de test (sandbox) vous permettant de simuler des paiements sans déplacer de l’argent réel. Utilisez-les intensivement avant de basculer en production.
5. Étape 2 — Installer le plugin de l’aggregateur sur WooCommerce
Trouver le plugin
Cherchez sur wordpress.org/plugins avec le nom de votre aggregateur. Vérifiez :
- ✅ Plugin maintenu (dernière mise à jour < 6 mois)
- ✅ Compatibilité avec votre version de WordPress / WooCommerce
- ✅ Au moins quelques centaines d’installations actives
- ✅ Note moyenne raisonnable et avis lus
⚠️ Si l’aggregateur ne propose pas de plugin officiel récent, vous devrez intégrer leur API via du code custom (PHP) ou via un autre aggregateur. Ne forcez pas un plugin abandonné.
Installation
Depuis wp-admin → Extensions → Ajouter :
1. Recherche par nom du plugin
2. Cliquer Installer maintenant puis Activer
3. Renseigner les clés API (sandbox d’abord) dans WooCommerce → Réglages → Paiements
Configuration typique d’un plugin aggregateur
- Clé publique et clé secrète fournies par l’aggregateur
- URL de retour de succès (généralement la page « Commande reçue » de WooCommerce — le plugin la remplit automatiquement)
- URL de webhook (à copier dans le tableau de bord de l’aggregateur — voir étape 3)
- Devise : XOF (FCFA) le plus souvent
- Mode : sandbox ou production
6. Étape 3 — Configurer les webhooks et callbacks
C’est l’étape la plus critique et la plus souvent mal faite.
Le principe
Quand un client paye via l’aggregateur, deux choses doivent se passer :
- Le client est redirigé vers votre boutique (via l’URL de succès) — visuel, immédiat
- L’aggregateur appelle votre serveur (via webhook / IPN) avec le statut réel du paiement — invisible mais c’est ce qui valide réellement la commande
Les deux peuvent se désynchroniser : un client ferme l’onglet avant la redirection, mais le webhook arrive quand même → la commande doit être marquée payée.
Configurer le webhook
Dans le tableau de bord de votre aggregateur, vous trouverez généralement une section « Webhooks » ou « Notifications » ou « IPN ». Vous y collez l’URL fournie par votre plugin WooCommerce (typiquement quelque chose comme https://votre-boutique.sn/?wc-api=NOM_DE_LA_GATEWAY).
⚠️ Le webhook DOIT être en HTTPS. Sinon l’aggregateur refuse souvent l’appel pour raisons de sécurité.
Tester le webhook
La plupart des aggregateurs proposent un bouton « Tester le webhook » qui envoie un appel factice. Vérifiez dans les logs WooCommerce (WooCommerce → État → Journaux) que l’appel est bien reçu et traité.
Si le webhook n’arrive pas :
– Votre URL est-elle accessible publiquement ?
– Votre pare-feu (Cloudflare, Wordfence) ne bloque-t-il pas l’IP de l’aggregateur ?
– Votre serveur a-t-il un certificat HTTPS valide ?
7. Étape 4 — Tester en mode sandbox avant la production
Ne basculez jamais en production sans tests sandbox approfondis. Liste de tests minimum :
✅ Tests fonctionnels
- [ ] Paiement réussi avec Wave (sandbox) → commande marquée « payée » ✅
- [ ] Paiement réussi avec Orange Money (sandbox) → commande marquée « payée » ✅
- [ ] Paiement réussi avec carte bancaire (sandbox) → commande marquée « payée » ✅
- [ ] Paiement échoué (annulé par le client) → commande marquée « échec » ou « en attente » ✅
- [ ] Paiement abandonné (client ferme l’onglet) → webhook arrive et met à jour le statut ✅
- [ ] Email de confirmation client envoyé après paiement réussi ✅
- [ ] Email admin de notification envoyé après paiement réussi ✅
- [ ] Stock décrémenté correctement après paiement réussi ✅
✅ Tests de bord
- [ ] Commande à 1 FCFA (montant minimum éventuel) ✅
- [ ] Commande à montant élevé (proche du plafond Mobile Money de l’opérateur) ✅
- [ ] Tentative de paiement avec un compte client invité (non connecté) ✅
- [ ] Tentative de paiement depuis mobile (smartphones Android et iOS) ✅
- [ ] Comportement si le serveur est temporairement indisponible (timeout) ✅
✅ Tests de sécurité
- [ ] Le webhook ignore les appels non-signés ou avec signature invalide ✅
- [ ] Les clés API ne sont pas exposées côté front-end (vérifier dans le code source de la page) ✅
- [ ] Le mode HTTPS est bien forcé sur la page de paiement ✅
8. Étape 5 — Mise en production et surveillance
Bascule sandbox → production
- Dans le tableau de bord aggregateur : activer le mode production (souvent après validation finale du compte par l’aggregateur)
- Dans le plugin WooCommerce : changer les clés API sandbox pour les clés production + basculer le « Mode » sur production
- Reconfigurer l’URL de webhook côté production si elle diffère de la sandbox
Premier paiement réel
Faites vous-même la première vraie commande sur votre boutique avec un montant minimum (1 000 FCFA par exemple). Vérifiez :
– Le paiement arrive bien sur votre compte aggregateur
– La commande est marquée payée dans WooCommerce
– Vous recevez les emails de notification
– Le client reçoit son email de confirmation
Surveillance ongoing
- Activer les notifications email dans le tableau de bord aggregateur (alerte par email pour chaque paiement)
- Consulter régulièrement les logs WooCommerce pour repérer les webhooks échoués
- Réconcilier mensuellement les versements aggregateur vs commandes WooCommerce (un écart non expliqué = à investiguer)
9. Bonnes pratiques sécurité et UX
Sécurité
- Ne stockez jamais les détails carte sur votre serveur — c’est le rôle de l’aggregateur (qui est généralement certifié PCI-DSS pour ça)
- Vérifiez les signatures des webhooks : la plupart des aggregateurs signent leurs notifications, le plugin doit refuser celles dont la signature ne valide pas
- Loggez tous les événements de paiement mais sans loguer les données sensibles (jamais de numéros de carte ou de codes en clair)
UX (expérience utilisateur)
- Affichez clairement dès la page panier les modes de paiement disponibles (logos Wave, Orange Money, Visa…)
- Limitez les redirections : si possible, intégrez le paiement en iframe ou en popin pour garder le contexte de votre boutique
- Page de remerciement claire : montrez le numéro de commande, le récapitulatif, les délais de traitement
- Email de confirmation immédiat : le client doit recevoir l’email dans les minutes qui suivent — sinon il s’inquiète et vous appelle
Mobile
- Testez sur smartphone bas de gamme : c’est l’écran de la majorité de vos clients. Une page de paiement qui plante sur Android entrée de gamme = des ventes perdues.
- Évitez les redirections multiples sur mobile (chaque redirection a un coût en données et en latence)
10. FAQ
Quel est le coût typique d’un paiement Mobile Money via aggregateur ?
Variable selon l’aggregateur, le moyen de paiement et la tranche de montant. Consultez la grille tarifaire officielle de chaque aggregateur. Les frais Mobile Money sont généralement plus élevés que les frais carte bancaire en pourcentage, mais le taux de conversion local est aussi bien plus élevé.
Quel délai pour recevoir l’argent sur mon compte bancaire ?
Variable selon l’aggregateur. Vérifiez les conditions exactes au moment de la souscription. Certains aggregateurs proposent un versement quotidien, d’autres hebdomadaire.
Puis-je accepter le paiement à la livraison en plus du Mobile Money ?
Oui, WooCommerce supporte nativement le paiement à la livraison (via le module « Cash on delivery »). Cela peut augmenter le taux de conversion mais aussi le taux d’annulation. Recommandation : activer pour les clients VIP / fidèles, ou avec un plafond montant.
Mon webhook n’arrive jamais, que faire ?
Causes courantes :
1. URL webhook mal copiée dans le tableau de bord aggregateur
2. URL webhook en HTTP au lieu de HTTPS
3. Pare-feu (Cloudflare en mode strict, Wordfence) qui bloque l’IP de l’aggregateur — ajouter cette IP en liste blanche
4. Plugin WooCommerce mal configuré ou pas activé
Vérifiez les logs serveur (/var/log/nginx/access.log) pour voir si l’appel arrive ou non.
Mon client se plaint d’avoir été débité sans que sa commande soit confirmée. Que faire ?
C’est généralement un webhook qui n’est pas remonté. Procédure :
1. Demander au client le numéro de transaction (Wave / Orange Money) ou le SMS de confirmation
2. Vérifier dans le tableau de bord de votre aggregateur que le paiement est bien arrivé
3. Si oui : marquer manuellement la commande WooCommerce comme « Payée » et envoyer la confirmation au client
4. Investiguer la cause de l’échec du webhook pour éviter la récurrence
Faut-il facturer la TVA sur les paiements Mobile Money ?
La TVA s’applique selon la nature de votre activité, votre régime fiscal et la réglementation locale — pas selon le moyen de paiement utilisé. Consultez votre expert-comptable pour configurer correctement WooCommerce.
Articles liés (cluster WordPress PME)
- 👉 WordPress pour PME africaine : du choix de l’hébergeur au paiement Mobile Money — guide complet — l’article pilier
- 👉 Hébergement WordPress en Afrique : LWS, OVH, Hostinger, Hetzner comparés
- 👉 Vitesse WordPress sur connexion 3G : optimiser pour la réalité africaine
Article mis à jour le 25 avril 2026. Les conditions des aggregateurs et plugins évoluent — vérifiez toujours les sites officiels avant intégration. Pour signaler une erreur, écrivez-nous.