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

Stripe:如何更新通过订阅结帐会话创建的发票?

Stripe 取消 url 不会取消付款,因此 Stripe 不会发送取消付款意图

尝试重新创建像 Stripe 这样的抖动动画