array('first'=>1000, 'sub'=>400), 'SKU000002' => array('first'=>1000, 'sub'=>500), ); $rate = 0; foreach ($DATA['items'] as $item) { if (isset($fixedPriceItems[$item['sku']])) { $itemRate = $fixedPriceItems[$item['sku']]; if ($item['quantity'] > 1) { $rate += $itemRate['first'] + $itemRate['sub']*($item['quantity']-1); } else { $rate += $itemRate['first']; } } else { return array(); } } //round up nearest cent $rate = ceil($rate); $_RATES[] = array( "service_name" => "Standard Shipping", "service_code" => "STANDARD", "total_price" => $rate, //in cents "currency" => "USD", ); return $_RATES; /* do not edit below this line */ }