未收到Paypal webhook活动

我正在使用paypal REST API实现一个简单的支付工作流程.我首先创建付款,将用户重定向到此调用返回的URL,并在批准后执行付款.

为了使其更可靠,我想使用webhook通知.

这就是它开始出现问题的时候:我没有收到任何通知.

鉴于我到目前为止阅读的Q& A不同,以下是我的评论:

>整个付款流程正常,我可以与Paypal沟通并验证付款.
>使用webhook模拟器时工作正常,所以我知道我的系统没问题.
>我订阅了所有活动.我希望至少收到“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED”通知(如果付款被拒绝,则收到“PAYMENT.SALE.DENIED”).我检查了它们是否在supported event type list中列出.
>我仍在使用沙箱环境,但我没有看到任何指定它不应该在这种情况下工作.
>“Sandbox Webhooks Events”是空的,但我不确定它们是否应该出现在这里.
>我不知道这个相关ID /调试ID应该在哪里.
编辑:从回答中,可以在响应头中找到correlationID.
这是地雷:

> aa25ee518487a // webhook创建
> 1fbf78ce3a034 //付款创建
> 7a5d3c34daa5d //付款执行

还有什么我应该做的才能让它有效吗?或者我可以做些什么来调试它?
额外奖励:在我的案例中,我是否有理由期待“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED / DENIED”通知?

编辑2:所以一个月后,我回到这个问题.我现在可以在仪表板中看到webhook事件(不知道改变了什么),它的状态是PENDING.其交易ID为4396a630-78bc-11e6-8890-77339302725b.
知道如何获得有关它为何悬而未决的更多细节吗?

最佳答案 来自PayPal技术支持:

“我发现您在测试帐户中启用了付款审核.

 你可以禁用它并提交一些交易并确保它们已经完成,然后检查webhook通知.“

此设置可在Sandbox>中找到.账户.然后,对于您使用的每个帐户,在个人资料>设置,将“付款审核”设置为关闭.

这解决了我的问题.

注意:根据我的理解,在执行付款后,如果状态为“已批准”,则付款已完成.情况并非如此,因为付款可能会自动进行审核.如果像我一样,您需要完全控制付款状态,您可能需要切换到使用intent =“authorize”付款.执行后您将需要另一个步骤,即捕获付款.然后您可以订阅:

> PAYMENT.CAPTURE.COMPLETED
> PAYMENT.CAPTURE.DENIED
> PAYMENT.CAPTURE.PENDING
> PAYMENT.CAPTURE.REVERSED“

监控其实际状态.

关于“PAYMENT.AUTHORIZATION.CREATED”webhook事件,它在付款执行后触发.

点赞