升级或计算产品升级
请求参数
参数 | 类型 | 说明 | 必需的 |
---|---|---|---|
action | string | “UpgradeProduct” | Required |
serviceid | int | 要更新的服务的 ID | Required |
calconly | bool | 只计算升级数量 | Optional |
paymentmethod | string | 系统格式的升级支付方式(如paypal) | Required |
type | string | 升级类型(‘product’, ‘configoptions’) | Required |
newproductid | int | 新产品ID | Optional |
newproductbillingcycle | string | 新产品计费周期 | Optional |
promocode | string | 适用于升级的促销代码 | Optional |
configoptions | array | 如果 type=configoptions - 配置要包含在升级中的选项。键代表配置选项 ID,而它们的值代表配置选项选项 ID 或值(取决于类型)。在提供的示例中,配置选项 ID=1 是指定选项 ID 4 的下拉列表,配置选项 ID=2 是指定需要 5 个单位的数量。 | Optional |
响应参数
参数 | 类型 | 说明 |
---|---|---|
result | string | 操作结果:成功或错误 |
upgradeinprogress | bool | 是否正在进行升级(仅适用于 calconly) |
示例请求 (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' => 'UpgradeProduct',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'serviceid' => '1',
'paymentmethod' => 'paypal',
'newproductbillingcycle' => 'monthly',
'type' => 'product',
'newproductid' => '11',
'configoptions' => [1 => 4, 2 => 5],
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
示例请求(本地 API)
$command = 'UpgradeProduct';
$postData = array(
'serviceid' => '1',
'paymentmethod' => 'paypal',
'newproductbillingcycle' => 'monthly',
'type' => 'product',
'newproductid' => '11',
'configoptions' => [1 => 4, 2 => 5],
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
示例响应 JSON
{
"result": "success",
"oldproductid": "12",
"oldproductname": "5 Years",
"newproductid": 11,
"newproductname": "4 Years",
"daysuntilrenewal": 13,
"totaldays": 30,
"newproductbillingcycle": "monthly",
"price": "$-8.67 USD",
"id": "44",
"orderid": 73,
"order_number": "9093331404",
"invoiceid": null
}
错误响应
可能的错误条件响应包括:
- 未找到服务 ID
- 无法接受升级订单。之前的升级服务发票仍未支付。
- 付款方式无效。有效选项包括 xxx
- 无效的升级类型
相关用法
- 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 UpdateInvoiceTotal用法及代码示例
- PHP WHMCS UpdateUser用法及代码示例
- PHP WHMCS UpdateTransaction用法及代码示例
- PHP WHMCS UpdateTicket用法及代码示例
- PHP WHMCS UpdateContact用法及代码示例
- PHP WHMCS UpdateProject用法及代码示例
- PHP WHMCS UpdateInvoice用法及代码示例
- PHP WHMCS UpdateClientDomain用法及代码示例
- PHP WHMCS UpdateClient用法及代码示例
- PHP WHMCS UpdateProjectTask用法及代码示例
- PHP WHMCS UpdateAdminNotes用法及代码示例
- PHP WHMCS UserLogout用法及代码示例
- PHP WHMCS UserAdd用法及代码示例
- PHP WHMCS UserEmailVerificationComplete用法及代码示例
- PHP Unset() vs Unlink()用法及代码示例
注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 UpgradeProduct。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。