private function getShippingRates(CustomerOrder $order, $addresses) { if (!$order->isShippingRequired()) { return array(); } $shipment = $order->getShipments()->get(0); $rates = array(); foreach ($addresses as $id => $address) { $order->shippingAddress->set($address); $tax = $order->getTaxAmount(); $rates[$id] = $shipment->getShippingRates()->toArray(); foreach ($rates[$id] as &$rate) { $rate['orderTax'] = $tax; } } $order->shippingAddress->set(null); return $rates; }