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

Checkout Function

Tích hợp quy trình thanh toán Dodo Payments theo phiên.

Customer Portal

Cho phép khách hàng quản lý các đăng ký và thông tin của họ.

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

Add Component to Convex Config

Thêm thành phần Dodo Payments vào cấu hình Convex của bạn:
Sau khi chỉnh sửa convex.config.ts, hãy chạy npx convex dev một lần để tạo các kiểu cần thiết.
3

Set up environment variables

Thiết lập biến môi trường trong bảng điều khiển Convex của bạn (Cài đặtBiến môi trường). Bạn có thể truy cập bảng điều khiển bằng cách chạy:
Thêm các biến môi trường sau:
  • DODO_PAYMENTS_API_KEY - Khóa API Dodo Payments của bạn
  • DODO_PAYMENTS_ENVIRONMENT - Đặt thành test_mode hoặc live_mode
  • DODO_PAYMENTS_WEBHOOK_SECRET - Bí mật webhook của bạn (bắt buộc để xử lý webhook)
Luôn sử dụng biến môi trường Convex cho thông tin nhạy cảm. Không bao giờ commit bí mật vào hệ thống kiểm soát phiên bản.

Ví dụ Thiết lập Thành phần

1

Create Internal Query

Đầu tiên, tạo một truy vấn nội bộ để lấy khách hàng từ cơ sở dữ liệu của bạn. Truy vấn này sẽ được sử dụng trong các hàm thanh toán để xác định khách hàng.
Trước khi sử dụng truy vấn này, hãy đảm bảo định nghĩa sơ đồ phù hợp trong tệp convex/schema.ts của bạn hoặc thay đổi truy vấn cho phù hợp với sơ đồ hiện có.
2

Configure DodoPayments Component

Sử dụng hàm này để tích hợp quy trình thanh toán Dodo Payments vào ứng dụng Convex của bạn. Áp dụng quy trình checkout dựa trên phiên với hỗ trợ đầy đủ các tính năng.

Chức năng Thanh toán

Thành phần Convex của Dodo Payments sử dụng quy trình thanh toán dựa trên phiên, cung cấp trải nghiệm thanh toán an toàn, có thể 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 sẵn. Đây là phương pháp được đề xuất cho tất cả các luồng thanh toán.

Cách sử dụng

Tham khảo 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

Chức năng thanh toán trả về một phản hồi JSON với URL thanh toán:

Chức năng Cổng thông tin Khách hàng

Chức năng 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 Convex của bạn.

Cách sử dụng

Tham số

send_email
boolean
Nếu được đặt thành true, gửi email tới khách hàng với đường dẫn cổng.
Khách hàng được tự động xác định bằng hàm identify được cấu hình trong thiết lập DodoPayments của bạn. Hàm này nên trả về dodoCustomerId của khách hàng.

Xử lý 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 DODO_PAYMENTS_WEBHOOK_SECRET. 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ợ

Cách sử dụng Frontend

Sử dụng hàm checkout từ các thành phần React của bạn với các hook Convex.

Lời nhắc cho LLM

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