Le verdict en trois phrases
À Cotonou, encaisser via Wave, Orange Money et Moov ne doit pas signifier trois intégrations qui ne se ressemblent pas. Une couche d'abstraction unique expose une interface PaymentProvider commune (checkout, webhook, status, refund) et chaque opérateur n'est qu'une implémentation derrière ce contrat. Résultat : ajouter un quatrième opérateur devient un fichier, pas un chantier, et un fallback automatique bascule l'acheteur vers un autre canal si l'un est en timeout.
Agrégateur unique ou intégrations directes : l'arbitrage 2026
Deux chemins existent : passer par un agrégateur (Flutterwave, par exemple) qui expose une seule API pour plusieurs opérateurs, ou intégrer directement chaque opérateur derrière votre propre abstraction. Le choix dépend du volume et de la marge sur frais.
| Critère | Agrégateur unique | Intégrations directes |
|---|---|---|
| Délai de mise en ligne | 3 à 5 jours | 3 à 6 semaines |
| Frais par transaction | ordre de grandeur 1,4 % | Négociés par opérateur |
| Contrôle du routage | Limité | Total |
| Nombre de contrats marchands | 1 | 1 par opérateur |
| Ajout d'un opérateur | Inclus | Une implémentation |
| Recommandé pour | Lancement rapide | Volume élevé, marge fine |
Pour une boutique béninoise qui démarre, l'agrégateur accélère le lancement ; à fort volume, les intégrations directes derrière une abstraction maison protègent la marge.
L'interface PaymentProvider et les opérateurs supportés
Le cœur de l'architecture est un contrat unique. Chaque opérateur implémente les mêmes quatre méthodes, ce qui rend le code appelant indépendant de l'opérateur.
| Méthode | Rôle | Retour | |
|---|---|---|---|
| checkout(order) | Crée la session | URL + référence | |
| webhook(payload) | Traite la notification | Statut normalisé | |
| status(ref) | Interroge un paiement | pending/succeeded/failed | |
| refund(ref) | Rembourse | ok/erreur | |
| Opérateur | Marché | Frais 2026 | Couverture |
| Wave | Bénin, Sénégal, CI | ordre de grandeur 1 % | Mobile + QR |
| Orange Money | Bénin, région | ordre de grandeur 1,5 % | Redirect web + USSD |
| Moov Money | Bénin, Togo | ordre de grandeur 1,5 % | USSD + web |
| Flutterwave (agrégateur) | Ghana, Nigeria, pan-Afrique | ordre de grandeur 1,4 % local | MoMo + cartes + bank |
Un fallback simple : si Wave renvoie un timeout au-delà de 30 secondes, proposez immédiatement Orange Money ou Moov sans que l'acheteur ne resaisisse son panier.
Comparaison de couverture avec Flutterwave (Accra)
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.
À Accra, Flutterwave joue le rôle d'agrégateur : une seule intégration couvre MoMo Ghana (MTN, Vodafone/Telecel, AirtelTigo), les cartes et le virement bancaire.
| Canal | Abstraction maison Cotonou | Flutterwave Accra |
|---|---|---|
| Mobile money | Wave, OM, Moov | MTN, Telecel, AirtelTigo |
| Cartes | À ajouter (Stripe) | Inclus |
| Virement bancaire | Non | Inclus |
| Contrats à signer | 3 | 1 |
| Frais indicatifs | 1 à 1,5 % | ordre de grandeur 1,4 % |
Mini cas pratique
Fatou, gérante d'une épicerie en ligne à Cotonou, traite 600 commandes par mois (panier moyen 9 000 FCFA), soit 5 400 000 FCFA. Avant l'abstraction, 8 % des paiements échouaient parce qu'un seul opérateur était proposé et parfois indisponible, soit environ 432 000 FCFA perdus. Avec le fallback multi-opérateurs Wave/OM/Moov, le taux d'échec tombe à 2 %, récupérant plus de 320 000 FCFA de ventes par mois pour un surcoût de frais négligeable.
FAQ
Pourquoi une couche d'abstraction plutôt que trois intégrations séparées ? Parce que le code appelant reste identique quel que soit l'opérateur : ajouter Moov après Wave devient une implémentation du même contrat, pas une réécriture du checkout. Vous divisez la dette technique.
Faut-il préférer un agrégateur comme Flutterwave ? Pour un lancement rapide, oui : un seul contrat, plusieurs opérateurs. À fort volume, les intégrations directes derrière votre abstraction protègent mieux votre marge sur frais.
Comment fonctionne le fallback si un opérateur est en timeout ? Au-delà de 30 secondes sans réponse, votre couche propose automatiquement un autre opérateur, sans que l'acheteur ne resaisisse son panier ni ses coordonnées.
Combien de contrats marchands faut-il ? Avec des intégrations directes, un contrat par opérateur (3 pour Wave, OM, Moov). Avec un agrégateur, un seul contrat couvre l'ensemble.
Le refund est-il géré de la même façon partout ? Oui, c'est tout l'intérêt du contrat commun : la méthode refund(ref) est appelée de manière identique, chaque opérateur gérant sa mécanique en interne.
Discutons de votre projet. Nous construisons une couche checkout multi-opérateurs Wave, OM et Moov à Cotonou, avec fallback et refund unifiés. 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.

