Skip to main content

Checkout Handler

Tích hợp thanh toán Dodo Payments với luồng tĩnh, động và phiên.

Customer Portal

Cho phép khách hàng quản lý đăng ký và thông tin chi tiết.

Webhooks

Nhận và xử lý sự kiện webhook của Dodo Payments.

Cài Đặt

1

Install the package

Chạy lệnh sau trong thư mục gốc dự án của bạn:
2

Set up environment variables

Tạo một tệp .env trong thư mục gốc dự án của bạn:
Đừng bao giờ đưa tệp .env hoặc bí mật của bạn vào hệ thống kiểm soát phiên bản.

Ví Dụ Xử Lý Đường Dẫn

Tất cả ví dụ giả định bạn đang sử dụng Next.js App Router.
Sử dụng bộ xử lý này để tích hợp thanh toán Dodo Payments vào ứng dụng Next.js của bạn. Hỗ trợ các luồng thanh toán tĩnh (GET), động (POST) và phiên thanh toán (POST).

Xử Lý Đường Dẫn Thanh Toán

Dodo Payments hỗ trợ ba loại luồng thanh toán để tích hợp thanh toán vào trang web của bạn, bộ điều hợp này hỗ trợ tất cả các loại luồng thanh toán.
  • Liên Kết Thanh Toán Tĩnh: URL có thể chia sẻ ngay lập tức để thu thập thanh toán nhanh chóng, không cần mã.
  • Liên Kết Thanh Toán Động: Tạo liên kết thanh toán theo chương trình với các chi tiết tùy chỉnh bằng cách sử dụng API hoặc SDK.
  • Phiên Thanh Toán: Tạo trải nghiệm thanh toán an toàn, tùy chỉnh với giỏ hàng sản phẩm và thông tin khách hàng đã được cấu hình trước.

Các tham số truy vấn được hỗ trợ

string
bắt buộc
Mã định danh sản phẩm (ví dụ: ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Số lượng sản phẩm.
string
Họ và tên đầy đủ của khách hàng.
string
Tên của khách hàng.
string
Họ của khách hàng.
string
Địa chỉ email của khách hàng.
string
Quốc gia của khách hàng.
string
Dòng địa chỉ của khách hàng.
string
Thành phố của khách hàng.
string
Bang/tỉnh của khách hàng.
string
Mã ZIP/mã bưu chính của khách hàng.
boolean
Tắt trường họ và tên đầy đủ.
boolean
Tắt trường tên.
boolean
Tắt trường họ.
boolean
Tắt trường email.
boolean
Tắt trường quốc gia.
boolean
Tắt dòng địa chỉ.
boolean
Tắt trường thành phố.
boolean
Tắt trường bang.
boolean
Tắt trường mã ZIP.
string
Chỉ định currency thanh toán (ví dụ: USD).
boolean
Hiển thị bộ chọn currency.
number
Cố định số tiền được tính phí theo đơn vị currency chính (ví dụ: 12.5 tương đương $12.50). Chỉ áp dụng cho các sản phẩm Pay What You Want và bị bỏ qua nếu thấp hơn giá tối thiểu của sản phẩm.
boolean
Hiển thị các trường giảm giá.
string
Mọi query parameter bắt đầu bằng metadata_ sẽ được truyền dưới dạng metadata.
Nếu thiếu productId, bộ xử lý trả về phản hồi 400. Các tham số truy vấn không hợp lệ cũng dẫn đến phản hồi 400.

Định Dạng Phản Hồi

Thanh toán tĩnh trả về phản hồi JSON với URL thanh toán:
Dynamic Checkout proxy cho các endpoint POST /paymentsPOST /subscriptions đã deprecated. Tính năng này vẫn hoạt động với các integration hiện có, nhưng các integration mới nên sử dụng Checkout Sessions bên dưới.

Định dạng phản hồi

Dynamic checkout trả về phản hồi JSON chứa URL checkout:
Checkout sessions cung cấp trải nghiệm checkout được lưu trữ an toàn hơn, xử lý toàn bộ quy trình thanh toán cho cả giao dịch mua một lần và subscription, đồng thời cho phép kiểm soát hoàn toàn việc tùy chỉnh.Tham khảo Hướng dẫn tích hợp Checkout Sessions để biết thêm chi tiết và danh sách đầy đủ các field được hỗ trợ.

Định dạng phản hồi

Checkout sessions trả về phản hồi JSON chứa URL checkout:

Route Handler của Customer Portal

Route Handler của Customer Portal cho phép bạn tích hợp liền mạch cổng thông tin khách hàng Dodo Payments vào ứng dụng Next.js của mình.

Query Parameters

string
bắt buộc
ID khách hàng cho portal session (ví dụ: ?customer_id=cus_123).
boolean
Nếu được đặt thành true, hệ thống sẽ gửi email chứa liên kết portal cho khách hàng.
Trả về 400 nếu thiếu customer_id.

Route Handler của Webhook

  • Method: Chỉ hỗ trợ các request POST. Các method khác trả về 405.
  • Xác minh chữ ký: Xác minh chữ ký webhook bằng webhookKey. Trả về 401 nếu xác minh không thành công.
  • Xác thực payload: Được xác thực bằng Zod. Trả về 400 nếu payload không hợp lệ.
  • Xử lý lỗi:
    • 401: Chữ ký không hợp lệ
    • 400: Payload không hợp lệ
    • 500: Lỗi nội bộ trong quá trình xác minh
  • Định tuyến event: Gọi event handler phù hợp dựa trên loại payload.

Các Webhook Event Handler được hỗ trợ


Prompt cho LLM

Lần sửa đổi cuối 21 tháng 8, 2026