Paypal Payout SDK with Composer をセットアップしました。
Paypal は、Payouts-Feature が私のアカウントで有効になっていることを保証してくれました。新しい Live Rest-App を作成し、PayPalClient クラスで Client-ID と Client-Secret を使用しました。
<?php
namespace PaypalPayoutsSDK\Payouts;
use PaypalPayoutsSDK\Core\PayPalHttpClient;
use PaypalPayoutsSDK\Core\ProductionEnvironment;
class PayPalClient {
public static function client() {
return new PayPalHttpClient(self::environment());
}
public static function environment() {
$clientId = getenv("CLIENT_ID") ?: "my-client-id";
$clientSecret = getenv("CLIENT_SECRET") ?: "my-client-secret";
return new ProductionEnvironment($clientId, $clientSecret);
}
}
?>
今、私は簡単な取引をしたいと思っています。PayPal Payout SDK に含まれているサンプルを使用し、上記の PayPalClient を使用して支払いを作成しました。
<?php
require __DIR__ . '/vendor/autoload.php';
use PaypalPayoutsSDK\Payouts\PayPalClient;
use PaypalPayoutsSDK\Payouts\PayoutsPostRequest;
$request = new PayoutsPostRequest();
$body= json_decode(
'{
"sender_batch_header":
{
"email_subject": "SDK payouts test txn"
},
"items": [
{
"recipient_type": "EMAIL",
"receiver": "myname@gmail.com",
"note": "Your 4$ payout",
"sender_item_id": "Test_txn_12",
"amount":
{
"currency": "USD",
"value": "4.00"
}
}]
}',
true);
$request->body = $body;
$client = PayPalClient::client();
$response = $client->execute($request);
?>
ただし、ファイルを実行すると、次のエラーが発生します。
Fatal error: Uncaught PayPalHttp\HttpException: {"name":"AUTHORIZATION_ERROR","message":"Authorization error occurred.","debug_id":"d3c2fe720217b","information_link":"https://developer.paypal.com/docs/api/payments.payouts-batch/#errors","links":[]} in /hermes/bosnaweb27a/b1507/dom.mydomain/mydomain/payment/vendor/paypal/paypalhttp/lib/PayPalHttp/HttpClient.php:215 Stack trace: #0 /hermes/bosnaweb27a/b1507/dom.mydomain/mydomain/payment/vendor/paypal/paypalhttp/lib/PayPalHttp/HttpClient.php(100): PayPalHttp\HttpClient->parseResponse(Object(PayPalHttp\Curl)) #1 /hermes/bosnaweb27a/b1507/dom.mydomain/mydomain/payment/payuser.php(37): PayPalHttp\HttpClient->execute(Object(PaypalPayoutsSDK\Payouts\PayoutsPostRequest)) #2 {main} thrown in /hermes/bosnaweb27a/b1507/dom.mydomain/mydomain/payment/vendor/paypal/paypalhttp/lib/PayPalHttp/HttpClient.php on line 215
エラーは HTTPClient で発生しているようです。Paypal のテクニカル アシスタントにも同じ情報を提供しましたが、彼は何も知らないようでした。
ここで何が問題になる可能性があります。Client-ID と Client-Secret は正しいと確信しています。すでに新しい REST-APP で試しました。おそらく私のコードに何か問題がありますか?それとも、何かが足りないのですか?