Kadryza Pay est en preview privée au Tchad. Demander un accès anticipé →
SDK JavaScriptVue d'ensemble

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/sdk

Initialisation

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 :

  • limit
  • offset
  • status
  • operator
  • date_from
  • date_to
  • search

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.