Démarrer

Authentification et conventions

Chaque appel porte la clé API de votre service ; toutes les routes suivent les mêmes conventions.

Clé API

Envoyez la clé dans l’en-tête X-API-Key de chaque appel. Elle identifie votre service : toutes les opérations sont faites pour son compte et sur son portefeuille. Chaque service a deux clés :

  • pk_test_… : SandBox, opérations simulées, disponible dès la création du service ;
  • pk_live_… : production, générée à la validation de votre compte et affichée une seule fois dans votre espace.
Conservez la clé API et le secret webhook côté serveur uniquement (variables d’environnement, coffre de secrets). Ils ne doivent jamais apparaître dans une application mobile, un site web (JavaScript) ou un dépôt de code. En cas de fuite, régénérez-les depuis l’espace partenaire : l’ancienne clé est refusée immédiatement.

Clé absente, invalide, renouvelée, ou service / compte suspendu : 401 UNAUTHORIZED. Chaque réponse porte l’en-tête X-Gateway-Environment (SANDBOX ou LIVE) de la clé utilisée.

En-têtes
POST https://paygate.nebyron.com/management/gatewaytransaction/api/payment
X-API-Key: pk_live_Q8ZK…
Content-Type: application/json

Conventions

SujetRègle
FormatJSON en UTF-8, en requête comme en réponse
MontantsNombres, en francs CFA (currency: "XOF"), 2 décimales au plus
Numéros de téléphoneAvec ou sans indicatif, espaces acceptés : +226 76 11 22 33, 76112233
DatesISO 8601, heure du serveur Nebryon : 2026-10-05T17:40:30.845366
Identifiantsreference (référence Nebryon, PAY… / WDR…) et externalReference (la vôtre)

Réseaux

networkOpérateur
ORANGE_MONEYOrange Money
MOOV_MONEYMoov Money
TELECEL_MONEYTelecel Money
WAVEWave

Votre référence : à toujours envoyer

Envoyez votre propre identifiant dans externalReference (numéro de commande, de facture…), unique pour votre service, 100 caractères au plus. Il sert à :

  • éviter les doublons : si vous renvoyez une demande avec la même externalReference (par exemple après une coupure réseau), l’API ne crée rien de nouveau et renvoie la transaction existante ;
  • retrouver la commande à la réception d’une notification (data.externalReference).

Listes paginées

Les listes prennent page (à partir de 0) et size (20 par défaut), du plus récent au plus ancien.

Page
{
  "content": [ { "...": "..." } ],
  "totalElements": 128,
  "totalPages": 7,
  "number": 0,
  "size": 20
}