跳转到主要内容
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 以上的内部错误
  • 超时
全局或针对每个请求配置重试行为:

常见操作

创建结账会话

生成结账会话:

管理客户

创建并检索客户信息:

处理订阅

创建并管理循环订阅:
billing 至少需要两个字母的 ISO country 代码。传递 AttachExistingCustomer::with(customerID: '...') 来附加一个现有客户,或传递 NewCustomer::with(email: '...', name: '...') 来创建一个客户。productPrice 是最低货币面额。

分页

处理分页列表响应:

错误处理

当库无法连接到 API 或收到失败状态码(4xx 或 5xx)时,将抛出 APIException 的子类异常:

错误类型

始终在 try-catch 块中包装 API 调用,以便优雅地处理潜在错误并为用户提供有意义的反馈。

高级用法

未记录的端点

请求未记录的端点:

未记录的参数

向任何端点发送未记录的参数或读取未记录的响应属性:
同名的 extra* 参数将覆盖记录的参数。

框架集成

Laravel

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

Symfony

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

资源

GitHub Repository

查看源代码并进行贡献

API Reference

完整的 API 文档

Discord Community

获取帮助并与开发者联系

Report Issues

报告错误或请求功能

支持

需要 PHP SDK 的帮助?

贡献

我们欢迎贡献!查看贡献指南开始。
最后修改于 2026年5月28日