0

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

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

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

这里的问题是:

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

1 回答 1

0

我看不出你的序列有任何问题。您也可以参考此处的步骤作为示例 - https://developer.paypal.com/docs/integration/web/accept-paypal-payment/

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

于 2016-06-13T21:10:16.233 回答