Sur cette page

Ressources

Bibliothèques officielles, environnement de test et référence technique : tout ce qu'il faut pour intégrer, tester et diagnostiquer.

SDK officiels

Chaque SDK gère l'authentification, l'idempotence, la pagination et la vérification des webhooks. Vous pouvez aussi appeler l'API directement : c'est du HTTP et du JSON, sans particularité.

Node.js Node 18 et plus
Bientôt

En préparation. En attendant, l'API s'appelle directement avec n'importe quel client HTTP.

Python Python 3.9 et plus
Bientôt

En préparation. En attendant, l'API s'appelle directement avec n'importe quel client HTTP.

Plugins e-commerce

Pour brancher une boutique existante sans écrire de code.

WooCommerce En préparation
PrestaShop En préparation

Environnement de test

Une clé commençant par sk_test_ vous place en environnement de test. Aucun mouvement réel n'est produit, aucun opérateur n'est appelé. Deux outils de votre espace développeur évitent d'attendre ou de simuler à la main :

Avancer le temps

Faites expirer une tentative immédiatement, pour tester une expiration sans attendre dix minutes.

Envoyer un callback signé

Déclenchez un callback comme le ferait un opérateur, pour éprouver votre vérification de signature.

Scénarios

Le comportement est piloté par les quatre derniers chiffres du numéro du payeur : un numéro se terminant par 0002 échouera pour solde insuffisant.

SuffixeScénarioCe qui se passe
…0000 Succès immédiat Le paiement aboutit sans attente.
…0001 Confirmation différée Action requise, puis succès à la deuxième vérification de statut.
…0002 Solde insuffisant Refus métier : réessayer sur un autre connecteur ne servirait à rien.
…0003 Code secret incorrect Refus corrigeable : le payeur peut relancer.
…0004 Opérateur indisponible Incident technique : autorise une bascule vers un autre connecteur.
…0005 Réponse ambiguë Prioritaire Le cas le plus important. Ni succès ni échec : le paiement part en revue.
…0006 Aucune réponse L'opérateur ne conclut jamais : la tentative finira par expirer.
…0007 Plafond atteint Refus métier lié aux limites du compte payeur.
…0008 Compte inexistant Le numéro n'est associé à aucun compte chez l'opérateur.
…0009 Refus du payeur Le payeur annule sur son téléphone.

Testez le scénario 0005 avant tout Le statut indéterminé est le cas que la plupart des intégrations gèrent mal. Vérifiez que votre code ne livre pas la commande, et ne demande pas au client de repayer.

Cartes de test

Valides selon l'algorithme de Luhn, elles passeront vos validations côté boutique. Aucune n'appartient à un émetteur réel.

NuméroComportement
4242 4242 4242 4242 Visa — succès
4000 0000 0000 0002 Visa — fonds insuffisants
4000 0000 0000 0069 Visa — carte expirée
4000 0000 0000 9995 Visa — refus émetteur
4000 0000 0000 0119 Visa — erreur de traitement
5555 5555 5555 4444 Mastercard — succès
5200 0000 0000 0007 Mastercard — 3-D Secure requis
Date d'expiration : n'importe quelle date future. Cryptogramme : trois chiffres au choix.

Référence de l'API

URL de base https://www.ad-novapay-ci.agence-nconcept.com/v1
RessourceOpérationsPrécisions
Sessions de paiement POST GET LISTE
Paiements GET LISTE Filtrable par statut et référence
Remboursements POST GET LISTE
Liens de paiement POST LISTE DELETE
Solde GET Décomposé par état des fonds
Mouvements LISTE Votre relevé de compte
Événements GET LISTE Pour rattraper ce que vous avez manqué

Conventions

  • Montants en unité mineure entière. Le XOF n'ayant pas de décimale, 1 000 F s'écrit 1000.
  • Pagination par curseur, stable même quand des lignes s'insèrent.
  • Erreurs structurées avec type, code, message et details.
  • Codes d'échec normalisés, identiques quel que soit l'opérateur.
  • Idempotence par l'en-tête Idempotency-Key, mémorisée 24 heures.

Limites de débit

300requêtes par minute en lecture, par clé d'API
60requêtes par minute en écriture, par clé d'API

Un dépassement renvoie une réponse 429 avec un message explicite.

Obtenir de l'aide

Votre espace développeur affiche vos derniers événements et vos tentatives de livraison de webhook, avec le code HTTP renvoyé par votre serveur et sa réponse. La plupart des problèmes s'y diagnostiquent seul.

Si vous avez manqué des événements pendant une panne, l'API vous les restitue :

Rattrapage
GET /v1/evenements?depuis=…
Une question technique ? Précisez votre identifiant de paiement, nous irons plus vite.
Écrire au support