Kadryza Pay est en preview privée au Tchad. Demander un accès anticipé →
Authentification

Authentification

Kadryza utilise deux mécanismes d’authentification distincts.

UsageMécanismeÀ utiliser par
API publique merchantHeader X-API-KeyVotre serveur, SDK, plugins
Dashboard KadryzaJWT de sessionInterface 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éfixeUsage
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 environment pour changer de mode.

Voir aussi Environnements test/live.

Domaines

EnvironnementURL
Production APIhttps://api.kadryza.app — domaine officiel prévu
Staging/Test temporairehttps://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.