我正在创建几个WHMCS模块,在我们自己的簿记系统中处理发票的其中一个模块使用WHMCS内部API,如:
add_hook('InvoicePaid', 1, function ($params)
{
$invoiceid = $params['invoiceid'];
$command = "getinvoice";
$adminuser = "";
$values["invoiceid"] = $invoiceid;
$results = localAPI($command,$values,$adminuser);
if ($results['result']!="success") echo "An Error Occurred: ".$results['result'];
//get netto price and description of first item
$netto = $results['subtotal'];
$desc = $results['items']["item"][0]["description"];
//... other code not needed for question.
}
通过创建发票并将其设置为由管理员用户付款来手动测试模块,在这种情况下,模块可以正常运行并处理价格和说明。
但是,当普通用户支付发票时,该模块会将$netto
和$desc
作为空字符串。
我怀疑这是因为空$adminuser
参数,但它应该是什么价值?我是否必须将其设置为系统的现有管理员用户名?或者是否有可以随时使用的用户名?
如果它必须是系统管理员用户名,那么在集成模块之前,其他人如何知道他们必须更改它?
答案 0 :(得分:1)
您需要有一个$ adminuser。我相信你几乎可以有90%的时间假设管理员ID为1对大多数设置都有效。在我的模块中,我在设置中有一个字段,客户可以选择使用哪个字段,并且如果他们还没有保存任何内容,则默认使用1。