CentraPoint

Gateways

MTN MoMo

MTN Mobile Money Request to Pay - payer approves on their phone. Uganda, Ghana, Cameroon, Côte d'Ivoire, Zambia, Rwanda, Benin, Congo and more.

On this page

MTN Mobile Money Request to Pay - payer approves on their phone. Uganda, Ghana, Cameroon, Côte d'Ivoire, Zambia, Rwanda, Benin, Congo and more.

At a glance#

MTN MoMo summary
Typemtn_momo
CountriesUganda, Ghana, Cameroon, Côte d'Ivoire, Zambia, Rwanda, Benin, Congo, Guinea, Liberia, Eswatini
CurrenciesUGX, GHS, XAF, XOF, ZMW, RWF, GNF, LRD, SZL, EUR
CapabilitiesHosted checkoutOn-demand status verification
Gateway docsmomodeveloper.mtn.com/api-documentation

Checkout experience#

No redirect. Request to Pay: the payer approves on their phone.

Configuration fields#

Enter these in the dashboard under Settings → Payment providers → MTN MoMo. Secret fields are encrypted at rest and masked after saving; leave a secret blank when editing to keep the stored value.

MTN MoMo configuration fields
FieldTypeNotes
Collection subscription key (Ocp-Apim-Subscription-Key)required
subscriptionKey
Secret–
API user (UUID)required
apiUser
Text–
API keyrequired
apiKey
Secret–
Target environment (live)
targetEnvironment
Choice

X-Target-Environment for live. Sandbox mode always uses "sandbox".

Options: Uganda (mtnuganda); Ghana (mtnghana); Cameroon (mtncameroon); Côte d'Ivoire (mtnivorycoast); Zambia (mtnzambia); Benin (mtnbenin); Congo (mtncongo); Eswatini (mtnswaziland); Guinea (mtnguineaconakry); Liberia (mtnliberia); Rwanda (mtnrwanda)

Default: mtnuganda

Default dialling code
countryCode
Text

Used to convert local numbers like 0772 123 456 to MSISDN format

Callback secret
callbackSecret
Secret

Optional. Appended to the callback URL as ?secret= and checked on every callback. The callback host must match the providerCallbackHost of your API user.

Every provider also has Enabled, Sandbox / test mode and Default checkout method switches.

Notification URL#

Notification URL
https://app.centrapoint.co.za/api/webhooks/mtn_momo?provider={providerId}

Copy the exact URL, with your provider ID filled in, from Settings → Payment providers.

  • Nothing to paste: CentraPoint sends the callback URL in the X-Callback-Url header of each request.
  • The callback host must match the providerCallbackHost registered for your MTN API user.
  • Optionally set a Callback secret; it is appended as ?secret= and checked on every callback.

How notifications are verified#

  • MTN callbacks are not signed. Every callback is confirmed with GET /collection/v1_0/requesttopay/{referenceId} before a status is recorded.
  • The amount and currency must match the transaction before it can be marked complete.

Going live#

  1. Test with sandbox credentials and Sandbox / test mode on, and confirm the notification appears as processed in the Webhook log.
  2. Replace the credentials with live ones and switch off Sandbox / test mode.
  3. Update any URL or secret configured in the gateway's portal for the live environment.
  4. Make a small live payment and confirm it with the Transactions API.