订阅自动续费成功时PayPal会触发什么事件?
解决方案:精准追踪PayPal订阅续费事件
用专属订阅支付事件替代通用支付事件
别用PAYMENT.SALE.COMPLETED,PayPal当前订阅API提供了两个专属续费相关事件,完全适配你的需求:BILLING.SUBSCRIPTION.PAYMENT.CREATED:续费支付发起时触发BILLING.SUBSCRIPTION.PAYMENT.COMPLETED:续费支付成功完成时触发
这两个事件仅针对订阅类支付,不会被一次性支付触发,能完美过滤无关数据。
通过事件Payload精准区分订阅与一次性支付
若担心误触旧系统遗留事件,接收Webhook时可检查事件的resource字段:订阅相关支付事件里必然存在resource.subscription_id字段,而一次性支付事件无此字段。用这个标识就能精准筛选出订阅续费记录,对应更新数据库里的订阅周期数。配合其他订阅事件完善活跃订阅统计
除续费事件外,还可监听以下事件维护状态:BILLING.SUBSCRIPTION.CANCELLED:订阅取消(你已在处理)BILLING.SUBSCRIPTION.EXPIRED:订阅到期未续费,需从活跃列表移除BILLING.SUBSCRIPTION.SUSPENDED:订阅因支付失败暂停,标记为非活跃状态
实操步骤
- 登录PayPal开发者后台,在Webhook配置中添加上述订阅相关事件
- 后端服务接收Webhook请求时,必须先验证事件签名(防止伪造请求)
- 提取
subscription_id,关联到自有数据库中的订阅记录 - 收到
BILLING.SUBSCRIPTION.PAYMENT.COMPLETED事件时,将对应订阅的已完成周期数+1
内容的提问来源于stack exchange,提问作者Ale
相关产品推荐
相关产品推荐

