See what’s new at our product, check the updates below
We would like to inform you that the MoMo Team will be conducting scheduled maintenance on the MoMo Open API environment. During this period, you may experience a temporary reduction in service quality. The details of the maintenance activity are as follows: Activity 1:Maintenance Start: October 08, 00:00 UTC+3 Maintenance End: October 08, 08:00 UTC+3 Impact: MoMo Open API services will be affected. Please note that while the maintenance window is scheduled for 8 hours, it may be completed earlier. We apologize for any inconvenience this may cause and appreciate your understanding and cooperation. Thank You. MoMo API Team.
Callback Host Certificate Authority List Updated for MoMoOpenAPI In our ongoing effort to improve your experience with MoMo Open API services, we have updated new Certificate Authority (CA) support to facilitate seamless callbacks.For businesses striving to create effortless interactions with customers, callbacks are essential as they offer real-time transaction status updates. This enhancement ensures that your business applications can use more variety of CAs to provide timely and precise information to the customers. Updated Certificate AuthoritiesHere is the added list of Certificate Authorities supporting the MoMo Open API:Organization Intermediate Certificate Authorities Amazon Amazon RSA 2048 M03 DigiCert Inc Encryption Everywhere DV TLS CA - G2 DigiCert Inc GeoTrust TLS RSA CA G1 DigiCert Inc Thawte EV RSA CA G2 Gandi Gandi RSA Domain Validation Secure Server CA 3 GlobalSign nv-sa GlobalSign Atlas R3 DV TLS CA 2024 Q3 GlobalSign nv-sa GlobalSign GCC R6 AlphaSSL CA 2023 Google Trust Services WE1 Google Trust Services WR3 Google Trust Services WR4 Microsoft Corporation Microsoft Azure RSA TLS Issuing CA 03 Microsoft Corporation Microsoft Azure RSA TLS Issuing CA 07 Viking Cloud, Inc. Viking Cloud Organization Validation CA Level 1 Rate-Limit The rate limits have now been raised to 150 requests per second for Get status transactions. The responses from the Get status APIs follow the same format as Callbacks. It is recommended to handle Get Status calls while adhering to the 150 TPS per IP limit.For comprehensive instructions on configuring callback on production and existing Certificate Authority, please refer to the MoMo Developer Portal:MoMo Developer Portal - Certificate Configuration Guide We anticipate that this update will greatly improve the efficiency and dependability of your transaction processing workflows. We are grateful for your ongoing support and cooperation. The newly added CAs have been incorporated into the list of those already existing. Alias CN GTS_CA_1C3 CN=GTS CA 1C3; O=Google Trust Services LLC; C=US Go_Daddy_Secure_Certificate_Authority_-_G2 CN=Go Daddy Secure Certificate Authority - G2; OU=http://certs.godaddy.com/repository/; O=GoDaddy.com, Inc.; C=US R3 CN=R3; O=Let's Encrypt; C=US Sectigo_RSA_Domain_Validation_Secure_Server_CA CN=Sectigo RSA Domain Validation Secure Server CA; O=Sectigo Limited; C=GB AmazonRCA4 CN = Amazon Root CA 4,O = Amazon,C = US AmazonCA1B CN = Amazon,OU = Server CA 1B,O = Amazon,C = US Encryption_Everywhere_DV_TLS_CA_-_G1 CN=Encryption Everywhere DV TLS CA - G1; OU=www.digicert.com; O=DigiCert Inc; C=US cPanel,_Inc._Certification_Authority CN=cPanel, Inc. Certification Authority; O=cPanel, Inc.; C=US DigiCert_SHA2_Secure_Server_CA CN=DigiCert SHA2 Secure Server CA; O=DigiCert Inc; C=US GTS_CA_1D4 CN=GTS CA 1D4; O=Google Trust Services LLC; C=US Cloudflare_Inc_ECC_CA-3 CN=Cloudflare Inc ECC CA-3; O=Cloudflare, Inc.; C=US DigiCert_SHA2_High_Assurance_Server_CA CN=DigiCert SHA2 High Assurance Server CA; OU=www.digicert.com; O=DigiCert Inc; C=US ZeroSSL_RSA_Domain_Secure_Site_CA CN=ZeroSSL RSA Domain Secure Site CA; O=ZeroSSL; C=AT AlphaSSL_CA_-_SHA256_-_G2 CN=AlphaSSL CA - SHA256 - G2; O=GlobalSign nv-sa; C=BE RapidSSL_TLS_DV_RSA_Mixed_SHA256_2020_CA-1 CN=RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1; O=DigiCert Inc; C=US Thawte_RSA_CA_2018 CN=Thawte RSA CA 2018; OU=www.digicert.com; O=DigiCert Inc; C=US GoGetSSL_RSA_DV_CA CN=GoGetSSL RSA DV CA; O=GoGetSSL; C=LV Gandi_Standard_SSL_CA_2 CN=Gandi Standard SSL CA 2; O=Gandi; C=FR GlobalSign_RSA_OV_SSL_CA_2018 CN=GlobalSign RSA OV SSL CA 2018; O=GlobalSign nv-sa; C=BE DigiCert_TLS_RSA_SHA256_2020_CA1 CN=DigiCert TLS RSA SHA256 2020 CA1; O=DigiCert Inc; C=US GeoTrust_RSA_CA_2018 CN=GeoTrust RSA CA 2018; OU=www.digicert.com; O=DigiCert Inc; C=US Microsoft_RSA_TLS_CA_02 CN=Microsoft RSA TLS CA 02; O=Microsoft Corporation; C=US SSL.com_RSA_SSL_subCA CN=SSL.com RSA SSL subCA; O=SSL Corporation; C=US RapidSSL_TLS_RSA_CA_G1 CN=RapidSSL TLS RSA CA G1; OU=www.digicert.com; O=DigiCert Inc; C=US Thawte_EV_RSA_CA_2018 CN=Thawte EV RSA CA 2018; OU=www.digicert.com; O=DigiCert Inc; C=US Microsoft_Azure_TLS_Issuing_CA_05 CN=Microsoft Azure TLS Issuing CA 05; O=Microsoft Corporation; C=US GeoTrust_TLS_DV_RSA_Mixed_SHA256_2020_CA-1 CN=GeoTrust TLS DV RSA Mixed SHA256 2020 CA-1; O=DigiCert Inc; C=US E1 CN=E1; O=Let's Encrypt; C=US Sectigo_ECC_Domain_Validation_Secure_Server_CA CN=Sectigo ECC Domain Validation Secure Server CA; O=Sectigo Limited; C=GB COMODO_RSA_Domain_Validation_Secure_Server_CA CN=COMODO RSA Domain Validation Secure Server CA; O=COMODO CA Limited; C=GB entrustl1k_.entrustrootca-g2 CN = Entrust Certification Authority - L1K,OU = (c) 2012 Entrust\, Inc. - for authorized use only,OU = See www.entrust.net/legal-terms,O = Entrust\, Inc.,C = US
Remittances enriched with the MoMo CashTransfer API Field Descriptions: Payer Identification Types Run in Postman ### Error Insights Transitioning from Remittance Transfer to Remittance Cash Transfer MoMo Developer Portal - Go liveRemittances enriched with the MoMo CashTransfer API MoMo Dev Community the Remittance API has been enriched and designed to facilitate the efficient capture of Know Your Customer (KYC) details for both the payer and payee involved in fund transfers. From the business and customer feedback with regulatory consultations, we have introduced the new MoMo CashTransfer API, set to replace the current remittance transfer API.The API offers comprehensive capabilities for B2B, C2B, and B2C, C2C transactions. Whether you're looking to invest in an overseas business, receive your salary on your local MoMo wallet from a foreign employer, or send financial support to your parents abroad, the API has you covered for these tasks and more.We highly recommend that businesses currently utilizing the remittance transfer API start planning to transition to the new MoMo Remittance CashTransfer API.The API includes several detailed fields to better support compliance and business needs.Below are the descriptions for the newly added fields:Field Descriptions:amount: This is the sum that the recipient will receive following currency conversion. currency: Specifies the type of currency in which the recipient will receive the amount. (ISO 4217 Currency Codes) payee: Contains information about the beneficiary. partyId: A unique identifier for the recipient, which could be a phone number, email, or a designated party code. partyIdType: The kind of identifier being used, such as MSISDN, EMAIL, or PARTY_CODE. externalId: This is the transaction ID used for business applications and is useful for reconciliation purposes. originatingCountry: The country from which the funds are being sent. originalAmount: The initial sum to be received before any currency conversion takes place. originalCurrency: The currency in which the original sum is denominated. (ISO 4217 Currency Codes) payerMessage: A message that will be delivered to the sender. payeeNote: A note that will be delivered to the beneficiary. payerIdentificationType: The type of identification used for the sender, with possible values including CPFA, SRSA, NRIN, etc. Payer Identification Types CPFA - CPF account number SRSA - SRS account number NRIN - National registration identification number OTHR - Other DRLC - Drivers license number PASS - Passport number SOCS - Social security number AREG - Alien registration number IDCD - Identity card number EMID - Employer identification number payerIdentificationNumber: The identification number that corresponds to the specified identification type. payerIdentity: The MSISDN utilized by the sender in the country where the remittance originates. Format: (ID:6873248686/MSISDN) payerFirstName / payerSurName: The given name and surname of the sender. payerLanguageCode: The linguistic code corresponding to the sender's nation. ISO_639-1 payerEmail: The sender's electronic mail address. payerMsisdn: The phone number of the sender. payerGender: The sex of the sender. (MALE, FEMALE, OTHER)Run in Postman Run In Postman### Notes:Make sure to replace the example values with actual data when making API requests. Each field is marked as required, indicating that they must be included for the request to be valid. ### Error InsightsORIGINAL_PAYER_IDENTIFICATION_NOT_REGISTERED - This indicates that the identity number provided for the payer does not match the one used during their initial transaction.HTTP 400 Bad RequestPlease verify the following details:- payerIdentificationType must be one of the following: 'CPFA', 'SRSA', 'NRIN', 'OTHR', 'DRLC', 'PASS', 'SOCS', 'AREG', or 'IDCD'.- payerLanguageCode should comply with ISO_639-1 standards.- originalCurrency must adhere to (ISO 4217 Currency Codes).- payerEmail should be a valid email address.HTTP 500 Server ErrorEnsure that payerGender values are correctly set to either MALE, FEMALE, or OTHER. Transitioning from Remittance Transfer to Remittance Cash Transfer What remains unchanged are the API User and Key, as well as the remittance subscription key. You can find these in your profile User: Profile - MoMo Developer Portal – SandBox (mtn.com) or User: Profile - MoMo Developer Portal – Production (mtn.com)What’s altered is the Endpoint URL, which has been updated from https://proxy.momoapi.mtn.com/remittance/v1_0/transfer to https://proxy.momoapi.mtn.com/remittance/v2_0/cashtransfer Additionally, the content of the Body has been enhanced with new fields as previously mentioned. MoMo Developer Portal - Go liveRegister at APISandbox - MoMo Developer Portal – SandBox (mtn.com) and discover more detailed information about the API. We trust this update will significantly enhance the efficiency and compliance of your fund transfer operations. Thank you for your continued support and cooperation.MoMo API Team
The MoMo Team will be conducting maintenance work on the Open API SANDBOX environment, which will result in a decrease in service quality. The scheduled maintenance activities are as follows: Activity 1:Maintenance Starts: August 08, 00:00 UTC+3 Maintenance Ends: August 08, 06:00 UTC+3Impact: Sandbox Environment services will be affected. Please be advised that while the scheduled maintenance window is initially set for 6 hours, the actual timeframe may be shorter. We apologize for any inconvenience and appreciate your understanding and cooperation during this time.
MoMo Open API Maintenance Notification The MoMo Team will be conducting maintenance work on the Open API services, which will result in a decrease in service quality. The scheduled maintenance activities are as follows: Activity 1: Maintenance Start: June 27, 00:00 UTC+3 Maintenance End: June 27, 06:00 UTC+3 Please be advised that while the scheduled maintenance window is initially set for 6 hours, the actual timeframe may be shorter. We apologize for any inconvenience and appreciate your understanding and cooperation during this time. Thank You. MoMo API Team.
MoMo Open API Maintenance Notification The MoMo Team will be conducting maintenance work on the Open API services, which will result in a decrease in service quality. The scheduled maintenance activities are as follows: Activity 1: Maintenance Start: May 11, 00:00 UTC+3 Maintenance End: May 11, 06:00 UTC+3 Activity 2: Maintenance Start: May 14, 00:00 UTC+3 Maintenance End: May 14, 06:00 UTC+3 Please be advised that while the scheduled maintenance window is initially set for 6 hours, the actual timeframe may be shorter, possibly 1 hour. We apologize for any inconvenience and appreciate your understanding and cooperation during this time. Thank You. MoMo API Team.
Part of our ongoing efforts to improve MoMo Open API experience, we have updated the reason field for some FAILED responses on the Get Status API with insightful descriptions as illustrated below. {"externalId": "c1f4687688585858a173f12", "amount": "500", "currency": "UGX", "payer": { "partyIdType": "MSISDN", "partyId": "25677000000" }, "payerMessage": "Debit RequesttoPay", "payeeNote": "Debit RequesttoPay", "status": "FAILED", "reason": "NOT_ENOUGH_FUNDS"} Use Case Product Actual Reason Insufficient Funds Collections NOT_ENOUGH_FUNDS Insufficient Funds Disbursements NOT_ENOUGH_FUNDS Transaction Time out due to not inputting the PIN Collections COULD_NOT_PERFORM_TRANSACTION Invalid Payer Number Collections PAYER_NOT_FOUND Invalid Payee Number Disbursements PAYEE_NOT_FOUND Transaction Limit Exceeded for Payer Collections PAYER_LIMIT_REACHED Transaction Limit Exceeded for Receiver Disbursements NOT_ENOUGH_FUNDS Blocked Payer Account Collections SENDER_ACCOUNT_NOT_ACTIVE Blocked Payee Account Disbursements PAYEE_NOT_ALLOWED_TO_RECEIVE Blocked Partner Account Collections NOT_ALLOWED Blocked Partner Account Disbursements NOT_ALLOWED
When querying for the status of a financial transaction, the result can either be SUCCESSFUL, FAILED, or PENDING. A successful outcome means the MoMo subscriber has authenticated the transaction with the correct PIN, whereas a pending status means the MoMo subscriber is yet to approve the transaction with their PIN.Although the labels 'successful' and 'pending' are self-explanatory, a failed response could be due to a variety of factors, such as the customer entering an incorrect PIN or their wallet lacking sufficient funds to finalize the transaction.Developers have experienced difficulty understanding some of these error messages, particularly the INTERNAL_PROCESSING_ERROR which is a generic encompassing numerous errors with the most prevalent being a lack of sufficient funds in the MoMo subscriber's wallet.To address this issue, our team has devised a revised error response procedure that will provide specific reasons for failure, such as insufficient funds.This revision process is ongoing and developers who are part of our community platform will receive regular updates on these errors as they are implemented.Please note that while HTTP Codes remain unchanged, reasons for failure will be included in the response body by the team.Generic { "externalId": "04822b2a-0896-4612-9e9e-15ce749b7883", "amount": "500000000", "currency": "UGX", "payer": { "partyIdType": "MSISDN", "partyId": "25677000000" }, "payerMessage": "test", "payeeNote": "test", "status": "FAILED", "reason": "INTERNAL_PROCESSING_ERROR"}From the Snipped, the Reason field will be updated only.
MoMo API SDKs offer a streamlined approach for developers using Java, PHP, Android, JavaScript, Node.js to seamlessly integrate with MoMo Open APIs. They can create either client or server applications capable of interacting with MoMo APIs. Every language SDK support API use cases such as Transfer Disbursements, Transfer Remittance Transfers, Debit Collections, Agent Services (inclusive of Cash-In and Cash-Out), Refund, validations.Each language SDK is equipped with all the necessary libraries, reference materials, code examples, and tools that developers need for the construction of their solutions. Step 1:Before using the SDks Obtain the Subscription key with the below steps Sign up https://momodeveloper.mtn.com Navigate to the products page https://momodeveloper.mtn.com/products Select drop down on product that suits the business case and subscribe Once Done, Subscription Keys are found via https://momodeveloper.mtn.com/developer Using the primary Keys update the SDK Configuration with the Keys. Step 2: Find the SDK requirements and download links via Github below. NOTE: Sandbox Provisioning Use case is a Onetime process generating API User and API Key for the sandbox. Ask the Community, if faced with challenges SDK Details Java SDKRequirements Java JDK-1.8 or higher Apache Maven 3 or higherGit Hub MTN-Group/MoMoAPIs_Java_sdk (github.com) Java Script SDKRequirements Any BrowserGit Hub MTN-Group/MoMoAPIs_Javascript_sdk (github.com) PHP SDKRequirements PHP 5.4+ cURL PHP Extension JSON PHP ExtensionGit Hub MTN-Group/MoMoAPIs_Php_sdk (github.com) Node.Js SDKRequirements Node.js 16.19.1 LTS or higherGit Hub MTN-Group/MoMoAPIs_Nodejs_sdk (github.com) Android SDKRequirements Android Studio 4.0 or newer Android Platform Version: API 32 Build gradle: 7.3.0 Git Hub MTN-Group/MoMoAPIs_Android_sdk (github.com)
Send Customized Notifications to Clients after a Successful Debit
Here is how you can Configure the Transfer API to make Business to Business Payments In the Transfer request Body , The PartIdType will be “ALIAS” and the partyId with be the Actual Code, Will use “000000” as below the Alias is the Marchart code Example a MoMo Pay Code { "amount": "<string>", "currency": "<string>", "externalId": "<string>", "payee": { "partyIdType": "ALIAS", "partyId": "00000000" }, "payerMessage": "<string>", "payeeNote": "<string>"}
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
OKSorry, our virus scanner detected that this file isn't safe to download.
OK