helmac / paddle-php71-sdk
Paddle 的 PHP SDK,用于 Paddle Billing。支持 php 7.1
Requires
- php: >=7.1
- ext-json: *
- ext-mbstring: *
- jms/serializer-bundle: ^1.0
- myclabs/php-enum: ^1.7
- not-empty/ulid-php-lib: ^1.0.0
- php-http/async-client-implementation: ^1.0
- php-http/client-common: ^1.5 || ^2.0
- php-http/discovery: ^1.15
- php-http/httplug: ^1.1 || ^2.0
- php-http/logger-plugin: ^1.3
- php-http/message: ^1.5
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- symfony/property-access: ^3.4.49
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.49
- guzzlehttp/psr7: ^2.6
- monolog/monolog: ^3.5
- php-http/curl-client: ^2.3
- php-http/mock-client: ^1.6
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9.5 || ^10.0
- rector/rector: dev-main
- symfony/var-dumper: ^6.3
README
Paddle Billing 是一个完整的数字产品销售和订阅管理平台,专为现代软件业务设计。它可以帮助您增加收入,保留客户,并扩展您的业务。
这是一个 PHP SDK,您可以使用它将 Paddle Billing 集成到用 PHP 编写的应用程序中。
在您的前端与 Paddle 交互时,请使用 Paddle.js。您可以使用它打开结账页面,安全地收集支付信息,构建定价页面,并与 Paddle Retain 集成。
重要: 此软件包与 Paddle Billing 一起使用。它不支持 Paddle Classic。要使用 Paddle Classic,请参阅: Paddle Classic API 参考
要求
PHP 8.1 及更高版本。
Composer
您可以通过 Composer 安装绑定。运行以下命令
composer require paddlehq/paddle-php-sdk
要使用绑定,请使用 Composer 的 自动加载
require_once 'vendor/autoload.php';
用法
要认证,您需要一个 API 密钥。您可以在 Paddle > 开发者工具 > 认证 中创建和管理 API 密钥。
在初始化新的 Paddle 客户端时传递您的 API 密钥。
use Paddle\SDK\Client; $paddle = new Client('API_KEY');
您还可以传递一个环境,以与沙箱一起工作
use Paddle\SDK\Client; use Paddle\SDK\Environment; use Paddle\SDK\Options; $paddle = new Client( apiKey: 'API_KEY', options: new Options(Environment::SANDBOX), );
请注意,API 密钥在沙箱和实时账户中是分开的,因此您需要为每个环境生成密钥。
示例
列出实体
您可以使用资源中的 list
函数列出支持的实体。它返回一个迭代器,有助于处理多页数据。
use Paddle\SDK\Client; $paddle = new Client('API_KEY'); $products = $paddle->products->list(); // List returns an iterable, so pagination is handled automatically. foreach ($products as $product) { echo $product->id; }
创建实体
您可以使用资源中的 create
函数创建支持的实体。它接受资源的相应 Create
操作,例如 CreateProduct
。创建的实体将被返回。
use Paddle\SDK\Client; use Paddle\SDK\Entities\Shared\TaxCategory; use Paddle\SDK\Resources\Products\Operations\CreateProduct; $paddle = new Client('API_KEY'); $product = $paddle->products->create( new CreateProduct( name: 'ChatApp Education', taxCategory: TaxCategory::Standard(), ), );
更新实体
您可以使用资源中的 update
函数更新支持的实体。它接受要更新的实体的 id
和相应的 Update
操作,例如 UpdateProduct
。更新的实体将被返回。
use Paddle\SDK\Client; use Paddle\SDK\Resources\Products\Operations\UpdateProduct; $paddle = new Client('API_KEY'); $operation = new UpdateProduct( name: 'ChatApp Professional' ); $product = $paddle->products->update('id', $operation);
当操作需要多个 id
时,update
函数接受多个参数。例如,要更新客户的地址,请传递 customerId
和 addressId
$address = $paddle->addresses->update( 'customer_id', 'address_id', $operation, );
获取实体
您可以使用资源中的 get
函数获取实体。它接受要获取的实体的 id
。实体将被返回。
use Paddle\SDK\Client; $paddle = new Client('API_KEY'); $product = $paddle->products->get('id');
资源
Webhook 签名验证
SDK 包含一个辅助类,用于验证 Paddle 通知发送的 Webhook 签名。
use Paddle\SDK\Notifications\Secret; use Paddle\SDK\Notifications\Verifier; (new Verifier())->verify( $request, new Secret('WEBHOOK_SECRET_KEY') );