配置条带 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 错误:无法连接的主要内容,如果未能解决你的问题,请参考以下文章