PayPal Vault支付:沙箱环境出现400错误(PAYEE_ACCOUNT_INVALID)
问题排查:PayPal Vault支付返回PAYEE_ACCOUNT_INVALID错误
核心原因
PAYEE_ACCOUNT_INVALID错误说明请求中指定的收款账户无法被PayPal沙箱识别,或者当前应用无权向该账户发起转账。结合你的操作流程和请求内容,主要排查以下几点:
1. 收款账户与应用关联账户不匹配
你创建CADESandboxApp时关联的沙箱商家账户是sp-facilitator@l.net,但请求里transactions[0].payee字段填写的merchant_id: W7SYLKMYANP2S和隐藏邮箱,需要验证这组信息是否属于sp-facilitator@l.net账户:
- 登录PayPal开发者仪表盘,进入沙箱账户列表,找到
sp-facilitator@l.net并查看详情 - 确认该账户的**商家ID(Merchant ID)**和邮箱是否与请求中的payee信息完全一致,不一致的话直接替换为正确值
2. 无需额外指定payee字段
如果你的业务只是向自己关联的商家账户收款,完全可以删除请求中的payee对象。因为使用当前应用的凭证(绑定sp-facilitator@l.net)发起支付时,PayPal默认会将款项转入该关联账户,额外指定payee反而容易引发账户不匹配问题。
修改后的请求核心片段示例:
"transactions": [ { "amount": { "currency": "USD", "details": { "shipping": "0", "subtotal": "10.00", "tax": "0" }, "total": "10.00" }, // 删除payee字段,其他内容保留 ... } ]
3. Vault卡片的归属验证
存储在Vault中的信用卡token(CARD-617234197E5556435MSYQZ6A)是归属于特定商家账户的。如果该token是用其他商家账户创建的,现在用当前应用的sp-facilitator@l.net账户发起支付,也会触发收款账户无效错误。需要确认该token是由当前应用关联的商家账户生成的。
内容的提问来源于stack exchange,提问作者Velocedge
相关产品推荐
相关产品推荐

