SDK Node.js / TypeScript
Version 0.2.0 · non publiée sur npm@kadryza/sdk est un client TypeScript pour Node.js 22+ (ESM et CommonJS).
Il couvre les Payment Sessions, les webhooks (gestion, vérification,
parsing) et l’API Transactions historique.
Le paquet n’est pas encore publié sur npm : npm install @kadryza/sdk
fonctionnera à la publication. En attendant, l’API HTTP s’utilise sans SDK
(voir la référence API), ou installez l’archive fournie
par l’équipe Kadryza.
Initialisation
import Kadryza from '@kadryza/sdk'
const kadryza = new Kadryza({
apiKey: process.env.KADRYZA_API_KEY!, // kadryza_test_… ou kadryza_live_…
// baseUrl: 'https://api.kadryza.app', // par défaut
// timeout: 30000, // millisecondes, par défaut
})Le SDK envoie la clé dans X-API-Key. L’environnement est celui de la clé ;
il n’y a pas de paramètre environment. baseUrl doit être en HTTPS (sauf
localhost).
Méthodes
Payment Sessions
await kadryza.paymentSessions.create(params)
await kadryza.paymentSessions.retrieve(id)
await kadryza.paymentSessions.retrieveByReference(reference)
await kadryza.paymentSessions.listWebhookDeliveries(id)
await kadryza.paymentSessions.cancel(id) // sessions de test uniquementWebhooks
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 })
kadryza.webhooks.verifyAndParse({ payload, signature, secret }) // payload typé ou nullFonctions exportées : verifyWebhookSignature, parseKadryzaWebhookPayload,
getWebhookIdempotencyKey (renvoie event_id quand il existe),
isPaymentSessionWebhook, isTransactionWebhook, isKnownWebhookEvent.
Transactions (API historique)
await kadryza.transactions.initiate(params) // test uniquement : 503 avec une clé live
await kadryza.transactions.get(id)
await kadryza.transactions.list({ limit, offset, status, operator, date_from, date_to, search })Exemple
import Kadryza from '@kadryza/sdk'
const kadryza = new Kadryza({ apiKey: process.env.KADRYZA_API_KEY! })
const session = await kadryza.paymentSessions.create({
reference: 'order_2026_001',
amount: 5000,
currency: 'XAF',
operator: 'AIRTEL',
customer_phone: '+23566000000',
ttl_minutes: 15
})
console.log(session.assigned_collection_number, session.checkout_url)Non couvert
| Surface | Alternative |
|---|---|
Hosted Checkout (POST /v1/hosted-checkouts) | API HTTP |
Activation/désactivation d’un endpoint (PATCH /v1/webhooks/:id) | API HTTP ou dashboard |
| Liens de paiement, remboursements, solde, retraits, factures, clés API | Dashboard |
Erreurs
Le SDK lève des classes typées selon le statut HTTP (KadryzaAuthError,
KadryzaValidationError, KadryzaNotFoundError, KadryzaDuplicateError,
KadryzaGatewayUnavailableError, KadryzaNetworkError, KadryzaError).
Pour certains statuts, le code détaillé de l’API est remplacé par un code
générique : voir Codes d’erreur — SDK.
Référence complète des méthodes : Référence SDK.