Makeipay Lab

sandbox · EUR sandbox.momodeveloper.mtn.com

Proof console for the MTN MoMo Open API. Every button below makes real HTTP calls to MTN's sandbox through a server-side proxy and shows the raw exchange. Nothing here touches real money.

Environment

Credentials, provisioned API users and wallet balances.

The proxy provisions its own API user and key on first use, then caches the access token until it expires. Reset forces a fresh set.

Wallet lookup

Confirm an MSISDN is a live MoMo wallet before moving money to it.

GET /collection/v1_0/accountholder/msisdn/{msisdn}/active — returns 200 {"result": true} for a valid wallet, 404 otherwise.

1MTN → MTN, with a commission split

Collect from a payer's MoMo wallet, then pay out to the recipient and a commission number in the same flow.

There is no native split primitive. The split is two independent POST /disbursement/v1_0/transfer calls with separate reference ids — so each leg can succeed or fail on its own, and the ledger has to reconcile the pair rather than assume atomicity. That is the real finding this card exists to prove.

The sandbox only settles EUR. Put XAF in the currency box and MTN answers 500 INVALID_CURRENCY — "Currency not supported." It is a property of the sandbox environment, not of where you are calling from. XAF arrives with production access, together with X-Target-Environment: mtncameroon.

2MTN ↔ Orange, cross-network

Collect on one network, pay out from our own pre-loaded float on the other.

Once Orange access exists, the outbound leg is the mirror of card 1's payout: debit our Orange float, credit the Orange customer. The inbound leg proven here is unchanged.

3Airtime & data

Buy airtime or a data bundle on MTN and on Orange.

Trace

Every request and response, exactly as it went over the wire. Credentials are redacted by the proxy.

Run something above and the full exchange shows up here.