使用提供的参数更新发票。
请求参数
参数 | 类型 | 说明 | 必需的 |
---|---|---|---|
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。