/** * Adds shipping cost to request as item * * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object * @param bool $credit * @return int|bool */ protected function _addShipping($object, $credit = false) { if ($object->getBaseShippingAmount() == 0) { return false; } $order = $object->getOrder(); $lineNumber = $this->_getNewLineCode(); $storeId = $object->getStore()->getId(); $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId); $line = $this->_getNewDocumentRequestLineObject(); $amount = $object->getBaseShippingAmount(); if ($this->_getTaxDataHelper()->priceIncludesTax($storeId)) { $amount = (double) $object->getBaseShippingInclTax(); $line->setTaxIncluded('true'); } if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) { $amount -= (double) $order->getBaseShippingDiscountAmount(); } //@startSkipCommitHooks $amount = $credit ? -1 * $amount : $amount; //@finishSkipCommitHooks $line->setLineCode($lineNumber); $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId); $line->setItemCode($shippingSku ? $shippingSku : self::DEFAULT_SHIPPING_ITEMS_SKU); $line->setItemDescription(self::DEFAULT_SHIPPING_ITEMS_DESCRIPTION); $line->setAvalaraGoodsAndServicesType($taxClass); $line->setNumberOfItems(1); $line->setlineAmount($amount); $discounted = (double) $order->getBaseShippingDiscountAmount() && $this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId) ? 'true' : 'false'; $line->setDiscounted($discounted); $this->_lineToItemId[$lineNumber] = $shippingSku; $this->_lines[$lineNumber] = $line; $this->_setLinesToRequest(); return $lineNumber; }
/** * Cancel specified invoice: update self totals from it * * @param Mage_Sales_Model_Order_Invoice $invoice * @return Mage_Sales_Model_Order_Payment */ public function cancelInvoice($invoice) { $this->_updateTotals(array('amount_paid' => -1 * $invoice->getGrandTotal(), 'base_amount_paid' => -1 * $invoice->getBaseGrandTotal(), 'shipping_captured' => -1 * $invoice->getShippingAmount(), 'base_shipping_captured' => -1 * $invoice->getBaseShippingAmount())); Mage::dispatchEvent('sales_order_payment_cancel_invoice', array('payment' => $this, 'invoice' => $invoice)); return $this; }
/** * Adds shipping cost to request as item * * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object * @param bool $credit * @return int|bool */ protected function _addShipping($object, $credit = false) { if ($object->getBaseShippingAmount() == 0) { return false; } $order = $object->getOrder(); $lineNumber = count($this->_lines); $storeId = $object->getStore()->getId(); $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId); $line = new Line(); $amount = (double) $object->getBaseShippingAmount(); if ($this->_getTaxDataHelper()->priceIncludesTax($storeId)) { $amount = (double) $object->getBaseShippingInclTax(); $line->setTaxIncluded(true); } if ($this->_getTaxDataHelper()->applyTaxAfterDiscount()) { $amount -= (double) $order->getBaseShippingDiscountAmount(); } if ($credit) { //@startSkipCommitHooks $amount *= -1; //@finishSkipCommitHooks } $line->setNo($lineNumber); $line->setItemCode($this->_getConfigHelper()->getShippingSku($storeId)); $line->setDescription('Shipping costs'); $line->setTaxCode($taxClass); $line->setQty(1); $line->setAmount($amount); $line->setDiscounted((double) $order->getBaseShippingDiscountAmount() && $this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)); $this->_lineToItemId[$lineNumber] = 'shipping'; $this->_lines[$lineNumber] = $line; $this->_request->setLines($this->_lines); return $lineNumber; }
/** * Adds shipping cost to request as item * * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object * @param bool $credit * @return int|bool */ protected function _addShipping($object, $credit = false) { if ($object->getBaseShippingAmount() == 0) { return false; } $lineNumber = count($this->_lines); $storeId = $object->getStore()->getId(); $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId); $amount = $object->getBaseShippingAmount(); if ($credit) { //@startSkipCommitHooks $amount *= -1; //@finishSkipCommitHooks } $line = new Line(); $line->setNo($lineNumber); $line->setItemCode(Mage::helper('avatax')->getShippingSku($storeId)); $line->setDescription('Shipping costs'); $line->setTaxCode($taxClass); $line->setQty(1); $line->setAmount($amount); $line->setDiscounted(false); $this->_lineToItemId[$lineNumber] = 'shipping'; $this->_lines[$lineNumber] = $line; $this->_request->setLines($this->_lines); return $lineNumber; }