【发布时间】:2015-02-27 21:22:39
【问题描述】:
我正试图让我的应用程序接受和阅读 Stripe webhook,但我遇到了一个有点不可预测的 404 问题。我有一个处理来自 Stripe 的 webhook 请求的 PHP 文件。它肯定存在。我可以导航到它,当文件中唯一的代码是:
$input = @file_get_contents("php://input");
$event_json = json_decode($input);
http_response_code(200);
但是,当我添加更多代码时(我添加的代码太复杂,无法在此处发布),我开始收到 404。我已验证额外代码不会在错误日志中生成任何致命错误甚至警告/通知。
此外,使用相同的代码,当我从 https://dashboard.stripe.com/account/webhooks 发送多个测试 webhook 时,其中大约一半会说“测试 webhook 发送成功”,大约一半会说“测试 webhook 错误:404”。
有谁知道导致这些 404 的原因是什么?内存问题?未记录的错误(不知道这是怎么发生的,但谁知道)? DNS错误? Stripe 是想让我发疯吗?
谢谢。
【问题讨论】:
-
你说你“可以导航到它”,但是 Stripe webhook 是 POST 请求而不是 GET,所以这听起来不对。此外,
http_response_code需要 PHP 5.4+,因此请确保您至少运行该版本。 -
@Pier-LucGendreau 谢谢。您使用 POST 的建议为我解决了这个问题。我之前使用的是 GET。
标签: php stripe-payments webhooks