Paypal API with PHP and cURL
Having a good trawl around I pieced together parts from developers with other problems. I successfully gained my access token using the following code:
<?php$ch = curl_init();$clientId = "myId";$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_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);?>
@Lee point the right way but if u are using and old php version it wont work. But Lee version will not show up the error. Use these instead, i only add the error part to see what is going on.
$ch = curl_init();$clientId = "";$secret = "";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_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);$err = curl_error($ch);$access_token="";if ($err) { echo "cURL Error #:" . $err;}else{ $json = json_decode($result); // print_r($json->access_token); $access_token = $json->access_token;}
If u are having and old PHP version it is posible it wont work and it will show this error:
cURL Error #:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Just stack overflow it!Here they discuss the problem