Sites Web10 min de lecture

MTN MoMo API Ghana Côte d'Ivoire : intégrer Mobile Money 2026

Mohamed Bah·Fondateur, Kolonell
30 mai 2026
Partager :
MTN MoMo API Ghana Côte d'Ivoire : intégrer Mobile Money 2026

MTN MoMo API Ghana Côte d'Ivoire : intégrer Mobile Money 2026

Sites Web

MTN Mobile Money (MoMo) opère dans 16 pays Africa : Ghana, Côte d'Ivoire, Cameroun, Ouganda, Rwanda, Bénin, Congo, etc. 70M+ users actifs. Pour vendre dans ces pays, MoMo est essentiel. MTN a lancé MoMo Open API 2019 pour intégration développeur. Voici guide complet 2026.

TL;DR

- MTN MoMo Open API : API publique standardisée multi-pays.

- Collection : recevoir paiements clients (équivalent C2B M-Pesa).

- Disbursement : envoyer payouts (B2C).

- Frais : 1-3 % par transaction selon pays + volume.

Couverture MTN MoMo 2026

PaysUsersPart de marché mobile money
Ghana25M90 %
Côte d'Ivoire12M60 % (vs Orange Money)
Cameroun8M75 %
Ouganda18M80 %
Rwanda4M90 %
Bénin3M70 %
Congo (RDC + Brazzaville)6M65 %
Zambie5M50 %
Nigeria (MTN MoMo PSB)15M25 % (concurrence Opay)

Inscription MTN MoMo Developer Portal

  • Aller sur momodeveloper.mtn.com
  • Créer compte développeur
  • Souscrire à un produit :
  • Collections (recevoir paiements)
  • Disbursements (payouts)
  • Remittance (transferts)
  • Récupérer Subscription Key
  • Créer API User + API Key (programmatique)
  • Sandbox d'abord, puis production après KYC

Intégration Collections (Node.js)

Étape 1 — créer API user (one-time)

`typescript

import axios from 'axios';

import { v4 as uuid } from 'uuid';

async function createApiUser() {

const referenceId = uuid();

await axios.post(

'https://sandbox.momodeveloper.mtn.com/v1_0/apiuser',

{ providerCallbackHost: 'kolonell.com' },

{

headers: {

'X-Reference-Id': referenceId,

'Ocp-Apim-Subscription-Key': process.env.MOMO_SUBSCRIPTION_KEY,

},

}

);

// Créer API Key pour cet user

const apiKey = await axios.post(

https://sandbox.momodeveloper.mtn.com/v1_0/apiuser/${referenceId}/apikey,

null,

{

headers: {

'Ocp-Apim-Subscription-Key': process.env.MOMO_SUBSCRIPTION_KEY,

},

}

);

return { userId: referenceId, apiKey: apiKey.data.apiKey };

}

`

Étape 2 — obtenir token

`typescript

async function getMomoToken() {

const auth = Buffer.from(

${process.env.MOMO_USER_ID}:${process.env.MOMO_API_KEY}

).toString('base64');

const res = await axios.post(

'https://sandbox.momodeveloper.mtn.com/collection/token/',

null,

{

headers: {

Authorization: Basic ${auth},

'Ocp-Apim-Subscription-Key': process.env.MOMO_SUBSCRIPTION_KEY,

},

}

);

return res.data.access_token;

}

`

Étape 3 — initier paiement (request to pay)

`typescript

async function requestToPay({

phoneNumber, // Format MSISDN E.164 sans +

amount,

currency, // GHS, XOF, EUR, etc.

externalId,

payerMessage,

payeeNote,

}) {

const token = await getMomoToken();

const referenceId = uuid();

await axios.post(

'https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopay',

{

amount: amount.toString(),

currency,

externalId,

payer: {

partyIdType: 'MSISDN',

partyId: phoneNumber,

},

payerMessage,

payeeNote,

},

{

headers: {

Authorization: Bearer ${token},

'X-Reference-Id': referenceId,

'X-Target-Environment': 'sandbox', // ou 'mtnghana', 'mtncotedivoire', etc.

'Ocp-Apim-Subscription-Key': process.env.MOMO_SUBSCRIPTION_KEY,

'Content-Type': 'application/json',

},

}

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.

);

return referenceId; // Sauvegarder pour query

}

`

Étape 4 — vérifier statut

