【问题标题】:Laravel 4 Cashier: Don't fire webhook if initiated from laravel applicationLaravel 4 Cashier:如果从 laravel 应用程序启动,不要触发 webhook
【发布时间】:2015-04-28 21:05:31
【问题描述】:

我正在使用 Laravel 4 和 Cashier 2.0 及其 webhook 控制器。我想防止以下行为:当我在我的 laravel 应用程序中为用户创建新订阅时,结果会执行方法 subscription.updated webhook。

但是,如果请求是在 laravel 应用程序中发出的,我想防止执行 webhook。只有从 Stripe 管理面板直接启动 webhook 才应该执行。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 这个问题是too broad。可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
  • 我不同意,我认为这个问题已经足够详细了。我已经解释了问题,以及我想要实现的目标。

标签: php laravel laravel-4 stripe-payments webhooks


【解决方案1】:

我不确定您为什么要这样做。 webhook 的目的是确认 Stripe 已接收并成功(或未成功)完成操作,以便您知道某些事情已经发生(即:用户已成功订阅订阅,用户卡上发生了费用,等等。)。所有这一切都取决于您的应用程序成功与条带通信以及条带成功为卡计费,在该过程中可能会发生许多事情,并且 Webhook 可以让您确认发生了什么,如果出错了,出了什么问题。

如果您的应用程序不与 Stripe 通信,则无法实现您所追求的行为。

【讨论】:

  • 感谢您的回答。但是我一直在与 Stripe 联系,他们告诉我,我想要的行为是不可能的。但是我确实认为这不是特例。我目前拥有的是用户可以使用 Laravel Cashier 库(使用 API)订阅/升级/降级/取消计划,这很好用。但我也有可能作为管理员从 Stripe 管理面板更改订阅。这两个操作都会执行 API,并且都会触发 webhook。
  • 逻辑上当用户使用我的应用程序(Laravel Cashier)订阅计划时,我会同步知道他是否能够。所以我不想被 webhook 再次确认它的计划改变了。但是,如果我作为管理员更新计划,我需要 webhook 让我的应用程序知道计划已更改。
  • 没错,但如果 stripe 正在处理您的计费,您需要 stripe 与您自己的应用程序同步,以便向用户计费正确的金额。因此,如果您的应用程序由于某种原因无法与条带通信,那么两者不同步,您的应用程序知道用户正在使用 1 个订阅计划,但条带可能会收取不正确的金额,因为它从未收到更新用户订阅的消息到一个新的水平
猜你喜欢
  • 2017-05-17
  • 2016-04-18
  • 2018-07-26
  • 1970-01-01
  • 2015-09-06
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多