Для моего проекта я пытаюсь использовать REST api для обработки повторяющихся платежей. Я установил соглашение о выставлении счетов, и все работает нормально, но у меня возникают проблемы с поиском транзакций.
Я использую curl в PHP.
Это мой код:
$url = "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-8E0VJL3DEL9N//transaction?start-date=2012-04-10&end-date=2014-11-18" ;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPGET, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer A015zQG9wQ6uBkQE39DRk5eeBVqw67NFVx3ReErsG-80Qwg',
'Content-Type: application/json'
));
$result = curl_exec($curl);
if(empty($result))die(curl_error($curl)); // Retourne l'erreur
else
{ // Je récupère les infos renvoyés par le serveur
$json = json_decode($result);
// Récupération de l'adresse de la transaction
}
curl_close($curl);
// Fin de l'agreement
Когда я использую скрипт, он возвращает мне эту ошибку:
java.lang.NullPointerException
Я не знаю, откуда моя проблема; Я пробовал много разных вещей, но ничего не работает, и у меня все еще есть тот же ответ в $result
.
Похоже, изменение URL-адреса:
https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-8E0VJL3DEL9N/transactions?start_date=2012-04-10&end_date=2014-11-18
делает трюк:
{
"agreement_transaction_list": [
{
"payer_email": "",
"payer_name": "Test Buyer",
"status": "Created",
"time_stamp": "2014-11-18T18:12:58Z",
"time_zone": "GMT",
"transaction_id": "I-8E0VJL3DEL9N",
"transaction_type": "Recurring Payment"
},
{
"payer_email": "",
"payer_name": "Test Buyer",
"status": "Suspended",
"time_stamp": "2014-11-18T18:14:26Z",
"time_zone": "GMT",
"transaction_id": "I-8E0VJL3DEL9N",
"transaction_type": "Recurring Payment"
},
{
"payer_email": "",
"payer_name": "Test Buyer",
"status": "Reactivated",
"time_stamp": "2014-11-18T18:16:20Z",
"time_zone": "GMT",
"transaction_id": "I-8E0VJL3DEL9N",
"transaction_type": "Recurring Payment"
}
]
}
У меня была такая же ошибка при попытке выполнить платеж. Оказалось, что я отправляю неправильный URL. Проверьте правильность URL.
т.е.:
https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-8E0VJL3DEL9N//transactions
вместо:
https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-8E0VJL3DEL9N//transaction
(+s)