前提条件
要集成 Dodo Payments API,您需要:- 一个 Dodo Payments 商户账户
- 从仪表板获取的 API 凭证(API 密钥和 webhook 密钥)
仪表板设置
- 访问 Dodo Payments 仪表板
- 创建一个产品(一种一次性支付或订阅)。订阅产品的定价至少应为 $1(或您选择的货币的等值金额);不支持低于此最低金额的金额。
-
生成您的 API 密钥:
- 前往开发者 > API
- 详细指南
- 将 API 密钥复制到名为 DODO_PAYMENTS_API_KEY 的环境变量中
-
配置 webhooks:
- 前往开发者 > Webhooks
- 创建用于支付通知的 webhook URL
- 将 webhook 密钥复制到环境变量中
集成
支付链接
选择适合您用例的集成路径:- 结账会话(推荐):适用于大多数集成。在您的服务器上创建会话,将客户重定向到安全的托管结账页面。
- 覆盖结账:当您需要在页面内体验可以将结账作为模态覆盖打开时使用。
- 内嵌结账:将结账直接嵌入页面布局中,以实现完全集成和品牌化的结账体验。
- 静态支付链接:无需编码,即可立即共享 URL 以快速收款。
- 动态支付链接:以编程方式创建链接。然而,推荐使用结账会话,提供更多灵活性。
1. 结账会话
使用结账会话创建一个安全的托管结账体验,用于一次性支付或订阅。您在服务器上创建会话,然后将客户重定向到返回的checkout_url。
缺省情况下,结账会话有效期为24小时。如果您传递
confirm=true,会话有效期为15分钟,所有必填字段都必须提供。1
Create a checkout session
选择您偏好的 SDK 或调用 REST API。
- Node.js SDK
- Python SDK
- REST API
2
Redirect customer to checkout
创建会话后,重定向到
checkout_url 开始托管流程。2. 覆盖结账
如需无缝的页面内结账体验,请探索我们的 覆盖结账 集成,允许客户在不离开您的网站的情况下完成支付。3. 内嵌结账
如需将结账体验完全嵌入到您的页面中,请使用我们的 内嵌结账 集成。这使您可以自定义订单摘要,并完全控制结账布局,同时 Dodo Payments 安全地处理支付收款。4. 静态支付链接
静态支付链接通过共享简单的 URL 可以快速接受支付。您可以通过传递查询参数来自定义结账体验,以预填充客户详细信息、控制表单字段并添加自定义元数据。1
Construct your payment link
从基本 URL 开始,并附加您的产品 ID:
2
Add core parameters
包含必要的查询参数:
-
integer默认值:"1"购买的商品数量。
-
string必填支付完成后的重定向 URL。
重定向 URL 将包含支付详情作为查询参数,例如:
如果产品启用了许可证密钥,还会添加一个
https://example.com/?payment_id=pay_ts2ySpzg07phGeBZqePbH&status=succeeded&email=customer%40example.com如果产品启用了许可证密钥,还会添加一个
license_key 参数(对于多个密钥以逗号分隔):https://example.com/?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com3
4
Control form fields (optional)
您可以禁用特定字段,使其为只读状态。这在您已拥有客户详细信息时特别有用(例如,已登录用户)。
disable… 标志设置为 true:- Disable Flags Table
设置
showDiscounts=false 将禁用和隐藏结账表单中的折扣部分。如果您想防止客户在结账过程中输入优惠券或促销代码,请使用此选项。5
6
Share the link
将完整的支付链接发送给您的客户。当他们访问时,所有查询参数将被收集并存储在会话 ID 中。然后,URL 将简化为仅包括会话参数(例如,
?session=sess_1a2b3c4d)。存储的信息在页面刷新时持续存在,并可在整个结账过程中访问。客户的结账体验现已根据您的参数流线化和个性化。
4. 动态支付链接
通过带有客户详细信息的 API 调用或我们的 SDK 创建。以下是一个示例: 有两个用于创建动态支付链接的 API: 以下指南是针对一次性支付链接创建的。 有关集成订阅的详细说明,请参考此 订阅集成指南。确保您传递
payment_link = true 以获取支付链接 - Node.js SDK
- Python SDK
- Go SDK
- Api Reference
创建支付链接后,让您的客户完成支付。
实施 Webhooks
设置一个 API 端点以接收支付通知。以下是使用 Next.js 的示例:相关 API 参考
Create Checkout Session
创建安全托管结账会话以进行一次性支付和订阅的 API 参考
Create Payment Link
以编程方式创建动态支付链接的 API 参考