Checkout Handler
在你的 Express 应用中集成 Dodo Payments 结账。
Customer Portal
允许客户通过 Dodo Payments 客户门户管理订阅和详细信息。
Webhooks
接收并处理 Dodo Payments webhook 事件。
安装
1
Install the package
在项目根目录运行以下命令:
2
Set up environment variables
在项目根目录创建一个
.env 文件:路由处理器示例
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
使用此处理器将 Dodo Payments 结账集成到你的 Express 应用中。支持静态(GET)、动态(POST)和会话(POST)支付流程。
结账路由处理器
Dodo Payments 支持三种类型的支付流程用于将支付集成到你的网站,本适配器支持所有类型的支付流程。
- 静态支付链接: 可即时分享的 URL,用于快速、无代码的支付收集。
- 动态支付链接: 使用 API 或 SDK 程序化生成带有自定义详细信息的支付链接。
- 结账会话: 创建安全、可自定义的结账体验,预配置产品购物车和客户详细信息。
Static Checkout (GET)
Static Checkout (GET)
支持的查询参数
产品标识符(例如
?productId=pdt_nZuwz45WAs64n3l07zpQR)。商品数量。
客户全名。
客户名字。
客户姓氏。
客户电子邮件地址。
客户所在国家。
客户地址行。
客户所在城市。
客户所在州/省。
客户邮政编码。
禁用全名字段。
禁用名字字段。
禁用姓氏字段。
禁用电子邮件字段。
禁用国家字段。
禁用地址行字段。
禁用城市字段。
禁用州/省字段。
禁用邮政编码字段。
指定支付货币(例如
USD)。显示货币选择器。
指定支付金额(例如
1000 表示 10.00 美元)。显示折扣字段。
任何以
metadata_ 开头的查询参数将作为元数据传递。响应格式
静态结账返回一个包含结账 URL 的 JSON 响应:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- 在 POST 请求中以 JSON 正文发送参数。
- 支持一次性和定期支付。
- 有关受支持 POST 请求正文字段的完整列表,请参考:
响应格式
动态结账返回一个包含结账 URL 的 JSON 响应:客户门户路由处理器
客户门户路由处理器使您能够将 Dodo Payments 客户门户无缝集成到您的 Express 应用中。查询参数
客户门户会话的客户 ID(例如
?customer_id=cus_123)。如果设置为
true,则会向客户发送包含门户链接的电子邮件。Webhook 路由处理器
- 方法: 仅支持 POST 请求。其他方法返回 405。
- 签名验证: 使用
webhookKey验证 Webhook 签名。如果验证失败,返回 401。 - 有效负载验证: 使用 Zod 进行验证。无效的有效负载返回 400。
- 错误处理:
- 401:无效签名
- 400:无效有效负载
- 500:验证期间的内部错误
- 事件路由: 根据有效负载类型调用适当的事件处理器。