當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。