尝试使用 PayPal 的 api 并需要帮助将 Curl 转换为 PHP
Posted
技术标签:
【中文标题】尝试使用 PayPal 的 api 并需要帮助将 Curl 转换为 PHP【英文标题】:Trying to use PayPal's api and need help converting Curl to PHP 【发布时间】:2014-08-24 17:42:04 【问题描述】:这是 PayPal 获取访问令牌的基本沙盒请求。
$curl = "curl -v https://api.sandbox.paypal.com/v1/oauth2/token
-H 'Accept: application/json' \
-H 'Accept-Language: en_US' \
-u 'EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp'
-d 'grant_type=client_credentials'";
到目前为止,这是我所获得的转换,但它失败了。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/x-www-form-urlencoded',
'Connection: Keep-Alive',
'Accept-Language: en_US',
'Accept: applictaion/json'
));
curl_setopt($ch, CURLOPT_USERPWD, 'EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
print 'Running curl';
$res = curl_exec($ch);
echo $res;
curl_close($ch);
【问题讨论】:
【参考方案1】:尝试删除
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/x-www-form-urlencoded',
'Connection: Keep-Alive',
'Accept-Language: en_US',
'Accept: applictaion/json'
));
我复制并粘贴了您的代码,只是删除了 CURLOPT_HTTPHEADER 选项,它起作用了!
【讨论】:
我不知道你是怎么做到的,我按照你说的做了,屏幕上什么也没有显示 你能卷曲吗?你的 curl 扩展可能有问题。这也可能对您有所帮助:***.com/questions/15729167/…以上是关于尝试使用 PayPal 的 api 并需要帮助将 Curl 转换为 PHP的主要内容,如果未能解决你的问题,请参考以下文章
我需要帮助查找 Paypal ClientID 和 ClientSecret ID [关闭]
使用 Omnipay 将 PayPal REST API 集成到 Laravel - 需要 card 参数
使用 Paypal API / SDK,我将如何检查某个订阅 ID? C#