MTN Mobile Money Integration
MTN Mobile Money (MoMo) is one of the mobile money gateways supported by ZoPay in Cameroon. You accept and send MTN MoMo payments through the standard Collections and Disbursements flow using the MTN_MOMO gateway identifier.
There is no separate MTN endpoint. MTN MoMo uses the same Collections and Disbursements APIs — you simply set gateway: "MTN_MOMO".
Gateway Details
| Gateway ID | MTN_MOMO |
| Country | Cameroon |
| Currency | XAF (Central African CFA franc) |
| Phone format | E.164, e.g. +237650000000 |
| Operations | Collections (cash-in) and Disbursements (cash-out) |
Accepting a Payment (Collection)
MTN MoMo collections follow the two-step quote then execute flow. First create a quote:
1POST /api/v1/wallets/quote
2
3{
4 "gateway": "MTN_MOMO",
5 "transaction_type": "COLLECTION",
6 "amount": "1000",
7 "currency": "XAF",
8 "payer": {
9 "msisdn": "+237650000000"
10 }
11}Then execute the collection with the returned quote_id:
1POST /api/v1/wallets/collect
2
3{
4 "quote_id": "quote-uuid",
5 "idempotency_key": "unique-key-123"
6}The customer receives a prompt on their phone to approve the payment. The transaction status will be PENDING/PROCESSING until they confirm. See the full Collections guide for request and response details.
Sending a Payout (Disbursement)
To send money to an MTN MoMo wallet, create a disbursement quote with gateway: "MTN_MOMO", then execute it:
1POST /api/v1/disbursements/quote
2
3{
4 "gateway": "MTN_MOMO",
5 "amount": "5000",
6 "currency": "XAF",
7 "recipientMsisdn": "+237650000000",
8 "reference": "Payout #123"
9}See the Disbursements guide for the complete flow.
Handling Results
MTN MoMo transactions are asynchronous. Rather than relying only on the synchronous response, subscribe to webhooks to receive the final status:
payment.succeeded/payment.failedfor collectionspayout.completed/payout.failedfor disbursements
Learn more in the Webhooks guide.
Testing in Sandbox
Use your sandbox API keys against the sandbox base URL to test MTN MoMo flows without moving real money. Sandbox and production are fully isolated. See Using the API.