Checkout Handler
Tích hợp thanh toán Dodo Payments vào ứng dụng Remix 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:Ví dụ về Xử lý Đường dẫn
Tất cả ví dụ đều giả định bạn đang sử dụng Remix App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Sử dụng handler này để tích hợp thanh toán Dodo Payments vào ứng dụng Remix của bạn. Hỗ trợ các luồng thanh toán tĩnh (GET), động (POST) và theo 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 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.
Static Checkout (GET)
Static Checkout (GET)
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
Tiểu 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 trường dòng địa chỉ.
boolean
Tắt trường thành phố.
boolean
Tắt trường tiểu bang.
boolean
Tắt trường mã ZIP.
string
Chỉ định loại tiền 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 tương đương với $12.50). 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.Đị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 (POST)
Dynamic Checkout (POST)
- Gửi các tham số dưới dạng thân JSON trong một yêu cầu POST.
- Hỗ trợ cả thanh toán một lần lẫn định kỳ.
- Để xem danh sách đầy đủ các trường thân POST được hỗ trợ, tham khảo:
Định dạng phản hồi
Dynamic checkout trả về phản hồi JSON chứa URL checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
Checkout Sessions cung cấp trải nghiệm checkout được lưu trữ, an toàn hơn và 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 đầ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 phản hồi
Checkout Sessions trả về phản hồi JSON chứa URL checkout:Trình xử lý route Customer Portal
Trình xử lý route 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 Remix.Tham số truy vấn
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ình xử lý route 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 type của payload.