SDK Node.js / TypeScript
Le SDK Kadryza couvre aujourd’hui les transactions et la gestion des webhooks.
Ne documentez pas payment links, invoices, refunds, balance, settlements, API keys ou reports comme disponibles dans le SDK actuel. Ces surfaces ne sont pas couvertes par le SDK public aujourd’hui.
Installation
npm install @kadryza/sdkInitialisation
import Kadryza from '@kadryza/sdk'
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!
})Le SDK envoie les appels API publics avec :
X-API-Key: <cle_api_kadryza>Le mécanisme JWT du dashboard n’est pas utilisé par le SDK public.
URLs
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!,
baseUrl: 'https://api.kadryza.app' // domaine officiel prévu
})Pour les tests temporaires :
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!,
baseUrl: 'https://api-kadryza.spencerai.tech'
})spencerai.tech est uniquement un domaine staging/test temporaire.
Méthodes disponibles
Transactions
await kadryza.transactions.initiate(params)
await kadryza.transactions.get(id)
await kadryza.transactions.list(params)transactions.list(params) supporte :
limitoffsetstatusoperatordate_fromdate_tosearch
L’environnement test/live est déduit de la clé API utilisée. Le SDK ne documente pas de paramètre environment.
Webhooks
await kadryza.webhooks.create({ url })
await kadryza.webhooks.list()
await kadryza.webhooks.delete(id)
await kadryza.webhooks.test(id)
kadryza.webhooks.verify({ payload, signature, secret })Le helper standalone est aussi exporté :
import { verifyWebhookSignature } from '@kadryza/sdk'
const valid = verifyWebhookSignature({
payload: rawBody,
signature: 'sha256=<hmac_hex>',
secret: process.env.KADRYZA_WEBHOOK_SECRET!
})La signature officielle reçue par webhook est :
X-Kadryza-Signature: sha256=<hmac_hex>Le SDK accepte le format sha256=<hex> et garde la compatibilité avec le hex brut.
Exemple complet
import Kadryza from '@kadryza/sdk'
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!
})
const created = await kadryza.transactions.initiate({
reference: 'order_2026_001',
amount: 5000,
currency: 'XAF',
operator: 'AIRTEL',
phone_number: '+23566000000'
})
const tx = await kadryza.transactions.get(created.id)
const list = await kadryza.transactions.list({
limit: 20,
offset: 0,
status: 'SUCCESS'
})Non couvert actuellement
Ces fonctionnalités peuvent exister côté backend/dashboard, mais ne sont pas exposées dans le SDK Node.js actuel :
- payment links ;
- invoices ;
- refunds ;
- balance et settlements ;
- gestion des API keys ;
- rapports mensuels.
Utilisez l’API HTTP ou le dashboard pour ces cas jusqu’à extension officielle du SDK.