Le verdict en trois phrases
L'API MTN MoMo Collections au Cameroun exige une souscription au produit Collections, une clé primaire (subscription key) et un token d'accès qui expire en 3 600 secondes. Vous initiez un encaissement avec RequestToPay, qui renvoie un statut PENDING puis SUCCESSFUL ou FAILED que vous devez interroger. Ce guide couvre la génération de l'UUID de référence, la gestion du token horaire et la reprise après coupure réseau 3G, avec un comparatif face à Flutterwave au Ghana.
Souscription, clé et token
Le flux MoMo Collections démarre dans le portail développeur MTN : vous souscrivez au produit Collections, ce qui génère une Ocp-Apim-Subscription-Key. Vous créez ensuite un API User et une API Key, puis échangez ces identifiants contre un token d'accès valable 3 600 secondes (une heure). Chaque RequestToPay doit porter un en-tête X-Reference-Id : un UUID v4 unique que vous générez et conservez pour interroger le statut ensuite.
| Élément technique | MTN MoMo Collections 2026 (ordre de grandeur) |
|---|---|
| Clé requise | Ocp-Apim-Subscription-Key |
| Auth | API User + API Key -> token |
| Durée de vie du token | 3 600 secondes |
| Requête d'encaissement | RequestToPay |
| Référence obligatoire | X-Référence-Id (UUID v4) |
| Statuts | PENDING / SUCCESSFUL / FAILED |
| Devise | XAF (FCFA CEMAC) |
Conservez impérativement l'UUID X-Reference-Id en base : c'est votre seule clé pour interroger le statut d'un encaissement reste PENDING.
Reprise après coupure et comparatif Flutterwave
Sur réseau 3G camerounais, une requête RequestToPay peut partir sans que vous receviez la réponse. Grâce à l'idempotence via l'UUID, vous pouvez rejouer sans double encaissement : si l'UUID existe déjà côté MTN, la requête est ignorée. Comparons MTN MoMo et Flutterwave au Ghana, qui utilise un webhook signé plutôt qu'un polling.
| Critère | MTN MoMo Cameroun | Flutterwave Ghana |
|---|---|---|
| Modèle | polling sur RequestToPay | webhook charge.completed |
| Vérification | statut PENDING/SUCCESSFUL | secret hash en en-tête |
| Référence | X-Référence-Id (UUID) | tx_ref |
| Token | expire en 3 600 s | clé secrète statique |
| Devise | XAF | GHS |
| Reprise réseau | rejeu par UUID idempotent | rejeu du webhook |
| Environnement test | sandbox MoMo | sandbox Flutterwave |
Au Ghana, Flutterwave envoie l'événement charge.completed avec un secret hash dans l'en-tête verif-hash que vous comparez à votre clé secrète avant de livrer. Le modèle est donc poussé (webhook) côté Ghana et tire (polling) côté Cameroun.
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
Nguema gère une boutique d'accessoires téléphone à Douala (Akwa). Avec des RequestToPay sans gestion de reprise, 5 % de ses 220 commandes mensuelles restaient bloquées en PENDING après une coupure 3G, soit 11 commandes. En stockant l'UUID X-Reference-Id et en interrogeant le statut toutes les 20 secondes pendant 2 minutes, puis via un cron à 15 minutes, le taux de blocage tombe à 0,5 %, soit une commande par mois. Sur un panier moyen de 22 000 FCFA, il récupère environ 10 x 22 000 = 220 000 FCFA d'encaissements auparavant perdus chaque mois.
FAQ
Pourquoi générer un UUID pour chaque RequestToPay ? Parce que l'X-Reference-Id est à la fois votre identifiant d'idempotence et votre clé pour interroger le statut. Sans lui, impossible de savoir si un encaissement PENDING à abouti.
Que se passe-t-il quand le token expire en 3 600 secondes ? Vous devez le régénérer via l'API User + API Key. Mettez en cache le token avec sa date d'expiration et rafraîchissez-le avant la limite d'une heure.
Comment gérer une coupure 3G pendant l'encaissement ? Rejouez la requête avec le même UUID : MTN ignore un doublon, ce qui évite un double débit. Puis interrogez le statut jusqu'à SUCCESSFUL ou FAILED.
Quelle différence avec Flutterwave au Ghana ? Flutterwave pousse un webhook charge.completed signé (secret hash), alors que MTN impose d'interroger activement le statut. L'un est pousse, l'autre tire.
Combien coûte l'intégration MoMo Collections ? Ordre de grandeur 2026 : 350 000 à 600 000 FCFA selon la complexité, hors frais MTN par transaction définis dans votre convention marchand.
Discutons de votre projet. Nous intégrons MTN MoMo, Wave et Flutterwave avec gestion des UUID, des tokens et de la reprise réseau. 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.

