Skip to main content

Checkout Handler

Tích hợp hệ thống thanh toán Dodo Payments vào ứng dụng Tanstack của bạ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ý các 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 .env file trong thư mục gốc dự án của bạn:
Không bao giờ cam kết 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ụ về Xử lý Đường dẫn

Tất cả ví dụ giả định bạn đang sử dụng Tanstack App Router.
Sử dụng trình xử lý này để tích hợp hệ thống thanh toán Dodo Payments vào ứng dụng Tanstack của bạn. Hỗ trợ các luồng thanh toán tĩnh (GET), động (POST) và phiê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 phương thức thanh toán vào trang web của bạn, bộ nối 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ận diện sản phẩm (ví dụ: ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Số lượng sản phẩm.
string
Họ 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ọ 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 loại tiền tệ thanh toán (ví dụ: USD).
boolean
Hiển thị bộ chọn tiền tệ.
number
Cố định số tiền được tính, theo đơn vị tiền tệ chính (ví dụ: 12.5 cho 12.50 USD). Chỉ áp dụng cho các sản phẩm Pay What You Want và sẽ 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 tham số truy vấn bắt đầu bằng metadata_ sẽ được truyền dưới dạng metadata.
Nếu thiếu productId, trình 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 các endpoint POST /paymentsPOST /subscriptions đã deprecated. Tính năng này vẫn tiếp tục hoạt động cho 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 Response

Dynamic checkout trả về response 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ộ payment flow cho cả giao dịch mua một lần và subscription, đồng thời cho phép kiểm soát đầy đủ 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 Response

Checkout sessions trả về response 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 customer portal của Dodo Payments vào ứng dụng Tanstack.

Query Parameters

string
bắt buộc
ID customer 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 customer.
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.
  • Signature Verification: Xác minh chữ ký webhook bằng webhookKey. Trả về 401 nếu xác minh không thành công.
  • Payload Validation: Được xác thực bằng Zod. Trả về 400 nếu payload không hợp lệ.
  • Error Handling:
    • 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
  • Event Routing: 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