如何通过PayPal REST API获取用户账户类型以限制个人账户?
解决PayPal登录后获取账户类型(account_type)的问题
PayPal的/v1/identity/oauth2/userinfo和v1/identity/openidconnect/userinfo这两个接口确实不会返回account_type字段,要拿到账户类型得换用另一个接口:
- 调用
/v1/identity/accounts接口,这个接口专门用于获取用户的PayPal账户详情,其中就包含你需要的account_type(取值为PERSONAL、BUSINESS等)。 - 前提条件:你的PayPal应用必须拥有
identity:accounts权限。在PayPal开发者平台创建/编辑应用时,要在权限列表里勾选“View user's PayPal account information”对应的权限;同时在OAuth授权流程中,必须请求identity:accounts这个scope,否则调用接口会返回权限不足的错误。 - 调用示例:用登录后获取的access token发送GET请求到目标环境地址:
- 沙箱:
https://api-m.sandbox.paypal.com/v1/identity/accounts - 生产环境:
https://api-m.paypal.com/v1/identity/accounts
响应里的account_type字段就是你需要的账户类型标识。
- 沙箱:
另外测试时注意:沙箱环境的测试账户要提前设置好对应的类型(个人/企业),避免因为测试数据问题导致结果不符合预期。
内容的提问来源于stack exchange,提问作者Yaroslav Kravchenko
相关产品推荐
相关产品推荐

