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

PayPal沙盒取消订阅BILLING.SUBSCRIPTION.CANCELLED webhook推送异常

PayPal沙盒订阅取消Webhook一直Pending问题解答

BILLING.SUBSCRIPTION.CANCELLED事件既不需要等订阅到期才推送,也没有预设的数小时安全延迟规则,你遇到的pending状态是Webhook首次投递失败、PayPal启动重试机制导致的。

核心判断依据

从提供的事件详情可以直接验证:

  • 订阅取消完成时间为2022-07-04T17:51:25Z,Webhook事件生成时间为2022-07-04T17:51:34.874Z,首次投递尝试时间为2022-07-04T17:52:03Z,全链路间隔不到1分钟,属于即时触发,不存在推送延迟。
  • 首次投递记录中标记的http_status为440(非标准成功状态码),记录里的HTTP/1.1 200 Connection established是代理层的隧道建立响应,不是Webhook接口返回给PayPal的最终业务响应,PayPal判定本次投递失败,会按照25小时内递增间隔的规则持续重试,重试期间事件状态会一直显示为PENDING。
  • 同环境下订阅激活事件Webhook正常,说明Webhook签名校验、基础接收逻辑没有问题,故障点出在取消事件投递时的链路响应上。

Webhook Pending状态截图

排查修复方向

  • 检查Webhook域名前的代理/CDN配置(从响应头Via: 1.1 google判断使用了Google系代理服务):当前代理在完成CONNECT隧道建立后,没有将PayPal的POST请求正确转发给后端gunicorn服务,或是后端返回的200响应没有被代理正确透传给PayPal,导致PayPal收不到合法的2xx成功状态码。
  • 确认接口响应逻辑:PayPal要求Webhook端点成功接收事件后,必须返回200 OK状态码,任何非2xx状态码、响应超时都会触发重试。
  • 修复配置后不需要重新发起沙盒取消订阅测试,直接调用事件详情中提供的resend接口即可手动重发该事件,验证投递是否正常。

事件详情原始记录

{
    "id": "WH-3BV96304FY002321K-38Y64104YL460680C",
    "create_time": "2022-07-04T17:51:34.874Z",
    "resource_type": "subscription",
    "event_type": "BILLING.SUBSCRIPTION.CANCELLED",
    "summary": "Subscription cancelled",
    "resource": {
        "quantity": "1",
        "subscriber": {
            "email_address": "valid_adress@yahoo.fr",
            "payer_id": "X3FWGFE2SAXUL",
            "name": {
                "given_name": "Anyname",
                "surname": "Walker"
            },
            "shipping_address": {
                "address": {
                    "address_line_1": "Great st 25",
                    "admin_area_2": "New York",
                    "admin_area_1": "NY",
                    "postal_code": "10002",
                    "country_code": "US"
                }
            }
        },
        "create_time": "2022-07-04T17:49:00Z",
        "plan_overridden": false,
        "shipping_amount": {
            "currency_code": "USD",
            "value": "0.0"
        },
        "start_time": "2022-07-04T17:46:51Z",
        "update_time": "2022-07-04T17:51:25Z",
        "billing_info": {
            "outstanding_balance": {
                "currency_code": "USD",
                "value": "0.0"
            },
            "cycle_executions": [
                {
                    "tenure_type": "REGULAR",
                    "sequence": 1,
                    "cycles_completed": 1,
                    "cycles_remaining": 0,
                    "current_pricing_scheme_version": 1,
                    "total_cycles": 0
                }
            ],
            "last_payment": {
                "amount": {
                    "currency_code": "USD",
                    "value": "3.99"
                },
                "time": "2022-07-04T17:49:01Z"
            },
            "failed_payments_count": 0
        },
        "links": [
            {
                "href": "https://api.sandbox.paypal.com/v1/billing/subscriptions/I-6BR7NSX98KLF",
                "rel": "self",
                "method": "GET",
                "encType": "application/json"
            }
        ],
        "id": "I-6BR7NSX98KLF",
        "plan_id": "P-5XR3459593FMK2CYGA",
        "status": "CANCELLED",
        "status_update_time": "2022-07-04T17:51:25Z"
    },
    "status": "PENDING",
    "transmissions": [
        {
            "webhook_url": "https://www.myapp.com/webhook",
            "http_status": 440,
            "reason_phrase": "HTTP/1.1 200 Connection established",
            "response_headers": {
                "Server": "gunicorn",
                "Connection": "keep-alive",
                "Content-Length": "5",
                "Date": "Mon, 04 Jul 2022 18:15:52 GMT",
                "Content-Type": "text/html; charset=utf-8",
                "Via": "1.1 google"
            },
            "transmission_id": "02cba350-fbc2-9abc-d537a3be4540",
            "status": "PENDING",
            "timestamp": "2022-07-04T17:52:03Z"
        }
    ],
    "links": [
        {
            "href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-3BV96304FY002321K-38Y64104YL460680C",
            "rel": "self",
            "method": "GET",
            "encType": "application/json"
        },
        {
            "href": "https://api.sandbox.paypal.com/v1/notifications/webhooks-events/WH-3BV96304FY002321K-38Y64104YL460680C/resend",
            "rel": "resend",
            "method": "POST",
            "encType": "application/json"
        }
    ],
    "event_version": "1.0",
    "resource_version": "2.0"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 08:45:32