Laravel Cashier 事件

9
我正在使用Laravel cashier 7.0,并希望在订阅成功后触发一些方法。我希望有一些事件可以监听,但似乎并不是这样(除非我错过了它们)。
如果使用Stripe作为支付提供商,那么可能会有所不同(stripe-php包)。
我是否忽略了一些明显的东西?
我知道有很多方法可以自己实现这个功能,但我正在寻找一个优雅的解决方案。
2个回答

1

我已经努力尝试让这个包运行了整整一周,我认为我在 Webhook 端点方面遇到了问题。能否请你回答几个问题? - Dustin
没问题,虽然我已经几个月没接触这个项目了,但我会尽力而为。 - Dan Streeter
我正在使用相同的Spatie包,但是当我发送测试Webhook时,我会得到一个302重定向到登录页面,我似乎无法弄清楚可能阻止它的原因。 - Dustin
如果我理解正确的话,您正在从Stripe触发Webhooks到您的应用程序,并且得到了一个302。您的Webhooks是否在auth路由组中?这意味着它们需要进行身份验证。它们应该在外面,这样Stripe就可以直接与您的应用程序通信。 - Dan Streeter
嗨,丹,感谢您的回复。我认为那是正确的想法,但不是问题所在。我尝试将路由移动到web.php页面的最底部,并得到了相同的错误。我还仔细检查了CSRF令牌异常。我几天前在这里发布了问题。https://stackoverflow.com/questions/53213735/stripe-webhooks-return-302-on-laravel-application-using-spatie-webhook?noredirect=1#comment93318035_53213735 - Dustin

1
只需在你的routes/api.php中构建一个API终端点,然后将它们添加到您的stripe帐户中。Stripe会将这些API视为webhooks。一旦有人订阅了您的某项服务,Stripe将调用您的服务器上提供的Webhook,让其了解新的订阅事件。
在你的routes/api.php或(更好的是)单独的API控制器中添加你需要触发的任何事件。
在Laravel中,请确保:
1- 在这些webhooks上删除middleware('auth:api')
2- 然后分析由Stripe发送的有效负载以验证付款。
你可以参考Stripe文档here获取更多细节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接