Stripe webhooks也有类似的问题。花了整个周末试图诊断,但没有成功。通过条形仪表板运行测试时出现一般500错误。如果我直接直接加载页面,它将生成一个空白页面,或者如果我回显类似echo http_response_code(200);
的内容,则会返回200。我的代码非常简单。
require('/stripe/init.php');
\Stripe\Stripe::setApiKey("[intentionally deleted for post]");
$payload = file_get_contents("php://input");
$event_json = json_decode($payload);
http_response_code(200);
PHP在所有其他上下文中都可以在网站上正常运行。一次执行和订阅执行费用都没有问题。在所有其他页面上发布和获取正常工作。它是共享主机,因此对错误日志等的访问非常有限。
我已经查看了一个或两个stackoverflow响应以通过500错误来解决条带化webhook错误,但是不幸的是,这些没有帮助。预先感谢。
答案 0 :(得分:0)
使用代码500,这是内部服务器错误。因此看来问题出在服务器端。
请参阅各种状态代码以供参考,这将帮助您调试Web请求。
答案 1 :(得分:0)
我会尝试这种事件创建:
$event = \Stripe\Webhook::constructEvent(
$request->getContent(),
$request->server->get('HTTP_STRIPE_SIGNATURE'),
$this->getParameter('stripe_webhook_secret')
);
这是Symfony代码,因此$request
由Symfony提供,但是您可以用本地PHP变量替换它们。完成此分配后,$event
将使用您在Stripe文档示例中看到的数据填充。