使用提供的参数创建发票。
请求参数
参数 | 类型 | 说明 | 必需的 |
---|---|---|---|
action | string | “CreateInvoice” | Required |
userid | int | 为其创建发票的客户 ID。 | Required |
status | string | 正在创建的发票的状态。默认为 unpaid 。 |
Optional |
draft | bool | 是否创建草稿状态的发票。 (您不需要传递$status 。) |
Optional |
sendinvoice | bool | 是否将 Invoice Created Email 发送给客户端。 (您不能将其与 $draft 一起使用。) |
Optional |
paymentmethod | string | 已创建发票的付款方式,采用系统格式。 | Optional |
taxrate | float | 应用于发票以覆盖系统默认值的first-level 税率。 | Optional |
taxrate2 | float | 应用于发票以覆盖系统默认值的second-level 税率。 | Optional |
date | string | 发票应显示的创建日期。格式:YYYY-mm-dd | Optional |
duedate | string | 新创建发票的到期日。格式:YYYY-mm-dd | Optional |
notes | string | 在创建的发票上显示的注释。 | Optional |
itemdescriptionx | string | 订单项的说明。 X 是一个整数,用于添加多个发票项目。 |
Optional |
itemamountx | float | 行项目的数量。 | Optional |
itemtaxedx | bool | 行项目的征税值。 | Optional |
autoapplycredit | bool | 是否自动将客户帐户的信用应用到发票。 | Optional |
响应参数
参数 | 类型 | 说明 |
---|---|---|
result | string | 操作结果:成功或错误 |
invoiceid | int | 新建发票的 ID。 |
status | string | 新创建发票的状态。 |
示例请求 (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' => 'CreateInvoice',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'userid' => '1',
'status' => 'Unpaid',
'sendinvoice' => '1',
'paymentmethod' => 'mailin',
'taxrate' => '10.00',
'date' => '2016-01-01',
'duedate' => '2016-01-08',
'itemdescription1' => 'Sample Invoice Item',
'itemamount1' => '15.95',
'itemtaxed1' => '0',
'itemdescription2' => 'Sample Second Invoice Item',
'itemamount2' => '1.00',
'itemtaxed2' => '1',
'autoapplycredit' => '0',
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
示例请求(本地 API)
$command = 'CreateInvoice';
$postData = array(
'userid' => '1',
'status' => 'Unpaid',
'sendinvoice' => '1',
'paymentmethod' => 'mailin',
'taxrate' => '10.00',
'date' => '2016-01-01',
'duedate' => '2016-01-08',
'itemdescription1' => 'Sample Invoice Item',
'itemamount1' => '15.95',
'itemtaxed1' => '0',
'itemdescription2' => 'Sample Second Invoice Item',
'itemamount2' => '1.00',
'itemtaxed2' => '1',
'autoapplycredit' => '0',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
示例响应 JSON
{
"result": "success",
"invoiceid": "1",
"status": "Unpaid"
}
错误响应
可能的错误条件响应包括:
- 未找到客户端 ID
- 无法在单个 API 请求中创建和发送草稿发票。请单独创建和发送。
相关用法
- PHP WHMCS CreateProject用法及代码示例
- PHP WHMCS CreateSsoToken用法及代码示例
- PHP WHMCS CreateQuote用法及代码示例
- PHP WHMCS CreateOAuthCredential用法及代码示例
- PHP WHMCS CreateOrUpdateTLD用法及代码示例
- PHP WHMCS CreateClientInvite用法及代码示例
- PHP WHMCS ClientAreaPageDownloads用法及代码示例
- PHP WHMCS ClientAreaHeaderOutput用法及代码示例
- PHP WHMCS CartTotalAdjustment用法及代码示例
- PHP WHMCS ClientAreaPageSupportTickets用法及代码示例
- PHP WHMCS ClientAreaPageDomainDNSManagement用法及代码示例
- PHP WHMCS ClientAreaPageAffiliates用法及代码示例
- PHP WHMCS ClientAreaPageViewInvoice用法及代码示例
- PHP WHMCS ClientAreaPageProductsServices用法及代码示例
- PHP WHMCS CustomFieldSave用法及代码示例
- PHP WHMCS ClientAreaPageDomainRegisterNameservers用法及代码示例
- PHP CachingIterator __construct()用法及代码示例
- PHP WHMCS ClientAreaPageUnsubscribe用法及代码示例
- PHP WHMCS ClientAreaPageConfigureSSL用法及代码示例
- PHP WHMCS ClientAreaPageDomainDetails用法及代码示例
- PHP WHMCS ClientAreaPageAddonModule用法及代码示例
- PHP WHMCS ClientAreaPageContact用法及代码示例
- PHP WHMCS ClientAreaPageSecurity用法及代码示例
- PHP WHMCS ClientAreaPage用法及代码示例
- PHP CachingIterator getCache()用法及代码示例
注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 CreateInvoice。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。