paddlehq/paddle-php-sdk

Paddle Billing的PHP SDK。


README

Build Status Latest Stable Version Total Downloads License

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函数接受多个参数。例如,要更新客户的地址,请传递customerIdaddressId

$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')
);

了解更多