INOPAS
Développeurs

Sandbox ouvert. Aucune inscription.

Une API REST, un appel pour demander un paiement M-Pesa, et des identifiants de test publiés sur cette page : votre premier encaissement part avant même d’avoir créé un compte.

Vos identifiants de test

Ces trois valeurs suffisent pour appeler toutes les routes de l’API. Elles visent une pile séparée de la plateforme : un simulateur y tient le rôle des canaux, aucun argent ne circule, et rien de ce que vous y faites n’atteint les données réelles.

Elles sont publiques, donc partagées par tous les visiteurs. N’y envoyez aucune donnée réelle : ni vrai numéro de téléphone, ni nom de client.

Sandbox public
INOPAS_HOST=https://sandbox.inopas.net
INOPAS_KEY=ak_sandbox
INOPAS_SECRET=sk_sandbox_demo

Un paiement n’est jamais « presque » réussi

Mobile money, réseau instable : il arrive que le canal ne réponde pas. Traiter ce cas comme un échec, c’est risquer de faire payer le client deux fois. Il a donc son propre état, UNKNOWN, que la réconciliation tranche ensuite en interrogeant le canal.

Les états d’un paiement
État d’APIDans votre espaceCe que ça veut dire
CREATEDEn attenteEnregistré, pas encore transmis au canal.
PENDINGEn attenteTransmis : le payeur confirme sur son téléphone.
SUCCEEDEDPayéConfirmé par le canal. Définitif.
FAILEDÉchouéRefusé ou abandonné. Définitif, rien n’a été débité.
UNKNOWNNon confirméLe canal n’a pas répondu : l’argent a peut-être bougé. Ni livrer, ni redemander.

Les principes de l’API

Deux hôtes
https://sandbox.inopas.net pour les identifiants publics ci-dessus. https://api.inopas.net pour la production, avec vos clés live.
Une version dans l’URL
Toutes les routes sont sous /v1. Un changement incompatible ouvrira /v2 : /v1 ne change pas sous vos pieds.
Aucun jeton à renouveler
Chaque requête se signe elle-même en HMAC-SHA256. Pas d’étape de connexion, pas de jeton qui expire au milieu d’un paiement.
Des montants entiers
amount_minor est un entier en unités mineures, jamais un nombre à virgule : CDF et USD ont deux décimales, 2500000 vaut 25 000,00 CDF. Aucune conversion implicite entre devises.
Des écritures rejouables
Toute écriture porte un en-tête Idempotency-Key. La même clé renvoie la même réponse : une relance après coupure ne débite jamais deux fois.
Des listes par curseur
limit (1 à 100) et cursor en entrée, next_cursor en sortie. Pas de page qui glisse quand des paiements arrivent.
Une trace de bout en bout
Chaque réponse porte X-Correlation-ID, le même dans nos journaux et dans les webhooks. Donnez-le au support : il retrouve l’appel exact.
Un débit annoncé
Le quota se lit dans les en-têtes RateLimit-Limit, RateLimit-Remaining et RateLimit-Reset de chaque réponse.

Passer en production

  1. Ouvrez un compte, puis envoyez votre dossier depuis l’espace marchand.
  2. Une fois le dossier vérifié, créez vos clés live dans l’espace marchand, menu API. Le secret ne s’affiche qu’une fois.
  3. Remplacez l’hôte par https://api.inopas.net et les identifiants par vos clés. Le code, lui, ne change pas. La liste de contrôle détaille le reste.

Un seul branchement, tous les paiements.