【发布时间】:2016-11-02 12:56:01
【问题描述】:
我正在使用 paypal REST API 实现一个简单的支付工作流程。我首先创建一个付款,将用户重定向到此调用返回的 URL,并在批准后执行付款。
为了使其更可靠,我想使用 webhook 通知。
这就是问题开始的时候:我没有收到任何通知。
鉴于我目前阅读的不同问答,以下是我的评论:
- 整个付款流程正常,我可以与 Paypal 通信并验证付款。
- 在使用 webhook 模拟器时运行良好,所以我知道我的系统没问题。
- 我订阅了所有活动。我希望至少收到“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED”通知(如果付款被拒绝,则为“PAYMENT.SALE.DENIED”)。我检查了它们是否列在 supported event type list 中。
- 我仍在使用沙盒环境,但我没有看到任何内容表明它不应该在这种情况下工作。
- “Sandbox Webhooks Events”为空,但我不确定它们是否应该出现在这里。
-
我不知道这个关联 ID/调试 ID 应该在哪里。
编辑:从答案中,可以在响应标头中找到相关 ID。 这里是地雷:- aa25ee518487a // 创建 webhook
- 1fbf78ce3a034 // 支付创建
- 7a5d3c34daa5d // 支付执行
我还需要做些什么来让它发挥作用吗?或者我还能做些什么来调试它?
奖励:在我的情况下,我期望“PAYMENT.AUTHORIZATION.CREATED”和“PAYMENT.SALE.COMPLETED/DENIED”通知是否正确?
EDIT2:所以一个月后,我会回到这个问题。我现在可以在仪表板中看到 webhook 事件(不知道发生了什么变化),它的状态是 PENDING。它的事务 ID 是 4396a630-78bc-11e6-8890-77339302725b。 知道如何获得有关它为何未决的更多详细信息吗?
【问题讨论】:
-
我也在寻找类似问题的解决方案。我不想依赖被重新路由到成功重定向 url 的付款人,因此希望根据 webhook 事件执行付款。也许这对于 REST API 是不可能的,我们应该只依赖重定向 url 来执行付款。如果您了解有关此问题的更多信息,请告诉我。
-
@theyuv 现在我认为我们将使用轮询解决方案,只要在合理的时间段内没有付款或被拒绝,就可以定期获取状态。至少我们会确保是最新的,并且在正常过程中它不应该需要很多调用。