跳转到主要内容

Checkout Handler

将 Dodo Payments 结账集成到你的 Astro 应用中。

Customer Portal

允许客户管理订阅和详细信息。

Webhooks

接收并处理 Dodo Payments Webhook 事件。

安装

1

Install the package

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

Set up environment variables

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

路由处理器示例

所有示例均假设你正在使用 Astro 应用路由。
使用此处理器将 Dodo Payments 结账集成到你的 Astro 应用中。支持静态(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 响应:
结账会话提供更安全的托管结账体验,处理一次性购买和订阅的完整付款流程,并提供完全的定制控制。有关更多详细信息和支持字段的完整列表,请参阅 结账会话集成指南

响应格式

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

客户门户路由处理器

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

查询参数

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日