Skip to main content
Các bộ chuyển đổi framework thêm checkout, Customer Portal và webhook handlers của Dodo Payments vào ứng dụng của bạn bằng cách sử dụng các kiểu request và response của framework. Mỗi bộ chuyển đổi là một npm package trong scope @dodopayments. Các package sử dụng @dodopayments/core để xác thực checkout, thực hiện các request đến Dodo Payments API, xác thực webhook payload và cung cấp typed event callbacks.
Mỗi bộ chuyển đổi nhận API key và environment của bạn trong cấu hình handler. Lưu các giá trị này trong environment variables và truyền chúng khi tạo handler.
Để coding agent thêm bộ chuyển đổi cho bạn, hãy cài đặt Agent Plugin.

Các bộ chuyển đổi framework hiện có

Chọn bộ chuyển đổi phù hợp với framework của bạn:

Next.js

Route handlers cho checkout, customer portal và webhooks trong App Router.

Nuxt

Server route handlers cho Nuxt 3, một full-stack Vue framework.

Express

Request handlers cho Express 5 routes trong các ứng dụng Node.js.

Fastify

Route handlers cho Fastify 5, một Node.js framework có kiến trúc plugin.

Hono

Route handlers cho Hono 4, một web framework dành cho Cloudflare Workers, các edge runtime khác và Node.js.

Astro

Server endpoint handlers cho Astro 4 và 5, một web framework tập trung vào content.

SvelteKit

Server route handlers cho SvelteKit 2, một full-stack Svelte framework.

Remix

Loader và action handlers cho Remix 2, một full-stack React framework.

TanStack Start

Server route handlers cho TanStack Start, một full-stack React framework type-safe.

Better Auth

Một plugin cho Better Auth authentication framework, bổ sung các checkout, portal, usage và webhook endpoints, đồng thời có thể tạo customer khi đăng ký.

Convex

Một component cho Convex backend với các checkout và customer portal actions cùng một webhook HTTP action.

Bun

Native Bun.serve() handlers cho checkout, customer portal và webhooks.

Tính năng cốt lõi

Các route handler adaptors có chung những khả năng sau: Better Auth plugin và Convex component cung cấp các khả năng tương tự thông qua API riêng của chúng. Xem trang tương ứng để biết điểm khác biệt.

Bắt đầu nhanh

Thiết lập route handler adaptor trong ba bước.
1

Install the Adaptor

Cài đặt package cho framework của bạn:
2

Configure Environment Variables

Thêm credentials của Dodo Payments vào environment. Tạo API key trong Developer → API Keys và webhook secret trong Developer → Webhooks trên dashboard. Test mode API key chỉ hoạt động với test_mode.
Nếu không truyền environment, adaptor sẽ sử dụng live_mode.
Không commit file .env hoặc secrets vào version control.
3

Create Route Handlers

Tạo checkout route. Customer portal và webhook routes tuân theo cùng một pattern:
Checkout route của bạn hiện trả về checkout URL. Trang của mỗi adaptor trình bày customer portal và webhook handlers, đồng thời liệt kê mọi option.

Các loại Checkout Flow

Các route handler adaptors hỗ trợ ba loại checkout flow. Better Auth plugin hỗ trợ checkout sessions và dynamic checkout đã deprecated. Convex component chỉ hỗ trợ checkout sessions.
Static checkout trả về payment link cho một product, vì vậy bạn có thể chia sẻ hoặc redirect đến link đó. Truyền product ID dưới dạng query parameter:
Handler kiểm tra product có tồn tại hay không và trả về link dưới dạng checkout_url. Các query parameters tùy chọn sẽ điền trước thông tin customer và kiểm soát checkout form.
Dynamic checkout tạo payment link từ JSON body với các details tùy chỉnh. billing và customer là bắt buộc:
Tính năng này hỗ trợ cả one-time payments và subscriptions. Tính năng gọi deprecated POST /payments hoặc POST /subscriptions endpoint, tùy thuộc vào product type, vì vậy hãy sử dụng checkout sessions cho các integration mới.
Checkout sessions là flow được khuyến nghị. Flow này cung cấp nhiều option nhất và chấp nhận cart có nhiều products:
Để xem tất cả supported fields, hãy tham khảo Checkout Sessions Guide.

Xử lý Webhook Event

Mỗi route handler adaptor export một Webhooks handler. Handler này nhận webhook secret và các typed callbacks tùy chọn cho từng event type. onPayload chạy cho mọi event:
Các callbacks bao quát các event về payment, refund, dispute, subscription, license key, abandoned checkout, dunning, credit, entitlement grant và payout. Better Auth plugin nhận các callbacks tương tự trong webhooks(), còn Convex component nhận chúng trong createDodoWebhookHandler.
Mỗi webhook handler xác minh các headers webhook-id, webhook-signature và webhook-timestamp bằng Standard Webhooks library, sau đó xác thực payload bằng Zod schemas. Các request không hợp lệ sẽ bị từ chối với error status trước khi callbacks của bạn chạy.

Chọn Adaptor phù hợp

Nhận trợ giúp

Để được trợ giúp về framework adaptor:
Lần sửa đổi cuối 26 tháng 9, 2026