当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP WHMCS UpdateInvoice用法及代码示例


使用提供的参数更新发票。

请求参数

参数 类型 说明 必需的
action string “UpdateInvoice” Required
invoiceid int 要更新的发票 ID。 Required
status string 正在更新的发票状态。 Optional
paymentmethod string 系统格式发票的付款方式。 Optional
taxrate float 应用于发票以覆盖系统默认值的first-level 税率。 Optional
taxrate2 float 应用于发票以覆盖系统默认值的second-level 税率。 Optional
credit float 更新应用于发票的信用。 Optional
date string 发票应显示为创建日期的日期。格式:YYYY-mm-dd Optional
duedate string 发票的到期日。格式:YYYY-mm-dd Optional
datepaid string 支付发票的日期。格式:YYYY-mm-dd Optional
notes string 出现在发票上的注释。 Optional
itemdescription string[] lineItemId 数组 => 要更改的项目的说明。 lineItemId 是来自GetInvoice API 命令的项目的 ID。 Optional
itemamount float[] lineItemId => 要更改的项目数量的数组。如果提供了项目说明,则为必填项。 Optional
itemtaxed bool[] 如果提供了 itemdescription,则 lineItemId => taxed of items to change 的数组是必需的。 Optional
newitemdescription string[] 行项目说明。这应该是新行项目说明的数字索引数组。 Optional
newitemamount float[] 行项目数量。这应该是新行项目数量的数字索引数组。 Optional
newitemtaxed bool[] 是否应该对新的行项目征税。这应该是新的行项目征税值的数字索引数组。 Optional
deletelineids int[] 要从发票中删除的行项目 ID 数组。这是订单项的 ID,来自 GetInvoice API 命令。 Optional
publish bool 是否发布发票。 Optional
publishandsendemail bool 是否发布和通过电子邮件发送发票。 Optional

响应参数

参数 类型 说明
result string 操作结果:成功或错误
invoiceid int 更新发票的 ID。

示例请求 (CURL)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'UpdateInvoice',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'invoiceid' => '1',
            'status' => 'Unpaid',
            'itemdescription' => array(13 => 'Sample Updated Invoice Item'),
            'itemamount' => array(13 => 16.95),
            'itemtaxed' => array(13 => false),
            'newitemdescription' => array(0 => 'New Line Item 1', 1 => 'New Line Item 2'),
            'newitemamount' => array(0 => 10.00, 1 => 2.95),
            'newitemtaxed' => array(0 => true, 1 => false),
            'deletelineids' => array(11, 12),
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

示例请求(本地 API)

$command = 'UpdateInvoice';
$postData = array(
    'invoiceid' => '1',
    'status' => 'Unpaid',
    'itemdescription' => array(13 => 'Sample Updated Invoice Item'),
    'itemamount' => array(13 => 16.95),
    'itemtaxed' => array(13 => false),
    'newitemdescription' => array(0 => 'New Line Item 1', 1 => 'New Line Item 2'),
    'newitemamount' => array(0 => 10.00, 1 => 2.95),
    'newitemtaxed' => array(0 => true, 1 => false),
    'deletelineids' => array(11, 12),
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

示例响应 JSON

{
    "result": "success",
    "invoiceid": "1"
}

错误响应

可能的错误条件响应包括:

  • 未找到发票 ID
  • 发票必须处于草稿状态才能发布
  • 缺少变量:每个要更改的项目都需要 itemdescription、itemmount 和 itemtaxed
  • 无效状态 $status

相关用法


注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 UpdateInvoice。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。