configuring stripe webhook, Test webhook error: Unable to connect
configuring stripe webhook, Test webhook error: Unable to connect
所以我正在尝试实现一个 stripe webhook 来监听各种事件。基本上我的 php 应用程序 运行 正在运行,比如在“http://example.com”。我已经安装了 stripe CLI 并拥有所有 类。我已经在条纹仪表板上创建了一个 webhook。但是当我测试一个 webhook 时,它给了我这个错误:
"Test webhook error: Unable to connect. Timed out connecting to remote
host"
我在保存文件的地方在 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 服务器。我需要“条纹听..”吗?
希望得到答复!提前致谢 :) 如果您需要任何其他信息,请告诉我。
看起来任何试图连接到您的 webhook 端点的东西 URL 都无法到达所述端点。你能澄清一下吗……
如果您正在测试本地代码:
确保您的本地 PHP 服务器已启动并且 运行ning 并记下它 运行ning 所在的端口。然后,运行stripe listen --forward-to http://localhost:<PHP server’s port>
。从那里您可以从新的 CLI window 触发示例事件,如下所示:stripe trigger invoice.payment_succeeded
。查看此 here.
的文档
如果您要设置实时端点:
我首先建议使用 Postman 之类的工具来验证您是否确实可以访问部署了 webhook 代码的服务器。然后,我会仔细检查仪表板中该 webhook 端点 URL 的条目。
如果你能指出你卡在哪里,我可以提供更详细的答案。
所以这是我的 EC2 服务器权限的问题。我必须将条带“ip”添加到允许的主机!就是这样:)
所以我正在尝试实现一个 stripe webhook 来监听各种事件。基本上我的 php 应用程序 运行 正在运行,比如在“http://example.com”。我已经安装了 stripe CLI 并拥有所有 类。我已经在条纹仪表板上创建了一个 webhook。但是当我测试一个 webhook 时,它给了我这个错误:
"Test webhook error: Unable to connect. Timed out connecting to remote host"
我在保存文件的地方在 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 服务器。我需要“条纹听..”吗? 希望得到答复!提前致谢 :) 如果您需要任何其他信息,请告诉我。
看起来任何试图连接到您的 webhook 端点的东西 URL 都无法到达所述端点。你能澄清一下吗……
如果您正在测试本地代码:
确保您的本地 PHP 服务器已启动并且 运行ning 并记下它 运行ning 所在的端口。然后,运行stripe listen --forward-to http://localhost:<PHP server’s port>
。从那里您可以从新的 CLI window 触发示例事件,如下所示:stripe trigger invoice.payment_succeeded
。查看此 here.
如果您要设置实时端点: 我首先建议使用 Postman 之类的工具来验证您是否确实可以访问部署了 webhook 代码的服务器。然后,我会仔细检查仪表板中该 webhook 端点 URL 的条目。
如果你能指出你卡在哪里,我可以提供更详细的答案。
所以这是我的 EC2 服务器权限的问题。我必须将条带“ip”添加到允许的主机!就是这样:)