跳转到主要内容

Checkout Handler

在你的 Express 应用中集成 Dodo Payments 结账。

Customer Portal

允许客户通过 Dodo Payments 客户门户管理订阅和详细信息。

Webhooks

接收并处理 Dodo Payments webhook 事件。

安装

1

Install the package

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

Set up environment variables

在项目根目录创建一个 .env 文件:
切勿将 .env 文件或密钥提交到版本控制。

路由处理器示例

使用此处理器将 Dodo Payments 结账集成到你的 Express 应用中。支持静态(GET)、动态(POST)和会话(POST)支付流程。

结账路由处理器

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

支持的查询参数

productId
string
必填
产品标识符(例如 ?productId=pdt_nZuwz45WAs64n3l07zpQR)。
quantity
integer
商品数量。
fullName
string
客户全名。
firstName
string
客户名字。
lastName
string
客户姓氏。
email
string
客户电子邮件地址。
country
string
客户所在国家。
addressLine
string
客户地址行。
city
string
客户所在城市。
state
string
客户所在州/省。
zipCode
string
客户邮政编码。
disableFullName
boolean
禁用全名字段。
disableFirstName
boolean
禁用名字字段。
disableLastName
boolean
禁用姓氏字段。
disableEmail
boolean
禁用电子邮件字段。
disableCountry
boolean
禁用国家字段。
disableAddressLine
boolean
禁用地址行字段。
disableCity
boolean
禁用城市字段。
disableState
boolean
禁用州/省字段。
disableZipCode
boolean
禁用邮政编码字段。
paymentCurrency
string
指定支付货币(例如 USD)。
showCurrencySelector
boolean
显示货币选择器。
paymentAmount
integer
指定支付金额(例如 1000 表示 10.00 美元)。
showDiscounts
boolean
显示折扣字段。
metadata_*
string
任何以 metadata_ 开头的查询参数将作为元数据传递。
如果 productId 缺失,处理器将返回 400 响应。无效的查询参数也会导致 400 响应。

响应格式

静态结账返回一个包含结账 URL 的 JSON 响应:

响应格式

动态结账返回一个包含结账 URL 的 JSON 响应:
Checkout 会话提供更安全的托管结账体验,处理一次性购买和订阅的完整支付流程,并提供完全的自定义控制。有关更多详细信息和支持字段的完整列表,请参阅 结账会话集成指南

响应格式

结账会话返回一个包含结账 URL 的 JSON 响应:

客户门户路由处理器

客户门户路由处理器使您能够将 Dodo Payments 客户门户无缝集成到您的 Express 应用中。

查询参数

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

Webhook 路由处理器

  • 方法: 仅支持 POST 请求。其他方法返回 405。
  • 签名验证: 使用 webhookKey 验证 Webhook 签名。如果验证失败,返回 401。
  • 有效负载验证: 使用 Zod 进行验证。无效的有效负载返回 400。
  • 错误处理:
    • 401:无效签名
    • 400:无效有效负载
    • 500:验证期间的内部错误
  • 事件路由: 根据有效负载类型调用适当的事件处理器。

支持的 Webhook 事件处理器


LLM 提示

最后修改于 2026年5月22日