@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.
Để 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:
- Next.js
- Nuxt
- Express
- Hono
- Astro
- SvelteKit
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 Nếu không truyền environment, adaptor sẽ sử dụng
test_mode.live_mode.3
Create Route Handlers
Tạo checkout route. Customer portal và webhook routes tuân theo cùng một pattern:
- Next.js
- Express
- Hono
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 (GET)
Static Checkout (GET)
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 (POST)
Dynamic Checkout (POST)
Dynamic checkout tạo payment link từ JSON body với các details tùy chỉnh. Tính năng này hỗ trợ cả one-time payments và subscriptions. Tính năng gọi deprecated
billing và customer là bắt buộc: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 (POST)
Checkout Sessions (POST)
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ộtWebhooks 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:
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:- Discord: Đặt câu hỏi trong máy chủ cộng đồng.
- Email: Liên hệ support@dodopayments.com.
- GitHub: Mở một issue trong repository dodo-adapters, nơi lưu trữ mọi adaptor.
- Tài liệu: Xem tài liệu tham khảo API.