Skip to main content
Le SDK TypeScript fournit un accès pratique côté serveur à l’API REST de Dodo Payments pour les applications TypeScript et JavaScript. Il propose des définitions de type complètes, la gestion des erreurs, des tentatives, des délais d’attente et une pagination automatique pour un traitement des paiements sans faille.

Installation

Installez le SDK avec le gestionnaire de paquets de votre choix:

Démarrage rapide

Initialisez le client avec votre clé API et commencez à traiter les paiements :
Stockez toujours vos clés API de manière sécurisée en utilisant des variables d’environnement. Ne les validez jamais dans le contrôle de version ni ne les exposez dans du code côté client.

Fonctionnalités principales

TypeScript First

Prise en charge complète de TypeScript avec des définitions de types exhaustives pour tous les points de terminaison de l’API

Auto-Pagination

La pagination automatique pour les réponses de listes facilite le traitement d’ensembles de données volumineux

Error Handling

Types d’erreur intégrés avec des messages détaillés pour différents scénarios d’échec

Smart Retries

Reprises automatiques configurables avec backoff exponentiel pour les erreurs transitoires

Configuration

Variables d’environnement

Définissez des variables d’environnement pour une configuration sécurisée :
.env

Configuration des délais d’attente

Configurez les délais d’attente des requêtes globalement ou par requête :

Configuration des tentatives

Configurez le comportement de tentative automatique :
Le SDK relance automatiquement les requêtes échouées en raison d’erreurs réseau ou de problèmes serveur (réponses 5xx) avec un backoff exponentiel.

Opérations courantes

Créer une session de paiement

Générez une session de paiement pour collecter des informations de paiement :

Gérer les clients

Créez et récupérez des informations sur les clients :

Gérer les abonnements

Créez et gérez des abonnements récurrents :
POST /subscriptions (la méthode subscriptions.create du SDK) est obsolète. Elle fonctionne toujours pour les intégrations existantes, mais les nouvelles intégrations doivent créer des abonnements via une Checkout Session.
billing nécessite au minimum le code pays ISO à deux lettres. customer est une union de { customer_id } (pour associer un client existant) ou de { email, name? } (pour en créer un nouveau). product_price est exprimé dans la plus petite unité monétaire.

Facturation basée sur l’utilisation

Ingérer des événements d’utilisation

Suivez les événements personnalisés pour la facturation basée sur l’utilisation :
Les événements doivent avoir des valeurs event_id uniques pour garantir l’idempotence. Les ID en double dans une même requête sont rejetés, et les requêtes suivantes contenant des ID existants sont ignorées.

Récupérer les événements d’utilisation

Récupérez les informations détaillées sur les événements d’utilisation :

Configuration du proxy

Configurez les paramètres du proxy pour différents runtimes :

Node.js (avec undici)

Bun

Deno

Journalisation

Contrôlez le niveau de verbosité des journaux à l’aide de variables d’environnement ou des options du client :
Niveaux de journalisation disponibles :
  • 'debug' - Afficher les messages de débogage, les informations, les avertissements et les erreurs
  • 'info' - Afficher les informations, les avertissements et les erreurs
  • 'warn' - Afficher les avertissements et les erreurs (par défaut)
  • 'error' - Afficher uniquement les erreurs
  • 'off' - Désactiver toute la journalisation
Au niveau de débogage, toutes les requêtes et réponses HTTP sont journalisées, y compris les en-têtes et les corps. Certains en-têtes d’authentification sont masqués, mais les données sensibles présentes dans les corps peuvent rester visibles.

Migration depuis le SDK Node.js

Si vous effectuez une mise à niveau depuis le SDK Node.js hérité, le SDK TypeScript offre une meilleure sécurité de typage ainsi que davantage de fonctionnalités :

View Migration Guide

Découvrez comment migrer du SDK Node.js vers le SDK TypeScript

Pagination automatique

Les méthodes de liste de l’API DodoPayments sont paginées. Vous pouvez utiliser la syntaxe for await … of pour parcourir les éléments de toutes les pages :
Vous pouvez également demander une seule page à la fois :

Prérequis

Les runtimes suivants sont pris en charge :
  • Navigateurs web (versions à jour de Chrome, Firefox, Safari, Edge, etc.)
  • Node.js 20 LTS ou versions ultérieures (non-EOL)
  • Deno v1.28.0 ou version ultérieure
  • Bun 1.0 ou version ultérieure
  • Cloudflare Workers
  • Vercel Edge Runtime
  • Jest 28 ou version ultérieure avec l’environnement "node"
  • Nitro v2.6 ou version ultérieure
TypeScript >= 4.9 est pris en charge.

Ressources

GitHub Repository

Consultez le code source et contribuez

API Reference

Documentation complète de l’API

Discord Community

Obtenez de l’aide et échangez avec les développeurs

Report Issues

Signalez des bugs ou demandez des fonctionnalités

Assistance

Besoin d’aide avec le SDK TypeScript ?

Contribution

Les contributions sont les bienvenues ! Consultez les directives de contribution pour commencer.
Dernière modification le 17 août 2026