我有一个第三方网站,其中包含发送到特定网址的webhook。我将其设置为发送到我网站上的空白页面(例如:www.mysite.com/webhook.php)
我在webhook.php中设置了一个var_dump,它应该显示帖子中的任何信息或者获取..我是webhooks的新手,可能只是不明白它们是如何工作的。我假设我的php文件中可以有var_dump($_POST)
来显示来自我网站的HTTP请求数组。
在发送测试数据后,我无法从我的网站上看到任何请求..任何想法?
答案 0 :(得分:2)
我会这样做来测试webhook。
<?php
$fWrite = fopen("log.txt","a");
$wrote = fwrite($fWrite, var_dump($_POST));
fclose($fWrite);
?>
这将在log.txt
文件中返回var_dump数据,因为正如rickdenhaan在36分钟之前说的那样,您当前的webhook.php
将数据返回到webhook而不是您的视图。
如果你没有正确的目录(755)
,你可能需要手动创建log.txt我目前正在使用使用webhook的付款API。 Webhook将数据发送到X url,然后执行操作并将代码返回给webhook。所以webhook.php是我的订单,无论是否支付我的订单的地方......在这里我做了什么:
if ($payment->isPaid() == TRUE)
{
/*
* At this point you'd probably want to start the process of delivering the product to the customer.
*/
$con->query("UPDATE orders SET bankno = '$bankno', status = 'paid' WHERE ordertr = '$ids'");
}
elseif ($payment->isOpen() == FALSE)
{
/*
* The payment isn't paid and isn't open anymore. We can assume it was aborted.
*/
$con->query("UPDATE orders SET bankno = '$bankno', status = 'closed' WHERE ordertr = '$ids'");
}
因此,如果没有标记为已关闭,则在数据库中订购付费标记为已付款。这显示了webhook的用法。根据webhook数据发送的内容执行操作。
答案 1 :(得分:1)
以下是我如何将内容发送到我的应用程序:
$varname = json_decode(file_get_contents('php://input'));
我的内容是JSON编码的,但我认为这样会很好:
$varname = file_get_contents('php://input');