配置条带 webhook,测试 webhook 错误:无法连接

Posted

技术标签:

【中文标题】配置条带 webhook,测试 webhook 错误:无法连接【英文标题】:configuring stripe webhook, Test webhook error: Unable to connect 【发布时间】:2022-01-13 05:44:39 【问题描述】:

所以我正在尝试实现一个条纹 webhook 来监听各种事件。基本上我的 php 应用程序正在实时运行,比如在“http://example.com”上。我已经安装了条带 CLI 并拥有所有类。我已经在条纹仪表板上创建了一个 webhook。但是当我测试一个 webhook 时,它给了我这个错误:

“测试 webhook 错误:无法连接。连接到远程超时 主持人”

我在 PhpStorm 上进行编码,从那里保存文件,它们会反映在我的网站“abc.com”上。这是我的php文件代码

    require_once 'abc.com/httpdocs/includes/classes/stripe-sdk/vendor/stripe/stripe-php/configuration.php';
require_once 'abc.com/httpdocs/includes/classes/stripe-sdk/vendor/stripe/stripe-php/init.php';

$endpoint_secret = 'whsec_...';
$payload = file_get_contents('php://input');
$event = null;

$sig_header = $_SERVER['HTTP_STRIPE_SIGNATURE'];
try 
    $event = \Stripe\Webhook::constructEvent(
        $payload, $sig_header, $endpoint_secret
    );
 catch(\Stripe\Exception\SignatureVerificationException $e) 
    // Invalid signature
    echo '⚠️  Webhook error while validating signature.';
    http_response_code(400);
    exit();


// Handle the event
switch ($event->type) 
    case 'account.updated':
        $paymentIntent = $event->data->object; 
        break;
    default:
        // Unexpected event type
        error_log('Received unknown event type');


http_response_code(200);

我认为我不必在本地主机上运行 php 服务器。我需要“条纹听..”吗? 希望得到答复!提前致谢 :) 如果您需要任何其他信息,请告诉我。

【问题讨论】:

【参考方案1】:

看起来任何试图连接到您的 webhook 端点 URL 的东西都无法到达所述端点。你能澄清以下几点吗……

如果您正在测试本地代码: 确保您的本地 PHP 服务器已启动并正在运行,并记下它正在运行的端口。然后,运行stripe listen --forward-to http://localhost:<PHP server’s port>。从那里您可以从新的 CLI 窗口触发示例事件,如下所示:stripe trigger invoice.payment_succeeded。看看这个here.的文档@

如果您要设置实时端点: 我首先建议使用 Postman 之类的工具来验证您确实可以访问部署 webhook 代码的服务器。然后,我会仔细检查仪表板中该 Webhook 端点 URL 的条目。

如果你能查明你卡在哪里,我可以提供更详细的答案。

【讨论】:

嗨@codename_duches!谢谢你的时间。实际上我的域在 EC2 服务器上运行。我用上面提到的代码在那里创建了一个文件。当我转到我的条带仪表板发送测试事件时,它显示“无法连接”。我还使用“listen”等命令对其进行了测试,它给出了 /404/ 错误。如果你说我可以提供网址。或者,如果您同意我们可以进行视频通话会议,以便我可以共享我的屏幕!我的电子邮件是“bsef17a020@pucit.edu.pk”等待您的回复。 @MUHAMMADZAIN 您是否能够使用 Postman 访问服务器上的任何端点?这听起来像是一个部署问题。 嗨!所以这是我的 EC2 服务器权限的问题。我必须将条带“ip”添加到允许的主机!顺便谢谢。

以上是关于配置条带 webhook,测试 webhook 错误:无法连接的主要内容,如果未能解决你的问题,请参考以下文章

使用 ngrok 的条带 webhook 没有答案

Symfony 5,测试条带时得到 403

条带订阅 webhook

条带 webhook 未按正确顺序传入的错误

如何在 symfony 5 中实现条带 webhook?

如何/我可以在条带 webhook 处理程序中调用 FASTAPI 异步函数,还是我的方法完全错误?