当客户支付账单时,我如何为WHMCS添加一个钩子


How do I add a hook for WHMCS for when a client pays their bill?

在过去的几个小时里,我一直在努力弄清楚如何为WHMCS添加一个钩子。首先,我尝试了PendingOrder钩子,它从未被调用过。然后我尝试了AcceptOrder,它似乎也从未被调用过。最后,我尝试了InvoidPaid钩子,它似乎也不起作用。我做错了什么吗?

我已经启用了我的钩子在AddonModules,但似乎我不能得到任何钩子调用(或我使用错误的)

我想做的只是运行一个PHP脚本,其中包含用户在支付订单时输入的所有自定义字段。

我该怎么做呢?

我的主要模块:
<?php
/**
 * @package    GSProv
 * @author     -
 * @copyright  -
 * @license    None
 * @version    $Id$
 * @link       -
 */
if (!defined("WHMCS"))
{
    die("Can't access this file directly!");
}
add_hook("InvoicePaid", 1, "gsprov_hook_provision");
add_hook("InvoiceUnpaid", 1, "gsprov_hook_suspend");
function gsprov_hook_provision($params)
{
    $time = time();
    mysql_connect("localhost", "root", "password");
    mysql_select_db("testdb");
    mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!'");
}
function gsprov_hook_suspend($params)
{
    $time = time();
    mysql_connect("localhost", "root", "password");
    mysql_select_db("testdb");
    mysql_query("INSERT INTO log VALUES ($time, 'Order not paid for :('");
}
?>

你的SQL中有一个错误,你的查询缺少右括号。

mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!'");
应该

mysql_query("INSERT INTO log VALUES ($time, 'Order paid for!')");