@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.
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 :
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
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 Si vous ne transmettez pas d’environnement, l’adaptateur utilise
test_mode.live_mode.3
Create Route Handlers
Créez une route de checkout. Les routes du Customer Portal et des webhooks suivent le même modèle :
- Next.js
- Express
- Hono
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.Static Checkout (GET)
Static Checkout (GET)
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.Dynamic Checkout (POST)
Dynamic Checkout (POST)
Le checkout dynamique crée un payment link à partir d’un body JSON contenant des informations personnalisées. Il prend en charge les paiements ponctuels et les abonnements. Il appelle l’endpoint obsolète
billing et customer sont obligatoires :POST /payments ou POST /subscriptions, selon le type de produit ; utilisez donc les checkout sessions pour les nouvelles intégrations.Checkout Sessions (POST)
Checkout Sessions (POST)
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 handlerWebhooks. 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 :
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 :- Discord : Posez votre question sur le serveur communautaire.
- E-mail : Contactez support@dodopayments.com.
- GitHub : Ouvrez une issue dans le dépôt dodo-adapters, qui contient tous les adaptateurs.
- Documentation : Consultez la référence de l’API.