You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP集成PayPal API提示传入令牌不存在问题排查

问题原因

调用接口返回The token passed in was not found in the system是PayPal环境不匹配导致的:

  • 获取访问令牌的代码调用的是沙箱测试环境接口https://api.sandbox.paypal.com/v1/oauth2/token,生成的token仅在沙箱环境有效
  • 后续发起支付请求时,你调用的是正式生产环境接口https://api.paypal.com/v1/payments/payment

PayPal沙箱和生产环境的凭证、token完全隔离,生产环境无法识别沙箱生成的token,就会抛出该错误。

修复方法

根据当前使用场景统一两个接口的环境域名即可:

  • 开发调试阶段:把支付请求的接口地址改为沙箱地址,和获取token的环境保持一致
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payment");
  • 正式上线阶段:把获取token的接口地址替换为生产环境地址https://api.paypal.com/v1/oauth2/token,同时确认代码中配置的$PAYPAL_CLIENT_ID和$PAYPAL_SECRET是生产环境的应用凭证,不要混用沙箱凭证。
其他优化建议
  • 生产环境不要设置CURLOPT_SSL_VERIFYPEER => false,该配置会绕过SSL证书校验,存在中间人攻击的安全风险,正式环境请开启该选项并配置正确的CA证书路径。
  • 不建议直接拼接字符串生成JSON请求体,若传入参数包含双引号、特殊字符会导致JSON格式解析失败,推荐先构造PHP数组,再通过json_encode()函数生成合法的请求JSON内容。
  • 你当前使用的v1/payments是PayPal旧版接口,官方已逐步推进弃用流程,长期使用建议迁移到最新的V2版本支付接口。

内容的提问来源于stack exchange,提问作者Amy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:42:28