Stripe 不会尝试联系我的 Webhook
Posted
技术标签:
【中文标题】Stripe 不会尝试联系我的 Webhook【英文标题】:Stripe Does Not Attempt to Contact My Webhook 【发布时间】:2021-07-16 09:17:19 【问题描述】:我正在使用 Wordpress 插件构建我的第一个 Stripe 集成,但无法让 Stripe 尝试联系我的 webhook。我已按照https://stripe.com/docs/checkout/integration-builder 的说明进行操作,并成功支付了一些测试费用。然后,我将https://stripe.com/docs/payments/checkout/fulfill-orders 处的示例代码复制并粘贴到名为 webhook.php 的文件中,并使用该 URL 配置 CLI 条带侦听设置,但我的 localhost 不是以 127.0.0.1 开头。然后我把 webhook 验证码粘贴到 webhook.php 文件中,再进行一次测试支付。它工作正常,但没有尝试访问 webhook。
我遗漏了什么,我需要从我列出的第一个 URL 添加到示例应用程序中,以指示结帐过程对我的服务器执行 ping 操作吗?示例应用程序不包含 webhook,并且带有履行说明的页面没有指向任何示例应用程序的链接,因此我不知道是否需要在我的 create-checkout-session.php 文件中添加更多内容。 Stripe 指令不是很好。
在 cmd.exe 给我我的 webhook 签名秘密后,也无法在 cmd.exe 中输入任何内容。它只是在包含秘密的行下方有一个闪烁的 _ 字符,而我尝试输入的任何内容都不会出现在屏幕上。
我在 Stripe 网站上检查了我的帐户,并在 checkout.session.completed 事件下显示“最近没有 webhook 尝试”
【问题讨论】:
【参考方案1】:我的问题是有两种类型的 webhook 监听器。一个叫Direct
,另一个叫Connect
。
创建 webhook 时,您可以选择该框:Listen to events on Connected accounts
。勾选它,您将创建一个Connect
侦听器。不要打勾,它是Direct
。
在我的情况下,charge.succeeded
仅在 Direct
版本的监听器中被监听。
究竟为什么我不知道。但是支持说:
“您创建的第一个 webhook [已连接类型] 将通知您有关已连接帐户的信息。” “还有来自您平台的第二个 [Direct 类型]”
【讨论】:
天哪,谢谢...我已经找了好几个小时了...这太令人困惑了哈哈 在多次尝试找到同一问题的解决方案后,这很难找到。做得好,谢天谢地,你发布了这个。【参考方案2】:听起来 Stripe CLI 可能没有正常运行;您是否按照此处的说明进行操作? https://stripe.com/docs/stripe-cli/webhooks
【讨论】:
这个问题是由于版本问题。 Stripe 给我回信说我需要升级仪表板中的版本。我这样做了,但现在即使 webhook 正在尝试做某事,响应也会显示“[500] POST http://”,然后是我的 webhook 的 URL。 第二个问题是由于 Stripe 网站上的示例代码在顶部缺少以下代码行:require 'vendor/autoload.php';以上是关于Stripe 不会尝试联系我的 Webhook的主要内容,如果未能解决你的问题,请参考以下文章
如何解决Stripe元素的react导致重定向内存泄漏的问题。
为啥 Stripe 事件不会触发并且不会被 webhook 接收?
Firebase 扩展:使用 Stripe 运行订阅付款不会返回 sessionId