Skip to main content
PHP SDK 提供了一种强大而灵活的方式,将 Dodo Payments 集成到您的 PHP 应用程序中。它遵循现代 PHP 标准,使用 PSR-4 自动加载,提供广泛的测试覆盖和详细的文档。

安装

使用 Composer 安装 SDK:
SDK 需要 PHP 8.1.0 或更高版本,并使用 Composer 管理依赖项。

快速开始

初始化客户端并创建一个结账会话:
安全地使用环境变量存储 API 密钥。切勿将其暴露在代码库中或提交到版本控制系统。

核心功能

PSR-4 Compliant

遵循现代 PHP 开发的 PHP 标准建议

Modern PHP

为 PHP 8.1+ 构建,包含类型声明和严格类型

Extensive Testing

提供全面的测试覆盖,确保可靠性和稳定性

Exception Handling

为不同错误场景提供清晰的异常类型

值对象

SDK 使用命名参数指定可选参数。您可以使用静态 with 构造函数初始化值对象:
也可以使用构建器作为可选模式:

配置

重试配置

某些错误默认为自动重试 2 次,并进行短暂的指数退避。以下错误会触发自动重试:
  • 连接错误(网络连接问题)
  • 408 请求超时
  • 409 冲突
  • 429 速率限制
  • 500 以上的内部错误
  • 超时
全局或针对每个请求配置重试行为:

常见操作

创建结账会话

生成结账会话:

管理客户

创建并检索客户信息:

处理订阅

创建并管理循环订阅:
POST /subscriptions(SDK 的 subscriptions.create 方法)已弃用。对于现有集成,它仍然有效,但新集成应通过 Checkout Session 创建订阅。
billing 至少需要两位字母的 ISO country 代码。传入 AttachExistingCustomer::with(customerID: '...') 以关联现有客户,或传入 NewCustomer::with(email: '...', name: '...') 以创建客户。productPrice 采用货币的最小面额。

分页

处理分页列表响应:

错误处理

当库无法连接到 API,或收到非成功状态代码(4xx 或 5xx)时,会抛出 APIException 的子类:

错误类型

始终将 API 调用放在 try-catch 块中,以处理潜在错误, 并向用户提供有意义的反馈。

高级用法

未文档化的端点

向未文档化的端点发出请求:

未文档化的参数

向任何端点发送未文档化的参数,或读取未文档化的响应属性:
具有相同名称的 extra* 参数会覆盖已文档化的参数。

框架集成

Laravel

为 Laravel 应用创建服务:
config/services.php 中添加配置:

Symfony

在 Symfony 中创建服务:
config/services.yaml 中注册:

资源

GitHub Repository

查看源代码并参与贡献

API Reference

完整的 API 文档

Discord Community

获取帮助并与开发者交流

Report Issues

报告错误或请求新功能

支持

需要 PHP SDK 方面的帮助?

贡献

欢迎贡献!查看贡献指南以开始贡献。
最后修改于 2026年8月17日