Skip to main content

Checkout API Route

Tích hợp checkout của Dodo Payments vào ứng dụng Nuxt bằng server route.

Customer Portal API Route

Cho phép khách hàng quản lý các gói đăng ký và thông tin chi tiết thông qua server route của Nuxt.

Webhooks API Route

Nhận và xử lý an toàn các sự kiện webhook của Dodo Payments trong Nuxt.

Tổng quan

Hướng dẫn này giải thích cách tích hợp Dodo Payments vào ứng dụng Nuxt bằng module Nuxt chính thức. Bạn sẽ tìm hiểu cách thiết lập các API route cho checkout, customer portal và webhook, cũng như cách quản lý an toàn các biến môi trường.

Cài đặt

1

Install the Nuxt module

Chạy lệnh sau trong thư mục gốc của dự án:
2

Register the module in nuxt.config.ts

Thêm @dodopayments/nuxt vào mảng modules và cấu hình module:
nuxt.config.ts
Không bao giờ commit tệp .env hoặc các secret vào hệ thống quản lý phiên bản.

Ví dụ về API Route Handler

Tất cả tích hợp Dodo Payments trong Nuxt đều được xử lý thông qua các server route trong thư mục server/routes/api/.
Sử dụng handler này để tích hợp checkout của Dodo Payments vào ứng dụng Nuxt. Hỗ trợ các luồng thanh toán static (GET), dynamic (POST) và session (POST).
Nếu thiếu hoặc không hợp lệ productId, handler sẽ trả về phản hồi 400.

Checkout Route Handler

Dodo Payments hỗ trợ ba loại luồng thanh toán để tích hợp thanh toán vào website của bạn; bộ chuyển đổi này hỗ trợ tất cả các loại luồng thanh toán.
  • Payment Links Static: URL có thể chia sẻ ngay để thu tiền nhanh mà không cần code.
  • Payment Links Dynamic: Tạo payment link theo cách lập trình với thông tin tùy chỉnh bằng API hoặc SDK.
  • Checkout Sessions: Tạo trải nghiệm checkout an toàn, có thể tùy chỉnh, với giỏ sản phẩm và thông tin khách hàng được cấu hình sẵn.

Query Parameters đượ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ọ 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 thanh toán (ví dụ: USD).
boolean
Hiển thị bộ chọn tiền tệ.
integer
Chỉ định số tiền thanh toán (ví dụ: 1000 cho $10.00).
boolean
Hiển thị các trường giảm giá.
string
Mọi query parameter bắt đầu bằng metadata_ sẽ được truyền dưới dạng metadata.
Nếu thiếu productId, handler sẽ trả về phản hồi 400. Query parameter không hợp lệ cũng dẫn đến phản hồi 400.

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

Checkout static trả về phản hồi JSON chứa URL checkout:

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

Checkout dynamic trả về phản hồi JSON chứa URL checkout:
Checkout session cung cấp trải nghiệm checkout được lưu trữ an toàn hơn, xử lý toàn bộ luồng thanh toán cho cả giao dịch mua một lần và gói đăng ký, đồng thời cho phép tùy chỉnh đầy đủ.Tham khảo Hướng dẫn tích hợp Checkout Sessions để biết thêm chi tiết và xem danh sách đầy đủ các field được hỗ trợ.

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

Checkout session trả về phản hồi JSON chứa URL checkout:

Customer Portal Route Handler

Customer Portal Route Handler cho phép bạn tích hợp liền mạch customer portal của Dodo Payments vào ứng dụng Nuxt.

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, gửi email chứa liên kết portal cho khách hàng.
Trả về 400 nếu thiếu customer_id.

Webhook Route Handler

  • Method: Chỉ hỗ trợ yêu cầu 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 thất bại.
  • 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 sự kiện: Gọi event handler phù hợp dựa trên loại payload.

Event Handler Webhook được hỗ trợ


Prompt cho LLM

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