Sites Web11 min de lecture

M-Pesa STK Push : gerer timeout, callback et retry a Nairobi (2026)

Mohamed Bah·Fondateur, Kolonell
24 août 2026
Partager :
M-Pesa STK Push : gerer timeout, callback et retry a Nairobi (2026)

M-Pesa STK Push : gerer timeout, callback et retry a Nairobi (2026)

Sites Web

Le verdict en trois phrases

Le STK Push est le meilleur flux de paiement M-Pesa pour le web : le client recoit un prompt, saisit son PIN, c'est termine, sans quitter votre site. Mais il est fragile par nature : le prompt expire en 60 secondes, environ 14 % des clients abandonnent avant de saisir le PIN, et les callbacks Daraja se perdent parfois. Sans query status systematique et relance SMS, vous perdez des ventes deja gagnees.

Le flux STK Push, etape par etape

Le Sim Toolkit (STK) Push declenche un prompt directement sur le telephone du client. Cote serveur, le cycle est le suivant : vous appelez STK Push sur l'API Daraja, M-Pesa envoie le prompt, le client saisit son PIN, puis Daraja notifie le resultat sur votre callback URL. Regle d'or : ne jamais faire confiance au seul callback. Doublez-le d'un appel STK Push Query pour confirmer le statut reel, car les callbacks manquants sont la premiere cause de commandes bloquees en "en attente".

La validation du callback impose de verifier le MerchantRequestID, le CheckoutRequestID et le ResultCode. Un ResultCode a 0 signifie succes ; toute autre valeur est un echec avec sa cause.

EtapeAction serveurPoint de vigilance
1. InitPOST STK Push (Daraja)Timestamp + password corrects
2. PromptM-Pesa affiche le promptExpire en 60 s
3. PINClient saisit son code~14 % d'abandon
4. CallbackDaraja notifie le resultatPeut se perdre
5. QuerySTK Push Query de secoursObligatoire
6. C2B confirmConfirmation finaleRapprochement compte

Codes d'erreur Daraja et taux d'abandon

Comprendre les codes retournes evite de traiter un simple timeout comme un vrai echec de paiement. Voici les codes les plus frequents et leur traitement recommande.

Code DarajaSignificationFrequence (est.)Action
0Succes~82 %Valider la commande
1037Timeout, pas de reponse~8 %Relance SMS + retry
1032Annule par l'utilisateur~4 %Proposer un nouveau lien
1Solde insuffisant~3 %Message + autre operateur
2001PIN incorrect~2 %Relancer le prompt
1019Transaction expiree~1 %Reinitialiser

Le code 1037 (timeout) est le plus trompeur : le client a peut-etre juste rate la fenetre de 60 secondes. Une relance immediate par SMS avec un lien de reprise recupere en moyenne +11 % de ces transactions.

Mini cas pratique

Wanjiru gere une plateforme de livraison de repas a Nairobi, avec 6 000 tentatives de paiement STK par mois. Sans gestion fine : 82 % de succes, soit 4 920 paiements. Les 1 080 echecs incluent environ 480 timeouts (code 1037). En ajoutant une relance SMS automatique sur les timeouts, elle recupere 11 % de ces 480, soit 53 commandes/mois, plus la baisse des abandons grace a un message clair sur les soldes insuffisants. A un panier moyen de 1 500 KES, c'est +79 500 KES/mois recuperes pour un cout SMS negligeable.

Besoin d'un site web professionnel ?

Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.

FAQ

Pourquoi mes commandes restent-elles "en attente" ?

Parce que le callback Daraja s'est perdu et que vous ne faites pas de query status. Implementez un STK Push Query automatique 30 a 60 secondes apres l'init pour resoudre le statut de facon fiable.

Combien de temps le client a-t-il pour saisir son PIN ?

Le prompt STK expire au bout de 60 secondes. Au-dela, vous recevez un code 1037 et devez proposer une relance plutot que de considerer la vente perdue.

Faut-il retenter automatiquement un paiement en timeout ?

Oui, mais avec parcimonie : un seul retry declenche par le client via un lien SMS, jamais une boucle automatique qui multiplierait les prompts et agacerait l'utilisateur.

Quelle difference entre callback et C2B confirmation ?

Le callback STK confirme le resultat de la demande de paiement ; la confirmation C2B sert au rapprochement comptable cote compte marchand. Les deux sont utiles pour un rapprochement fiable.

Le sandbox Daraja simule-t-il les timeouts ?

Le sandbox permet de tester le flux nominal et certains codes d'erreur, mais pas fidelement les pertes reseau reelles. Gardez donc une logique de query et de relance robuste en production.

Discutons de votre projet. Nous mettons en place un STK Push M-Pesa fiabilise, avec query status et relance SMS automatique. WhatsApp +221 77 596 93 33.

Tags :#mpesa#stk push#daraja#callback#timeout#nairobi
Partager :

Mohamed Bah

Fondateur, Kolonell

Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.