/**
  * 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;
 }