0

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 で試しました。おそらく私のコードに何か問題がありますか?それとも、何かが足りないのですか?

4

1 に答える 1