2013-03-12 10 views
1

Я пытаюсь использовать новый API REST PayPal и хочу узнать, как его использовать с помощью PHP/curl.PayPal OAuth2 REST API Основы

Я новичок в использовании локона поэтому, пожалуйста, простите ...

Из документации Paypal разработчиков я собрать необходимые поля и я соединял следующее:

$ch = curl_init(); 
$postDataArray = array("grant_type=client_credentials"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postDataArray); 
curl_setopt($ch, CURLOPT_URL, 'https://api.sandbox.paypal.com/v1/oauth2/token'); 
$headerArray = array('Accept: application/json','Accept-Language: en_US'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray); 
$clientID_Secret = "clientID:secret"; 
curl_setopt($ch, CURLOPT_USERPWD, $clientID_Secret); 

следующих нескольких строк я добавил из-за googling.

curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$result = curl_exec($ch); 
print_r($result); 

Это ничего не возвращает. Пожалуйста, помогите.

+0

Здесь вы должны убедиться, что идентификатор clientID и секрет - это значения не строковых литералов: $ clientID_Secret = "clientID: secret"; – Praveen

ответ

4

вот пример: https://github.com/paypal/rest-api-curlsamples/blob/master/execute_all_calls.php

копирование локон специальный код:

$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl, CURLOPT_USERPWD, $clientId . ":" . $clientSecret); 
curl_setopt($curl, CURLOPT_HEADER, false); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); 
+0

Удивительный - спасибо. Теперь им отправиться учиться тому, как нажимать транзакцию по кредитной карте на этот метод REST. –

1

Ваш код работает. Но вы должны изменить этот $ postDataArray = array ("grant_type = client_credentials"); to $ postDataArray = "grant_type = client_credentials" ;. Необходимо удалить тип массива;