Skip to main content

Stratégie de test

Testez au minimum :
  • une réponse 200 sur /v1/countries et /v1/fees ;
  • un paiement Mobile Money pending, completed et failed ;
  • la réception d’un webhook ;
  • la déduplication d’un même webhook ;
  • un timeout après lequel vous vérifiez le statut au lieu de créer un second paiement ;
  • les erreurs 400, 401, 403 et 429.

Environnement de démonstration

Le dashboard AshTech Pay contient des outils de test pour les parcours de paiement. N’utilisez jamais de vraies clés dans des captures d’écran, des logs ou un dépôt Git.
Les numéros ci-dessous sont fictifs. Ils ne correspondent à aucun abonné et ne doivent jamais être utilisés avec un autre service de paiement. Ils simulent uniquement les dépôts Mobile Money via POST /v1/collect : ils ne simulent pas les retraits et ne doivent pas être utilisés avec POST /v1/payouts/mobile-money.

Numéros Mobile Money simulés

Les numéros de test fonctionnent avec chaque opérateur actif du pays sélectionné. Le pays, l’opérateur et la devise doivent tout de même être valides dans GET /v1/countries. Le même numéro local est utilisable avec tous les opérateurs du pays. Vous pouvez envoyer le numéro au format international indiqué ou uniquement sa partie locale.

Réponses simulées

Toutes ces réponses contiennent sandbox: true et simulation: true. Après un scénario accepté, une ligne apparaît dans l’historique AshTech Pay sous Sandbox test avec le statut sandbox_test. Cette ligne sert uniquement à consulter le test : aucun solde n’est modifié, aucun webhook n’est envoyé et aucune requête externe n’est effectuée. Les montants credited_amount et fee_amount sont simulés; wallet_credited_amount reste à 0. La demande OTP initiale et un OTP invalide ne créent pas de ligne; le test est enregistré après la saisie de l’OTP correct.

OTP fictif

Pour tous les opérateurs dont le vrai parcours demande un OTP, utilisez :
Le premier appel avec un numéro ...000000004 répond :
Renvoyez ensuite exactement la même requête avec otp: "000000". La réponse sera HTTP 202 avec status: "pending" et une ligne Sandbox test sera ajoutée à l’historique. Aucun SMS, code USSD réel, dépôt, crédit du wallet, webhook ni appel réel n’est déclenché. Tout autre OTP retourne error: "invalid_otp" sans créer de ligne d’historique.

Exemple

Réponse :
transaction_id identifie la trace affichée dans l’historique. Le scénario pending reste simulé : son statut d’historique demeure sandbox_test, sans confirmation réelle ultérieure ni interrogation externe.