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

Adyen测试环境支付请求返回401 Unauthorized问题排查求助

排查Adyen测试环境401 Unauthorized问题的常见方向

我帮你梳理下Adyen测试环境反复出现401 Unauthorized的常见排查点,你可以逐一核对:

  • 别搞混测试/生产环境的凭证
    Adyen的测试环境和生产环境有完全独立的API凭证体系,哪怕你在生产环境的凭证没问题,用到测试环境也会直接401。登录Adyen后台后,一定要切换到Developers > API credentials下的Test标签页,确认你用的是这里生成的Web Service User凭证,而非Live标签下的。

  • 检查新建用户的权限配置
    新建Web Service User后,默认可能没有分配支付相关的权限。你需要进入用户编辑页面的Permissions标签,确保勾选了和支付请求对应的权限(比如Payments - Submit),权限不足也会触发401错误。

  • 验证API端点是否正确
    测试环境和生产环境的API端点不一样,比如支付请求的测试端点通常是https://checkout-test.adyen.com/v68/payments(版本号以官方最新为准)。如果你不小心配置成了生产环境的端点,哪怕凭证正确也会返回401。检查你的curl请求URL,以及PHP库初始化时设置的环境是否为测试环境:

    $client->setEnvironment(\Adyen\Environment::TEST);
    
  • 核对认证方式是否正确
    Adyen支持两种认证方式:Basic Auth和API Key,别搞混了:

    • 如果用Basic Auth:需要把用户名:密码做Base64编码后,放在Authorization: Basic 编码后的字符串请求头里;
    • 如果用API Key:要确保请求头是Authorization: ApiKey 你的测试API密钥,并且这个密钥是从测试环境凭证里获取的。
      PHP库初始化时也要对应设置:
    // Basic Auth 示例
    $client->setUsername("你的测试用户名");
    $client->setPassword("你的测试密码");
    
    // API Key 示例
    $client->setXApiKey("你的测试API密钥");
    
  • 排查网络代理/防火墙的干扰
    有些公司的网络代理会拦截或修改请求头,导致Authorization头丢失或被篡改。可以尝试用个人网络直接发起请求,或者检查代理服务器是否允许传递自定义的Authorization头。

  • 查看Adyen后台的详细错误日志
    登录Adyen后台,进入Developers > Error logs,里面会记录每个失败请求的具体原因(比如“invalid credentials”、“insufficient permissions”),这能帮你快速定位问题根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:40:20