Websites11 min read

Integrate the MTN MoMo API into a Kampala store (2026)

Mohamed Bah·Fondateur, Kolonell
August 13, 2026
Share:
Integrate the MTN MoMo API into a Kampala store (2026)

Integrate the MTN MoMo API into a Kampala store (2026)

Websites

The verdict in three sentences

The MTN MoMo Collections API rests on a requestToPay call then a state check (PENDING → SUCCESSFUL/FAILED). If you process the order without waiting for the final state, you double-charge or deliver without collecting. In 2026 in Kampala, with fees of 1.5 to 2 % and a customer confirmation of 30 to 120 seconds, the key is a clean, idempotent state machine.

The requestToPay flow and state handling

The heart of MoMo Collections is asynchronous. You launch requestToPay with a unique X-Reference-Id (UUID), the customer approves via USSD on their phone, then you query the state. Never treat a payment as settled until the state is SUCCESSFUL.

MoMo stateMeaningStore action
PENDINGAwaiting USSD approvalWait / poll
SUCCESSFULFunds confirmedMark paid, deliver
FAILEDRejection or low balanceOffer a retry
TIMEOUTCustomer didn't approveCancel the session
REJECTEDCustomer declined USSDClose cleanly

The X-Reference-Id acts as the idempotency key: if your server restarts, you re-query the same identifier rather than triggering a new payment.

Polling vs webhook: 2026 figures

MTN offers polling and callbacks. Polling is easier to secure but consumes requests; the webhook is real-time but requires signature verification. 2026 order-of-magnitude figures (estimates).

Criterion2026 valueNote
MTN MoMo fee1.5 to 2 %Merchant side
Customer confirmation delay30 to 120 sUSSD approval
USSD failure rate8 to 15 %Network + abandon
Recommended polling interval5 sUp to 2 min max
Transaction ceiling~1,000,000 FCFABy KYC profile
Sandbox costFreeDedicated environment

An 8 to 15 % USSD failure rate is normal: plan a "Retry" button rather than treating every failure as a permanent loss.

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

Mini case study

Ibrahim runs an electronics store in central Kampala. He handles 120 orders/month at 45,000 FCFA, i.e. 5,400,000 FCFA. Without a state machine, 6 orders/month were charged twice (customer taps "pay" again), generating 270,000 FCFA in refunds and disputes. With an idempotent X-Reference-Id, double-debits vanish: a direct saving of 270,000 FCFA/month and zero double-payment disputes.

FAQ

Polling or webhook for MoMo? Polling every 5 seconds for 2 minutes suits most stores and avoids signature complexity. The webhook becomes worthwhile beyond several hundred transactions/day.

How do I avoid double-charging? Use a unique X-Reference-Id (UUID) per attempt as the idempotency key; re-query the same identifier instead of re-triggering.

What is the normal failure rate? Between 8 and 15 % of USSD attempts fail (abandon, network, balance). Always provide a recovery path.

What do MoMo fees cost in 2026? Around 1.5 to 2 % merchant side, slightly above Wave but with a very large MTN customer base in East Africa.

Is the sandbox free? Yes, the MTN MoMo test environment is free and simulates PENDING, SUCCESSFUL and FAILED to validate your state machine.

Let's talk about your project. We build your MoMo integration with an idempotent state machine and timeout handling. WhatsApp +221 77 596 93 33.

Tags:#mtn momo#api paiement#boutique#douala#kampala#collections api#integration#sites-web
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.