2014-11-18 3 views
0

Для моего проекта я пытаюсь использовать REST api для обработки повторяющихся платежей. Я установил соглашение о выставлении счетов, и все работает нормально, но у меня возникают проблемы с поиском транзакций.Paypal 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.

+0

Не уверен, что причина, но вы пытались использовать официальный REST SDK для PayPal.https: //github.com/paypal/PayPal-PHP-SDK Также вы можете проверить образцы, представленные здесь http://htmlpreview.github.io/?https://github.com/paypal/PayPal-PHP-SDK /blob/master/sample/index.html. Все они могут быть выполнены с использованием SDK PayPal. –

ответ

2

Похоже изменения 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" 
     } 
    ] 
} 
+0

спасибо @pierre. – subhajit

1

У меня была точно такая же ошибка при попытке выполнить платеж. Оказалось, что я отправляю неправильный 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)

Смежные вопросы