我正在尝试在网站上设置 PayPal 登录,并使用 PayPal 网站上的自定义按钮生成器制作登录按钮:
<div id="proceed-to-confirmation-page-link" class="text-right">
<span id="lippButton"></span>
</div>
<script src='https://www.paypalobjects.com/js/external/api.js'></script>
<script>
paypal.use(['login'], function (login) {
login.render({
"appid": "<MY APP ID>",
"authend": "sandbox",
"scopes": "openid profile address",
"containerid": "lippButton",
"locale": "en-us",
"text": "Login to PayPal to order",
"redirect_uri": "<MyRedirectURI>"
});
});
</script>
我已经验证了 appid 和 redirect_uri 是正确的。我都试过了 http://localhost:####/myredirecturi和 http://www.myproductionsite.com/myredirecturl .我已经在 developer.paypal.com 上添加了这两个返回 url,并等待了三个小时或更长时间。
无论我做什么,我都会收到错误消息: 对于那个很抱歉 看起来不支持此操作。请返回并报告此错误,以便我们将来支持它。 (无效的 client_id 或 redirect_uri)
我明白错误信息的意思,但我已经三重检查这些信息是否正确。我错过了什么?
我阅读了 PayPal 的文档,但它严重不足——它解释了应该发生的事情,但几乎没有提供有关授权代码应该如何返回到我的站点的任何详细信息。如果您能指出更多文档,我将不胜感激。
最佳答案
这是对我的问题的部分回答:我曾尝试使用 key “redirect_uri”而不是“returnurl”,因为我曾在其他人的资料中看到过它。事实证明“returnurl”是正确的。
<div id="proceed-to-confirmation-page-link" class="text-right">
<span id="lippButton"></span>
</div>
<script src='https://www.paypalobjects.com/js/external/api.js'></script>
<script>
paypal.use(['login'], function (login) {
login.render({
"appid": "<MY APP ID>",
"authend": "sandbox",
"scopes": "openid profile address",
"containerid": "lippButton",
"locale": "en-us",
"text": "Login to PayPal to order",
"redirect_uri": "<MyRedirectURI>"
});
});
</script>
但是,我仍然不知所措,不知道 PayPal 如何返回确认用户已登录的授权码。我在 session 中没有看到任何内容。
关于javascript - PayPal Oauth 上的 return_uri 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805904/