PayPal redirects to the same popup window(贝宝重定向到同一个弹出窗口)
问题描述
我在我的网页中集成了 PayPal 的身份 API.像往常一样,当用户点击 login with paypal
(
请参阅将父页面重新加载到特定 URL"并将此脚本添加到返回和取消页面中.
I integrated PayPal's Identity API in my webpage. As usual when user clicks login with paypal
(JavaScript button) it opens a new window for login purpose. But after a valid login it redirect me to the same popup window.
Note: I replaced my domain name as domain
App return URL (test): http://domain.esy.es/index.php/users/paypalidentity
View
//url http://domain.esy.es/index.php
<span id="paypalButton"></span>
<script src="aHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vanMvZXh0ZXJuYWwvYXBpLmpz"></script>
<script>
paypal.use( ["login"], function(login) {
login.render ({
"appid": MYAPPID,
"authend": "sandbox",
"scopes": "openid email profile address phone https://uri.paypal.com/services/paypalattributes",
"containerid": "paypalButton",
"locale": "en-us",
"returnurl": "http://domain.esy.es/index.php/users/paypalidentity"
});
});
</script>
Controller
//url http://domain.esy.es/index.php/users/paypalidentity
require_once __DIR__ . '/../../vendor/autoload.php';
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$code = $_REQUEST['code'];
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$params = array(
'client_id' => MYCLIENTID,
'client_secret' => MYSECRET,
'code' => $code
);
$token = PPOpenIdTokeninfo::createFromAuthorizationCode($params,$apicontext);
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$params = array('access_token' => $token->getAccessToken());
$user = PPOpenIdUserinfo::getUserinfo($params,$apicontext);
$this->session->set_userdata(
array(
'name'=>$user->getName()
)
);
redirect(base_url());
Successful Login
Redirecting to the configured redirect URL
I had the exact problem, but the solution is in the documentation here:
https://developer.paypal.com/docs/classic/express-checkout/digital-goods/ClosingWindow/
Refer to "Reloading Parent Page to a Specific URL" and add this script to the return and cancel pages.
<script>
top.window.opener.location ='http://your-url-here.html';
// if you want to close the window
// window.close();
</script>
这篇关于贝宝重定向到同一个弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:贝宝重定向到同一个弹出窗口


- PHP - if 语句中的倒序 2021-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01