Authentification
Kadryza utilise deux mécanismes d’authentification distincts.
| Usage | Mécanisme | À utiliser par |
|---|---|---|
| API publique merchant | 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 merchant.
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 |
|---|---|
| Production API | https://api.kadryza.app — domaine officiel prévu |
| Staging/Test temporaire | https://api-kadryza.spencerai.tech |
spencerai.tech est un domaine temporaire de test/staging. Il ne doit pas être présenté comme domaine officiel public Kadryza.
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.