Passer au contenu principal
Utilisez toujours la sandbox pour valider votre intégration avant de passer en production.

Configuration sandbox

1

Utiliser l'URL de base sandbox

URL de base API : https://sandbox-api.payfonte.com
2

Utiliser les identifiants sandbox

Récupérez votre client-id et client-secret depuis Settings -> API Keys/Webhooks sur sandbox-app.payfonte.com.
3

Définir un endpoint webhook

Configurez une URL de callback de test afin de valider les mises à jour de transaction asynchrones.

Points à valider avant le go-live

Auth et en-têtes

Confirmez que toutes les requêtes incluent client-id et client-secret.

Format de montant

Vérifiez que vous envoyez uniquement des valeurs entières en sous-unités. Les décimales ne sont pas prises en charge.

Cycle de vie des statuts

Validez le passage des états pending ou processing vers les états finaux success ou failed dans votre logique métier.

Traitement des webhooks

Vérifiez la validation de signature, les retries, l’idempotence et les temps de réponse.

Scénarios de test principaux

ScénarioRésultat attendu
Requête de débit valideRéponse 201 avec référence de transaction
Identifiants invalidesÉchec d’authentification, 401 ou 403
Envoi d’un montant décimalÉchec de validation ou provider
Référence dupliquée409 avec DuplicateTransactionReference
Slug provider invalideErreur avec InvalidProvider
Livraison webhookCallback reçu puis traité une seule fois

Simuler des résultats success, failed et pending

Pour les collectes comme pour les décaissements en sandbox, vous pouvez contrôler le résultat attendu en modifiant le numéro mobile money utilisé dans la requête.
Motif du numéroRésultat attenduUtilisation
Tout autre numérosuccessLa sandbox considère tous les autres numéros comme des transactions réussies
Numéro se terminant par 000000failedLa sandbox force l’échec de la transaction
Numéro se terminant par 111111pendingLa sandbox maintient la transaction en attente pour tester le traitement asynchrone
Appliquez cette règle au champ de numéro que vous envoyez pour la transaction. Pour les collectes, utilisez le numéro mobile money du client. Pour les décaissements, utilisez le numéro du bénéficiaire.
Lorsque vous testez des flux pending, ne traitez pas la réponse API initiale comme définitive. Attendez les mises à jour webhook ou vérifiez le statut depuis votre backend avant de marquer la transaction comme success ou failed.

Données de test spécifiques à certains providers

Simulateur OTP Orange Ivory Coast

Pour tester Orange Ivory Coast avec Payfonte :
  1. Ouvrez https://mpayment.orange-money.com/mpayment-otp/login
  2. Connectez-vous avec :
    • Username : 7701901040
    • Password : MerchantWP01040
  3. Générez un OTP avec :
    • Phone Number : 7701101040, généralement prérempli
    • PIN : 1791
  4. Utilisez l’OTP généré sur la plateforme de paiement.
  • Exemple success : 254700123456
  • Exemple failed : 254700000000
  • Exemple pending : 254711111111
  • Exemple success : 233242426222
  • Exemple failed : 233240000000
  • Exemple pending : 233241111111

Requête sandbox rapide

curl --location 'https://sandbox-api.payfonte.com/payments/v1/checkouts' \
  --header 'client-id: <your-client-id>' \
  --header 'client-secret: <your-client-secret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "reference": "test-001",
    "amount": 10000,
    "currency": "NGN",
    "country": "NG",
    "user": {
      "phoneNumber": "08012345678"
    }
  }'

Documentation associée

Environnements

URL sandbox et production, ainsi que configuration des identifiants.

Webhooks

Vérifiez les payloads de callback et la validation de signature.

Codes d'erreur

Dépannez rapidement les requêtes de test échouées.