transferzero/transferzero-php-sdk

TransferZero 客户端库 for PHP


README

这是与 TransferZero API 一起使用的 PHP 客户端库。要使用 API,请注册并从 TransferZero 开发者门户 获取有效的 API 密钥。

有关更多信息,请访问

此 PHP 软件包由 OpenAPI Generator 项目自动生成

  • API 版本:1.0
  • 软件包版本:1.36.4

要求

PHP 7.1 及以上版本

安装 & 使用

Composer

要通过 Composer 安装,请运行

composer require transferzero/transferzero-php-sdk

然后运行 composer install

新用户 Composer?请访问 Composer 入门页面 了解更多

手动安装

下载文件并包含 autoload.php

require_once('/path/to/TransferZeroSdk/vendor/autoload.php');

入门指南

请遵循 安装程序,然后运行以下命令

<?php
require_once(__DIR__ . '/vendor/autoload.php');

身份验证

在配置对象上设置 API 密钥和密钥以进行身份验证

TransferZero\Configuration::getDefaultConfiguration()
  ->setHost("https://api-sandbox.transferzero.com/v1")
  ->setApiKey("<key>")
  ->setApiSecret("<secret>");

示例

$apiInstance = new TransferZero\Api\APILogsApi();
$api_log_id = 'api_log_id_example'; // string | ID of the API log to retrieve  Example: `/v1/api_logs/00485ce9-532b-45e7-8518-7e5582242407`

try {
    $result = $apiInstance->getApiLog($api_log_id);
    print_r($result);
} catch (Exception $e) {
    if ($e->isValidationError()) {
        $response = $e->getResponseObject();
        echo "Validation error(s) occurred when calling the endpoint";
        print_r($response);
    } else {
        echo "An exception occurred when calling APILogsApi#getApiLog";
        echo $e->getMessage();
    }
}

?>

您可以在 examples 目录中找到更多示例,该目录位于 入门文档 中所需的特性

Webhooks

要解析 webhooks,您可以使用以下代码片段

$webhook_content = "{ (...) }"; // The string received through the webhook callback url
$webhook_headers = [
    "Authorization-Nonce" => "<authorization-nonce>",
    "Authorization-Key" => "<authorization-key>",
    "Authorization-Signature" => "<authorization-signature>"
]; // The headers from the webook callback url
$webhook_url = "<url>"; // The url of the webhook callback

$webhooksApi = new TransferZero\Api\WebhooksApi();
if (!$webhooksApi->validateWebhookRequest($webhook_url, $webhook_content, $webhook_headers)) {
    echo "Webhook request validation failed";
    return false;
}

$webhook = $webhooksApi->parseResponseString($webhook_content, 'Webhook');

if (strpos($webhook->getEvent(), 'transaction') === 0) {
    $transactionWebhook = $webhooksApi->parseResponseString($webhook_content, 'TransactionWebhook');
    print_r($transactionWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'recipient') === 0) {
    $recipientWebhook = $webhooksApi->parseResponseString($webhook_content, 'RecipientWebhook');
    print_r($recipientWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'payout_method') === 0) {
    $payoutMethodWebhook = $webhooksApi->parseResponseString($webhook_content, 'PayoutMethodWebhook');
    print_r($payoutMethodWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'sender') === 0) {
    $senderWebhook = $webhooksApi->parseResponseString($webhook_content, 'SenderWebhook');
    print_r($senderWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'document') === 0) {
    $documentWebhook = $webhooksApi->parseResponseString($webhook_content, 'DocumentWebhook');
    print_r($documentWebhook->getObject()->__toString());
}

API 端点文档

所有 URI 都相对于 https://api-sandbox.transferzero.com/v1

模型文档