Chuyển đến nội dung chính

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ợ

productId
string
bắt buộc
Định danh sản phẩm (ví dụ, ?productId=pdt_nZuwz45WAs64n3l07zpQR).
quantity
integer
Số lượng sản phẩm.
fullName
string
Họ tên đầy đủ của khách hàng.
firstName
string
Tên riêng của khách hàng.
lastName
string
Họ của khách hàng.
email
string
Địa chỉ email của khách hàng.
country
string
Quốc gia của khách hàng.
addressLine
string
Địa chỉ chi tiết của khách hàng.
city
string
Thành phố của khách hàng.
state
string
Bang/tỉnh của khách hàng.
zipCode
string
Mã bưu chính của khách hàng.
disableFullName
boolean
Vô hiệu hóa trường họ tên đầy đủ.
disableFirstName
boolean
Vô hiệu hóa trường tên riêng.
disableLastName
boolean
Vô hiệu hóa trường họ.
disableEmail
boolean
Vô hiệu hóa trường email.
disableCountry
boolean
Vô hiệu hóa trường quốc gia.
disableAddressLine
boolean
Vô hiệu hóa trường địa chỉ.
disableCity
boolean
Vô hiệu hóa trường thành phố.
disableState
boolean
Vô hiệu hóa trường bang.
disableZipCode
boolean
Vô hiệu hóa trường mã bưu chính.
paymentCurrency
string
Chỉ định đơn vị tiền tệ thanh toán (ví dụ, USD).
showCurrencySelector
boolean
Hiển thị bộ chọn tiền tệ.
paymentAmount
integer
Chỉ định số tiền thanh toán (ví dụ, 1000 cho $10,00).
showDiscounts
boolean
Hiển thị các trường giảm giá.
metadata_*
string
Bất kỳ tham số truy vấn nào bắt đầu bằng metadata_ sẽ được truyền dưới dạng siêu dữ liệu.
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:

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

Thanh toán động trả về phản hồi JSON với URL thanh toán:
Các phiên thanh toán Checkout cung cấp trải nghiệm thanh toán được lưu trữ an toàn hơn xử lý toàn bộ luồng thanh toán cho cả mua hàng một lần và đăng ký với quyền kiểm soát tùy chỉnh đầy đủ.Tham khảo Hướng dẫn Tích hợp Phiên Thanh toán để biết thêm chi tiết và danh sách đầy đủ các trường được hỗ trợ.

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

Các phiên thanh toán trả về phản hồi JSON với URL thanh toán:

Xử lý Đường dẫn Cổng Thông Tin Khách Hàng

Xử lý Đường dẫn Cổng Thông Tin Khách Hàng 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 Tanstack của bạn.

Tham số truy vấn

customer_id
string
bắt buộc
ID khách hàng cho phiên cổng (ví dụ, ?customer_id=cus_123).
send_email
boolean
Nếu đặt thành true, gửi email cho khách hàng kèm liên kết cổng.
Trả về 400 nếu thiếu customer_id.

Xử lý Đường dẫn Webhook

  • Phương thức: Chỉ hỗ trợ yêu cầu POST. Các phương thức khác trả về 405.
  • Xác minh Chữ ký: Xác minh chữ ký webhook bằng cách sử dụng webhookKey. Trả về 401 nếu xác minh thất bại.
  • Xác thực Tải trọng: Được xác thực bằng Zod. Trả về 400 cho các tải trọng không hợp lệ.
  • Xử lý Lỗi:
    • 401: Chữ ký không hợp lệ
    • 400: Tải trọng không hợp lệ
    • 500: Lỗi nội bộ trong quá trình xác minh
  • Định tuyến Sự kiện: Gọi trình xử lý sự kiện thích hợp dựa trên loại tải trọng.

Trình xử lý sự kiện webhook được hỗ trợ


Lời nhắc cho LLM

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