lomi.

Comment simuler les erreurs ?

Testez refus, authentification 3DS, mobile money asynchrone et échecs webhook avant la mise en production.

Utilisez cet index en bac à sable. Cette page est la matrice des scénarios. Les numéros de carte et le comportement MoMo détaillés sont dans Paiements en bac à sable. Comment structurer les tests : Guide des tests.

Exécutez ces scénarios uniquement avec des clés test (lomi_sk_test_...).

Matrice de scénarios

ScénarioDéclencheurRésultat attenduDétail
Carte acceptée4242 4242 4242 4242completedBac à sable: cartes
Carte refuséePAN de refus du tableau testfailedIdem
3D SecureCartes test authrequires_actionBac à sable
Wave (test)Wave sur checkout testSouvent completed immédiatWave
MTN (test)POST /charge/mtncompleted immédiatMTN
MoMo direct pending (test)X-Scenario-Key: pending sur POST /charge/mtn ou /charge/waveCharge reste PENDING ; pas d’auto-complétionBac à sable : scénarios
MoMo direct failed (test)X-Scenario-Key: failed sur POST /charge/mtn ou /charge/waveRéponse d’erreur 400Même section
MTN (live)numéro de téléphone réel, clé livePENDINGVérifier les paiements
ExpirationDépassement TTL session/transactionexpired / failedMachine à états
Signature webhook invalidePOST sans X-Lomi-Signature4xx + retries lomi.Gestion webhooks
Webhook dupliquéRejouer le même idDéduplication côté vousFiabilité webhooks
Reversement solde insuffisantRègles test payout400 / failedReversements test
Clé API invalideMauvais X-API-Key401Authentification
Limite de débitRafale de requêtes en test429Gestion des erreurs
3DS carte via X-Scenario-KeyPas pris en chargeUtilisez les PAN de testPaiements sandbox
MoMo redirect vs push via en-têtePas pris en chargeWave = URL de lancement ; MTN = pushMobile money
Payout insufficient_balance via X-Scenario-KeyPas pris en chargeSuivez les règles payout test (Wave live uniquement)Reversements test
Ouvrir un litige en sandboxPas pris en chargeÉvénements réseau carte en live uniquementLitiges

Scénarios de charge directe (clé test uniquement)

Sur POST /charge/mtn et POST /charge/wave, envoyez X-Scenario-Key pour outrepasser le comportement test par défaut. Cela s’applique aux charges directes uniquement: le checkout hébergé et les charges carte ne lisent pas encore cet en-tête.

Valeur d’en-têteComportement
(omis)Par défaut : la charge test se complète automatiquement et crédite le solde test
pendingLa charge reste PENDING ; pas d’auto-complétion (polling ou webhook)
failedLa requête échoue avec 400
# Garder la charge en attente (CI / tests de relance)
curl -sS -X POST "https://sandbox.api.lomi.africa/charge/mtn" \
  -H "X-API-KEY: $LOMI_SECRET_KEY" \
  -H "X-Scenario-Key: pending" \
  -H "Content-Type: application/json" \
  -d '{"amount":1000,"currency":"XOF","customer_phone":"+2250700000000"}'

# Simuler un échec prestataire
curl -sS -X POST "https://sandbox.api.lomi.africa/charge/wave" \
  -H "X-API-KEY: $LOMI_SECRET_KEY" \
  -H "X-Scenario-Key: failed" \
  -H "Content-Type: application/json" \
  -d '{"amount":1000,"currency":"XOF","customer_phone":"+2250700000000"}'

Automatisation

Voir Guide de tests et les recettes curl du bac à sable.

Voir aussi

Sur cette page