沙盒环境中PayPal Login按钮无法登录问题求助
问题
我正在搭建支持PayPal Login登录的网站,因上线需经过PayPal审批,故在沙盒环境中进行测试。我按照文档指引将用户重定向至PayPal登录页,代码如下:
const CLIENT_ID = "MY_CLIENT_ID" const BASE_URL = "https://www.sandbox.paypal.com/connect" const SCOPES = "openid email" const REDIRECT_URL = encodeURIComponent("https://my.webiste.com") const URL = `${BASE_URL}?flowEntry=static&client_id=${CLIENT_ID}&scope=${SCOPES}&redirect_uri=${REDIRECT_URL}&state=123456` <div > <button> <a href={URL}>Login with Paypal</a> </button> </div>
但我遇到了无法使用现有任何凭证/账户登录的问题。我已尝试两种方法:
- 使用与上述凭证关联的账户,出现错误(截图已隐去邮箱);
- 使用PayPal开发者门户中现成的沙盒账户(如
sb-sk9y4897349@business.example.com),仍出现相同错误。
URL可正常跳转至PayPal OAuth登录页,请问我遗漏了什么?测试沙盒版PayPal Login功能应使用何种账户?
回答
- 重定向URL必须严格匹配配置:你代码里的
https://my.webiste.com存在拼写错误(应为website),且该URL必须和PayPal开发者平台中对应APP的沙盒环境重定向URL完全一致——包括协议、域名、路径,不能有拼写错误,也不能多/少末尾斜杠,否则会触发验证失败。 - 使用正确的沙盒账户类型:测试PayPal Login OAuth流程,必须使用PayPal开发者门户创建的沙盒个人账户(Personal Sandbox Account),你尝试的
sb-xxx@business.example.com是业务账户,这类账户用于模拟商家操作,无法作为用户完成登录授权。 - 校验Client ID与环境匹配:确保你使用的
MY_CLIENT_ID是沙盒环境生成的凭证,生产环境的Client ID无法在沙盒中正常使用。 - 确认权限范围配置:虽然
openid email是基础授权范围,但需在PayPal开发者后台确认对应APP已开启相关权限,否则会导致授权失败。
内容的提问来源于stack exchange,提问作者floyergilmour
相关产品推荐
相关产品推荐

