Skip to main content

SDKs & Libraries

适用于 TypeScript、Python、Go、PHP、Java、Kotlin、C#、Ruby 和 Rust 的官方后端 SDK。这些库会处理身份验证、序列化和错误处理,让你可以专注于集成。

Mobile Checkout SDKs

从 Android、iOS、React Native 和 Flutter 应用中打开 Dodo 的托管结账页面,并通过一次调用获取类型化结果。这些 SDK 不保存 API 密钥。

环境 URL

  • 测试模式:https://test.dodopayments.com
  • 实时模式:https://live.dodopayments.com
详细了解 Test Mode vs Live Mode。

身份验证

API 请求需要 API key,但少数公共端点除外,例如 Activate License、Validate License 和 Deactivate License。在您的控制面板中生成一个 API key,并将其包含在每个请求的 Authorization header 中。
1

Generate an API Key

在控制面板中前往 Developer → API Keys,然后选择 Add API Key。在你要调用的模式下创建密钥:测试模式密钥只能与 https://test.dodopayments.com 配合使用,实时模式密钥只能与 https://live.dodopayments.com 配合使用。为密钥设置描述性名称,并选择访问级别:
  • 启用写入权限已选中(默认):对所有 API 操作拥有完整的读取和写入权限。
  • 启用写入权限未选中:只读访问权限。你可以获取数据(支付、订阅、客户、产品),但无法创建或修改资源。
对于仅需查看数据的集成(例如分析工具或控制面板集成),请取消选中 Enable write access。
2

Store Your Key Securely

请立即复制密钥。之后你将无法再次查看。将其存储在环境变量中,例如 DODO_PAYMENTS_API_KEY。
3

Authenticate Requests

将 API 密钥包含在每个请求的 Authorization 标头中:
切勿在客户端代码、公开代码仓库或版本控制系统中暴露 API 密钥。

响应格式

成功的请求会返回带有 JSON 请求正文的 200 或 201,或者返回没有请求正文的 204。错误会返回 4xx 或 5xx 状态,并附带包含 code 和 message 的 JSON 请求正文。

速率限制

API 同时实施两种限制:每秒突发限制和每分钟持续限制。限制针对整个企业生效,涵盖其所有 API 密钥,具体取决于企业的速率限制层级。

默认层级

更高层级

有更高 API 使用需求的企业可以升级到更高的速率限制:
如需升级速率限制层级,请发送邮件至 support@dodopayments.com。

未进行身份验证的请求

没有有效 API 密钥的请求将按 IP 地址进行速率限制:

速率限制标头

响应会包含显示当前使用情况的标头:
  • X-RateLimit-Limit — 当前时间窗口内允许的最大请求数。
  • X-RateLimit-Remaining — 达到限制前剩余的请求数。
  • X-RateLimit-Reset — 当前时间窗口重置前的秒数。
超过限制时,API 会返回 429 Too Many Requests。在重试逻辑中实现指数退避。

错误处理

如需了解错误的含义及解决方法,请参阅错误代码和交易失败页面。

Error Codes

错误代码及其含义的完整列表。

Transaction Failures

常见交易问题及其处理方法。

Webhook

在支付、订阅和其他事件发生时接收实时通知。在控制面板中设置 Webhook,并处理集成所需的事件。

Webhook Guide

设置 Webhook、处理事件并验证签名。

集成指南

从以下任一指南开始构建你的第一个集成:

One-time Payments

创建结账会话、支付链接并处理支付。

Subscriptions

设置定期账单、管理计划并处理生命周期事件。

Usage-Based Billing

计量使用量,并根据使用情况向客户收费。

Checkout Sessions

创建安全的托管结账体验。
最后修改于 2026年9月26日