helmac/paddle-php71-sdk

Paddle 的 PHP SDK,用于 Paddle Billing。支持 php 7.1

1.0.2 2024-07-12 19:16 UTC

This package is auto-updated.

Last update: 2024-09-12 19:45:11 UTC


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

了解更多