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 chính

Tất cả các bộ chuyển đổi framework cung cấp những khả năng tích hợp sẵn này:
Tính năngMô tả
Bộ xử lý thanh toánHỗ trợ cho các luồng thanh toán tĩnh, động và dựa trên phiên
Cổng khách hàngBộ xử lý đã được xây 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 các biến môi trường
An toàn kiểuHỗ trợ TypeScript đầy đủ với các payload 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

Cài đặt bộ chuyển đổi

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

Cấu hình Biến môi trường

Thêm thông tin xác thực Dodo Payments của bạn vào môi trường:
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 của bạn vào kiểm soát phiên bản.
3

Tạo Bộ xử lý tuyến đường

Thiết lập các tuyến đường thanh toán, 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ạn đã sẵn sàng để xử lý thanh toán! Truy cập các trang bộ chuyển đổi riêng lẻ để có hướng dẫn chi tiết và tất cả các tùy chọn có sẵn.

Các loại luồng thanh toán

Tất cả các bộ chuyển đổi hỗ trợ ba loại luồng thanh toán:
Sử dụng thanh toán 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 khách hàng và tùy chỉnh qua các tham số truy vấn.
Sử dụng thanh toán độ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 thanh toán cho trải nghiệm thanh toán 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 thanh toán.

Xử lý sự kiện Webhook

Tất cả cá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ả các bộ xử lý webhook tự động xác minh chữ ký và xác thực payload bằng cách sử dụng các schema Zod. Các yêu cầu không hợp lệ sẽ bị từ chối với mã lỗi thích hợp.

Chọn bộ chuyển đổi phù hợp

FrameworkTốt nhất choRuntime
Next.jsỨng dụng React full-stack với App RouterNode.js, Edge
NuxtỨng dụng Vue.js full-stackNode.js
ExpressREST APIs và ứng dụng Node.js truyền thốngNode.js
FastifyAPIs hiệu suất caoNode.js
HonoTriển khai Edge, Cloudflare WorkersEdge, Node.js
AstroCác trang nội dung với các điểm cuối máy chủNode.js, Edge
SvelteKitỨng dụng Svelte full-stackNode.js
RemixReact full-stack với định tuyến lồng nhauNode.js
TanStack StartReact full-stack an toàn kiểuNode.js
Better AuthỨng dụng đã sử dụng Better AuthNhiều loại
ConvexỨng dụng sử dụng Convex cho backendConvex Runtime

Nhận trợ giúp

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