php - cURL Paypal Identity API 响应提供商家信息,而不是付款人
问题描述
我已经有一个带有适当电子邮件权利的贝宝身份应用程序,我正在尝试通过此脚本向用户发送电子邮件:
<?php
$clientId = 'myclientid';
$clientSecret = 'myclientsecret';
//SEND CURL API REST REQUEST
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.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.":".$clientSecret);
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);
}
$access_token = $json->access_token;
curl_close($ch);
///////////////////////////////////////////////////////////////////////
//GET CURL API REST REQUEST BACK
$cha = curl_init();
curl_setopt($cha, CURLOPT_URL, 'https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid');
curl_setopt($cha, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cha, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. $access_token, 'Content-Type:
application/json'));
curl_setopt($cha, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$returnresult = curl_exec($cha);
$data = json_decode($returnresult, true);
$http_code = curl_getinfo($cha, CURLINFO_HTTP_CODE);
if($http_code != 200) {
throw new Exception('Error : Failed to get user information');
}else{
//STORE RETREIVED VALUES HERE//////////////////
$paypaldata = implode(',',$data);
curl_close($cha);
if (!empty($paypaldata)) {
//Do stuff with $paypaldata
}
}
?>
但是 var paypaldata 中存储的响应是商家的数据,我正在寻找登录的用户数据。我不确定我做错了什么,是的,我可以确保在执行测试时我没有以商家身份登录。
解决方案
推荐阅读
- excel - 有没有办法命名从 excel VBA 中的 URL 调用下载的文件
- javascript - 如何在 vueJs 测试中模拟调度
- c# - 与同一层上的对象碰撞时,光线投射不会丢弃抓取的对象
- eclipse - 是什么导致 Eclipse 在编译之前不显示 FXML 文件错误?
- apache-spark - Spark:每天从 Cassandra 读取并保存到镶木地板,如何只读取新行?
- url-rewriting - 带有 URL 重写的 signin-oidc 回调 404
- php - 来自数据库的错误数据
- .net - Task.Run(方法组)与 Task.Run(lambda)
- reactjs - gitlab-ci 配置,管道卡在单元测试中
- c# - DataTable 未在 sql server 中完全填充数据类型