paypal/paypal-payouts-sdk

此包已被弃用,不再维护。没有建议的替代包。

PayPal 的 PHP SDK 用于 Payouts REST API

1.0.1 2021-09-28 16:40 UTC

This package is not auto-updated.

Last update: 2024-01-19 16:37:55 UTC


README

Home Image

欢迎使用 PayPal Payouts。此仓库包含 PayPal 的 PHP SDK 和用于 v1/payments/payouts API 的示例。

这是下一个主要 PayPal SDK 的一部分。它包括一个简化的接口,仅提供简单的模型对象和 HTTP 调用的蓝图。此存储库当前包含用于 PayPal Payouts API 的功能,包括 Payouts

有关更多信息,请参阅 PayPal Payouts 集成指南。有关设置 SDK 的更多信息,请参阅 设置您的 SDK

先决条件

PHP 5.6 及以上版本

支持 TLS 1.2 的环境(有关更多信息,请参阅 TLS-update 网站)

用法

二进制文件

使用 PayPal SDK 无需在此存储库中进行分叉。请参阅 PayPal Payouts Server SDK 以配置和使用 SDK 而无需分叉此代码。

要为此存储库做出贡献或使用示例,您可以分叉此存储库。

设置凭据

通过访问 https://developer.paypal.com/developer/applications 并生成 REST API 应用程序来获取客户端 ID 和客户端密钥。从那里获取 客户端 ID密钥

require __DIR__ . '/vendor/autoload.php';
use PaypalPayoutsSDK\Core\PayPalHttpClient;
use PaypalPayoutsSDK\Core\SandboxEnvironment;
// Creating an environment
$clientId = "<<PAYPAL-CLIENT-ID>>";
$clientSecret = "<<PAYPAL-CLIENT-SECRET>>";

$environment = new SandboxEnvironment($clientId, $clientSecret);
$client = new PayPalHttpClient($environment);

示例

创建一笔付款

这将创建一笔付款并打印已创建付款的批次 ID

use PaypalPayoutsSDK\Payouts\PayoutsPostRequest;
$request = new PayoutsPostRequest();
$body= json_decode(
            '{
                "sender_batch_header":
                {
                  "email_subject": "SDK payouts test txn"
                },
                "items": [
                {
                  "recipient_type": "EMAIL",
                  "receiver": "[email protected]",
                  "note": "Your 1$ payout",
                  "sender_item_id": "Test_txn_12",
                  "amount":
                  {
                    "currency": "USD",
                    "value": "1.00"
                  }
                }]
              }',             
            true);
$request->body = $body;
$client = PayPalClient::client();
$response = $client->execute($request);
print "Status Code: {$response->statusCode}\n";
print "Status: {$response->result->batch_header->batch_status}\n";
print "Batch ID: {$response->result->batch_header->payout_batch_id}\n";
print "Links:\n";
foreach($response->result->links as $link)
 {
   print "\t{$link->rel}: {$link->href}\tCall Type: {$link->method}\n";
 }
echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
        

检索一笔付款批次

这将检索一笔付款批次

 $request = new PayoutsGetRequest($batchId);
 $response = $client->execute($request);
 echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";

解析失败响应

这将执行一个 GET 请求以模拟失败

 try{
    $request = new PayoutsGetRequest(null);
    $response = $client->execute($request);
    echo json_encode($response->result, JSON_PRETTY_PRINT), "\n";
  } catch(HttpException $e){
    echo $e->getMessage()
    var_dump(json_decode($e->getMessage()));

  }

运行测试

要运行集成测试,请使用您的客户端 ID 和密钥克隆此存储库并运行以下命令

$ composer install
$ CLIENT_ID=YOUR_SANDBOX_CLIENT_ID CLIENT_SECRET=OUR_SANDBOX_CLIENT_SECRET composer unit

您可以使用上面的客户端 ID 和密钥进行演示。

示例

您可以从尝试示例开始。

注意:请使用您的沙箱客户端凭据更新PayPalClient.php,或者在执行示例时将客户端凭据作为环境变量传递。

许可

代码在SDK 许可证下发布。