Installation
- npm
- pnpm
- yarn
- bun
Initialisation
live vs test) est dérivé du préfixe de la clé. La clé est envoyée via header Authorization: Bearer sk_….
Ressources
Payment Intents
Payouts
Invoices
Products
Vérification webhook
validateWebhook lance une IziPayWebhookError typée avec .reason :
missing_signature,malformed_signature,invalid_signaturemissing_timestamp,expired_timestampinvalid_body
Idempotence
Chaque méthodecreate() accepte un idempotencyKey optionnel. Si vous l’omettez, le SDK en génère un automatiquement avant l’envoi, mais utiliser le vôtre est recommandé pour pouvoir retenter en cas de panne réseau sans créer deux ressources.
Retries
Le SDK retry automatiquement sur429 Too Many Requests et sur les 5xx avec :
- Backoff exponentiel : 250ms → 500ms → 1s → 2s → 4s (capé)
- Jitter ±20%
- Respect du header
Retry-Afterquand présent - Max 3 tentatives par défaut (
maxRetriesconfigurable)
4xx (sauf 429) ne sont jamais retentés : ce sont des erreurs métier qui ne se résoudront pas en réessayant.
Erreurs
IziPayError : un instanceof IziPayError attrape tout.
Le format d’erreur réel de l’API est
{ statusCode, message, code }. Les propriétés défensives du SDK comme .fields (détail de validation par champ) restent typiquement vides : l’API ne renvoie pas d’enveloppe de validation par champ. Pour les rejets de validation, fiez-vous au code (par exemple INSUFFICIENT_SCOPE, DASHBOARD_ONLY) plutôt qu’à .fields. Voir Errors pour les patterns de gestion et le logging recommandés.TypeScript
Tous les types sont exportés depuis le package racine :Compatibilité
| Runtime | Statut |
|---|---|
| Node.js ≥ 18 | ✅ Officiel |
| Node.js 16 | ⚠️ Requiert polyfill fetch |
| Cloudflare Workers | ✅ Compatible (fetch natif) |
| Vercel Edge Runtime | ✅ |
| AWS Lambda Node 18+ | ✅ |
| Deno | ⚠️ Non testé, devrait marcher avec import npm: |
| Bun | ✅ |