[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"$f2i1onb0x41dz9":3},{"title":4,"description":5,"html":6},"MoMo API Gateway","MTN MoMo is mobile payment system which is available in Uganda, Ghana, Zambia, Cameroon, Swaziland, Ivory Coast, Benin, Guinea-Conakry, Rwanda, Congo Brazza, Liberia and South Afri","\u003Ch1>MoMo API Gateway\u003C\u002Fh1>\n\u003Cp>\u003Cstrong>MTN MoMo\u003C\u002Fstrong> is mobile payment system which is available in \u003Cstrong>Uganda, Ghana, Zambia, Cameroon, Swaziland, Ivory Coast, Benin, Guinea-Conakry, Rwanda, Congo Brazza, Liberia and South Africa.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>MTN MoMo has an API for the developers to create Apps for merchants to received payments, API documentation is available online on \u003Ca href=\"https:\u002F\u002Fmomodeveloper.mtn.com\" target=\"_blank\" rel=\"noopener\">https:\u002F\u002Fmomodeveloper.mtn.com.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>After doing developer support on MoMo \u003Cstrong>Skype\u003C\u002Fstrong> Forums we have noticed that people often have troubles getting the API to work in the \u003Cstrong>Sandbox and Live environments\u003C\u002Fstrong>. Often, it increases the \u003Cstrong>time to market\u003C\u002Fstrong> for the eCommerce Apps and Websites.\u003C\u002Fp>\n\u003Cp>**In order to make the life of developers easier and shorted the time to market for Apps we decided to develop MoMo API Gateway SAAS platform. **\u003C\u002Fp>\n\u003Cp>Here are the \u003Cstrong>features\u003C\u002Fstrong> of the MoMo API gateway:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>One API call to request a payment over \u003Cstrong>MoMo\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Request payments in all 12** MoMo countries **\u003C\u002Fli>\n\u003Cli>Support for Status Callback function \u003Cstrong>which always works\u003C\u002Fstrong>!\u003C\u002Fli>\n\u003Cli>Status Callback works even in the \u003Cstrong>Sandbox\u003C\u002Fstrong> environment\u003C\u002Fli>\n\u003Cli>Error reporting by Email - Active developer support, we are \u003Cstrong>always online\u003C\u002Fstrong> and do help!\u003C\u002Fli>\n\u003Cli>Swiss security and data protection standards\u003C\u002Fli>\n\u003Cli>Stability and reliability of ISO 27001 certified hosting, more \u003Ca href=\"https:\u002F\u002Fwww.nine.ch\" target=\"_blank\" rel=\"noopener\">www.nine.ch\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>On-request support for other payment providers \u003Cstrong>Orange Money &amp; Airtel Money\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Request payment over MoMo\u003C\u002Fh2>\n\u003Cp>Request money from any MoMo account. Just a few parameters needed:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Amount as a number, for now \u003Cstrong>integer\u003C\u002Fstrong> numbers only, no floating point\u003C\u002Fli>\n\u003Cli>Payment note, text only, no Emails, links or colons please\u003C\u002Fli>\n\u003Cli>Payer mobile number, international format, no “+” in front!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl --location --request POST 'https:\u002F\u002Fmomopay.clickon.ch\u002FdoPayment\u002F{{LICENSE_ID}}' \\\n--header 'Content-Type: application\u002Fjson' \\\n--header 'x-secret-key: {{YOUR_SECRET_KEY}}' \\\n--data-raw '{\n     &quot;amount&quot;: 27500,\n     &quot;note&quot;: &quot;Order 1111-XXXX&quot;,\n     &quot;payer&quot;: &quot;256787003761&quot;\n}'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you need example in other languages (PHP, Java, NodeJS etc.), feel free to export from our Postman collection, you will be able to download it below.\u003C\u002Fp>\n\u003Cp>You will get the following JSON as a reply (see below). You may want to store the value of \u003Cstrong>paymentId\u003C\u002Fstrong> for status tracking later on.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n    &quot;paymentId&quot;: &quot;a7fcb077-3175-4f5f-9d23-938708a8ca27&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In case something goes wrong (always happens) you will get an error message as shown below. HTTP status code will be set to 500 in that case.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n    &quot;error&quot;: &quot;Your license is not yet configured, please use \u002FsetKeys API call to set your Live\u002FSandbox keys.&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Configure your license\u003C\u002Fh2>\n\u003Cp>In order to start using our \u003Cstrong>MoMo API gateway\u003C\u002Fstrong> you have to set the API keys. Below you will find an example how you can do it. You must get those keys from MTN, by submitting a KYC form on \u003Ca href=\"https:\u002F\u002Fmomodeveloper.mtn.com\" target=\"_blank\" rel=\"noopener\">https:\u002F\u002Fmomodeveloper.mtn.com\u003C\u002Fa>, the process takes a while so make sure you start early!\u003C\u002Fp>\n\u003Cp>You can also set Sandbox API keys, but please remember that no real payment requests will be sent in this case. For Sandbox always set the \u003Cstrong>currencyCode\u003C\u002Fstrong> to EUR\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl --location --request POST 'https:\u002F\u002Fmomopay.clickon.ch\u002FsetKeys\u002F{{LICENSE_ID}}' \\\n--header 'Content-Type: application\u002Fjson' \\\n--header 'x-secret-key: {{YOUR_SECRET_KEY}}' \\\n--data-raw '{\n     &quot;subKey&quot;: &quot;9e3604b8d7f947dcbd1b0af6275b5d61&quot;,\n     &quot;apiUser&quot;: &quot;7097c052-b50f-42f2-80c1-975d2d374e7b&quot;,\n     &quot;apiKey&quot;: &quot;e1d4c0cc0f6e4e22879f4c94d0f0f671&quot;,\n     &quot;currencyCode&quot;: &quot;EUR&quot;,\n     &quot;callbackUrl&quot;: &quot;http:\u002F\u002Facdbbc1db797.ngrok.io&quot;,\n     &quot;type&quot;: &quot;collection&quot;\n}'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Get payment status\u003C\u002Fh2>\n\u003Cp>You can get the status of your payment request in case you supplied a valid \u003Cstrong>callbackUrl\u003C\u002Fstrong> in the \u003Cstrong>doPayment\u003C\u002Fstrong> request. See an example above. Our gateway will make a POST callback to this URL with the following information:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n    &quot;paymentId&quot;: &quot;a7fcb077-3175-4f5f-9d23-938708a8ca27&quot;,\n    &quot;status&quot;: &quot;paid&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>In case of an error you will get the following:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-json\">{\n    &quot;paymentId&quot;: &quot;a7fcb077-3175-4f5f-9d23-938708a8ca28&quot;,\n    &quot;status&quot;: &quot;failed&quot;\n    &quot;reason&quot;: &quot;internal_processing_error&quot;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Another way of getting the payment status is to request it directly from the gateway, see below.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl --location --request POST 'https:\u002F\u002Fmomopay.clickon.ch\u002FgetPaymentStatus\u002F{{LICENSE_ID}}' \\\n--header 'Content-Type: application\u002Fjson' \\\n--data-raw '{\n     &quot;paymentId&quot;: &quot;a7fcb077-3175-4f5f-9d23-938708a8ca27&quot;\n}'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Request payment from Airtel or Orange Money\u003C\u002Fh2>\n\u003Cp>You can request payments from Airtel &amp; Orange Money wallets, however for both of them you must get in touch with us, so we can instruct you how to activate these services. Important, we only support Airtel and Orange Money for the Live payments.\u003C\u002Fp>\n\u003Cp>Below you can see how you can request money from Orange Money or Airtel. \u003Cstrong>Keep in mind that you must have a KYC verified account with Orange and Airtel for this!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">curl  --location --request POST 'https:\u002F\u002Fmomopay.clickon.ch\u002FdoPayment\u002F{{LICENSE_ID}}' \\\n--header 'Content-Type: application\u002Fjson' \\\n--header 'x-secret-key: {{YOUR_SECRET_KEY}}' \\\n--data-raw '{\n     &quot;amount&quot;: 56050,\n     &quot;note&quot;: &quot;Order XXXX-2921&quot;,\n     &quot;payer&quot;: &quot;256752509750&quot;,\n     &quot;network&quot;: &quot;{orange|airtel}&quot;\n}'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Get your licence\u003C\u002Fh2>\n\u003Cp>Request a licence through \u003Ca href=\"\u002Fcontact\">the contact form\u003C\u002Fa>. We send the \u003Cstrong>LICENSE_ID\u003C\u002Fstrong> and \u003Cstrong>YOUR_SECRET_KEY\u003C\u002Fstrong> to your email address.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>159 USD per year, 12 months of support &amp; updates for 1 application, unlimited payments. 0 % commission fee!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch2>100% No-Risk Money Back Guarantee\u003C\u002Fh2>\n\u003Cp>Although we don’t think you’ll ever want one, we’ll gladly provide a refund if it’s requested within \u003Cstrong>7 days\u003C\u002Fstrong> of purchase. No questions asked, you get a \u003Cstrong>full refund\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2>Need help? Or have a question?\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"\u002Fcontact\">Talk to us\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>We will try to process every support question, but please give us at least 2 hours time.\u003C\u002Fp>\n\u003Cp>IMPORTANT, do not use \u003Cstrong>Web version of Postman, it is NOT SUPPORTED,\u003C\u002Fstrong> get the real Windows\u002FMac \u003Ca href=\"https:\u002F\u002Fwww.postman.com\u002Fdownloads\u002F\" target=\"_blank\" rel=\"noopener\">Postman App here\u003C\u002Fa>.\u003C\u002Fp>\n",1790231205462]