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


PHP WHMCS CreateInvoice用法及代码示例

使用提供的参数创建发票。

请求参数

参数 类型 说明 必需的
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 请求中创建和发送草稿发票。请单独创建和发送。

相关用法


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