【问题标题】:How does a WebHook work?WebHook 是如何工作的?
【发布时间】:2015-08-14 06:46:55
【问题描述】:

我目前正在为我的网站实施支付平台,这与 Stripe 非常相似,但我仍然无法理解该过程或我应该如何使用 WebHooks,因为我需要在支付平台中的帐户上指定一个。

假设有人在我的网站上支付了 5 美元的产品,我将他们带到付款表单,他们将在其中介绍信用卡详细信息。现在,当他们单击“立即付款”时,所有内容都会通过 javascript/jquery 进行验证并发送到我的服务器,我可以成功地向用户收费,并从支付平台上的帐户中看到它反映在我的沙箱中。应该在何处或何时使用或调用 WebHook,或者我为什么需要它们?

提前致谢

【问题讨论】:

  • 嘿,我们还在我们公司创建了类似的支付处理器服务。我们可以互相帮助吗?领英或脸书

标签: php http paypal stripe-payments webhooks


【解决方案1】:

Webhook 是一种与您的应用程序进行通信的方式。对于许多 API,您向它们发送请求,并且 API 响应包含在对您的请求的响应中。但是,如果您发出的请求是异步的,或者由于某种原因,您使用的 API 希望能够通过直接调用而不是等待您发出请求来与您的应用程序通信,该怎么办。

使用 webhook,您可以在您的应用程序上打开一个端点,其他 API/服务可以向该端点发送请求,以便您可以处理他们的请求。您几乎可以将其视为 Web 应用程序的推送通知。

对于付款,webhook 的标准用例是处理订阅续订。因此,客户今天会注册,您现在将响应您的 createSubscription 调用,无论订阅是否创建成功,但您如何知道订阅是否成功续订?您可以一遍又一遍地轮询支付 API,或者支付 API 可以向您发送一个 webhook 事件,说明订阅已更新,并且在您的 webhook 处理程序逻辑中,您可以处理内部执行的操作(例如发送收据,更新一些数据库字段等)

【讨论】:

  • 感谢您的时间和回答,我现在明白了。还有一个问题.. 如果在 webhook 联系到我的服务器后付款成功,我是否应该在 API 告诉我它成功后立即存储到我的数据库中? Webhook 在代码中应该有什么(一般来说),它应该能够识别支付平台发送的支付 ID 和数据,以便我可以将其保存到我的数据库中,对吗?再次感谢您
  • 通常情况下,我更喜欢同步做事,所以如果我立即知道付款是否成功,那么我会忽略那个 webhook,我只会将 webhook 用于异步发生的事情。 Webhook 通常包括某种事件 id、受影响对象的 id、有关事件的一些信息(支付失败与支付成功等)
猜你喜欢
  • 2019-12-20
  • 1970-01-01
  • 2018-08-14
  • 2015-10-07
  • 2016-05-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
相关资源
最近更新 更多