Une intégration. Toute l'infrastructure.
Encaissez des paiements, envoyez des SMS, authentifiez vos utilisateurs — depuis votre propre application, avec des API conçues pour le terrain africain.
Pourquoi construire sur GNAKRY
Un seul contrat, plusieurs rails.
Vous intégrez une fois. Derrière, nous routons vers l'opérateur ou le partenaire le plus adapté selon le pays, le moyen de paiement et la disponibilité du service au moment de la transaction.
Pensé pour une connexion instable.
Nos API tolèrent les reprises, exposent des clés d'idempotence sur chaque opération sensible, et ne supposent jamais qu'un client restera connecté jusqu'au bout d'un appel.
Une infrastructure que nous maîtrisons.
Nous opérons nos propres serveurs et notre propre base de données. Pas de dépendance à un fournisseur capable de couper un accès sans préavis.
Un support assuré par des développeurs.
En français, par des gens qui ont écrit le code dont vous parlez.
Les API
Encaissez par Mobile Money et par carte, reversez vers des bénéficiaires, suivez vos flux en temps réel.
- Pay-In — collecte Mobile Money et carte bancaire
- Pay-Out — versement unitaire vers un compte Mobile Money
- Mass Payout — versements groupés, avec statut individuel par bénéficiaire
- Liens de paiement — encaissement sans intégration, par URL ou QR code
- Webhooks — notification signée à chaque changement d'état
- Réconciliation — export des opérations par période, par marchand, par statut
- Routage multi-rails — bascule automatique vers un rail alternatif en cas d'indisponibilité
Envoyez des SMS transactionnels et des campagnes sur les réseaux opérateurs, avec votre nom comme expéditeur.
- Envoi unitaire — SMS transactionnel, livraison prioritaire
- Envoi en masse — campagnes segmentées, programmation différée
- Statuts de livraison — accusés en temps réel, par destinataire
- Gestion des contacts — listes, segments, désinscriptions
- Nom d'expéditeur — enregistrement et suivi auprès des opérateurs
- Estimation du coût — nombre de segments et coût calculés avant envoi
Authentifiez vos utilisateurs avec un compte qu'ils possèdent déjà.
- OAuth 2.0 — flux d'autorisation standard, PKCE supporté
- Profil utilisateur — identité et coordonnées, selon les permissions accordées
- Gestion des permissions — portées granulaires, révocables par l'utilisateur
Intégrez l'unité de compte de l'écosystème : consultation de solde, débit, crédit, historique.
Démarrer
Créez un compte développeur
Un compte GNAKRY suffit pour accéder à la console.
Obtenez vos clés sandbox
Disponibles dès validation de votre demande d'accès anticipé.
Faites votre premier appel
curl -X POST https://api.gnakry.africa/v1/payments \
-H "Authorization: Bearer sk_test_votre_cle" \
-H "Idempotency-Key: cmd_8f3a2b1c" \
-H "Content-Type: application/json" \
-d '{
"amount": 150000,
"currency": "GNF",
"method": "mobile_money",
"provider": "orange_money_gn",
"customer": { "phone": "+224612960453" },
"reference": "CMD-2026-0042",
"callback_url": "https://votre-site.com/webhooks/gnakrypay"
}'Le statut passe à succeeded ou failed une fois l'opération confirmée par l'opérateur. Vous l'apprenez par webhook — ne faites pas de polling.
Passez en production
Transmettez vos documents de conformité, obtenez vos clés de production, basculez l'URL de base.
Les principes de nos API
Authentification
Clés secrètes en en-tête Authorization: Bearer. Deux jeux distincts, sk_test_ et sk_live_, impossibles à confondre. Rotation possible à tout moment depuis la console, avec période de chevauchement pour ne pas interrompre votre service.
Idempotence
Toute requête de création accepte un en-tête Idempotency-Key. Rejouer la même clé renvoie la réponse d'origine au lieu de créer une seconde opération. Sur une connexion instable, c'est ce qui vous évite de débiter deux fois un client.
Erreurs
Un code, un message explicite, une marche à suivre. Jamais un 500 sans explication. Communiquez le request_id au support : il nous permet de retrouver l'appel exact dans nos journaux.
Versionnage
La version figure dans l'URL (/v1/). Les changements incompatibles passent par une nouvelle version. Nous annonçons l'abandon d'une version au moins 6 mois à l'avance, avec un guide de migration. Les ajouts rétrocompatibles ne changent pas la version : votre intégration doit ignorer les champs inconnus plutôt que de rejeter la réponse.
Limites de débit
Les quotas applicables sont indiqués dans chaque réponse. Un dépassement renvoie 429. Réessayez après le délai indiqué, avec un intervalle croissant.
Webhooks
Chaque événement est signé. Vérifiez la signature avant de traiter l'appel.
X-Gnakry-Signature: t=1759412528,v1=5d41402abc4b2a76b9719d911017c592En cas d'échec de votre endpoint, nous réessayons avec un intervalle croissant pendant 24 heures. Le journal complet des envois et des réponses reçues est consultable dans la console.
Erreurs
Un code, un message explicite, une marche à suivre. Jamais un 500 sans explication.
{
"error": {
"code": "insufficient_balance",
"message": "Le solde du compte client est insuffisant pour cette opération.",
"param": "amount",
"doc_url": "https://[DOC]/errors/insufficient_balance",
"request_id": "req_01JX4M7K2Q"
}
}Communiquez le request_id au support : il nous permet de retrouver l'appel exact dans nos journaux.
Limites de débit
Les quotas applicables sont indiqués dans chaque réponse :
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 94
X-RateLimit-Reset: 1759412588Un dépassement renvoie 429. Réessayez après le délai indiqué, avec un intervalle croissant.
Environnements
| Sandbox | Production | |
|---|---|---|
| URL de base | https://api.sandbox.gnakry.africa | https://api.gnakry.africa |
| Clés | sk_test_ | sk_live_ |
| Flux financiers | Simulés | Réels |
| Opérateurs | Simulateur complet | Opérateurs réels |
| Disponibilité | Dès validation de votre accès | Après conformité |
Le sandbox simule l'intégralité des parcours : succès, refus, délais, expirations, erreurs opérateur. Vous ne mettez rien en production à l'aveugle.
Sécurité
- Communications chiffrées, TLS 1.2 minimum
- Clés secrètes jamais affichées deux fois : notez-les à la création
- Webhooks signés, horodatés, protégés contre le rejeu
- Journalisation de chaque appel, consultable dans la console
- Authentification à deux facteurs recommandée sur tout compte disposant de clés de production
Ne placez jamais une clé secrète dans du code côté client, une application mobile ou un dépôt public. Une clé exposée doit être révoquée immédiatement depuis la console.
Signalement de vulnérabilité. Écrivez à security@gnakry.africa avant toute divulgation publique. Un signalement responsable ne donnera lieu à aucune poursuite de notre part.
Questions fréquentes
Combien de temps pour une première intégration ?
Moins d'une heure pour un premier paiement en sandbox. Comptez quelques jours pour une intégration complète avec webhooks et réconciliation.
L'accès au sandbox est-il payant ?
Non. Vous ne payez qu'en production, sur les opérations réelles.
Quels pays et quels opérateurs sont couverts ?
La couverture évolue avec nos partenariats. La liste à jour est publiée dans la documentation, par pays et par sens de flux.
Puis-je tester sans société enregistrée ?
Oui, en sandbox. Le passage en production suppose une entité enregistrée et les documents de conformité correspondants.
Que se passe-t-il si un opérateur est indisponible ?
Lorsqu'un rail alternatif existe pour ce pays et ce moyen de paiement, la transaction est routée automatiquement. Sinon, elle échoue proprement avec un code explicite — jamais un état indéterminé.
Proposez-vous des tarifs pour les volumes importants ?
Oui. Écrivez-nous avec vos volumes estimés.
Vous construisez le produit. Nous construisons certaines briques derrière.
Un développeur vous répond.
Demander un accès →