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

Paypal Webhook事件始终处于Pending状态,返回200仍未解决

问题排查与解决步骤

针对你遇到的PayPal Webhook事件先Pending后转为Failure的问题,核心原因大概率是PayPal未认可你的响应,以下是具体排查和解决点:

  • 确保返回无内容的200响应
    PayPal要求Webhook接收端点必须返回纯200 OK状态码且无任何响应体——哪怕是空JSON({})或空白HTML都会被判定为无效响应。很多框架的Ok()方法会默认附带空响应体,比如ASP.NET Core的return Ok()会输出{},这会触发PayPal的重试逻辑。需改为返回空结果,示例:

    // ASP.NET Core 示例
    return new EmptyResult();
    

    其他语言同理,确保响应体长度为0,且状态码严格为200。

  • 控制响应超时在15秒内
    PayPal会在15秒内等待你的响应,若超过时限即使后续返回200,也会被判定为超时并触发重试。如果事件处理逻辑耗时较长(如写库、调用第三方API),需将这些操作异步化——比如放入消息队列,先快速返回200,再后台处理业务逻辑。

  • 检查服务器TLS配置
    生产环境PayPal强制要求TLS 1.2或更高版本,且使用兼容加密套件(如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)。若服务器使用TLS 1.1及以下版本,可能导致PayPal无法正确接收响应,进而引发状态异常。

  • 确认响应头正确性
    避免设置多余的响应头字段:若无需响应体,不要设置Content-Type;若必须设置,需确保Content-Length为0,防止PayPal等待更多内容。

  • 查看Webhook重试日志
    在PayPal控制台的Webhook事件详情中,查看重试记录的响应状态码和返回内容。若显示“Invalid Response”,可直接定位到响应体或状态码的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:32:11