【问题标题】:PayPal webhook events never being sent?永远不会发送 PayPal webhook 事件?
【发布时间】:2016-09-07 15:00:47
【问题描述】:

我们有一个使用 PayPal 作为付款方式之一的制作游戏。在某些情况下,我们永远不会收到 webhook 通知。

这是发生的顺序。有时我们会从这个序列中获得 webhook,而其他时候我们不会。在服务器上,我们使用 Java API。所有这些都是生产(不是沙盒)PayPal 服务器的行为。

  1. 用户选择产品后,它会调用我们的服务器,该服务器通过 Payment.create() 创建 Payment 对象。此时状态为“已创建”,我们将用户重定向到链接中返回的approval_url。
  2. 用户批准付款并发送回我们的服务器。我们通过 Payment.get() 获取付款,该方法成功并且状态为“已创建”。
  3. 我们使用 PaymentExecution 执行付款。这将返回更新状态为“已批准”的付款。
  4. 然后我们等待 WebHook 通知我们付款已完成。有时,从不发送此 webhook,导致购买不完整。检查 PayPal 控制台,不存在付款的 webhook 事件,即使付款显示为已完成。

这里的问题是:

  • 这是正确的顺序吗?还是缺少什​​么?
  • 当用户从 PayPal 返回而不是仍然“创建”时,不应该“批准”付款吗?
  • 在成功执行后付款不应该是“完成”还是“进行中”?
  • 处理 webhook 永远不会到达的情况的正确方法是什么?继续轮询付款直到状态更新?

【问题讨论】:

    标签: paypal webhooks paypal-webhooks


    【解决方案1】:

    我认为您的序列没有任何问题。也可以参考这里的步骤作为例子-https://developer.paypal.com/docs/integration/web/accept-paypal-payment/

    关于 Webhooks,您提到有时您会获得 Webhooks,但有时您没有。您能否为您没有看到任何 Webhook 的调用提供相关性或调试 ID?我们会解决问题并回来吗?

    【讨论】:

    • 丢失的 webhook 调用被报告为事件 160508-000086。
    猜你喜欢
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2011-11-19
    • 2020-12-05
    • 1970-01-01
    相关资源
    最近更新 更多