使用提供的參數更新發票。
請求參數
參數 | 類型 | 說明 | 必需的 |
---|---|---|---|
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
相關用法
- PHP WHMCS UpdateInvoiceTotal用法及代碼示例
- PHP WHMCS UpdateUserPermissions用法及代碼示例
- PHP WHMCS UpdateQuote用法及代碼示例
- PHP WHMCS UpdateModuleConfiguration用法及代碼示例
- PHP WHMCS UpdateClientProduct用法及代碼示例
- PHP WHMCS UpdateOAuthCredential用法及代碼示例
- PHP WHMCS UpdatePayMethod用法及代碼示例
- PHP WHMCS UpdateToDoItem用法及代碼示例
- PHP WHMCS UpdateTicketReply用法及代碼示例
- PHP WHMCS UpdateClientAddon用法及代碼示例
- PHP WHMCS UpdateAnnouncement用法及代碼示例
- PHP WHMCS UpdateUser用法及代碼示例
- PHP WHMCS UpdateTransaction用法及代碼示例
- PHP WHMCS UpdateTicket用法及代碼示例
- PHP WHMCS UpdateContact用法及代碼示例
- PHP WHMCS UpdateProject用法及代碼示例
- PHP WHMCS UpdateClientDomain用法及代碼示例
- PHP WHMCS UpdateClient用法及代碼示例
- PHP WHMCS UpdateProjectTask用法及代碼示例
- PHP WHMCS UpdateAdminNotes用法及代碼示例
- PHP WHMCS UpgradeProduct用法及代碼示例
- PHP WHMCS UserLogout用法及代碼示例
- PHP WHMCS UserAdd用法及代碼示例
- PHP WHMCS UserEmailVerificationComplete用法及代碼示例
- PHP Unset() vs Unlink()用法及代碼示例
注:本文由純淨天空篩選整理自whmcs.com大神的英文原創作品 UpdateInvoice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。