我正在使用 paypal-rest-sdk 库在 Nodejs 上实现 paypal。我想在我的网络平台上为用户创建登录贝宝链接。所以我做以下事情:
const openIdConnect = paypal.openIdConnect;
paypal.configure({
mode: 'sandbox', // or 'live'
openid_client_id: 'AYJ0Tn4QXkEod4LCRCh9wHvgHAksjCrPnKtrOQ42cuItcaGaXQLytqc_5-t65wgPTBDUdc0uoujUy0Dw',
openid_client_secret: 'EEXdVti1MBWOxrsV_9DsPk_fdqxP200owtdbU6WUGTaZv8ZitF5WPtqsNHh-fJ_BaJ9wnoL6JVgaACbF',
openid_redirect_uri: 'https://stage.superfam.com'
});
console.log(openIdConnect.authorizeUrl({ 'scope': 'openid profile email' }));
After that i get login paypal link: https://www.sandbox.paypal.com/signin/authorize?client_id=AYJ0Tn4QXkEod4LCRCh9wHvgHAksjCrPnKtrOQ42cuItcaGaXQLytqc_5-t65wgPTBDUdc0uoujUy0Dw&scope=openid%20profile%20email&response_type=code&redirect_uri=https%3A%2F%2Fstage.superfam. com
但是当我尝试使用我的沙盒帐户登录时出现错误:您的某些信息不正确。请重试。 我在开发者帐户和错误屏幕上提供了我的应用程序设置的屏幕截图:
当我尝试仅通过链接登录https://www.sandbox.paypal.com/signin/但不使用上面链接中的同一帐户
时它有效############################### 生成的 html/js 按钮:
<span id='lipButton'></span>
<script src='https://www.paypalobjects.com/js/external/api.js'></script>
<script>
paypal.use( ['login'], function (login) {
login.render ({
"appid":"AYJ0Tn4QXkEod4LCRCh9wHvgHAksjCrPnKtrOQ42cuItcaGaXQLytqc_5-t65wgPTBDUdc0uoujUy0Dw",
"authend":"sandbox",
"scopes":"openid email",
"containerid":"lipButton",
"responseType":"code",
"locale":"en-us",
"theme":"neutral",
"buttonType":"LWP",
"buttonShape":"pill",
"buttonSize":"lg",
"fullPage":"true",
"returnurl":"https://stage.superfam.com"
});
});
</script>
沙盒帐户凭据:
你提到的 SDK 三年前就被弃用了。不要使用它。
标准结帐集成指南 有没有 SDK 的示例结帐代码,您可以根据需要适应 使用 PayPal 登录 集成,尽管在那里创建一个 JS 按钮比重定向更可取。
关于屏幕截图中的错误,在仪表板中创建一个新的沙箱帐户,在电子邮件标识符中不包含
+
,并使用它来登录。沙箱从不发送真实的电子邮件,因此电子邮件标识符可以是弥补。