E-commerce11 min read

MTN MoMo Callbacks: Handling Timeouts and Retries (2026)

Mohamed Bah·Fondateur, Kolonell
August 30, 2026
Share:
MTN MoMo Callbacks: Handling Timeouts and Retries (2026)

MTN MoMo Callbacks: Handling Timeouts and Retries (2026)

E-commerce

The verdict in three sentences

The USSD timeout hits up to 12 % of MTN MoMo attempts in 2026, and that is where double charges are born. The only reliable protection combines a stable idempotency key, reconciliation by external reference and a bounded retry window. Orange Money follows the same logic with a longer window (120 s versus 60-90 s), but the same trap: never recreate a transaction without checking its real status.

Why timeouts create double payments

When a customer is slow to enter their PIN, your server gets no response within the expected delay. The temptation is to fire a new transaction — but the first one may have succeeded on the operator side. Without a safeguard, the customer is charged twice.

Window / parameterMTN MoMo (UG)Orange Money (SN)
Global timeout60-90 s120 s
Observed timeout rateup to 12 %up to 15 %
Native idempotencyvia X-Reference-Idvia merchant reference
Delay to reliable status6-15 s8-20 s
Recommended responsegetStatus pollgetStatus poll
Reconciliation window24 h24 h

The golden rule: never retry until a getStatus has confirmed TIMEOUT or FAILED.

Retry strategies versus double-charge risk

Not all strategies are equal. Here is the quantified comparison to decide.

StrategyDouble-charge riskComplexityRecommendation
Immediate retry, no checkHigh (~12 %)LowAvoid
Retry after getStatusVery low (< 1 %)MediumRecommended
Idempotency key + getStatusNear zeroMediumOptimal
New reference per attemptHighLowAvoid
24 h batch reconciliationLowHighEssential complement

In practice in 2026, pairing idempotency key + polling + nightly reconciliation brings the double-charge rate under 0.3 %, versus 3 to 5 % with a naive retry.

Mini case study

David, who runs a restaurant in Kampala, collects 900 orders per month via mobile money. With a naive retry, 4 % suffer a double charge — 36 unhappy customers and as many manual refunds at 15 minutes each, or 9 hours of monthly support. After switching to idempotency key + getStatus, the rate drops to 0.3 %, or fewer than 3 incidents per month: he saves over 8 hours of work and protects his reputation.

Need a professional website?

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

FAQ

How many payments time out?

As a 2026 order of magnitude, up to 12 % of MTN MoMo USSD attempts expire, often because the customer is slow to enter their PIN. Orange Money sits around 15 %.

What is an idempotency key?

It is a unique, stable identifier attached to a payment attempt. It guarantees that replaying the same request does not create a second transaction, so no double charge.

Should I automatically retry an expired payment?

Never before confirming the real status via getStatus. If the operator returns SUCCESSFUL, no retry is needed; otherwise you can offer the customer a fresh attempt.

What is the timeout difference between MTN MoMo and Orange Money?

MTN MoMo allows 60 to 90 seconds, Orange Money 120 seconds. MoMo's shorter window slightly raises abandonment but cuts server waiting time.

How do I handle lost callbacks?

Combine an idempotent callback endpoint with a 24 h batch reconciliation that calls getStatus for any pending transaction. That is the indispensable safety net.

Let's talk about your project. We set up idempotency, controlled retries and reconciliation to eliminate double charges. WhatsApp +221 77 596 93 33.

Tags:#Orange Money#MTN MoMo#timeout#retry#idempotency#double payment#callback#reliability
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.