PayPal Webhooks集成问题:付款完成时无事件触发排查求助
匹配正确的事件类型:先明确你做的转账类型——如果是沙箱账户间的Payouts(批量付款),对应的触发事件是
PAYMENT.PAYOUTSBATCH.SUCCESS或PAYMENT.PAYOUT.ITEM.SUCCESS;如果是普通即时付款(比如通过PayPal按钮发起),才是PAYMENT.SALE.COMPLETED。确保Webhook订阅了对应类型的事件,而不是盲目勾选“所有事件”(部分事件仅针对特定操作场景)。验证端点可达性:PayPal沙箱无法访问localhost或内网地址,必须确保你的服务器端点是公网可访问的。用
curl发送模拟POST请求测试端点,确认服务器能接收请求并返回200 OK响应——PayPal要求端点在15秒内返回成功响应,否则不会记录事件,甚至会直接丢弃请求。检查账户与应用的关联关系:Webhook是绑定在特定PayPal应用上的,只有该应用关联的沙箱账户产生的交易事件才会触发Webhook。确认你发起转账的沙箱账户,是Webhook所属应用的关联账户(在开发者后台的应用详情页可查看关联账户)。
手动模拟事件测试:在PayPal开发者后台的Webhook管理页面,使用“模拟事件”功能,选择对应转账类型的事件发送到你的端点。如果模拟能触发,说明是实际转账操作的流程问题;如果模拟也没触发,重点排查端点配置或PayPal应用的Webhook设置。
确认转账状态为已完成:沙箱账户间的部分转账可能因账户设置(比如未验证邮箱、限制收款)处于待处理状态,只有当交易状态变为“已完成”时,才会触发对应事件。检查转账的交易详情,确认状态是否符合触发条件。
内容的提问来源于stack exchange,提问作者FrancyMak

