通过Paypal Javascript登录按钮检索用户信息
我集成了paypal登录按钮(javascript按钮),当我点击它时,它会进入paypal站点进行身份验证 下面是我的贝宝按钮代码通过Paypal Javascript登录按钮检索用户信息,javascript,php,paypal,Javascript,Php,Paypal,我集成了paypal登录按钮(javascript按钮),当我点击它时,它会进入paypal站点进行身份验证 下面是我的贝宝按钮代码 <span id="paypal"></span> <script src="https://www.paypalobjects.com/js/external/api.js"></script> <script> var url = document.URL; p
<span id="paypal"></span>
<script src="https://www.paypalobjects.com/js/external/api.js"></script>
<script>
var url = document.URL;
paypal.use( ["login"], function(login) {
login.render ({
"appid": "***",
"authend": "sandbox",
"scopes": "profile email address phone https://uri.paypal.com/services/paypalattributes",
"containerid": "paypal",
"locale": "en-us",
"returnurl": "http://stereotribes.dev/login"
});
});
</script>
var url=document.url;
paypal.use([“login”],函数(login){
login.render({
“appid”:“***”,
“authend”:“沙盒”,
“范围”:“配置文件电子邮件地址电话”https://uri.paypal.com/services/paypalattributes",
“集装箱运输”:“贝宝”,
“区域设置”:“en us”,
“返回URL”:http://stereotribes.dev/login"
});
});
成功验证后,它会再次将我重定向到服务器url
现在我的问题是如何在完成身份验证后接收用户信息
我在paypal网站上搜索过,但我不清楚如何检索用户信息
有人能帮我吗
提前感谢看一看。当事务发生时,它会立即将事务数据发布到您在服务器上配置的侦听器脚本中,这样您就可以实时自动化更新数据库、发送电子邮件通知等任务
如果您需要返回URL上的可用数据,您可以使用,这与IPN非常相似。唯一的一点是,如果人们出于某种原因没有返回到您的返回URL,那么该代码将永远不会运行,因此不建议您从返回URL执行任何数据库更新、电子邮件通知或类似操作
同样,无论他们是否返回,IPN都将被触发,因此您可以放心,代码将按预期运行。在浪费了一天之后,我提出了以下代码(解决方案),希望它可以节省一些人的时间 在我的返回url(“”)中,我编写了以下代码
if($_REQUEST['code']) {
$model->getPaypalEmail($_REQUEST['code']);
}
$\u请求['code'](令牌)
将由paypal发送,我们已通过curl发送回相同的代码以确认身份
public function getPaypalEmail($code){
if($code){
$strGetCodePaypalLoginDetails = $code;
if ($strGetCodePaypalLoginDetails != '') {
// Change this curl_init url according to your environment.
$ch = curl_init("https://api.sandbox.paypal.com/v1/identity/openidconnect/tokenservice");
$flag_result = 1;
curl_setopt_array($ch, array(
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => 'client_id=********&client_secret=*****&grant_type=authorization_code&code=' . $strGetCodePaypalLoginDetails,
CURLOPT_RETURNTRANSFER => 1
)
);
$arrResponse = curl_exec($ch);
if ($arrResponse === false) {
$arrResponseToken = 'Curl error: ' . curl_error($ch);
$flag_result = 0;
} else {
//Operation completed without any errors
$arrResponse = json_decode($arrResponse);
$strAccess_Token = $arrResponse->{'access_token'};
// Change this curl_init url according to your environment.
$chToken = curl_init("https://api.sandbox.paypal.com/v1/identity/openidconnect/userinfo/?schema=openid&access_token=" . $strAccess_Token);
curl_setopt_array($chToken, array(
CURLOPT_RETURNTRANSFER => 1
)
);
$arrResponseToken = curl_exec($chToken);
if ($arrResponseToken === false) {
$arrResponseToken = 'Curl error: ' . curl_error($chToken);
$flag_result = 0;
}
}
}
$arrResponseToken = json_decode($arrResponseToken, true);
print_r($arrResponseToken); //here you will get info from paypal
}
}
在这里我不付款。我只想用户信息,如电子邮件,地址等…这就是我解释的。当您收到付款时,将触发IPN,它将包含您需要的关于付款人的所有详细信息。