Chuyển đến nội dung chính
Dodo Payments cung cấp các bộ chuyển đổi framework chính thức giúp đơn giản hóa việc tích hợp thanh toán. Mỗi bộ chuyển đổi được thiết kế để hoạt động liền mạch với các quy ước của framework của bạn, cung cấp chức năng thanh toán, cổng khách hàng và xử lý webhook ngay lập tức.
Các bộ chuyển đổi framework cho phép bạn tích hợp Dodo Payments trong dưới 10 dòng mã. Chúng tự động xử lý xác thực, phân tích yêu cầu và định dạng phản hồi.

Các bộ chuyển đổi Framework có sẵn

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

Tính Năng Cốt Lõi

Tất cả bộ chuyển đổi framework cung cấp các khả năng tích hợp sau:
Tính năngMô tả
Bộ xử lý CheckoutHỗ trợ luồng checkout tĩnh, động và dựa trên phiên
Cổng khách hàngBộ xử lý dựng sẵn cho quản lý đăng ký và thanh toán
Bộ xử lý WebhookXác minh chữ ký an toàn với các bộ xử lý sự kiện kiểu
Cấu hình môi trườngThiết lập đơn giản qua biến môi trường
An toàn kiểuHỗ trợ đầy đủ TypeScript với payload có kiểu

Bắt đầu Nhanh

Bắt đầu với bất kỳ bộ chuyển đổi framework nào trong ba bước:
1

Install the Adaptor

Sử dụng trình quản lý gói của bạn để cài đặt bộ chuyển đổi dành riêng cho framework:
npm install @dodopayments/nextjs
2

Configure Environment Variables

Thêm thông tin xác thực Dodo Payments vào môi trường của bạn:
DODO_PAYMENTS_API_KEY=your-api-key
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
Không bao giờ cam kết tệp .env hoặc bí mật vào hệ thống kiểm soát phiên bản.
3

Create Route Handlers

Thiết lập các route cho checkout, cổng khách hàng và webhook của bạn:
// app/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs";

export const GET = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
});
Bây giờ bạn đã sẵn sàng xử lý thanh toán! Tham khảo từng trang bộ chuyển đổi riêng để biết hướng dẫn chi tiết và tất cả tùy chọn có sẵn.

Các loại luồng Checkout

Tất cả bộ chuyển đổi hỗ trợ ba loại luồng checkout:
Sử dụng checkout tĩnh cho các liên kết thanh toán đơn giản, có thể chia sẻ. Truyền ID sản phẩm dưới dạng tham số truy vấn:
/api/checkout?productId=pdt_xxx&quantity=1
Hỗ trợ tùy chọn điền trước và tùy chỉnh khách hàng qua tham số truy vấn.
Sử dụng checkout động để tạo thanh toán theo chương trình với các chi tiết tùy chỉnh:
{
  "product_id": "pdt_xxx",
  "customer": {
    "email": "customer@example.com",
    "name": "John Doe"
  },
  "quantity": 1
}
Hỗ trợ cả thanh toán một lần và đăng ký.
Sử dụng phiên checkout để có trải nghiệm linh hoạt nhất với hỗ trợ giỏ hàng:
{
  "product_cart": [
    { "product_id": "pdt_xxx", "quantity": 1 },
    { "product_id": "pdt_yyy", "quantity": 2 }
  ],
  "customer": {
    "email": "customer@example.com"
  }
}
Tìm hiểu thêm trong Hướng dẫn Phiên Checkout.

Xử lý Sự kiện Webhook

Tất cả bộ chuyển đổi cung cấp xử lý webhook an toàn kiểu với các callback sự kiện chi tiết:
Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    // Handle any webhook event
  },
  onPaymentSucceeded: async (payload) => {
    // Handle successful payments
  },
  onSubscriptionActive: async (payload) => {
    // Handle new subscriptions
  },
  // ... 20+ event types supported
});
Tất cả bộ xử lý webhook tự động xác minh chữ ký và xác thực payload bằng các schema Zod. Các yêu cầu không hợp lệ bị từ chối với mã lỗi phù hợp.

Chọn Bộ chuyển đổi Phù hợp

FrameworkPhù hợp vớiRuntime
Next.jsỨng dụng React full-stack với App RouterNode.js, Edge
NuxtỨng dụng Vue.js full-stackNode.js
ExpressAPI REST và ứng dụng Node.js truyền thốngNode.js
FastifyAPI hiệu suất caoNode.js
HonoTriển khai edge, Cloudflare WorkersEdge, Node.js
AstroTrang nội dung với endpoint serverNode.js, Edge
SvelteKitỨng dụng Svelte full-stackNode.js
RemixReact full-stack với routing lồng nhauNode.js
TanStack StartReact full-stack an toàn kiểuNode.js
Better AuthỨng dụng đã dùng Better AuthNhiều môi trường
ConvexỨng dụng dùng Convex cho backendConvex Runtime
BunỨng dụng server Bun gốcBun

Nhận trợ giúp

Cần hỗ trợ với các bộ chuyển đổi framework?