Paypal API with PHP and cURL

前端 未结 3 1857
[愿得一人]
[愿得一人] 2020-12-13 09:38

I\'m attempting \"the first call\" as outlined by the Paypal API documentation. This is the example provided that I\'m following:

curl https://api.sandbox.pa         


        
相关标签:
3条回答
  • 2020-12-13 09:58

    JSON and US English appear to be the Defaults, but to be in perfect compliance, add the following line:

    curl_setopt($ch, CURLOPT_HTTPHEADER, "Accept: application/json, Accept-Language: en_US");
    
    0 讨论(0)
  • 2020-12-13 10:14

    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);
    
    ?>
    
    0 讨论(0)
  • 2020-12-13 10:19

    @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

    0 讨论(0)
提交回复
热议问题