The nkwaPay simplifies integrating mobile money into your payment flows. It provides a single standardised API to connect to Mobile Network Operators (MNOs) providing mobile money services across Cameroon. Following chapters introduce some important aspects of mobile money and working with financial APIs to help you build a high quality integration that your customers love and is easy to operate.

MNO stability

Our 24/7 payment operations team monitors all MNOs on our platform for instability and downtime. We stop accepting payments to those MNOs if the success rate is too low. This information is accessible from our availability endpoint.

Sometimes MNOs systems have degraded performance. When that happens, the MNOs APIs might have trouble returning the final status of payments. (stuck in pending) In such cases, these payments are reconciled manually. This means that when using nkwaPay, all payments are always reconciled to their final status. This process takes a little longer than processing during normal operations.

Asynchronous API

The nkwaPay is asynchronous. This is necessary to provide high performance and quality payment infrastructure.

When you create a payment (collection or disbursement), you’ll get an initial response that confirms whether the payment was accpeted for processing. There are two ways to find out about the final status of a payment. First, you can configure a callback URL in our portal. This will automatically send a callback to your configured callback URL as soon as a payment has reached it’s final status. You will have to implement a callback handler that is able to receive calls from our platform and handle them accordingly.

Secondly, you can use the corresponding Get payment/:id endpoint periodically to check if the payment has reached its final status.

Handling callbacks

When implementing your callback handler, please consider the following points.

  • The endpoint should be accessible to our platform.
  • If you are using IP whitelisting, our sending IP-s are [ip1, ip2, ip3]
  • Ensure that you have excluded the callback endpoint from your applications regular authentication system.
  • Your endpoint for receiving callbacks must be idempotent.
  • Your endpoint needs to allow us to POST to the callback with the payment in the body.
  • We expect you to return HTTP 200 OK response to consider the callback delivered.
  • Make sure you use an SSL certificates from a trusted CA.
  • We will attempt to deliver callbacks for 15 minutes. Retrying every minute if we don’t reveive a 200 OK.