Available Framework Adaptors
Choose the adaptor that matches your framework:Next.js
App Router support with route handlers for checkout, portal, and webhooks
Nuxt
Vue-based full-stack framework with server routes integration
Express
Middleware-based handlers for the popular Node.js framework
Fastify
High-performance Node.js framework with plugin architecture
Hono
Ultrafast web framework for the edge, Cloudflare Workers, and more
Astro
Content-focused framework with server endpoints support
SvelteKit
Full-stack Svelte framework with server hooks integration
Remix
Full-stack React framework with loader and action handlers
TanStack Start
Type-safe full-stack React framework with server functions
Better Auth
Authentication framework plugin for seamless auth + payments
Convex
Backend-as-a-Service component for real-time payment sync
Core Features
All framework adaptors provide these built-in capabilities:| Feature | Description |
|---|---|
| Checkout Handler | Support for static, dynamic, and session-based checkout flows |
| Customer Portal | Pre-built handler for subscription and billing management |
| Webhook Handler | Secure signature verification with typed event handlers |
| Environment Config | Simple setup via environment variables |
| Type Safety | Full TypeScript support with typed payloads |
Quick Start
Get started with any framework adaptor in three steps:1
Install the Adaptor
Use your package manager to install the framework-specific adaptor:
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
2
Configure Environment Variables
Add your Dodo Payments credentials to your environment:
3
Create Route Handlers
Set up your checkout, customer portal, and webhook routes:
- Next.js
- Express
- Hono
You’re now ready to process payments! Visit the individual adaptor pages for detailed guides and all available options.
Checkout Flow Types
All adaptors support three checkout flow types:Static Checkout (GET)
Static Checkout (GET)
Use static checkout for simple, shareable payment links. Pass the product ID as a query parameter:Supports optional customer prefill and customization via query parameters.
Dynamic Checkout (POST)
Dynamic Checkout (POST)
Use dynamic checkout to programmatically create payments with custom details:Supports both one-time payments and subscriptions.
Checkout Sessions (POST)
Checkout Sessions (POST)
Use checkout sessions for the most flexible checkout experience with cart support:Learn more in the Checkout Sessions Guide.
Webhook Event Handling
All adaptors provide type-safe webhook handling with granular event callbacks:All webhook handlers automatically verify signatures and validate payloads using Zod schemas. Invalid requests are rejected with appropriate error codes.
Choosing the Right Adaptor
| Framework | Best For | Runtime |
|---|---|---|
| Next.js | Full-stack React apps with App Router | Node.js, Edge |
| Nuxt | Full-stack Vue.js applications | Node.js |
| Express | REST APIs and traditional Node.js apps | Node.js |
| Fastify | High-performance APIs | Node.js |
| Hono | Edge deployments, Cloudflare Workers | Edge, Node.js |
| Astro | Content sites with server endpoints | Node.js, Edge |
| SvelteKit | Full-stack Svelte applications | Node.js |
| Remix | Full-stack React with nested routing | Node.js |
| TanStack Start | Type-safe full-stack React | Node.js |
| Better Auth | Apps already using Better Auth | Various |
| Convex | Apps using Convex for backend | Convex Runtime |
Getting Help
Need assistance with framework adaptors?- Discord: Join our community server for real-time help
- Email: Contact us at [email protected]
- GitHub: Open an issue on the respective adaptor repository
- Documentation: Visit our API reference