我正在使用WHMCS本地API添加新订单。除domainrenewals字段外,其他一切正常。
if(!empty($_POST['renewalids']))
{
$postarray = array();
$postarray['action'] = 'addorder';
$postarray['clientid'] = \Yii::$app->user->identity->id;
$postarray["paymentmethod"] = "paypal";
foreach($_POST['renewalids'] as $key=>$id)
{
$priceselected = $_POST['renewalperiod'][$key];
$price = explode('_',$priceselected);
$postarray["domainrenewals[".$id."]"] = $price[0]; #renew for 1 year
/*$postarray["domainrenewals"][$id] = $price[0];*/
}
$orderDetails = WHMCSAPI::callApi($postarray);
它给我错误“没有商品添加到购物车,所以无法继续订购”。 你有什么建议吗?
答案 0 :(得分:1)
我认为您可能想再看看addorder的文档,因为您构建$postarray["domainrenewals"]
值的方式不正确。分配$postarray["domainrenewals"]
应该看起来像这样:
$postarray["domainrenewals"]['example.com'] = 1; //renew example.com for 1 year
由于某种原因,您似乎在使用ID代替域名,但我认为这不起作用。