PHP调用PayPal Authorise REST API遇“Payee is Invalid”错误求助
PayPal授权API调用报错:"Payee is Invalid"
我用PHP调用PayPal Authorise REST API的代码如下:
$authResponse = Http::withToken($accessToken)->post("{$this->baseUrl}/v1/payments/payment", [ "intent" => "authorize", "payer" => [ "payment_method" => "credit_card", "funding_instruments" => [ [ "credit_card_token" => [ "credit_card_id" => $cardId ] ] ] ], "transactions" => [ [ "amount" => [ "total" => "1.00", "currency" => "USD" ], "description" => "Card verification test" ] ] ]);
调用API执行支付授权时,收到响应:
"Payee is Invalid"
我已经成功获取了access_token,既然收款人信息无效,为什么获取token的请求能成功?
问题原因
获取access_token的/v1/oauth2/token接口只校验API凭证(Client ID和Secret)的有效性,只要这两个参数正确,就能返回有效token,完全不会涉及收款账户的状态或配置检查。
而创建支付授权的/v1/payments/payment接口需要校验整个支付链路的合法性,包括收款人信息:
- 你的收款账户可能未开通信用卡收款权限,或未完成商家认证
- 请求中未明确指定收款人信息,PayPal无法匹配到有效收款账户
- 收款账户处于未激活、受限状态
解决建议
- 确认PayPal商家账户已完成认证,且开通了信用卡收款功能
- 在支付请求中明确添加
payee字段指定收款账户:"payee" => [ "email" => "your-merchant-email@example.com" ] - 检查收款账户是否存在违规记录或限制,确保账户状态正常
内容的提问来源于stack exchange,提问作者The Vottux
相关产品推荐
相关产品推荐

