Skip to main content

Checkout Handler

Tích hợp trang thanh toán Dodo Payments vào ứng dụng SvelteKit của bạn.

Customer Portal

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

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 .env file trong thư mục gốc dự án của bạn:
Không bao giờ đưa file .env hoặc các bí mật 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 SvelteKit App Router.
Sử dụng bộ xử lý này để tích hợp trang thanh toán Dodo Payments vào ứng dụng SvelteKit của bạn. Hỗ trợ 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 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
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 tệ thanh toán (ví dụ: USD).
boolean
Hiển thị bộ chọn loại 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 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
Bất kỳ tham số truy vấn nào bắt đầu bằng metadata_ sẽ được truyền dưới dạng metadata.
Nếu productId bị thiếu, 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 các endpoint POST /paymentsPOST /subscriptions đã deprecated. Tính năng này vẫn 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 phản hồi

Dynamic checkout trả về một JSON response với checkout URL:
Checkout sessions cung cấp trải nghiệm checkout được host 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 phản hồi

Checkout sessions trả về một JSON response với checkout URL:

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 SvelteKit 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 portal link cho khách hàng.
Trả về 400 nếu thiếu customer_id.

Webhook Route Handler

  • Method: Chỉ hỗ trợ các request POST. Các method khác trả về 405.
  • Signature Verification: Xác minh webhook signature bằng webhookKey. Trả về 401 nếu xác minh thất bại.
  • Payload Validation: Được validate bằng Zod. Trả về 400 nếu payload không hợp lệ.
  • Error Handling:
    • 401: Signature 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 tương ứng dựa trên loại payload.

Webhook Event Handler được hỗ trợ


Prompt cho LLM

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