Hello,
My name is Nana, and I’m working on a POS platform for businesses in Ghana.
We are currently integrating Mobile Money payments into Tabworthy through a payment provider (Paystack), and we have encountered a customer authentication flow that we'd like to understand directly from MTN.
The current flow for an MTN customer making their first MoMo payment through our application is:
-
The customer provides their MTN phone number.
-
We initiate the Mobile Money payment.
-
MTN sends a 6-digit code to the customer's phone.
-
The customer has to provide that 6-digit code to the merchant/cashier.
-
The code is entered into the payment flow.
-
The customer then receives the normal MTN MoMo prompt and enters their MoMo PIN.
-
The payment is completed.
Interestingly, after the customer completes this process once, subsequent payments do not appear to require the 6-digit code again.
Our payment provider has confirmed that this 6-digit code is generated and controlled by MTN and that they cannot bypass the requirement.
We would therefore like to understand the following:
-
What exactly is the 6-digit code used for?
-
Why is the code required for the first transaction but apparently not subsequent transactions?
-
Is this requirement present for all third-party MTN MoMo API integrations, or only certain payment flows?
-
Does MTN provide a MoMo API or merchant integration where the customer can simply receive the standard MoMo prompt and authorize with their PIN without having to provide a 6-digit code to the merchant?
-
Is there a recommended MTN MoMo integration specifically for high-volume POS environments?
-
Are there any authentication, merchant, or API configurations that can eliminate this initial OTP step?
-
Are there any differences between MTN's direct MoMo API/integration and using a third-party payment provider such as Paystack that would affect this customer experience?
-
Are there any recommended practices for merchants processing a high volume of consecutive MoMo transactions?
This is particularly important for our use case because Tabworthy is designed for busy physical environments where transactions need to be completed quickly. Requiring a customer to communicate a 6-digit code to a cashier before they can even receive the payment prompt creates significant friction during busy periods.
We would be very interested in understanding whether MTN has a payment/API solution designed specifically for this type of environment.
If there is a technical team or MoMo API specialist we should speak with regarding this, we'd greatly appreciate being connected with them.
Thank you.