Share sandbox questions and get support from the community
Recently active
I have an active Collections subscription in the MTN MoMo Developer sandbox. Both the Primary and Secondary Collections subscription keys return HTTP 401 when calling POST /v1_0/apiuser on the sandbox API. The response is: “Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.” DNS and HTTPS connectivity to the sandbox endpoint are working. Please verify or reactivate the Collections sandbox subscription/API Management keys for my developer account.
Hello MoMo team,I am unable to subscribe to the Collections product on the MoMo Developer Portal. I have followed the standard steps — signed in, navigated to the Collections product, entered a subscription name, checked "I agree to the Terms of Use," and clicked Subscribe — but the subscription never completes and my profile page continues to show "You don't have subscriptions yet."
Hello,I cannot subscribe to the Collections product in the sandbox. The subscriptionrequest fails server-side with HTTP 400.Steps to reproduce:1. Log in to momodeveloper.mtn.com2. Go to Products > Collections3. Enter a subscription name, accept the terms, click SubscribeRequest:POST /developer/users/<my-user-id>/subscriptions/<id>?api-version=2022-04-01-previewResponse: HTTP 400 Bad Request{"error":{"code":"ValidationError","message":"You've reached the maximum numberof Subscriptions (25000) in Product. Please delete one or more Subscription(s)from Product to continue, or consider upgrading your plan to increase thelimit.","details":null}}My account has no subscriptions at all — the page shows "You have nosubscriptions yet". The 25000 limit is the Azure API Management cap on theProduct itself, not on my account, so there is nothing I can delete on my side.Could someone on the MoMo team clean up stale sandbox subscriptions on theCollections product, or raise the APIM tier
Account: weruku@gmail.com (registered 09/11/2026). I cancelled Collection Widget (mpf-widget). I cannot subscribe to Collections — the button does nothing and the new subscription never appears on my profile. I need sandbox Collections (not Widget) for Uganda.
Hello,I am trying to subscribe to the Collections product on the MTN MoMo Developer Portal in order to integrate MTN MoMo Côte d’Ivoire with our OneFlow platform.However, the subscription creation consistently fails with an HTTP 400 error and the following message:You've reached the maximum number of Subscriptions (25000) in Product. Please delete one or more Subscription(s) from Product to continue, or consider upgrading your plan to increase the limit.Could you please increase the subscription capacity for the Collections product or enable my subscription manually?Requested subscription name: OneFlowPay-Collections-Sandbox-CII can also provide screenshots of the failed POST request and the full error response if needed.Best regards,
Hello,I am integrating the MTN MoMo Remittance Sandbox API from a cloud-hosted server environment.The integration previously worked successfully. We were able to:generate an OAuth access token; validate a Sandbox account holder; submit a Remittance transfer (202 Accepted); retrieve the transfer status as SUCCESSFUL.However, the OAuth endpoint is now being rejected:POST https://sandbox.momodeveloper.mtn.com/remittance/token/Instead of the documented OAuth JSON response, MTN returns:HTTP status: 200 Content-Type: text/html Content-Length: 247 message: Request RejectedA Support ID is also returned for the rejected request.The issue appears consistent with a Sandbox WAF/network restriction affecting server-to-server requests from a cloud environment.Could you please confirm:whether the MTN Sandbox WAF may be blocking our server requests; whether an outbound IP or IP range needs to be allowlisted; whether there are specific network/IP requirements for server-to-server access to the Remittan
Hi, I'm integrating the MoMo Collections API (sandbox) into a server-side application. Requests to /collection/v1_0/requesttopay are being rejected with a WAF block page ("Request Rejected... The requested URL was rejected. Please consult with your administrator") when sent from my cloud-hosted server (Render.com), even though the exact same request succeeds when sent from my local machine using identical code and credentials. Could someone confirm whether cloud/datacenter IP ranges are blocked in sandbox, and if so, help whitelist these outbound IP ranges for my app? 74.220.51.0/24 74.220.59.0/24 Account details: API User ID: b3342b64-ffd2-4746-a771-b884953cc72e Thank you!
Hello MTN MoMo Support/Community,I am integrating the MTN MoMo Collections API for my application, Glowza.I have an active Sandbox subscription:Product: CollectionsSubscription: FakorBorla SandboxEnvironment: SandboxI am trying to provision an API User using the Sandbox User Provisioning API.Endpoint:POST https://sandbox.momodeveloper.mtn.com/v1_0/apiuserRequest headers:X-Reference-Id: [fresh UUID v4]Content-Type: application/jsonOcp-Apim-Subscription-Key: [Collections Primary Subscription Key]Request body:{ "providerCallbackHost": "webhook.site"}The request consistently returns:HTTP/1.1 400 Bad RequestContent-Length: 0There is no response body explaining the error.I have also tried the GET API User endpoint with the same UUID:GET /v1_0/apiuser/{X-Reference-Id}This also returns:HTTP/1.1 400 Bad RequestI have verified that:- The subscription is active.- The subscription product is Collections.- I am using the Collections Primary Subscription Key.- The subscription key is 32 characters.
The Sandbox Collection token/payment flow and Sandbox User Provisioning endpoint are returning HTTP 500 Internal Server Error.I tested both the Primary and Secondary Collection subscription keys, but received the same result.Endpoint:POST https://sandbox.momodeveloper.mtn.com/v1_0/apiuserActivity IDs:e8bd5c96-1955-4c73-9b47-285372a833f0c7d94c70-d94b-419f-81f3-1b3f9606a18e903d8124-fc15-4129-9c88-a47d8c410224Please confirm whether the sandbox services are currently operational and advise when they will be restored.
Hitting 500, while trying to create api user key ??Please help us know,if its sandbox provisioning down or other thing else, or if the server is intentionally down mean like under maintenance !
Hello MTN MoMo team,I'm reporting a sandbox issue that started around 7 July 2026 and that I've been unable to resolve through the usual troubleshooting. I'd be grateful for your guidance on the likely cause and the recommended next step.SummaryMy Collections product subscription shows Active in the portal, and its subscription keys are accepted by the API gateway — but every request that is passed through to the backend hangs and never returns, timing out after roughly 30 seconds. This affects token generation and API-user management alike, so I cannot obtain an access token or provision a new API user.Behaviour observed (reproduced independently from two different networks using raw HTTP, so it is not specific to my application or hosting):Request Result POST /collection/token/ — valid Collections key + existing API user Times out (~37s), no response GET /v1_0/apiuser/{referenceId} — existing API user Times out (~21s), no response POST /v1_0/apiuser — create a new API user
I am trying to generate an api user and key for the sandbox environment.I am sure i am using the correct subscription key, and uuid.I tried the postman collection online. This returns the error: access_token or its expiry date are missing.Authentication is set to none, and i could not get this working.I then tried to create this request in a local postman install.The request looks the same as the online version, but returns error 404.The response body isContent-Length: 0Strict-Transport-Security: max-age=31536000; includeSubDomainsX-XSS-Protection: 1; mode=blockRequest-Context: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8cDate: Thu, 14 May 2026 10:02:01 GMT I have these headers: Ocp-Apim-Subscription-Key, X-Reference-Id, Content-Type. The request body is : {"providerCallbackHost":"www.google.com"}Any suggestion to resolve this will be highly appreciated.
What is the difference between a RequestToPay and a RequestToWithdraw
Hi @all,I configured a user and api key. The call works (requesttopay), but the callback is not executed.I added the host dev.domain.com.xyHeader param for callback is “http://dev.domain.com.xy/webhook/mtnmomo”.No callback.Creating another user with callback domain “domain.com” it works…Any issues with “uncommon” domainnames?
I’m getting invalid subscription key invalid while testing it in sandbox mode while testing it with live url it give resource not found.Below is for sandbox Mode.URL :: https://sandbox.momodeveloper.mtn.com/v1_0/apiuser headers :: {Authorization: Basic ZmY5NTZkMGYtODYwOC00NmZhLWIzMzEtZjRkNDhmNzAwZTNiOm51bGw=, X-Reference-Id: ff956d0f-8608-46fa-b331-f4d48f700e3b, Ocp-Apim-Subscription-Key: 84dbf7a8a0e44923988a0dd621169ec6, Content-Type: application/json} MtnMomo :: body :: {providerCallbackHost: https://dulu.cm/success} [log]MtnMomo :: apiuserAPI :: 401 :: { "statusCode": 401, "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." }Below is for live testing URL :: https://proxy.momoapi.mtn.com/v1_0/apiuser headers :: {X-Reference-Id: 6e1fcdda-0cb1-4a85-8af6-8e3e6ff31942, Ocp-Apim-Subscription-Key: 0144c9f7b7774f4b8108cc4b243561b6, Content-Type: application/json}body :: {providerCallbackHost: https://dulu.cm/success}apiuse
I am building a platform that helps multiple businesses accept mobile money payments and automatically reconcile successful payments inside the system.I would like guidance on the best and officially supported setup for this model.My main concern is around how collections should work when one platform serves many merchant clients. If the integration is created under the platform account, does that mean funds are received into the platform’s collections account first, or can each client business receive its funds directly?We would prefer a setup where the platform does not have to hold or manage client funds if possible.I would also like to understand:whether each merchant needs its own setup or credentials whether there is any supported third-party, platform, or aggregator model whether it is possible to collect funds and immediately forward them to the merchant automatically whether extra charges apply in that kind of flow what the recommended approach is for this type of use caseAny
The request body below returns invalid currency. What currency codes work for Uganda? Tried altering the currencies but same error.{ "amount": "40000", "currency": "UGX", "externalId": "c1f4687688585858a173f12", "payer": { "partyIdType": "MSISDN", "partyId": "25678119xxxx" }, "payerMessage": "Payment for services", "payeeNote": "Payment for services"}
Hello MTN Developer Support,I have just started using the MTN Developer Portal and I am currently a student. I do not yet have a taxpayer number (NIU) or the business documents that are normally required for registration.I would like to know if there is a way for students or individuals without a taxpayer number to gain access to MTN APIs for learning, testing, or development purposes.Thank you for your guidance.
We are no longer able to generate disbursement token since last few days. It was working before.The URL - https://sandbox.momodeveloper.mtn.com/disbursement/token/Response Received:<html><head><title>Request Rejected</title></head><body>The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 14332579245721589193<br><br><a href='javascript:history.back();'>[Go Back]</a></body></html>
Hi, getting the 500 internal server error without any details when trying to create API user as described here:https://momodeveloper.mtn.com/api-documentation/api-descriptionThe same result is with “Try it” feature on the site (https://momodeveloper.mtn.com/API-collections#api=sandbox-provisioning-api&operation=post-v1_0-apiuser&definition=ApiUser) and when calling it from the VPS. HTTP/1.1 500 Internal Server Errorcontent-length: 111content-type: application/jsonvary: Origin{ "statusCode": 500, "message": "Internal server error", "activityId": "93a3063e-****"}The system returns Activity ID where can I find details related to it?
Hi everyone,I’m having some trouble with the MTN MoMo API, specifically with the requestToPay endpoint.When I send a requestToPay, I get an HTTP 200 response, but the body looks like this: HTTP/1.1 200 OK cache-control: no-cache content-length: 247 content-type: text/html; charset=utf-8 pragma: no-cache vary: Origin x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-xss-protection: 1; mode=block <html> <head><title>Request Rejected</title></head> <body> The requested URL was rejected. Please consult with your administrator.<br><br> Your support ID is: 11597720049318046811<br><br> <a href='javascript:history.back();'>[Go Back]</a> </body> </html> The problem is that no callback is ever sent, even though I receive this 200 response.Has anyone experienced this before or knows what might be wrong? Any help would be appreciated. 🙏
Please assist, I am getting this error from the andbox
Why I’m I getting this error when I try to create an API user for the sandbox environment?I could use some help
Where can I find the JavaScript implementation code for the Collection Widget? I need the widget.js URL and initialization code.
I have a WordPress site and I want to add an MTN collection widget to allow people to donate to our website using it?
Get Paid: Enabling Seamless Payments for All businesses from the MoMo Subscribers
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.