/** * fillout the shipping price group payload for the order item * @param Mage_Sales_Model_Order_Address * @param IOrderItem * @return self */ protected function prepareShippingPriceGroup(Mage_Sales_Model_Order_Address $address, IOrderItem $payload) { $shippingPriceGroup = $payload->getEmptyPriceGroup(); $shippingPriceGroup->setAmount((double) $address->getShippingAmount()); $this->discountHelper->transferDiscounts($address, $shippingPriceGroup); $payload->setShippingPricing($shippingPriceGroup); return $this; }
/** * Add pricing data for the item to the item payload. * * @return self */ protected function _injectPricingData() { $merchandisePricing = $this->_orderItem->getEmptyMerchandisePriceGroup()->setUnitPrice($this->_item->getPrice())->setAmount($this->_item->getRowTotal())->setTaxClass($this->_itemProduct->getTaxCode()); $this->_discountHelper->transferTaxDiscounts($this->_item, $merchandisePricing); $this->_orderItem->setMerchandisePricing($merchandisePricing); // This will be set by the parent address when initially creating the // item request builder. Each ship group should include shipping on // only one item in the ship group for address level shipping totals. if ($this->_item->getIncludeShippingTotals()) { $shippingPricing = $this->_orderItem->getEmptyShippingPriceGroup()->setAmount($this->_address->getShippingAmount())->setTaxClass($this->_taxConfig->shippingTaxClass); $this->_addShippingDiscount($shippingPricing); $this->_orderItem->setShippingPricing($shippingPricing); } return $this; }