Version Notes
Supported Magento 1.5.0.0 - 1.7.x
Download this release
Release Info
Developer | Exactor, Inc. |
Extension | Mage_Exactor_Tax |
Version | 2012.07.23 |
Comparing to | |
See all releases |
Code changes from version 2012.06.19 to 2012.07.23
- app/code/local/Exactor/Core/Model/Type/Onepage.php +1 -1
- app/code/local/Exactor/Core/etc/config.xml +1 -1
- app/code/local/Exactor/ExactorSettings/Helper/Data.php +0 -1
- app/code/local/Exactor/Sales/Model/Observer.php +32 -22
- app/code/local/Exactor/Sales/etc/config.xml +1 -1
- app/code/local/Exactor/Tax/Helper/Mapping.php +11 -4
- app/code/local/Exactor/Tax/Model/Sales/Total/Quote/Tax.php +16 -0
- lib/ExactorCommons/ExactorCommons.php +1 -1
- lib/ExactorCommons/ExactorDomainObjects.php +1 -1
- lib/ExactorCommons/config.php +1 -1
- package.xml +4 -4
app/code/local/Exactor/Core/Model/Type/Onepage.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<?
|
2 |
|
3 |
class Exactor_Core_Model_Type_Onepage extends Mage_Checkout_Model_Type_Onepage{
|
4 |
/** @var Mage_Core_Model_Session_Abstract */
|
1 |
+
<?php
|
2 |
|
3 |
class Exactor_Core_Model_Type_Onepage extends Mage_Checkout_Model_Type_Onepage{
|
4 |
/** @var Mage_Core_Model_Session_Abstract */
|
app/code/local/Exactor/Core/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Exactor_Core>
|
31 |
-
<version>2012.
|
32 |
</Exactor_Core>
|
33 |
</modules>
|
34 |
<global>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Exactor_Core>
|
31 |
+
<version>2012.07.17</version>
|
32 |
</Exactor_Core>
|
33 |
</modules>
|
34 |
<global>
|
app/code/local/Exactor/ExactorSettings/Helper/Data.php
CHANGED
@@ -51,7 +51,6 @@ class Exactor_ExactorSettings_Helper_Data extends Mage_Core_Helper_Abstract{
|
|
51 |
* @return Exactor_Core_Model_MerchantSettings|null
|
52 |
*/
|
53 |
function loadMerchantSettingsOrEmptyObject($storeViewId=null){
|
54 |
-
// TODO: Filter by store view id
|
55 |
//if ($storeViewId == null) $storeViewId = 1; // 1 - ID of the default store view
|
56 |
$merchantSettingsModel = Mage::getModel(self::MODEL_MERCHANT_SETTINGS);
|
57 |
$merchantSettingsModel = $merchantSettingsModel
|
51 |
* @return Exactor_Core_Model_MerchantSettings|null
|
52 |
*/
|
53 |
function loadMerchantSettingsOrEmptyObject($storeViewId=null){
|
|
|
54 |
//if ($storeViewId == null) $storeViewId = 1; // 1 - ID of the default store view
|
55 |
$merchantSettingsModel = Mage::getModel(self::MODEL_MERCHANT_SETTINGS);
|
56 |
$merchantSettingsModel = $merchantSettingsModel
|
app/code/local/Exactor/Sales/Model/Observer.php
CHANGED
@@ -34,25 +34,25 @@ class Exactor_Sales_Model_Observer {
|
|
34 |
$this->logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
35 |
$this->exactorSettingsHelper = Mage::helper('ExactorSettings');
|
36 |
$this->sessionCache = Mage::helper('Exactor_Core_SessionCache/');
|
37 |
-
// Merchant Settings
|
38 |
-
$this->merchantSettings = $this->loadMerchantSettings();
|
39 |
-
if ($this->merchantSettings != null)
|
40 |
-
$this->exactorProcessingService = ExactorProcessingServiceFactory::getInstance()->buildExactorProcessingService(
|
41 |
-
$this->merchantSettings->getMerchantID(),
|
42 |
-
$this->merchantSettings->getUserID());
|
43 |
-
else
|
44 |
-
$this->exactorProcessingService = null;
|
45 |
}
|
46 |
|
47 |
/**
|
|
|
48 |
* @return Exactor_Core_Model_MerchantSettings|null
|
49 |
*/
|
50 |
-
private function loadMerchantSettings(){
|
51 |
$logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
52 |
-
$
|
|
|
|
|
53 |
if ($merchantSettings == null){
|
54 |
$logger->error('Settings are not populated.', 'buildExactorProcessingService');
|
|
|
55 |
return null;
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
return $merchantSettings;
|
58 |
}
|
@@ -74,13 +74,14 @@ class Exactor_Sales_Model_Observer {
|
|
74 |
}
|
75 |
|
76 |
public function handleAllOrdersCompleted(Varien_Event_Observer $observer){
|
77 |
-
if ($this->merchantSettings == null) return;
|
78 |
if (is_array($observer->getOrders()))
|
79 |
$orders = array_reverse($observer->getOrders());
|
80 |
else
|
81 |
$orders = array($observer->getOrder());
|
82 |
foreach($orders as $order){
|
83 |
-
$
|
|
|
|
|
84 |
if ($transactionInfo == null){
|
85 |
$this->logger->error('Nothing to process. There is no transaction in the session cache', 'handleCreatedOrder');
|
86 |
return;
|
@@ -92,7 +93,7 @@ class Exactor_Sales_Model_Observer {
|
|
92 |
$this->exactorProcessingService->getPluginCallback()->saveTransactionInfo($transactionInfo,$transactionInfo->getSignature());
|
93 |
// if CommitOption is set up to commit on sales order - do commit the
|
94 |
// latest transaction from the session storage
|
95 |
-
if ($
|
96 |
$this->exactorProcessingService->commitExistingInvoiceForOrder($orderId);
|
97 |
}
|
98 |
}
|
@@ -112,22 +113,25 @@ class Exactor_Sales_Model_Observer {
|
|
112 |
|
113 |
public function handleNewCreditMemo(Varien_Event_Observer $observer){
|
114 |
$this->logger->trace('called', 'handleNewCreditMemo');
|
115 |
-
|
|
|
116 |
$orderId = $observer->getCreditmemo()->getOrder()->getIncrementId();
|
117 |
$this->refundTransactionForOrder($orderId);
|
118 |
}
|
119 |
|
120 |
public function handleCancelOrder(Varien_Event_Observer $observer){
|
121 |
$this->logger->trace('called', 'handleCancelOrder');
|
122 |
-
|
|
|
123 |
$orderId = $observer->getOrder()->getIncrementId();
|
124 |
$this->refundTransactionForOrder($orderId);
|
125 |
}
|
126 |
|
127 |
public function handleNewShipment(Varien_Event_Observer $observer){
|
128 |
$this->logger->trace('called', 'handleNewShipment');
|
129 |
-
|
130 |
-
if ($
|
|
|
131 |
$orderId = $observer->getShipment()->getOrder()->getIncrementId();
|
132 |
$this->commitTransactionForOrder($orderId);
|
133 |
}
|
@@ -135,18 +139,24 @@ class Exactor_Sales_Model_Observer {
|
|
135 |
|
136 |
public function handleNewInvoice(Varien_Event_Observer $observer){
|
137 |
$this->logger->trace('called', 'handleNewInvoice');
|
138 |
-
|
139 |
-
|
140 |
-
if ($
|
141 |
$orderId = $observer->getInvoice()->getOrder()->getIncrementId();
|
142 |
$this->commitTransactionForOrder($orderId);
|
143 |
}
|
144 |
|
145 |
}
|
146 |
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
149 |
$storeId = Mage::app()->getStore()->getId();
|
|
|
|
|
|
|
150 |
return $storeId != 0 ? $storeId : Mage::app()->getDefaultStoreView()->getId();
|
151 |
}
|
152 |
}
|
34 |
$this->logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
35 |
$this->exactorSettingsHelper = Mage::helper('ExactorSettings');
|
36 |
$this->sessionCache = Mage::helper('Exactor_Core_SessionCache/');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
/**
|
40 |
+
* @param Mage_Sales_Model_Order|null $order
|
41 |
* @return Exactor_Core_Model_MerchantSettings|null
|
42 |
*/
|
43 |
+
private function loadMerchantSettings($order=null){
|
44 |
$logger = ExactorLoggingFactory::getInstance()->getLogger($this);
|
45 |
+
$storeViewId = $this->getStoreViewId($order);
|
46 |
+
$merchantSettings = $this->exactorSettingsHelper->loadValidMerchantSettings($storeViewId);
|
47 |
+
|
48 |
if ($merchantSettings == null){
|
49 |
$logger->error('Settings are not populated.', 'buildExactorProcessingService');
|
50 |
+
$this->exactorProcessingService = null;
|
51 |
return null;
|
52 |
+
}else{
|
53 |
+
$this->exactorProcessingService = ExactorProcessingServiceFactory::getInstance()->buildExactorProcessingService(
|
54 |
+
$merchantSettings->getMerchantID(),
|
55 |
+
$merchantSettings->getUserID());
|
56 |
}
|
57 |
return $merchantSettings;
|
58 |
}
|
74 |
}
|
75 |
|
76 |
public function handleAllOrdersCompleted(Varien_Event_Observer $observer){
|
|
|
77 |
if (is_array($observer->getOrders()))
|
78 |
$orders = array_reverse($observer->getOrders());
|
79 |
else
|
80 |
$orders = array($observer->getOrder());
|
81 |
foreach($orders as $order){
|
82 |
+
$merchantSettings = $this->loadMerchantSettings($order);
|
83 |
+
if ($merchantSettings==null) continue;
|
84 |
+
$transactionInfo = $this->sessionCache->popTransactionInfo($order);
|
85 |
if ($transactionInfo == null){
|
86 |
$this->logger->error('Nothing to process. There is no transaction in the session cache', 'handleCreatedOrder');
|
87 |
return;
|
93 |
$this->exactorProcessingService->getPluginCallback()->saveTransactionInfo($transactionInfo,$transactionInfo->getSignature());
|
94 |
// if CommitOption is set up to commit on sales order - do commit the
|
95 |
// latest transaction from the session storage
|
96 |
+
if ($merchantSettings->getCommitOption() == Exactor_Core_Model_MerchantSettings::COMMIT_ON_SALES_ORDER){
|
97 |
$this->exactorProcessingService->commitExistingInvoiceForOrder($orderId);
|
98 |
}
|
99 |
}
|
113 |
|
114 |
public function handleNewCreditMemo(Varien_Event_Observer $observer){
|
115 |
$this->logger->trace('called', 'handleNewCreditMemo');
|
116 |
+
$merchantSettings = $this->loadMerchantSettings($observer->getCreditmemo()->getOrder());
|
117 |
+
if ($merchantSettings==null) return;
|
118 |
$orderId = $observer->getCreditmemo()->getOrder()->getIncrementId();
|
119 |
$this->refundTransactionForOrder($orderId);
|
120 |
}
|
121 |
|
122 |
public function handleCancelOrder(Varien_Event_Observer $observer){
|
123 |
$this->logger->trace('called', 'handleCancelOrder');
|
124 |
+
$merchantSettings = $this->loadMerchantSettings($observer->getOrder());
|
125 |
+
if ($merchantSettings==null) return;
|
126 |
$orderId = $observer->getOrder()->getIncrementId();
|
127 |
$this->refundTransactionForOrder($orderId);
|
128 |
}
|
129 |
|
130 |
public function handleNewShipment(Varien_Event_Observer $observer){
|
131 |
$this->logger->trace('called', 'handleNewShipment');
|
132 |
+
$merchantSettings = $this->loadMerchantSettings($observer->getShipment()->getOrder());
|
133 |
+
if ($merchantSettings==null) return;
|
134 |
+
if ($merchantSettings->getCommitOption() == Exactor_Core_Model_MerchantSettings::COMMIT_ON_SHIPMENT){
|
135 |
$orderId = $observer->getShipment()->getOrder()->getIncrementId();
|
136 |
$this->commitTransactionForOrder($orderId);
|
137 |
}
|
139 |
|
140 |
public function handleNewInvoice(Varien_Event_Observer $observer){
|
141 |
$this->logger->trace('called', 'handleNewInvoice');
|
142 |
+
$merchantSettings = $this->loadMerchantSettings($observer->getInvoice()->getOrder());
|
143 |
+
if ($merchantSettings==null) return;
|
144 |
+
if ($merchantSettings->getCommitOption() == Exactor_Core_Model_MerchantSettings::COMMIT_ON_INVOICE){
|
145 |
$orderId = $observer->getInvoice()->getOrder()->getIncrementId();
|
146 |
$this->commitTransactionForOrder($orderId);
|
147 |
}
|
148 |
|
149 |
}
|
150 |
|
151 |
+
/**
|
152 |
+
* @param Mage_Sales_Model_Order|null $order
|
153 |
+
* @return int
|
154 |
+
*/
|
155 |
+
public function getStoreViewId($order=null){
|
156 |
$storeId = Mage::app()->getStore()->getId();
|
157 |
+
if ($order!=null){
|
158 |
+
$storeId = $order->getStoreId() ? $order->getStoreId() : 0;
|
159 |
+
}
|
160 |
return $storeId != 0 ? $storeId : Mage::app()->getDefaultStoreView()->getId();
|
161 |
}
|
162 |
}
|
app/code/local/Exactor/Sales/etc/config.xml
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Exactor_Sales>
|
31 |
-
<version>2012.06.
|
32 |
</Exactor_Sales>
|
33 |
</modules>
|
34 |
<global>
|
28 |
<config>
|
29 |
<modules>
|
30 |
<Exactor_Sales>
|
31 |
+
<version>2012.06.23</version>
|
32 |
</Exactor_Sales>
|
33 |
</modules>
|
34 |
<global>
|
app/code/local/Exactor/Tax/Helper/Mapping.php
CHANGED
@@ -195,7 +195,10 @@ class Exactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract {
|
|
195 |
Exactor_Core_Model_MerchantSettings $merchantSettings){
|
196 |
$lineItem = new LineItemType();
|
197 |
$lineItem->setDescription($magentoItem->getName());
|
198 |
-
|
|
|
|
|
|
|
199 |
$lineItem->setQuantity($magentoItem->getTotalQty());
|
200 |
$lineItem->setSKU($this->getSKUForItem($magentoItem, $merchantSettings));
|
201 |
$this->applyDiscountToLineItem($lineItem, $magentoItem->getDiscountAmount());
|
@@ -220,8 +223,12 @@ class Exactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract {
|
|
220 |
return $exemptionId;
|
221 |
}
|
222 |
|
223 |
-
private function getCurrentCurrencyCode(){
|
224 |
-
$
|
|
|
|
|
|
|
|
|
225 |
if ($currency == null) $currency = 'USD';
|
226 |
return $currency;
|
227 |
}
|
@@ -255,7 +262,7 @@ class Exactor_Tax_Helper_Mapping extends Mage_Core_Helper_Abstract {
|
|
255 |
$invoiceRequest->setPurchaseOrderNumber(self::PO_ESTIMATE_TEXT .$quoteAddress->getId());
|
256 |
$invoiceRequest->setShipTo($shipToAddress);
|
257 |
$invoiceRequest->setBillTo($billingAddress);
|
258 |
-
$invoiceRequest->setCurrencyCode($this->getCurrentCurrencyCode());
|
259 |
$invoiceRequest->setShipFrom($merchantSettings->getExactorShippingAddress());
|
260 |
$invoiceRequest->setExemptionId($this->getExemptionIdForQuoteAddress($quoteAddress, $merchantSettings));
|
261 |
// Line items list
|
195 |
Exactor_Core_Model_MerchantSettings $merchantSettings){
|
196 |
$lineItem = new LineItemType();
|
197 |
$lineItem->setDescription($magentoItem->getName());
|
198 |
+
if ($magentoItem->getBaseRowTotal())
|
199 |
+
$lineItem->setGrossAmount($magentoItem->getBaseRowTotal());
|
200 |
+
else
|
201 |
+
$lineItem->setGrossAmount(0.0);
|
202 |
$lineItem->setQuantity($magentoItem->getTotalQty());
|
203 |
$lineItem->setSKU($this->getSKUForItem($magentoItem, $merchantSettings));
|
204 |
$this->applyDiscountToLineItem($lineItem, $magentoItem->getDiscountAmount());
|
223 |
return $exemptionId;
|
224 |
}
|
225 |
|
226 |
+
private function getCurrentCurrencyCode(Mage_Sales_Model_Quote_Address $quoteAddress){
|
227 |
+
$store = Mage::app()->getStore();
|
228 |
+
if ($quoteAddress->getQuote() != null && $quoteAddress->getQuote()->getStoreId() != null){
|
229 |
+
$store = $quoteAddress->getQuote()->getStore();
|
230 |
+
}
|
231 |
+
$currency = $store->getBaseCurrencyCode();
|
232 |
if ($currency == null) $currency = 'USD';
|
233 |
return $currency;
|
234 |
}
|
262 |
$invoiceRequest->setPurchaseOrderNumber(self::PO_ESTIMATE_TEXT .$quoteAddress->getId());
|
263 |
$invoiceRequest->setShipTo($shipToAddress);
|
264 |
$invoiceRequest->setBillTo($billingAddress);
|
265 |
+
$invoiceRequest->setCurrencyCode($this->getCurrentCurrencyCode($quoteAddress));
|
266 |
$invoiceRequest->setShipFrom($merchantSettings->getExactorShippingAddress());
|
267 |
$invoiceRequest->setExemptionId($this->getExemptionIdForQuoteAddress($quoteAddress, $merchantSettings));
|
268 |
// Line items list
|
app/code/local/Exactor/Tax/Model/Sales/Total/Quote/Tax.php
CHANGED
@@ -170,6 +170,22 @@ class Exactor_Tax_Model_Sales_Total_Quote_Tax extends Mage_Sales_Model_Quote_Add
|
|
170 |
foreach ($address->getAllItems() as $item){
|
171 |
$shippingTax -= $item->getTaxAmount();
|
172 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
$address->setShippingTaxAmount($shippingTax);
|
174 |
$address->setBaseShippingTaxAmount($shippingTax);
|
175 |
}
|
170 |
foreach ($address->getAllItems() as $item){
|
171 |
$shippingTax -= $item->getTaxAmount();
|
172 |
}
|
173 |
+
// The following code is workaraund for the bug in Magento 1.6.2 - Tax applied to the QuoteAddress object
|
174 |
+
// can be missed by Magento for some reason. This issue can be reproduced in very trickily manner:
|
175 |
+
// 1. login
|
176 |
+
// 2. add product to the cart
|
177 |
+
// 3. logout
|
178 |
+
// 4. login again
|
179 |
+
// 5. proceed to purchase
|
180 |
+
// 6. select FREE SHIPPING
|
181 |
+
// 7. tax will be zero in front-end, negative in fact. The reason - $address->getTaxAmount() will return 0,
|
182 |
+
// while line items still contains valid tax
|
183 |
+
// IMPORTANT: Issue can be reproduced only once per session (first attempt), thus you should clear cookies before login.
|
184 |
+
if ($shippingTax < 0){
|
185 |
+
$this->applyTax(-1 * $shippingTax);
|
186 |
+
$shippingTax = 0;
|
187 |
+
}
|
188 |
+
//
|
189 |
$address->setShippingTaxAmount($shippingTax);
|
190 |
$address->setBaseShippingTaxAmount($shippingTax);
|
191 |
}
|
lib/ExactorCommons/ExactorCommons.php
CHANGED
@@ -635,7 +635,7 @@ class ExactorProcessingService{
|
|
635 |
$response = ExactorConnectionFactory::getInstance()->buildExactorConnector()->sendRequest($request);
|
636 |
// Do callback to the plugin
|
637 |
if ($response->hasErrors()){
|
638 |
-
if ($response->getFirstError()->getErrorCode() == ErrorResponseType::
|
639 |
$commitRequest->setCommitDate(new DateTime());
|
640 |
$response = ExactorConnectionFactory::getInstance()->buildExactorConnector()->sendRequest($request);
|
641 |
if ($response->hasErrors()){
|
635 |
$response = ExactorConnectionFactory::getInstance()->buildExactorConnector()->sendRequest($request);
|
636 |
// Do callback to the plugin
|
637 |
if ($response->hasErrors()){
|
638 |
+
if ($response->getFirstError()->getErrorCode() == ErrorResponseType::ERROR_INVALID_COMMIT_DATE){
|
639 |
$commitRequest->setCommitDate(new DateTime());
|
640 |
$response = ExactorConnectionFactory::getInstance()->buildExactorConnector()->sendRequest($request);
|
641 |
if ($response->hasErrors()){
|
lib/ExactorCommons/ExactorDomainObjects.php
CHANGED
@@ -216,7 +216,7 @@ class LineItemType extends XmlSerializationSupport {
|
|
216 |
public $SKU;
|
217 |
public $Description;
|
218 |
public $Quantity=1;
|
219 |
-
public $GrossAmount;
|
220 |
public $BillTo;
|
221 |
public $ShipTo;
|
222 |
public $ShipFrom;
|
216 |
public $SKU;
|
217 |
public $Description;
|
218 |
public $Quantity=1;
|
219 |
+
public $GrossAmount=0;
|
220 |
public $BillTo;
|
221 |
public $ShipTo;
|
222 |
public $ShipFrom;
|
lib/ExactorCommons/config.php
CHANGED
@@ -6,6 +6,6 @@
|
|
6 |
*/
|
7 |
|
8 |
ExactorLoggingFactory::getInstance()->setup('MagentoLogger', IExactorLogger::TRACE);
|
9 |
-
ExactorConnectionFactory::getInstance()->setup('Magento','
|
10 |
ExactorProcessingServiceFactory::getInstance()->setup(new MagentoExactorCallback());
|
11 |
|
6 |
*/
|
7 |
|
8 |
ExactorLoggingFactory::getInstance()->setup('MagentoLogger', IExactorLogger::TRACE);
|
9 |
+
ExactorConnectionFactory::getInstance()->setup('Magento','v20120723');
|
10 |
ExactorProcessingServiceFactory::getInstance()->setup(new MagentoExactorCallback());
|
11 |
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Exactor_Tax</name>
|
4 |
-
<version>2012.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -12,9 +12,9 @@ Once installed, neither the merchant, nor the customer, need to perform any addi
|
|
12 |
For additional information, please refer to the Exactor Magento User Guide that is attached to the plug-in, or which you can download directly from the Exactor control panel (navigate to Account Management Integration Points & PlugIns).</description>
|
13 |
<notes>Supported Magento 1.5.0.0 - 1.7.x</notes>
|
14 |
<authors><author><name>Exactor, Inc.</name><user>exactor</user><email>support@exactor.com</email></author></authors>
|
15 |
-
<date>2012-
|
16 |
-
<time>
|
17 |
-
<contents><target name="magelocal"><dir name="Exactor"><dir name="Core"><dir name="Helper"><file name="SessionCache.php" hash="4aab06767188e8ead64043654989473d"/></dir><dir name="Model"><file name="ExactorTransaction.php" hash="852aa20f6e3b7aa0001439d4bffe9724"/><file name="MerchantSettings.php" hash="b4c2acde5dfa929e89ea7ec9fe0f1b2f"/><dir name="Mysql4"><dir name="ExactorTransaction"><file name="Collection.php" hash="c7b890b4d3ab35e65a3856ae0e2fdf72"/></dir><file name="ExactorTransaction.php" hash="c91aebaae767613acf1c439a8b513c3b"/><dir name="MerchantSettings"><file name="Collection.php" hash="c1593f52e582e601409c4651c37495af"/><file name="Collection.php~" hash="d360e202eb30432ac41dc023ce13ffc0"/></dir><file name="MerchantSettings.php" hash="8f22b76bb64cdc7b1deb6f0e38889905"/></dir><dir name="Type"><file name="Onepage.php" hash="
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Mage_Exactor_Tax</name>
|
4 |
+
<version>2012.07.23</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
12 |
For additional information, please refer to the Exactor Magento User Guide that is attached to the plug-in, or which you can download directly from the Exactor control panel (navigate to Account Management Integration Points & PlugIns).</description>
|
13 |
<notes>Supported Magento 1.5.0.0 - 1.7.x</notes>
|
14 |
<authors><author><name>Exactor, Inc.</name><user>exactor</user><email>support@exactor.com</email></author></authors>
|
15 |
+
<date>2012-07-23</date>
|
16 |
+
<time>16:15:21</time>
|
17 |
+
<contents><target name="magelocal"><dir name="Exactor"><dir name="Core"><dir name="Helper"><file name="SessionCache.php" hash="4aab06767188e8ead64043654989473d"/></dir><dir name="Model"><file name="ExactorTransaction.php" hash="852aa20f6e3b7aa0001439d4bffe9724"/><file name="MerchantSettings.php" hash="b4c2acde5dfa929e89ea7ec9fe0f1b2f"/><dir name="Mysql4"><dir name="ExactorTransaction"><file name="Collection.php" hash="c7b890b4d3ab35e65a3856ae0e2fdf72"/></dir><file name="ExactorTransaction.php" hash="c91aebaae767613acf1c439a8b513c3b"/><dir name="MerchantSettings"><file name="Collection.php" hash="c1593f52e582e601409c4651c37495af"/><file name="Collection.php~" hash="d360e202eb30432ac41dc023ce13ffc0"/></dir><file name="MerchantSettings.php" hash="8f22b76bb64cdc7b1deb6f0e38889905"/></dir><dir name="Type"><file name="Onepage.php" hash="2441fb08bbeb579831cea4d3fbd31104"/></dir></dir><dir name="etc"><file name="config.xml" hash="98ecc82a5f7b74ac0bfc0f7ab512afdb"/></dir></dir><dir name="ExactorSettings"><dir name="Block"><file name="Form.php" hash="7dcfb00922cfe305d8ae08cb20ca5e87"/></dir><dir name="Helper"><file name="Data.php" hash="a23bb9c251f0dbb77c107d01dde39e86"/><file name="VersionResolver.php" hash="14dce068dfe2a7d3364c4bd29e6f8431"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="FormController.php" hash="a154f13f8c4c04f838dfb79607078341"/></dir><file name="AjaxController.php" hash="c07aeeca00e1408e52945fc027569793"/><file name="IndexController.php" hash="f47cbc274dd68c57c30b60bbee69259e"/></dir><dir name="etc"><file name="config.xml" hash="6c2f28c302b359abd12565264fa23bc5"/></dir><dir name="sql"><dir name="ExactorSettings_setup"><file name="mysql4-install-14.04.2012.php" hash="f35af1e12921b57479cb4b5677937a0c"/></dir></dir></dir><dir name="Sales"><dir name="Model"><file name="Observer.php" hash="597c015390a1c0d8e327aaa17d756be3"/></dir><dir name="etc"><file name="config.xml" hash="38b42ea182d95847903f9ddfda67b282"/></dir></dir><dir name="Tax"><dir name="Helper"><file name="Calculation.php" hash="29c5252bdd48b173c90588f449114024"/><file name="Mapping.php" hash="31e761acdecabb2cbfd744c88c60fcbe"/></dir><dir name="Model"><dir name="Sales"><dir name="Total"><dir name="Quote"><dir name="Nominal"><file name="Tax.php" hash="156eff380df5b16db55449759f193490"/></dir><file name="Tax.php" hash="15fce92e8f6bc2caf0ce09df51cf81a4"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="9a653c98a67e3743f45618d0890aab00"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="exactorsettings.xml" hash="3707eac08d2393c8796eebf1cf7a0bd9"/><file name="exactoronestepcheckout.xml" hash="9fdfa1db5e4e60b4eec8f348c10aab07"/></dir><dir name="template"><dir name="ExactorSettings"><file name="settingsform.phtml" hash="c77a9c5461dbb37f0a8835e55f48f1d6"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="exactoronestepcheckout.xml" hash="9fdfa1db5e4e60b4eec8f348c10aab07"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Exactor.xml" hash="e8997e8e36a265141b37790caaef39d6"/></dir></target><target name="mageweb"><dir name="js"><dir name="exactor"><file name="exactor.js" hash="5c23e40f4034e50a6e0df5b1c708b7e1"/></dir></dir></target><target name="magelib"><dir name="ExactorCommons"><file name="ExactorCommons.php" hash="1a9ffaa25007a2b6eb170905ecaed97e"/><file name="ExactorDomainObjects.php" hash="d69c2827a03213386b861076ad75e33a"/><file name="Magento.php" hash="76da7333fe0692053a47f8564c7b513a"/><file name="XmlProcessing.php" hash="383fd21839889d720e2094e83ccc7a2a"/><file name="config.php" hash="b33630997120f36b5470626f98dc372a"/><file name="config.php~" hash="f12c65295b05793efd89dd64748282d1"/></dir></target></contents>
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|