Authentification
Kadryza utilise deux mécanismes d’authentification distincts.
| Usage | Mécanisme | À utiliser par |
|---|---|---|
| API publique marchand | Header X-API-Key | Votre serveur, SDK, plugins |
| Dashboard Kadryza | JWT de session | Interface web Kadryza uniquement |
Pour les intégrations publiques, utilisez toujours X-API-Key.
Le mécanisme JWT du dashboard est interne et ne doit pas être utilisé avec les clés API marchand.
Clés API
Les clés API sont créées depuis le dashboard et affichées une seule fois.
| Préfixe | Usage |
|---|---|
kadryza_live_ | Production, paiements réels |
kadryza_test_ | Sandbox, aucune sortie d’argent réel |
Exemple :
curl -X GET https://api.kadryza.app/v1/transactions \
-H "X-API-Key: kadryza_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json"Avec fetch côté serveur :
const response = await fetch('https://api.kadryza.app/v1/transactions', {
headers: {
'X-API-Key': process.env.KADRYZA_API_KEY!,
'Content-Type': 'application/json'
}
})Avec le SDK :
import Kadryza from '@kadryza/sdk'
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!
})
const result = await kadryza.transactions.list({ limit: 20 })Le SDK envoie automatiquement la clé via X-API-Key.
Environnements test/live
L’environnement est déduit de la clé utilisée :
- une clé
kadryza_test_crée et consulte des transactions sandbox ; - une clé
kadryza_live_crée et consulte des transactions de production ; - le SDK public ne prend pas de paramètre
environmentpour changer de mode.
Voir aussi Environnements test/live.
Domaines
| Environnement | URL |
|---|---|
| API | https://api.kadryza.app |
Les environnements test et live partagent la même API : ils se distinguent par la clé utilisée (kadryza_test_… ou kadryza_live_…).
Sécurité
- Stockez les clés API dans des variables d’environnement.
- N’exposez jamais une clé API dans le navigateur.
- Ne loggez jamais une clé complète.
- Révoquez immédiatement une clé exposée.
- Utilisez des clés test pour le développement.
- Utilisez des clés live uniquement pour les paiements réels.
- Vérifiez systématiquement la signature des webhooks.
Webhook signatures
Chaque webhook Kadryza contient :
X-Kadryza-Signature: sha256=<hmac_hex>La signature est un HMAC-SHA256 calculé sur le body JSON brut avec le secret du webhook.
import { verifyWebhookSignature } from '@kadryza/sdk'
const valid = verifyWebhookSignature({
payload: rawBody,
signature: request.headers['x-kadryza-signature'],
secret: process.env.KADRYZA_WEBHOOK_SECRET!
})JWT dashboard
Les JWT sont utilisés par le dashboard Kadryza pour les sessions utilisateur. Ils ne sont pas fournis ni requis pour les intégrations API publiques.