当客户支付账单时,如何为WHMCS添加挂钩?

时间:2014-08-11 18:50:35

标签: php whmcs

在过去的几个小时里,我一直在试图弄清楚如何为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 :('");
}

?>

1 个答案:

答案 0 :(得分:0)

SQL中存在错误,您的查询缺少关闭括号。

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

应该是

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