如何通过PayPal REST API获取用户创建Payment Method Token时所选卡/账户信息
关于通过PayPal REST API获取授权支付方式信息的解决方案
结论:可以获取用户选择的银行卡/银行账户脱敏信息,以下是具体操作要点:
确保应用权限配置正确:
你的PayPal应用必须开启vault:payment_token:read权限,可在PayPal开发者平台的「应用设置」->「权限」栏目中添加并启用该权限。把握API调用时机:
必须等用户完成PayPal授权页面的支付方式选择,并成功跳转回你的return_url之后,再调用GET /v3/vault/payment-tokens/{id}接口。如果在用户授权前调用,返回的payment_source只会包含你创建token时设置的paypal字段。解析返回结果:
授权完成后,接口返回的payment_source对象会新增对应支付方式的字段:- 若用户选银行卡,会出现
card字段,包含脱敏的卡号后四位、卡品牌、有效期、持卡人姓名等信息 - 若用户选银行账户,会出现
bank字段,包含银行名称、账户后四位等信息
示例返回(银行卡场景):
{ "id": "PAY-1234567890ABCDEF", "status": "ACTIVE", "payment_source": { "paypal": { "description": "Payment Method Token", "permit_multiple_payment_tokens": true, "usage_type": "MERCHANT" }, "card": { "last_digits": "4242", "brand": "VISA", "expiry": "08/27", "name": "TEST USER" } }, "created_time": "2024-05-20T12:34:56Z", "updated_time": "2024-05-20T12:35:00Z" }- 若用户选银行卡,会出现
SDK版本建议:
你当前使用的com.paypal.sdk.paypal-server-sdk 0.5.2版本较老,可能存在对新API字段解析不完整的问题,建议升级到最新稳定版,确保能正确处理返回的多类型支付源数据。合规说明:
PayPal仅返回脱敏后的支付方式信息,不会提供完整卡号或账户号,这和用户在PayPal「自动付款」->「付款方式」中看到的内容一致,符合支付行业合规要求。
内容的提问来源于stack exchange,提问作者Mari
相关产品推荐
相关产品推荐

