Skip to main content

Checkout API Route

使用服务器路由将 Dodo Payments 结账集成到您的 Nuxt 应用中。

Customer Portal API Route

允许客户通过 Nuxt 服务器路由管理订阅和详细信息。

Webhooks API Route

在 Nuxt 中安全接收和处理 Dodo Payments webhook 事件。

概述

本指南解释了如何使用官方 Nuxt 模块将 Dodo Payments 集成到您的 Nuxt 应用中。您将学习如何设置结账、客户门户和 webhooks API 路由,以及如何安全地管理环境变量。

安装

1

Install the Nuxt module

在项目根目录运行以下命令:
2

Register the module in nuxt.config.ts

@dodopayments/nuxt 添加到您的 modules 数组并进行配置:
nuxt.config.ts
切勿将您的 .env 文件或密钥提交到版本控制中。

API 路由处理器示例

在 Nuxt 中所有 Dodo Payments 的集成都通过 server/routes/api/ 目录中的服务器路由处理。
使用此处理器将 Dodo Payments 结账集成到您的 Nuxt 应用中。支持静态(GET)、动态(POST)和会话(POST)支付流程。
如果 productId 缺失或无效,处理器返回 400 响应。

结账路由处理器

Dodo Payments 支持三种类型的支付流以集成支付到您的网站,此适配器支持所有类型的支付流。
  • 静态支付链接: 即可分享的 URL,用于快速、无代码的支付收集。
  • 动态支付链接: 使用 API 或 SDK 编程生成具有自定义详细信息的支付链接。
  • 结账会话: 创建安全、可自定义的结账体验,包含预配置的产品购物车和客户详细信息。

支持的 Query Parameters

string
必填
Product identifier(例如 ?productId=pdt_nZuwz45WAs64n3l07zpQR)。
integer
Product 的数量。
string
Customer 的全名。
string
Customer 的名字。
string
Customer 的姓氏。
string
Customer 的 email address。
string
Customer 的国家/地区。
string
Customer 的地址行。
string
Customer 的城市。
string
Customer 的州/省。
string
Customer 的邮政编码。
boolean
禁用全名字段。
boolean
禁用名字字段。
boolean
禁用姓氏字段。
boolean
禁用 email 字段。
boolean
禁用国家/地区字段。
boolean
禁用地址行字段。
boolean
禁用城市字段。
boolean
禁用州字段。
boolean
禁用邮政编码字段。
string
指定支付 currency(例如 USD)。
boolean
显示 currency selector。
number
固定收取的金额,单位为主要 currency units(例如,12.5 表示 $12.50)。仅适用于 Pay What You Want products;如果低于 Product 的最低价格,则会忽略该值。
boolean
显示 discount fields。
string
任何以 metadata_ 开头的 query parameter 都会作为 metadata 传递。
如果 productId 缺失,处理器返回 400 响应。无效的查询参数也会导致 400 响应。

响应格式

静态结账返回包含结账 URL 的 JSON 响应:
Dynamic Checkout 代理已弃用的 POST /paymentsPOST /subscriptions 端点。它会继续支持现有集成,但新集成应使用下方的 Checkout Sessions

响应格式

Dynamic checkout 返回包含 checkout URL 的 JSON 响应:
Checkout sessions 提供更加安全的托管式结账体验,可为一次性购买和订阅处理完整的支付流程,并提供全面的自定义控制。请参阅 Checkout Sessions 集成指南,了解更多详细信息以及完整的支持字段列表。

响应格式

Checkout sessions 返回包含 checkout URL 的 JSON 响应:

Customer Portal 路由处理程序

Customer Portal 路由处理程序支持你将 Dodo Payments 客户门户无缝集成到 Nuxt 应用中。

查询参数

string
必填
门户会话的客户 ID(例如 ?customer_id=cus_123)。
boolean
如果设置为 true,则会向客户发送包含门户链接的电子邮件。
如果缺少 customer_id,则返回 400。

Webhook 路由处理程序

  • Method: 仅支持 POST 请求。其他方法将返回 405。
  • Signature Verification: 使用 webhookKey 验证 webhook 签名。验证失败时返回 401。
  • Payload Validation: 使用 Zod 进行验证。无效 payload 返回 400。
  • Error Handling:
    • 401:签名无效
    • 400:payload 无效
    • 500:验证期间发生内部错误
  • Event Routing: 根据 payload 类型调用相应的事件处理程序。

支持的 Webhook 事件处理程序


LLM 提示词

最后修改于 2026年8月21日