2016-05-16 145 views
2

你好我使用的代碼被其他人認爲已經得到它的工作,並獲得他們的令牌信息檢索。代碼如下:PayPal獲取訪問令牌與PHP cURL

$ch = curl_init(); 
$clientId = "myclientid"; 
$secret = "mysecret"; 

curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token"); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSLVERSION , 6); //NEW ADDITION 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$secret); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials"); 

$result = curl_exec($ch); 

if(empty($result))die("Error: No response."); 
else 
{ 
    $json = json_decode($result); 
    print_r($json->access_token); 
} 

curl_close($ch); //THIS CODE IS NOW WORKING! 

我取回從Paypal API with PHP and cURL這個代碼,並已經看到了一些其他民族的代碼實現的,所以我認爲它的工作原理。然而,即使我提供了正確的客戶端ID和密碼(可能是最近的更新已打破此代碼?),我只收到沒有迴應。

通過貝寶上獲得訪問令牌所提供的指南發現這裏 - >https://developer.paypal.com/docs/integration/direct/make-your-first-call/ 但它表明了捲曲的解決方案,而不是通過PHP cURL擴展因此它的小有一點神祕的給我。任何幫助?

回答

1

看來現在需要聲明使用什麼類型的SSL版本,因此插入curl_setopt($ch, CURLOPT_SSLVERSION , 6); //tlsv1.2時上述代碼將工作。