The verdict in three sentences
An STK push flow in Dar es Salaam rests on four beats: server initiation, Vodacom prompt, customer PIN confirmation and a callback that demands an ImmediateResponse under 5 seconds. The main enemy is a 6 to 11 % failure rate, sharply reduced by a 45 to 60 second timeout and at most two retries. On the West African side, USSD push (Orange/Moov Burkina) shows a higher 12 to 25 % abandonment via *144# — same architecture, looser initial-response rule.
STK push flow architecture step by step
| Step | Actor | Action | 2026 constraint |
|---|---|---|---|
| 1 | Server | Initiates the payment request | Idempotent reference |
| 2 | Vodacom | Pushes STK prompt to client | Latency 2-5 s |
| 3 | Client | Enters PIN | 45-60 s window |
| 4 | Vodacom | Debits and calls back | ImmediateResponse < 5 s |
| 5 | Server | Confirms the order | Server-side status check |
| 6 | Server | Retry on timeout | 2 attempts max |
Essential point: never confirm the order on the front-end display alone. Wait for the server-confirmed callback or a status query. If silent after 60 s, trigger a retry, then mark the transaction FAILED after the second failure.
STK Push (Dar es Salaam) vs USSD push (Ouagadougou)
| Criterion | M-Pesa STK Push (TZ) | USSD Orange/Moov (BF) |
|---|---|---|
| Trigger | Vodacom STK prompt | *144# notification |
| Failure/abandon rate | 6-11 % | 12-25 % |
| Recommended timeout | 45-60 s | 60-90 s |
| Initial response | ImmediateResponse < 5 s | Within 10 s |
| Advised retries | 1-2 max | 2 max |
| Confirmation | Mandatory callback | Callback / polling |
| Merchant fee | 0.5-1 % | 1.5-2 % |
Key difference: Tanzanian STK Push demands an ImmediateResponse under 5 seconds — your server must acknowledge almost instantly or Vodacom treats the call as failed. Burkinabè USSD is more tolerant on the initial response but suffers higher abandonment because the USSD menu requires more steps from the customer.
Mini case study
Juma runs an online ticketing service in Dar es Salaam: 600 payment attempts/month, average ticket TZS 15,000. With a 10 % STK failure rate, 60 transactions fail — about TZS 900,000 in lost revenue. By tuning the flow — clear waiting message before the prompt, 50 s timeout, two retries — he cuts failures to 6 %, loses only 36 transactions and recovers 24 sales, i.e. TZS 360,000/month. Flow ergonomics beat any discount.
FAQ
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Why is the STK/USSD failure rate so high?
Because the customer must approve an out-of-band prompt, recall their PIN and confirm within a short window. A clear waiting message before the prompt noticeably lowers abandonment.
What timeout should I set?
45 to 60 seconds for STK Push in Tanzania. That is the realistic time to open the prompt, recall the PIN and confirm. Below 30 s you cut off legitimate payments.
How many retries are reasonable?
Two at most. Beyond that you annoy the customer and risk double charges if idempotency is imperfect. Mark FAILED after the second failure.
What is M-Pesa's ImmediateResponse?
An acknowledgement your server must return within 5 seconds of the STK Push. Without it, Vodacom treats the transaction as errored, regardless of what the customer does.
How do I test a flow before production?
Use the operator sandbox to simulate prompt, correct PIN, wrong PIN and timeout. Validate every callback case before switching to production keys.
Let's talk about your project. We design anti-timeout USSD and STK Push flows with idempotent retries and reliable callbacks. WhatsApp +221 77 596 93 33.
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.

