Делать POST-запрос к PayPal Checkout с PHP, как отправить параметры аутентификации? - PullRequest
0 голосов
/ 18 октября 2018

Я использую Guzzel для отправки запроса POST в API оформления платежей PayPal.Документация в PayPal только для node.js здесь https://developer.paypal.com/docs/checkout/how-to/server-integration/#2-set-up-your-server-to-call-the-paypal-api

Я пытаюсь перевести это на PHP с помощью следующего запроса:

$client = new \GuzzleHttp\Client();

$response = $client->post(
    PAYPAL_URL . 'payments/payment',
    [
        'auth' => [
            'user' => PAYPAL_ID,
            'pass' => PAYPAL_SECRET
        ],
        'form_params' => [
            'intent' => 'sale',
            'payer' => [
                'payment_method' => 'paypal'
            ],
            'transactions' => [
                'amount' => [
                    'total' => $_SESSION['grand_total'],
                    'currency' => $_SESSION['currency'] === 'pound' ? 'GBP' : 'EURO'
                ]
            ],
            'redirect_urls' => [
                'return_url' => '',
                'cancel_url' => ''
            ]
        ]
    ]
);

var_dump($response);

Я получаю ошибку авторизациивот так

'Client error: `POST https://api.sandbox.paypal.com/v1/payments/payment` resulted in a `401 Unauthorized`

Итак, я предполагаю, что отправляю свои параметры аутентификации неправильно, но я не уверен, как API PayPal хочет их форматирование?

...