wallee / sdk
Wallee SDK for PHP
Requires
- php: >=5.6
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ~8
- dev-master
- 4.6.0
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.0
- 3.1.4
- 3.1.2
- 3.1.1
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
This package is auto-updated.
Last update: 2024-09-04 09:20:47 UTC
README
Wallee PHP 库
Wallee PHP 库封装了 Wallee API。此库简化了您与各种服务(如交易、账户和订阅)的交互。
文档
要求
- PHP 5.6.0 及以上版本
安装
您可以使用 Composer 或 手动安装
Composer
首选方法是使用 composer。如果您还没有安装 composer,请按照 安装说明 进行操作。
安装 composer 后,在项目根目录中执行以下命令以安装此库
composer require wallee/sdk
手动安装
您也可以下载整个包。在 版本 页面上列出了所有稳定版本。
解压缩您下载的 zip 文件,并将自动加载器包含到您的项目中
require_once '/path/to/php-sdk/autoload.php';
使用方法
您需要使用您的账户空间 ID、用户 ID 和密钥配置此库,这些信息可在您的 wallee 账户仪表板 中找到。将 space_id
、user_id
和 api_secret
设置为其值。
配置服务
require_once(__DIR__ . '/autoload.php'); // Configuration $spaceId = 405; $userId = 512; $secret = 'FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ='; // Setup API client $client = new \Wallee\Sdk\ApiClient($userId, $secret); // Get API service instance $client->getTransactionService(); $client->getTransactionPaymentPageService();
要开始发送交易,请参阅以下示例
require_once(__DIR__ . '/autoload.php'); // Configuration $spaceId = 405; $userId = 512; $secret = 'FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ='; // Setup API client $client = new \Wallee\Sdk\ApiClient($userId, $secret); // Create transaction $lineItem = new \Wallee\Sdk\Model\LineItemCreate(); $lineItem->setName('Red T-Shirt'); $lineItem->setUniqueId('5412'); $lineItem->setSku('red-t-shirt-123'); $lineItem->setQuantity(1); $lineItem->setAmountIncludingTax(29.95); $lineItem->setType(\Wallee\Sdk\Model\LineItemType::PRODUCT); $transactionPayload = new \Wallee\Sdk\Model\TransactionCreate(); $transactionPayload->setCurrency('EUR'); $transactionPayload->setLineItems(array($lineItem)); $transactionPayload->setAutoConfirmationEnabled(true); $transaction = $client->getTransactionService()->create($spaceId, $transactionPayload); // Create Payment Page URL: $redirectionUrl = $client->getTransactionPaymentPageService()->paymentPageUrl($spaceId, $transaction->getId()); header('Location: ' . $redirectionUrl);
HTTP 客户端
您可以使用 php curl
或 php socket
扩展。建议您安装必要的扩展并在系统上启用它们。
您有两种方法指定您首选的 HTTP 客户端。
$userId = 512; $secret = 'FKrO76r5VwJtBrqZawBspljbBNOxp5veKQQkOnZxucQ='; // Setup API client $client = new \Wallee\Sdk\ApiClient($userId, $secret); $httpClientType = \Wallee\Sdk\Http\HttpClientFactory::TYPE_CURL; // or \Wallee\Sdk\Http\HttpClientFactory::TYPE_SOCKET $client->setHttpClientType($httpClientType); //Setup a custom connection timeout if needed. (Default value is: 25 seconds) $client->setConnectionTimeout(20);
您还可以通过 WLE_HTTP_CLIENT
环境变量指定 HTTP 客户端。可能的字符串值是 curl
或 socket
。
<?php putenv('WLE_HTTP_CLIENT=curl'); ?>
将 webhook 负载签名机制集成到 webhook 回调处理器中
现在发送给实体状态更改的 HTTP 请求包含一个额外的字段 state
,该字段提供了有关监视的实体状态更新的信息。此增强功能是我们 webhook 加密机制实施的结果。
负载字段 state
直接提供了实体状态更新的信息,因此不需要额外的 API 调用来检索实体状态。
⚠️ 警告:通用伪代码
提供的伪代码有意是通用的,旨在说明增强您的 API 以利用 webhook 负载签名的过程。这不是一个完整的实现。
请确保您适应并扩展此代码以满足应用程序的具体需求,包括适当的安全措施和错误处理。为了详细了解 webhook 负载签名机制,我们强烈建议您参考我们全面的 Webhook 负载签名文档。
public function handleWebhook() { $requestPayload = file_get_contents('php://input'); $signature = $_SERVER['HTTP_X_SIGNATURE'] ?? ''; if (empty($signature)) { // Make additional API call to retrieve the entity state // ... } else { if ($client->getWebhookEncryptionService()->isContentValid($signature, $requestPayload)) { // Parse requestPayload to extract 'state' value // $state = ... // Process entity's state change // $this->processEntityStateChange($state); // ... } } // Process the received webhook data // ... }
许可证
有关更多信息,请参阅 许可证文件。