跳转到主要内容

Checkout Function

将 Dodo Payments 结账与基于会话的流程集成。

Customer Portal

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

Webhooks

接收并处理 Dodo Payments Webhook 事件。

安装

1

Install the package

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

Add Component to Convex Config

在 Convex 配置中添加 Dodo Payments 组件:
编辑 convex.config.ts 后,运行 npx convex dev 一次以生成必要的类型。
3

Set up environment variables

在 Convex 仪表板中设置环境变量(SettingsEnvironment Variables)。您可以通过运行以下命令访问仪表板:
添加以下环境变量:
  • DODO_PAYMENTS_API_KEY - 您的 Dodo Payments API 密钥
  • DODO_PAYMENTS_ENVIRONMENT - 设置为 test_modelive_mode
  • DODO_PAYMENTS_WEBHOOK_SECRET - 您的 Webhook 密钥(处理 Webhook 时必需)
始终为敏感信息使用 Convex 环境变量。切勿将密钥提交到版本控制。

组件设置示例

1

Create Internal Query

首先,创建一个内部查询以从数据库获取客户。这将在支付函数中用于识别客户。
在使用此查询之前,请确保在 convex/schema.ts 文件中定义了适当的模式,或根据现有模式更改查询。
2

Configure DodoPayments Component

使用此函数将 Dodo Payments 结账集成到您的 Convex 应用中。使用基于会话的结账,具备完整功能支持。

结账功能

Dodo Payments Convex 组件使用基于会话的结账,提供安全、可定制的结账体验,预先配置了产品购物车和客户详情。这是所有支付流程的推荐方式。

用法

请参阅 结账会话 以获取更多详细信息和支持字段的完整列表。

响应格式

结账功能返回一个包含结账 URL 的 JSON 响应:

客户门户功能

客户门户功能使您能够无缝地将 Dodo Payments 客户门户集成到您的 Convex 应用中。

用法

参数

send_email
boolean
如果设置为 true,会向客户发送包含门户链接的电子邮件。
客户会自动通过 DodoPayments 设置中配置的 identify 函数识别。该函数应返回客户的 dodoCustomerId

Webhook 处理程序

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

支持的 Webhook 事件处理程序

前端用法

在 React 组件中使用 Convex 钩子调用结账函数。

LLM 提示

最后修改于 2026年5月4日