array('US_first'=>1000, 'US_sub'=>400, 'US_first'=>1000, 'US_sub'=>400, 'ROW_first'=>2000, 'ROW_sub'=>400), 'SKU000002' => array('US_first'=>1000, 'US_sub'=>400, 'US_first'=>1000, 'US_sub'=>400, 'ROW_first'=>2000, 'ROW_sub'=>400), 'SKU000003' => array('US_first'=>1000, 'US_sub'=>400, 'US_first'=>1000, 'US_sub'=>400, 'ROW_first'=>2000, 'ROW_sub'=>400), 'SKU000004' => array('US_first'=>1000, 'US_sub'=>400, 'US_first'=>1000, 'US_sub'=>400, 'ROW_first'=>2000, 'ROW_sub'=>400), ); $rate = 0; foreach ($DATA['items'] as $item) { if (isset($fixedPriceItems[$item['sku']])) { $itemRate = $fixedPriceItems[$item['sku']]; $first = (isset($itemRate["{$DATA['destination']['country']}_first"])?$itemRate["{$DATA['destination']['country']}_first"]:$itemRate["ROW_first"]); $sub = (isset($itemRate["{$DATA['destination']['country']}_sub"])?$itemRate["{$DATA['destination']['country']}_sub"]:$itemRate["ROW_sub"]); if ($item['quantity'] > 1) { $rate += $first + $sub*($item['quantity']-1); } else { $rate += $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 */ }