PayPal PHP платеж кредитной карты возвращает 401

Я пытаюсь произвести оплату кредитной картой через службы PayPal REST API, могу получить токен доступа, но каждый раз, когда я пытаюсь произвести оплату кредитной картой, я получаю 401.

Мой пример отлично работает на .NET, но не на PHP. Пожалуйста посоветуй

$json = '{"intent":"sale","redirect_urls":{"return_url":"","cancel_url":""},"payer":{"payment_method":"credit_card","funding_instruments":[{"credit_card":{"number":"4417119669820331","type":"visa","expire_month":11,"expire_year":2018,"cvv2":"874","first_name":"Betsy","last_name":"Buyer","billing_address":{"line1":"111 First Street","city":"Saratoga","state":"CA","postal_code":"95070","country_code":"US"}}}]},"transactions":[{"amount":{"total":"200","currency":"USD"},"description":"Credit Card Payment - $200"}]}';

$Url = "https://api.sandbox.paypal.com/v1/payments/payment";
$AccessToken = GetAccessToken();
echo "Bearer ".$AccessToken;
echo "<br><br>";
$headers = array("Authorization" => "Bearer ".$AccessToken, "Content-Type" => "text/json", "Content-length" =>strlen($json));

$handle = curl_init($Url);


curl_setopt($handle,CURLOPT_HTTPHEADER,$headers);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $json);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
$response   = curl_exec($handle);
$info = curl_getinfo($handle);
$error= curl_error ( $handle );
curl_close($handle);

var_dump($info);
echo "<br><br>";
var_dump($error);
echo "<br><br>";
var_dump($response);

полный образец здесь https://dl.dropboxusercontent.com/u/3517813/index.php

1

Решение

Мне удалось обработать его, изменив строку $ headers на:

$ headers = array («Content-Type: application / json», «Authorization: Bearer». $ AccessToken);

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]