Passer au contenu principal
MTN MoMo — Collection API.

Pays couverts

PaysCodeDevise
Côte d’IvoireCIXOF
BéninBJXOF
TogoTGXOF
RwandaRWRWF

URLs

TypeURL
Portail devmomodeveloper.mtn.com
Sandbox APIhttps://sandbox.momodeveloper.mtn.com
USSD client*133#

Credentials requis

À renseigner dans Settings → Stores → MTN :
ChampTypeDescription
sub_key_collectionpasswordCollection Subscription Key — depuis votre dashboard MTN Developer, section Collections subscription.
api_usertextUUID v4 généré via le portail (par ex. 11111111-2222-3333-8444-555555555555).
api_keypasswordGénéré une seule fois après création de l’API User. Non-récupérable.

Particularités

  • Double authentification : MTN exige à la fois la Ocp-Apim-Subscription-Key (en-tête) et un token OAuth bearer obtenu via POST /collection/token/ en Basic auth (api_user:api_key).
  • Token caché en mémoire avec marge de sécurité de 60 secondes avant expiration.
  • L’en-tête X-Target-Environment: sandbox est obligatoire pour le mode sandbox.
  • L’en-tête X-Reference-Id (UUID) doit être unique par requête — SandPay en génère un automatiquement.
  • Les msisdn sont envoyés sans le + dans le payload (partyId).

Codes d’erreur natifs mappés

Les codes natifs MTN sont traduits vers les statuts canoniques SandPay (SUCCESS, PIN_INVALID, INSUFFICIENT_FUNDS, ACCOUNT_BLOCKED, …). Consultez frontend/lib/operators/_errors.ts côté repo pour la table complète.

Voir aussi