Mobile Money Collection

How it Works

Nkwa Pay allows you to request payments directly from your customers’ mobile money wallets. Funds are transferred from the customer’s mobile money account to your Nkwa Pay account, which you can later withdraw to your bank account.

The collection flow works as follows:

  1. Initiate Collection: Your application sends a collection request to Nkwa Pay API
  2. Customer Authorization: The customer receives a prompt on their phone to authorize the payment by entering their PIN
  3. Processing: The mobile network operator (MTN or Orange) processes the payment
  4. Notification: Nkwa Pay notifies your application about the payment outcome via webhook
  5. Settlement: Successfully collected funds are added to your Nkwa Pay account balance

The processing time typically ranges from a few seconds to several minutes, depending on the mobile network’s performance.

Collection Status

Once your payment collection request is submitted and processed by the Nkwa Pay platform, it will transition through one of the following statuses:

StatusDescription
PENDINGThe collection request has been accepted and payment is pending customer authorization or MNO processing
SUCCESSFULThe collection request has been successful and funds have been received. This is a final state.
FAILEDThe collection request has failed. Common causes include insufficient funds, wrong PIN entries, or network issues. This is a final state.

Implementation Recommendations

  • User Experience: Clearly communicate to customers that they should expect and respond to a payment authorization prompt on their phone
  • Timeout Handling: Implement appropriate timeout handling for pending payments
  • Idempotency: Use unique reference IDs for each transaction to prevent duplicate charges
  • Status Updates: Always implement webhook handlers to receive real-time payment status updates
  • Amount Display: Format the amount properly when displaying to users (e.g., “1,000 XAF”)
  • Phone Number Format: Ensure phone numbers are properly formatted with the country code (e.g., “237600000000”)

Testing Collections

In the sandbox environment:

  • For MTN, use the test numbers provided in the MTN MoMo developer documentation
  • For Orange, use a real phone number but enter the test PIN code 4444 when prompted

See our Implementation Guide for more details on integrating collections into your application.