Dodo Payments provides official framework adaptors that simplify payment integration. Each adaptor is designed to work seamlessly with your framework’s conventions, offering checkout, customer portal, and webhook handling out of the box.Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
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
Bun
Native Bun.serve() handlers for checkout, portal, and webhooks
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:Install the Adaptor
Use your package manager to install the framework-specific adaptor:
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
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 |
| Bun | Native Bun server applications | Bun |
Getting Help
Need assistance with framework adaptors?- Discord: Join our community server for real-time help
- Email: Contact us at support@dodopayments.com
- GitHub: Open an issue on the respective adaptor repository
- Documentation: Visit our API reference