INOPAY
DÉVELOPPEURS

Construisez avec Inopay

Une API REST, un SDK natif et une spécification KYC portable Ed25519 pour intégrer la bourse régionale dans votre produit.

Voir la référence API

Démarrage rapide en 4 étapes

De la création de la clé à votre premier ordre routé sur une SGI partenaire — chaque étape avec un snippet copiable.

Étape 01

Demander une clé sandbox

Soumettez le formulaire « Demande d'accès » et recevez sous 24 h une paire client_id / client_secret de test (préfixe sk_test_).

# 1. Submit access request from /developers/sandbox
# 2. Within 24h you receive credentials by email:

INOPAY_CLIENT_ID="ino_client_8XK9R2"
INOPAY_CLIENT_SECRET="sk_test_4bX9...redacted...PqW2"
Étape 02

Authentifier

Échangez vos clés contre un access token Bearer OAuth 2.0 (durée 15 min, scopes explicites).

curl -X POST https://sandbox.getinopay.com/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "$INOPAY_CLIENT_ID",
    "client_secret": "$INOPAY_CLIENT_SECRET",
    "scope": "kyc:read orders:write"
  }'

# Returns: { "access_token": "eyJ...", "expires_in": 900 }
# Use as: Authorization: Bearer sk_test_eyJ...
Étape 03

Vérifier un KYC portable

Récupérez une attestation KYC signée Ed25519 par son identifiant et vérifiez la signature hors-ligne.

curl -X GET https://sandbox.getinopay.com/v1/kyc/attestations/att_4XK9RZ \
  -H "Authorization: Bearer $TOKEN"

# Response 200 OK:
# {
#   "id": "att_4XK9RZ",
#   "version": "1.0",
#   "subject_id": "ino_sub_8a2f",
#   "level": "KYC2",
#   "issued_at": "2026-04-25T08:00:00Z",
#   "expires_at": "2027-04-25T08:00:00Z",
#   "signature": "MEUCIQDk...base64...",
#   "key_id": "staging-2026-04"
# }
Étape 04

Router un ordre

Soumettez un ordre vers une SGI partenaire identifiée par rcpt_to. Idempotent par défaut.

curl -X POST https://sandbox.getinopay.com/v1/orders \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "rcpt_to": "sgi_partner_001",
    "kyc_attestation_id": "att_4XK9RZ",
    "instrument": "SNTS.BRVM",
    "side": "buy",
    "qty": 10,
    "limit_price_cents": 1250000
  }'

# 201 Created → { "id": "ord_9Pk2X", "status": "routed" }

Capacités plateforme

Six briques composables, documentées et versionnées sur /v1/.

API REST

Référence /v1/ avec authentification Bearer, pagination cursor et codes d'erreur normalisés.

Documentation

SDK iOS / Android / Web

SDK natifs maintenus officiellement, semver strict, exemples open source sur GitHub.

Documentation

Webhooks HMAC

Notifications signées HMAC SHA-256 pour orders, KYC et snapshots d'audit. Retry exponentiel.

Documentation

KYC portable Ed25519

Attestation cryptographique vérifiable hors-ligne. Une vérification, plusieurs SGI.

Documentation

Audit chaîné

Chaque ordre hashé, ancré quotidiennement via Merkle root publique. Vérifiable par tout auditeur.

Documentation

White-label SGI / Banque

Embarquez l'expérience Inopay sous votre marque : logo, couleurs, traductions, domaine custom.

Documentation

SDK officiels

Trois plateformes natives, une seule surface d'API. Installez en une commande.

iOS — Swift

Installer
.package(url: "https://github.com/inopay/inopay-ios", from: "1.4.2")
Repo GitHub:github.com/inopay/inopay-ios

Android — Kotlin

Installer
implementation("com.getinopay:inopay-android:1.4.0")
Repo GitHub:github.com/inopay/inopay-android

Web — TypeScript

Installer
npm install @inopay/web-sdk@1.5.1
Repo GitHub:github.com/inopay/inopay-web

White-label : votre marque, notre infrastructure

Banques, opérateurs MoMo et SGI peuvent embarquer Inopay sous leur propre identité — couleurs, logo, traductions, domaine.

Pour MoMo

Embarquez l'expérience Inopay sous votre marque : logo, couleurs, traductions, domaine custom.

Documentation

Pour banques

Embarquez l'expérience Inopay sous votre marque : logo, couleurs, traductions, domaine custom.

Documentation

Pour SGI

Embarquez l'expérience Inopay sous votre marque : logo, couleurs, traductions, domaine custom.

Documentation

Conventions d'API

Choix techniques verrouillés sur l'ensemble de la plateforme — pas de surprise entre endpoints.

  • REST principlesRessources nommées au pluriel, verbes HTTP standards (GET, POST, PATCH, DELETE), codes statut explicites.
  • OAuth2 client credentialsBearer token court terme (15 min) via OAuth 2.0 client_credentials. Scopes granulaires par capacité.
  • IdempotencyHeader Idempotency-Key requis sur tous les POST mutateurs. Réponses cachées 24 h.
  • Pagination cursorPagination basée sur cursor opaque, header X-Cursor-Next. Pas d'offset numérique (instable sur gros volumes).
  • Rate limits1000 req/min sandbox, 10000 req/min production. Headers X-RateLimit-Limit, -Remaining, -Reset.
  • VersioningPréfixe /v1/ stable. Changements breaking signalés 90 jours à l'avance via /developers/changelog.

Prêt à intégrer ?

Demandez votre clé sandbox et commencez à passer des ordres dans la journée.

Parler à l'équipe