@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
Nuxt
Express
Fastify
Hono
Astro
SvelteKit
Remix
TanStack Start
Better Auth
Convex
Bun
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.