Skip to main content
Les adaptateurs de framework ajoutent le checkout Dodo Payments, le Customer Portal et des gestionnaires de webhook à votre application en utilisant les types de requête et de réponse de votre framework. Chaque adaptateur est un package npm dans le scope @dodopayments. Les packages utilisent @dodopayments/core pour la validation du checkout, les requêtes vers l’API Dodo Payments, la validation des payloads de webhook et les callbacks typés pour les événements.
Chaque adaptateur accepte votre clé API et votre environnement dans sa configuration de handler. Conservez ces valeurs dans des variables d’environnement et transmettez-les lors de la création du handler.
Pour qu’un agent de programmation ajoute un adaptateur pour vous, installez le Agent Plugin.

Adaptateurs de framework disponibles

Choisissez l’adaptateur correspondant à votre framework :

Next.js

Route handlers pour le checkout, le Customer Portal et les webhooks dans l’App Router.

Nuxt

Server route handlers pour Nuxt 3, un framework Vue full-stack.

Express

Request handlers pour les routes Express 5 dans les applications Node.js.

Fastify

Route handlers pour Fastify 5, un framework Node.js doté d’une architecture de plugins.

Hono

Route handlers pour Hono 4, un framework web pour Cloudflare Workers, d’autres edge runtimes et Node.js.

Astro

Server endpoint handlers pour Astro 4 et 5, un framework web axé sur le contenu.

SvelteKit

Server route handlers pour SvelteKit 2, un framework Svelte full-stack.

Remix

Loader et action handlers pour Remix 2, un framework React full-stack.

TanStack Start

Server route handlers pour TanStack Start, un framework React full-stack type-safe.

Better Auth

Un plugin pour le framework d’authentification Better Auth qui ajoute des endpoints de checkout, de portail, d’utilisation et de webhook, et peut créer un client lors de l’inscription.

Convex

Un composant pour le backend Convex avec des actions de checkout et de Customer Portal, ainsi qu’une HTTP action de webhook.

Bun

Des handlers Bun.serve() natifs pour le checkout, le Customer Portal et les webhooks.

Fonctionnalités principales

Les adaptateurs de route handlers partagent les fonctionnalités suivantes : Le plugin Better Auth et le composant Convex offrent les mêmes fonctionnalités via leurs propres API. Consultez leurs pages pour connaître les différences.

Démarrage rapide

Configurez un adaptateur de route handler en trois étapes.
1

Install the Adaptor

Installez le package correspondant à votre framework :
2

Configure Environment Variables

Ajoutez vos identifiants Dodo Payments à votre environnement. Créez la clé API sous Developer → API Keys et le secret de webhook sous Developer → Webhooks dans le dashboard. Une clé API de mode test fonctionne uniquement avec test_mode.
Si vous ne transmettez pas d’environnement, l’adaptateur utilise live_mode.
Ne validez jamais votre fichier .env ni vos secrets dans le contrôle de version.
3

Create Route Handlers

Créez une route de checkout. Les routes du Customer Portal et des webhooks suivent le même modèle :
Votre route de checkout renvoie désormais une URL de checkout. La page de chaque adaptateur couvre le Customer Portal et les handlers de webhook, et répertorie toutes les options.

Types de flux de checkout

Les adaptateurs de route handlers prennent en charge trois types de flux de checkout. Le plugin Better Auth prend en charge les checkout sessions et un checkout dynamique obsolète. Le composant Convex prend uniquement en charge les checkout sessions.
Le checkout statique renvoie un payment link pour un produit, que vous pouvez partager ou vers lequel rediriger l’utilisateur. Transmettez l’ID du produit comme query parameter :
Le handler vérifie que le produit existe et renvoie le lien sous la forme checkout_url. Les query parameters facultatifs préremplissent les informations du client et contrôlent le formulaire de checkout.
Le checkout dynamique crée un payment link à partir d’un body JSON contenant des informations personnalisées. billing et customer sont obligatoires :
Il prend en charge les paiements ponctuels et les abonnements. Il appelle l’endpoint obsolète POST /payments ou POST /subscriptions, selon le type de produit ; utilisez donc les checkout sessions pour les nouvelles intégrations.
Les checkout sessions constituent le flux recommandé. Elles offrent le plus grand nombre d’options et acceptent un panier contenant plusieurs produits :
Pour connaître tous les champs pris en charge, consultez le Checkout Sessions Guide.

Gestion des événements de webhook

Chaque adaptateur de route handler exporte un handler Webhooks. Il accepte votre secret de webhook ainsi que des callbacks typés facultatifs pour chaque type d’événement. onPayload s’exécute pour chaque événement :
Les callbacks couvrent les événements de paiement, de remboursement, de litige, d’abonnement, de clé de licence, de checkout abandonné, de relance, de crédit, d’octroi de droits et de versement. Le plugin Better Auth accepte les mêmes callbacks dans webhooks(), et le composant Convex les accepte dans createDodoWebhookHandler.
Chaque webhook handler vérifie les headers webhook-id, webhook-signature et webhook-timestamp avec la bibliothèque Standard Webhooks, puis valide le payload avec des schémas Zod. Les requêtes invalides sont rejetées avec un error status avant l’exécution de vos callbacks.

Choisir le bon adaptateur

Obtenir de l’aide

Pour obtenir de l’aide avec un adaptateur de framework :
Dernière modification le 26 septembre 2026