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


PHP WHMCS UpgradeProduct用法及代码示例


升级或计算产品升级

请求参数

参数 类型 说明 必需的
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
  • 无效的升级类型

相关用法


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