I am in the process of creating several WHMCS modules, one of the modules to process an invoice in our own bookkeeping system uses the WHMCS internal API like:
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.
}
The module is tested manually by creating an invoice and setting it as paid by an admin user, in this case it works and the price and description are processed.
However, when a normal user pays an invoice, the module gives both $netto
and $desc
as empty strings.
My suspicions are that this is because of the empty $adminuser
parameter, but what value should it be? Do I have to set it to an existing admin username of the system? Or is there a username you can always use?
If it has to be a system admin username, how would other people know that they have to change this before integrating the module?