`typescript

async function queryPayment(referenceId: string) {

const token = await getMomoToken();

const res = await axios.get(

https://sandbox.momodeveloper.mtn.com/collection/v1_0/requesttopay/${referenceId},

{

headers: {

Authorization: Bearer ${token},

'X-Target-Environment': 'sandbox',

'Ocp-Apim-Subscription-Key': process.env.MOMO_SUBSCRIPTION_KEY,

},

}

);

return res.data;

// { status: 'SUCCESSFUL' | 'PENDING' | 'FAILED', ... }

}

`

Workflow checkout type e-commerce

`

  • User : entre numéro téléphone + montant
  • Frontend : POST /api/payment {phone, amount}
  • Backend : appel requestToPay → reçoit referenceId
  • Backend : sauve {referenceId, orderId, status: 'PENDING'} en DB
  • Frontend : affiche "Vérifiez votre téléphone"
  • User : reçoit prompt USSD/popup MoMo, valide PIN
  • Backend : poll queryPayment(referenceId) toutes 5s pendant 60s
  • Backend : statut SUCCESSFUL → marquer order paid
  • Frontend : redirect succès

`

Disbursements (B2C payouts)

Pour payouts (rembours, payroll, marketplace) :

`typescript

async function transfer({

phoneNumber,

amount,

currency,

externalId,

}) {

const token = await getDisbursementToken(); // Endpoint disbursement

const referenceId = uuid();

await axios.post(

'https://sandbox.momodeveloper.mtn.com/disbursement/v1_0/transfer',

{

amount: amount.toString(),

currency,

externalId,

payee: {

partyIdType: 'MSISDN',

partyId: phoneNumber,

},

payerMessage: 'Payout',

payeeNote: 'Order refund',

},

{

headers: {

Authorization: Bearer ${token},

'X-Reference-Id': referenceId,

'X-Target-Environment': 'mtnghana',

'Ocp-Apim-Subscription-Key': process.env.MOMO_DISBURSEMENT_KEY,

},

}

);

return referenceId;

}

`

Spécificités par pays

Ghana

  • Currency : GHS
  • Target environment : mtnghana
  • Frais : 1.5 % en Collections
  • Bank Open Banking : Direct GH (compétitivité)

Côte d'Ivoire

  • Currency : XOF
  • Target environment : mtncotedivoire
  • Frais : 2 % Collections
  • Concurrence : Orange Money (Wave plus minoritaire)

Cameroun

  • Currency : XAF (CEMAC)
  • Target environment : mtncameroon
  • Frais : 2.5 %

Ouganda

  • Currency : UGX
  • Target environment : mtnuganda
  • Frais : 1.5-2 %

Erreurs fréquentes

  • Mauvais Target Environment — sandbox vs prod différents par pays.
  • Pas X-Reference-Id unique — doublons rejetés.
  • Format MSISDN incorrect — sans + sans 00.
  • Subscription Key wrong product — Collections vs Disbursements ≠.
  • Pas vérifier compte float — Disbursements échouent si balance vide.

Tarification 2026

PaysCollectionsDisbursements
Ghana1.5 %0.8 %
Côte d'Ivoire2 %1 %
Cameroun2.5 %1.2 %
Ouganda1.5 %0.8 %

Volumes négociables > 10M XOF/mois.

Alternatives Pan-Africa

  • DPO Group : agrégateur multi-pays, MoMo + cards + crypto
  • Flutterwave : agrégateur Nigeria-leader, supporte MoMo
  • Paystack : Nigeria-first, expand MoMo Ghana CI
  • PayDunya : Sénégal/CI-first, MoMo + Wave + cards

Pour startup multi-pays, agrégateur plus simple que MoMo direct.

FAQ

Q : MoMo Côte d'Ivoire ou Orange Money ?

R : Les deux. Orange Money 50 % CI, MoMo 35 %. Agrégateur (DPO/Flutterwave) couvre les deux.

Q : Compte business MoMo vs persistent ?

R : Compte business obligatoire pour API. Création via MTN agences locales.

Q : KYC durée ?

R : 5-15 jours après dépôt complet. Documents incorporation + KYC directors.

Conclusion

MTN MoMo API 2026 = essentiel pour Ghana / CI / Cameroun. API standardisée Open API mais setup pays-par-pays. Pour multi-pays Africa, agrégateur (DPO/Flutterwave) souvent plus simple. Pour single market scaling, intégration directe MoMo gagne en marges.

Tags :#MTN MoMo#Mobile Money#Ghana#Côte d'Ivoire#API#Cameroun
Partager :

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.