Intervalle de polling recommandé
L’intervalle optimal dépend du type de transaction :Timeouts — quand abandonner le polling
Fixez un nombre maximum de tentatives plutôt qu’un délai absolu : cela vous donne un contrôle précis sur le nombre d’appels API générés.
Au-delà du timeout, la transaction reste techniquement
pending côté LigdiCash — elle n’est pas annulée. Le callback peut encore arriver. Adoptez la logique suivante :
- Marquez la transaction comme
expirédans votre base (statut applicatif, pas LigdiCash). - Informez l’utilisateur que le traitement est en cours et qu’il sera notifié.
- Continuez à écouter le callback — s’il arrive, re-vérifiez avec
confirmet mettez à jour.
Stratégie hybride — callback principal + polling de fallback
Gérer les transactions en pending
Une transaction reste pending tant que l’opérateur n’a pas rendu sa décision finale. Plusieurs situations expliquent un pending prolongé :
- Mode approbation (Moov Africa) — le client doit confirmer sur son application mobile, ce qui peut prendre plusieurs minutes.
- OTP expiré — le client n’a pas saisi l’OTP à temps. La transaction restera
pendingpuis passera ennotcompletedaprès expiration. - Congestion réseau opérateur — rare, mais possible lors de pics de trafic.
- Payout en attente de fonds — si le solde du compte marchand est insuffisant au moment de l’initiation.
pending après votre timeout de polling, conservez le token en base et planifiez une re-vérification différée (exemple : +30 min, +2h, +24h) avant de la considérer définitivement perdue.
JavaScript — re-vérification différée
Pages associées
- Polling vs callback — choisir la bonne stratégie
- Callback — sécurisation — re-vérification avec
confirm - Callback — idempotence — déduplication des deux requêtes
- Modes de validation — OTP USSD, OTP SMS, approbation
- Codes de réponse et statuts — référence complète
