【问题标题】:Paypal get access token with PHP cURLPaypal 使用 PHP cURL 获取访问令牌
【发布时间】:2016-09-12 17:33:07
【问题描述】:

您好,我正在使用其他人使用的代码,这些人据说已经让它工作并检索了他们的令牌信息。代码如下:

$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 和密码,我也没有收到任何响应(也许最近的更新破坏了此代码?)。

Paypal 提供的获取访问令牌的指南可在此处找到-> https://developer.paypal.com/docs/integration/direct/make-your-first-call/ 但是它演示了 cURL 中的解决方案,而不是通过 PHP cURL 扩展,所以它对我来说有点神秘。有什么帮助吗?

【问题讨论】:

    标签: php curl paypal


    【解决方案1】:

    好吧,现在似乎需要声明要使用哪种类型的 SSL 版本,因此上面的代码将在插入 curl_setopt($ch, CURLOPT_SSLVERSION , 6); //tlsv1.2 时起作用。

    【讨论】:

      【解决方案2】:

      刚刚测试了 API,我可以确认这段代码可以正常工作:

      (无 SSL 选项)

          $curl = curl_init();
          curl_setopt_array($curl, array(
          CURLOPT_URL => "https://api.sandbox.paypal.com/v1/oauth2/token",
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_ENCODING => "",
          CURLOPT_MAXREDIRS => 10,
          CURLOPT_TIMEOUT => 30,
          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
          CURLOPT_CUSTOMREQUEST => "POST",
          CURLOPT_USERPWD => $PAYPAL_CLIENT_ID.":".$PAYPAL_SECRET,
          CURLOPT_POSTFIELDS => "grant_type=client_credentials",
          CURLOPT_HTTPHEADER => array(
          "Accept: application/json",
          "Accept-Language: en_US"
          ),
          ));
      
          $result= curl_exec($curl);
      
          $array=json_decode($result, true); 
          $token=$array['access_token'];
      
          echo "<pre>";
          print_r($array);
      

      【讨论】:

        猜你喜欢
        • 2021-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 2017-03-22
        • 2017-10-27
        • 2019-02-14
        相关资源
        最近更新 更多