Authentification API MonCash et API NatCash
Cette page explique comment authentifier vos appels API MonCash, MonCash API, API NatCash et NatCash API via Kobara.
L’API Kobara utilise un système d’authentification sécurisé basé sur des clés API afin de protéger les paiements, les retraits et toutes les opérations sensibles effectuées sur votre compte marchand.
Toutes les requêtes envoyées à l’API Kobara doivent être authentifiées avec un Bearer Token.
Base URL API
Test Mode
Terminalhttps://api.kobara.app
Live Mode
Terminalhttps://api.kobara.app
HTTPS Obligatoire
⚠️ Toutes les requêtes doivent être effectuées via HTTPS.
Les requêtes HTTP non sécurisées sont automatiquement refusées afin de protéger :
- les paiements ;
- les données clients ;
- les clés API ;
- les transactions MonCash / NatCash ;
- les webhooks.
Types de clés API
Kobara fournit deux types de clés :
| Type | Utilisation |
|---|---|
| Public Key | Frontend / mobile |
| Secret Key | Backend / serveur |
Clés Publiques
Les clés publiques sont utilisées :
- dans le frontend ;
- dans les applications React ;
- dans les applications mobiles ;
- dans le SDK JavaScript ;
- pour initialiser le checkout Kobara.
Préfixes :
Terminalkbr_pk_test_ kbr_pk_live_
Exemple clé publique
Terminalkbr_pk_test_xxxxxxxxx
Utilisation recommandée
Frontend React :
JSconst kobara = new Kobara( process.env.NEXT_PUBLIC_KOBARA_PUBLIC_KEY );
Important
✅ Peut être exposée côté client ✅ Utilisée uniquement pour initialiser le paiement ❌ Ne peut pas effectuer d’actions sensibles ❌ Ne peut pas effectuer de retraits ❌ Ne peut pas accéder aux données privées
Clés Secrètes
Les clés secrètes permettent :
- créer des paiements ;
- effectuer des retraits ;
- rembourser ;
- accéder aux données sensibles ;
- gérer les webhooks ;
- effectuer des actions serveur.
Préfixes :
Terminalkbr_sk_test_ kbr_sk_live_
Exemple clé secrète
Terminalkbr_sk_test_xxxxxxxxx
Important
⚠️ Les clés secrètes doivent toujours rester côté serveur.
Ne jamais :
- exposer dans le frontend ;
- envoyer au navigateur ;
- stocker dans du code public ;
- publier sur GitHub.
Architecture sécurisée recommandée
Correct
TerminalFrontend ↓ Votre backend sécurisé ↓ API Kobara ↓ MonCash / MonCash
Incorrect
TerminalFrontend ↓ MonCash directement
ou :
TerminalFrontend ↓ Kobara Secret Key
Authentification Bearer Token
Toutes les requêtes doivent inclure :
HTTPAuthorization: Bearer VOTRE_SECRET_KEY
Exemple cURL
BASHcurl https://api.kobara.app/api/v1/payments \ -H "Authorization: Bearer kbr_sk_test_xxxxxxxxx" \ -H "Content-Type: application/json"
Exemple avec fetch()
JSconst response = await fetch( "https://api.kobara.app/api/v1/payments", { method: "POST", headers: { "Authorization": `Bearer ${process.env.KOBARA_SECRET_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ amount: 1000, currency: "HTG" }) } );
Exemple Node.js
JSimport Kobara from "kobara"; const kobara = new Kobara({ secretKey: process.env.KOBARA_SECRET_KEY });
Environnements
Kobara supporte :
| Environment | Description |
|---|---|
| Test | Développement |
| Live | Production réelle |
Test Mode
Le mode test permet :
- tester les paiements ;
- tester les webhooks ;
- développer sans argent réel ;
- valider les intégrations.
Utiliser :
Terminalkbr_pk_test_ kbr_sk_test_
Live Mode
Le mode live permet :
- paiements réels ;
- retraits réels ;
- transactions MonCash réelles.
Utiliser :
Terminalkbr_pk_live_ kbr_sk_live_
Rotation des clés
Kobara permet :
- régénération des clés ;
- désactivation ;
- révocation immédiate ;
- gestion multi-clés.
Disponible dans :
TerminalDashboard → API Keys
Permissions des clés
Certaines clés peuvent être limitées :
| Permission | Description |
|---|---|
| payments.write | Créer paiements |
| payments.read | Lire paiements |
| withdrawals.write | Créer retraits |
| webhooks.write | Gérer webhooks |
Expiration des clés
Les clés API peuvent :
- expirer automatiquement ;
- être limitées par IP ;
- être désactivées manuellement.
Sécurité recommandée
À faire
✅ Utiliser HTTPS
✅ Stocker les secrets dans .env
✅ Vérifier les webhooks
✅ Utiliser le backend pour les actions sensibles
✅ Activer logs et monitoring
✅ Régénérer clés compromises
À ne jamais faire
❌ exposer Secret Key côté client ❌ hardcoder les secrets dans React ❌ publier les clés dans GitHub ❌ utiliser localStorage pour les secrets ❌ appeler MonCash directement depuis le frontend
Bonnes pratiques Kobara
En tant que marchand Kobara :
Vous ne devez jamais interagir directement avec l’infrastructure MonCash/MonCash.
Votre système doit communiquer uniquement avec :
- l’API Kobara ;
- les SDK Kobara ;
- les webhooks Kobara.
Kobara agit comme :
- couche de sécurité ;
- couche d’abstraction ;
- couche de monitoring ;
- infrastructure de paiement unifiée.
Exemple architecture complète
TerminalClient ↓ Frontend App ↓ Kobara SDK ↓ Votre Backend ↓ Kobara API ↓ MonCash Infrastructure ↓ MonCash
Codes d’erreurs Authentication
| Code | Description |
|---|---|
| unauthorized | Clé invalide |
| invalid_api_key | Mauvais format |
| expired_api_key | Clé expirée |
| revoked_api_key | Clé désactivée |
| missing_authorization | Header absent |
Exemple réponse erreur
JSON{ "success": false, "error": { "code": "unauthorized", "message": "Invalid API key" } }