php - PayPal Rest API PHP cURL 登录/身份验证不再工作
问题描述
大约 2 周前,我们设置了一个 PayPal 快速结账,它运行良好,直到几天前它没有。在 PayPal 上,交易正常,但是当我尝试使用 cURL 登录以检查交易时,初始商家/客户登录失败,但 cURL 没有显示错误。我知道 PayPal 正在升级到 TLS 1.2 和 HTTP/1.1,但我做了测试检查我们的服务器/站点是否通过。
这就是我开始与贝宝通信的方式(这一直有效):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://paypal.com/v1/oauth2/token');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERPWD, 'CLIENT_ID:SECRET');
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
$result = curl_exec($ch);
现在如果我打印出 $result 它是空的,如果我打印出 curl_errno 它的 0 和 curl_error 也是空的
所以因为 TLS 1.2 我修改了这样的代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://paypal.com/v1/oauth2/token');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERPWD, 'CLIENT_ID:SECRET');
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
$result = curl_exec($ch);
但它的失败与前面的代码完全相同。
可能是什么问题呢?或者如果登录正常,结果是否可能为空?
解决方案
推荐阅读
- javascript - node.js req.body 返回未定义(已解决)
- android - 在运行反应本机(cli)应用程序时停留在命令提示符上的空闲状态
- r - 带有嵌入式 R 代码的 Rcpp,不显示 R 代码的输出
- c# - 为什么 C# 在使用 GetComponent 时看不到另一个脚本中的变量?C#
- c++ - 将模板用作数组维度时,模板如何工作?
- python - 我无法在 kali 20.04 上安装“python-gtk2”
- javascript - 为什么在 ReactJS 中更新状态时,我的数据在旧数据和新数据之间闪烁?
- css - 如何在 vuetify 中设置如下链接图像的图像?
- elasticsearch - Logstash 从不同类型的消息中提取数据
- jupyter-notebook - 无法同情以减少差异表达