Version Notes
Shopgate Modul
Download this release
Release Info
| Developer | Magento Core Team |
| Extension | shopgate_module |
| Version | 2.9.19 |
| Comparing to | |
| See all releases | |
Code changes from version 2.9.18 to 2.9.19
- app/code/community/Shopgate/Framework/Block/Payment/MobilePayment.php +2 -6
- app/code/community/Shopgate/Framework/Helper/Config.php +17 -2
- app/code/community/Shopgate/Framework/Helper/Coupon.php +53 -22
- app/code/community/Shopgate/Framework/Helper/Import/Order.php +19 -19
- app/code/community/Shopgate/Framework/Model/Export/Product/Xml.php +7 -1
- app/code/community/Shopgate/Framework/Model/Observer.php +14 -34
- app/code/community/Shopgate/Framework/Model/Payment/Abstract.php +14 -7
- app/code/community/Shopgate/Framework/Model/Payment/Pp/Abstract.php +2 -2
- app/code/community/Shopgate/Framework/Model/Payment/Pp/Wspp.php +24 -4
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod.php +64 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Abstract.php +42 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Msp.php +36 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Native.php +36 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix107.php +36 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix108.php +36 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Invoice.php +44 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Mws.php +3 -2
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal.php +21 -2
- app/code/community/Shopgate/Framework/Model/Payment/{Pp/Paypal.php → Simple/Paypal/Express.php} +2 -14
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Standard.php +93 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay.php +60 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Abstract.php +30 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Checkmo.php +37 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Native.php +36 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Phoenix.php +55 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Shopgate.php +57 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Sue/Sue118.php +1 -0
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Sue/Sue300.php +1 -0
- app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php +181 -222
- app/code/community/Shopgate/Framework/changelog.txt +12 -0
- app/code/community/Shopgate/Framework/etc/config.xml +2 -12
- app/design/adminhtml/default/default/template/shopgate/payment/mobile_payment.phtml +1 -1
- package.xml +6 -6
app/code/community/Shopgate/Framework/Block/Payment/MobilePayment.php
CHANGED
|
@@ -101,16 +101,12 @@ class Shopgate_Framework_Block_Payment_MobilePayment extends Mage_Payment_Block_
|
|
| 101 |
* Helper function to print PaymentInfo
|
| 102 |
* recursively
|
| 103 |
*
|
| 104 |
-
* @param $list
|
| 105 |
* @param $html - don't pass anything, recrusive helper
|
| 106 |
* @return string
|
| 107 |
*/
|
| 108 |
-
public function printPaymentInfo($list
|
| 109 |
{
|
| 110 |
-
if (empty($list)) {
|
| 111 |
-
$list = $this->getPaymentInfos();
|
| 112 |
-
}
|
| 113 |
-
|
| 114 |
if (is_array($list)) {
|
| 115 |
foreach ($list as $_key => $_value) {
|
| 116 |
if (is_array($_value)) {
|
| 101 |
* Helper function to print PaymentInfo
|
| 102 |
* recursively
|
| 103 |
*
|
| 104 |
+
* @param $list - paymentInfo array
|
| 105 |
* @param $html - don't pass anything, recrusive helper
|
| 106 |
* @return string
|
| 107 |
*/
|
| 108 |
+
public function printPaymentInfo($list, $html = '')
|
| 109 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
if (is_array($list)) {
|
| 111 |
foreach ($list as $_key => $_value) {
|
| 112 |
if (is_array($_value)) {
|
app/code/community/Shopgate/Framework/Helper/Config.php
CHANGED
|
@@ -46,6 +46,14 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
|
|
| 46 |
*/
|
| 47 |
const ENTERPRISE_EDITION = 'Enterprise';
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
/**
|
| 50 |
* When PayPal UI was updated
|
| 51 |
* @var string
|
|
@@ -72,6 +80,7 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
|
|
| 72 |
*/
|
| 73 |
public function __construct()
|
| 74 |
{
|
|
|
|
| 75 |
$this->_magentoVersion1701 = ($this->getEdition() == 'Enterprise') ? '1.12.0.2' : '1.7.0.1';
|
| 76 |
$this->_magentoVersion15 = ($this->getEdition() == 'Enterprise') ? '1.9.1.0' : '1.5';
|
| 77 |
$this->_magentoVersion1410 = ($this->getEdition() == 'Enterprise') ? '1.9.0.0' : '1.4.1.0';
|
|
@@ -99,8 +108,6 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
|
|
| 99 |
}
|
| 100 |
|
| 101 |
/**
|
| 102 |
-
* TODO: redo comparison check to be scalable
|
| 103 |
-
*
|
| 104 |
* @param string $version - magento version e.g "1.9.1.1"
|
| 105 |
* @return bool
|
| 106 |
*/
|
|
@@ -109,6 +116,14 @@ class Shopgate_Framework_Helper_Config extends Mage_Core_Helper_Abstract
|
|
| 109 |
return version_compare(Mage::getVersion(), $version, "<");
|
| 110 |
}
|
| 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
/**
|
| 113 |
* compare version if it is lower than 1.7.0.1
|
| 114 |
*
|
| 46 |
*/
|
| 47 |
const ENTERPRISE_EDITION = 'Enterprise';
|
| 48 |
|
| 49 |
+
/**
|
| 50 |
+
* When native COD & Bank payments
|
| 51 |
+
* were introduced
|
| 52 |
+
*
|
| 53 |
+
* @var string
|
| 54 |
+
*/
|
| 55 |
+
protected $_magentoVersion1700 = '';
|
| 56 |
+
|
| 57 |
/**
|
| 58 |
* When PayPal UI was updated
|
| 59 |
* @var string
|
| 80 |
*/
|
| 81 |
public function __construct()
|
| 82 |
{
|
| 83 |
+
$this->_magentoVersion1700 = ($this->getEdition() == 'Enterprise') ? '1.12.0.0' : '1.7.0.0';
|
| 84 |
$this->_magentoVersion1701 = ($this->getEdition() == 'Enterprise') ? '1.12.0.2' : '1.7.0.1';
|
| 85 |
$this->_magentoVersion15 = ($this->getEdition() == 'Enterprise') ? '1.9.1.0' : '1.5';
|
| 86 |
$this->_magentoVersion1410 = ($this->getEdition() == 'Enterprise') ? '1.9.0.0' : '1.4.1.0';
|
| 108 |
}
|
| 109 |
|
| 110 |
/**
|
|
|
|
|
|
|
| 111 |
* @param string $version - magento version e.g "1.9.1.1"
|
| 112 |
* @return bool
|
| 113 |
*/
|
| 116 |
return version_compare(Mage::getVersion(), $version, "<");
|
| 117 |
}
|
| 118 |
|
| 119 |
+
/**
|
| 120 |
+
* @return bool
|
| 121 |
+
*/
|
| 122 |
+
public function getIsMagentoVersionLower1700()
|
| 123 |
+
{
|
| 124 |
+
return $this->getIsMagentoVersionLower($this->_magentoVersion1700);
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
/**
|
| 128 |
* compare version if it is lower than 1.7.0.1
|
| 129 |
*
|
app/code/community/Shopgate/Framework/Helper/Coupon.php
CHANGED
|
@@ -39,6 +39,8 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 39 |
const COUPON_ATTRIUBTE_SET_NAME = 'Shopgate Coupon';
|
| 40 |
const COUPON_PRODUCT_SKU = 'shopgate-coupon';
|
| 41 |
|
|
|
|
|
|
|
| 42 |
/**
|
| 43 |
* Determines if a product is a Shopgate Coupon
|
| 44 |
*
|
|
@@ -47,12 +49,12 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 47 |
*/
|
| 48 |
public function isShopgateCoupon(Mage_Catalog_Model_Product $product)
|
| 49 |
{
|
| 50 |
-
|
| 51 |
-
|
| 52 |
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
return true;
|
| 57 |
}
|
| 58 |
|
|
@@ -71,8 +73,9 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 71 |
$product->setData('tax_class_id', $this->_getTaxClassId());
|
| 72 |
$product->setData('attribute_set_id', $this->_getAttributeSetId());
|
| 73 |
$product->setData('stock_data', $this->_getStockData());
|
| 74 |
-
$product->setData('visibility',
|
| 75 |
-
$product->setData('status',
|
|
|
|
| 76 |
|
| 77 |
return $product;
|
| 78 |
}
|
|
@@ -94,11 +97,7 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 94 |
*/
|
| 95 |
protected function _getAttributeSetId()
|
| 96 |
{
|
| 97 |
-
|
| 98 |
-
return $attributeSet->getId();
|
| 99 |
-
} else {
|
| 100 |
-
return $this->_createShopgateCouponAttributeSet()->getId();
|
| 101 |
-
}
|
| 102 |
}
|
| 103 |
|
| 104 |
/**
|
|
@@ -106,15 +105,18 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 106 |
*/
|
| 107 |
protected function _getShopgateCouponAttributeSet()
|
| 108 |
{
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
}
|
| 116 |
-
|
| 117 |
-
return null;
|
| 118 |
}
|
| 119 |
|
| 120 |
/**
|
|
@@ -130,7 +132,7 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 130 |
->setAttributeSetName(self::COUPON_ATTRIUBTE_SET_NAME);
|
| 131 |
|
| 132 |
$attributeSet->validate();
|
| 133 |
-
$attributeSet->save();
|
| 134 |
|
| 135 |
return $this->_getShopgateCouponAttributeSet();
|
| 136 |
}
|
|
@@ -138,7 +140,7 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 138 |
/**
|
| 139 |
* Delivers an stock_item Dummy Object
|
| 140 |
*
|
| 141 |
-
* @return
|
| 142 |
*/
|
| 143 |
protected function _getStockData()
|
| 144 |
{
|
|
@@ -154,4 +156,33 @@ class Shopgate_Framework_Helper_Coupon extends Mage_Core_Helper_Abstract
|
|
| 154 |
|
| 155 |
return $stockData;
|
| 156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 157 |
}
|
| 39 |
const COUPON_ATTRIUBTE_SET_NAME = 'Shopgate Coupon';
|
| 40 |
const COUPON_PRODUCT_SKU = 'shopgate-coupon';
|
| 41 |
|
| 42 |
+
protected $_attributeSet = null;
|
| 43 |
+
|
| 44 |
/**
|
| 45 |
* Determines if a product is a Shopgate Coupon
|
| 46 |
*
|
| 49 |
*/
|
| 50 |
public function isShopgateCoupon(Mage_Catalog_Model_Product $product)
|
| 51 |
{
|
| 52 |
+
$attributeSetModel = Mage::getModel("eav/entity_attribute_set")
|
| 53 |
+
->load($product->getAttributeSetId());
|
| 54 |
|
| 55 |
+
if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL
|
| 56 |
+
&& $attributeSetModel->getAttributeSetName() == self::COUPON_ATTRIUBTE_SET_NAME
|
| 57 |
+
) {
|
| 58 |
return true;
|
| 59 |
}
|
| 60 |
|
| 73 |
$product->setData('tax_class_id', $this->_getTaxClassId());
|
| 74 |
$product->setData('attribute_set_id', $this->_getAttributeSetId());
|
| 75 |
$product->setData('stock_data', $this->_getStockData());
|
| 76 |
+
$product->setData('visibility', Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE);
|
| 77 |
+
$product->setData('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
|
| 78 |
+
$product->setData('type_id', Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL);
|
| 79 |
|
| 80 |
return $product;
|
| 81 |
}
|
| 97 |
*/
|
| 98 |
protected function _getAttributeSetId()
|
| 99 |
{
|
| 100 |
+
return $this->_getShopgateCouponAttributeSet()->getId();
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
}
|
| 102 |
|
| 103 |
/**
|
| 105 |
*/
|
| 106 |
protected function _getShopgateCouponAttributeSet()
|
| 107 |
{
|
| 108 |
+
if (!$this->_attributeSet) {
|
| 109 |
+
$collection = Mage::getModel('eav/entity_attribute_set')
|
| 110 |
+
->getCollection()
|
| 111 |
+
->addFieldToFilter('attribute_set_name', self::COUPON_ATTRIUBTE_SET_NAME);
|
| 112 |
+
|
| 113 |
+
if (count($collection->getItems())) {
|
| 114 |
+
$this->_attributeSet = $collection->getFirstItem();
|
| 115 |
+
} else {
|
| 116 |
+
$this->_attributeSet = $this->_createShopgateCouponAttributeSet();
|
| 117 |
+
}
|
| 118 |
}
|
| 119 |
+
return $this->_attributeSet;
|
|
|
|
| 120 |
}
|
| 121 |
|
| 122 |
/**
|
| 132 |
->setAttributeSetName(self::COUPON_ATTRIUBTE_SET_NAME);
|
| 133 |
|
| 134 |
$attributeSet->validate();
|
| 135 |
+
$this->_attributeSet = $attributeSet->save();
|
| 136 |
|
| 137 |
return $this->_getShopgateCouponAttributeSet();
|
| 138 |
}
|
| 140 |
/**
|
| 141 |
* Delivers an stock_item Dummy Object
|
| 142 |
*
|
| 143 |
+
* @return array
|
| 144 |
*/
|
| 145 |
protected function _getStockData()
|
| 146 |
{
|
| 156 |
|
| 157 |
return $stockData;
|
| 158 |
}
|
| 159 |
+
|
| 160 |
+
/**
|
| 161 |
+
* Create magento coupon product from object
|
| 162 |
+
*
|
| 163 |
+
* @param Varien_Object $coupon
|
| 164 |
+
* @return Mage_Catalog_Model_Product
|
| 165 |
+
*/
|
| 166 |
+
public function createProductFromShopgateCoupon(Varien_Object $coupon)
|
| 167 |
+
{
|
| 168 |
+
/* @var $product Mage_Catalog_Model_Product */
|
| 169 |
+
$product = Mage::getModel('catalog/product');
|
| 170 |
+
$id = $product->getIdBySku($coupon->getItemNumber());
|
| 171 |
+
$product->load($id);
|
| 172 |
+
|
| 173 |
+
$product = $this->prepareShopgateCouponProduct($product);
|
| 174 |
+
$product->setPriceCalculation(false);
|
| 175 |
+
$product->setName($coupon->getName());
|
| 176 |
+
$product->setSku($coupon->getItemNumber());
|
| 177 |
+
$product->setPrice($coupon->getUnitAmountWithTax());
|
| 178 |
+
$product->setStoreId(Mage::app()->getStore()->getStoreId());
|
| 179 |
+
|
| 180 |
+
if (!$product->getId()) {
|
| 181 |
+
$oldStoreId = Mage::app()->getStore()->getStoreId();
|
| 182 |
+
Mage::app()->setCurrentStore(0);
|
| 183 |
+
$product->save();
|
| 184 |
+
Mage::app()->setCurrentStore($oldStoreId);
|
| 185 |
+
}
|
| 186 |
+
return $product;
|
| 187 |
+
}
|
| 188 |
}
|
app/code/community/Shopgate/Framework/Helper/Import/Order.php
CHANGED
|
@@ -1,22 +1,16 @@
|
|
| 1 |
<?php
|
|
|
|
| 2 |
/**
|
| 3 |
-
*
|
| 4 |
-
* Date: 17.09.14
|
| 5 |
-
* Time: 17:39
|
| 6 |
-
* E-Mail: p.liebig@me.com, peter.liebig@magcorp.de
|
| 7 |
-
*/
|
| 8 |
-
|
| 9 |
-
/**
|
| 10 |
-
*
|
| 11 |
-
*
|
| 12 |
* @package Shopgate_Framework_Helper_Import_Order
|
| 13 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
| 14 |
-
|
| 15 |
-
|
| 16 |
class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
| 17 |
{
|
| 18 |
/**
|
| 19 |
-
* @
|
|
|
|
| 20 |
*
|
| 21 |
* @return Mage_Payment_Model_Method_Abstract
|
| 22 |
*/
|
|
@@ -32,7 +26,7 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
|
| 32 |
$payment = Mage::getModel("paypal/standard");
|
| 33 |
if (!$payment->isAvailable()) {
|
| 34 |
$payment = Mage::getModel("paypal/express");
|
| 35 |
-
if (!$payment->isAvailable()){
|
| 36 |
$payment = Mage::getModel("shopgate/payment_mobilePayment");
|
| 37 |
}
|
| 38 |
}
|
|
@@ -46,8 +40,8 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
|
| 46 |
$payment = Mage::getModel('payment/method_banktransfer');
|
| 47 |
break;
|
| 48 |
}
|
| 49 |
-
|
| 50 |
-
if ($this->_isModuleActive('Phoenix_BankPayment') || $this->_isModuleActive('Mage_BankPayment')){
|
| 51 |
$payment = Mage::getModel("bankpayment/bankPayment");
|
| 52 |
break;
|
| 53 |
}
|
|
@@ -82,7 +76,7 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
|
| 82 |
}
|
| 83 |
|
| 84 |
/**
|
| 85 |
-
* @return MSP_CashOnDelivery_Model_Cashondelivery|null|Phoenix_CashOnDelivery_Model_CashOnDelivery
|
| 86 |
*/
|
| 87 |
protected function _getCodPayment()
|
| 88 |
{
|
|
@@ -99,9 +93,15 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
|
| 99 |
if ($this->_isModuleActive('MSP_CashOnDelivery')) {
|
| 100 |
$payment = Mage::getModel('msp_cashondelivery/cashondelivery');
|
| 101 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
return $payment;
|
| 103 |
}
|
| 104 |
-
|
| 105 |
/**
|
| 106 |
* @return null|Paymentnetwork_Pnsofortueberweisung_Model_Pnsofortueberweisung|Paymentnetwork_Pnsofortueberweisung_Model_Method_Sofort
|
| 107 |
*/
|
|
@@ -118,10 +118,10 @@ class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
|
| 118 |
}
|
| 119 |
return $payment;
|
| 120 |
}
|
| 121 |
-
|
| 122 |
/**
|
| 123 |
* Helps with readability
|
| 124 |
-
*
|
| 125 |
* @param $moduleName
|
| 126 |
* @return bool
|
| 127 |
*/
|
| 1 |
<?php
|
| 2 |
+
|
| 3 |
/**
|
| 4 |
+
* @deprecated v2.9.19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
* @package Shopgate_Framework_Helper_Import_Order
|
| 6 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
| 7 |
+
* @author Konstantin Kirittsenko <konstantin@kiritsenko.com>
|
| 8 |
+
*/
|
| 9 |
class Shopgate_Framework_Helper_Import_Order extends Mage_Core_Helper_Abstract
|
| 10 |
{
|
| 11 |
/**
|
| 12 |
+
* @deprecated v2.9.19 handled in classes now
|
| 13 |
+
* @param string $paymentType
|
| 14 |
*
|
| 15 |
* @return Mage_Payment_Model_Method_Abstract
|
| 16 |
*/
|
| 26 |
$payment = Mage::getModel("paypal/standard");
|
| 27 |
if (!$payment->isAvailable()) {
|
| 28 |
$payment = Mage::getModel("paypal/express");
|
| 29 |
+
if (!$payment->isAvailable()) {
|
| 30 |
$payment = Mage::getModel("shopgate/payment_mobilePayment");
|
| 31 |
}
|
| 32 |
}
|
| 40 |
$payment = Mage::getModel('payment/method_banktransfer');
|
| 41 |
break;
|
| 42 |
}
|
| 43 |
+
|
| 44 |
+
if ($this->_isModuleActive('Phoenix_BankPayment') || $this->_isModuleActive('Mage_BankPayment')) {
|
| 45 |
$payment = Mage::getModel("bankpayment/bankPayment");
|
| 46 |
break;
|
| 47 |
}
|
| 76 |
}
|
| 77 |
|
| 78 |
/**
|
| 79 |
+
* @return MSP_CashOnDelivery_Model_Cashondelivery|null|Phoenix_CashOnDelivery_Model_CashOnDelivery|Mage_Payment_Model_Method_Cashondelivery
|
| 80 |
*/
|
| 81 |
protected function _getCodPayment()
|
| 82 |
{
|
| 93 |
if ($this->_isModuleActive('MSP_CashOnDelivery')) {
|
| 94 |
$payment = Mage::getModel('msp_cashondelivery/cashondelivery');
|
| 95 |
}
|
| 96 |
+
|
| 97 |
+
$classExists = mageFindClassFile('Mage_Payment_Model_Method_Cashondelivery');
|
| 98 |
+
if ($classExists !== false && Mage::getStoreConfigFlag('payment/cashondelivery/active')) {
|
| 99 |
+
$payment = Mage::getModel('payment/method_cashondelivery');
|
| 100 |
+
}
|
| 101 |
+
|
| 102 |
return $payment;
|
| 103 |
}
|
| 104 |
+
|
| 105 |
/**
|
| 106 |
* @return null|Paymentnetwork_Pnsofortueberweisung_Model_Pnsofortueberweisung|Paymentnetwork_Pnsofortueberweisung_Model_Method_Sofort
|
| 107 |
*/
|
| 118 |
}
|
| 119 |
return $payment;
|
| 120 |
}
|
| 121 |
+
|
| 122 |
/**
|
| 123 |
* Helps with readability
|
| 124 |
+
*
|
| 125 |
* @param $moduleName
|
| 126 |
* @return bool
|
| 127 |
*/
|
app/code/community/Shopgate/Framework/Model/Export/Product/Xml.php
CHANGED
|
@@ -400,7 +400,13 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
| 400 |
: $index->load($this->item->getId())->getFinalPrice();
|
| 401 |
}
|
| 402 |
} else {
|
| 403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
$finalPrice = $useParent
|
| 405 |
? $this->_parent->getFinalPrice()
|
| 406 |
: $this->item->getFinalPrice();
|
| 400 |
: $index->load($this->item->getId())->getFinalPrice();
|
| 401 |
}
|
| 402 |
} else {
|
| 403 |
+
|
| 404 |
+
$rulePrice = Mage::helper("shopgate/export")->calcProductPriceRule(
|
| 405 |
+
$useParent
|
| 406 |
+
? $this->_parent
|
| 407 |
+
: $this->item
|
| 408 |
+
);
|
| 409 |
+
|
| 410 |
$finalPrice = $useParent
|
| 411 |
? $this->_parent->getFinalPrice()
|
| 412 |
: $this->item->getFinalPrice();
|
app/code/community/Shopgate/Framework/Model/Observer.php
CHANGED
|
@@ -198,10 +198,6 @@ class Shopgate_Framework_Model_Observer
|
|
| 198 |
|
| 199 |
ShopgateLogger::getInstance()->log("> Save data and return!", ShopgateLogger::LOGTYPE_DEBUG);
|
| 200 |
|
| 201 |
-
Mage::getSingleton('core/session')->addSuccess(
|
| 202 |
-
Mage::helper("shopgate")->__("[SHOPGATE] Order status was updated successfully at Shopgate")
|
| 203 |
-
);
|
| 204 |
-
|
| 205 |
if ($errors > 0) {
|
| 206 |
Mage::getSingleton('core/session')->addError(
|
| 207 |
Mage::helper("shopgate")->__(
|
|
@@ -209,6 +205,10 @@ class Shopgate_Framework_Model_Observer
|
|
| 209 |
$errors['errorcount']
|
| 210 |
)
|
| 211 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 212 |
}
|
| 213 |
}
|
| 214 |
|
|
@@ -580,30 +580,6 @@ class Shopgate_Framework_Model_Observer
|
|
| 580 |
}
|
| 581 |
}
|
| 582 |
|
| 583 |
-
/**
|
| 584 |
-
* @param Varien_Event_Observer $observer
|
| 585 |
-
*/
|
| 586 |
-
public function saveShopgateCouponProducts($observer)
|
| 587 |
-
{
|
| 588 |
-
if (Mage::helper("shopgate")->isShopgateApiRequest()) {
|
| 589 |
-
$quote = $observer->getQuote();
|
| 590 |
-
$helper = Mage::helper('shopgate/coupon');
|
| 591 |
-
foreach ($quote->getAllItems() as $item) {
|
| 592 |
-
if ($helper->isShopgateCoupon($item->getProduct())) {
|
| 593 |
-
$product = $helper->prepareShopgateCouponProduct($item->getProduct());
|
| 594 |
-
try {
|
| 595 |
-
$product->save();
|
| 596 |
-
if ($id = $product->getId()) {
|
| 597 |
-
$item->setProductId($id);
|
| 598 |
-
}
|
| 599 |
-
} catch (Exception $e) {
|
| 600 |
-
Mage::logException($e);
|
| 601 |
-
}
|
| 602 |
-
}
|
| 603 |
-
}
|
| 604 |
-
}
|
| 605 |
-
}
|
| 606 |
-
|
| 607 |
/**
|
| 608 |
* @param $observer Varien_Event_Observer
|
| 609 |
*/
|
|
@@ -849,20 +825,24 @@ class Shopgate_Framework_Model_Observer
|
|
| 849 |
* Main purpose is to set a different sequence number
|
| 850 |
* after we capture an invoice. Else we cannot refund
|
| 851 |
* because PayOne plugin is not setting it correctly.
|
| 852 |
-
*
|
| 853 |
* @param Varien_Event_Observer $event
|
| 854 |
* @return $this
|
| 855 |
* @throws Exception
|
| 856 |
*/
|
| 857 |
public function preparePayoneOrderForRefund(Varien_Event_Observer $event)
|
| 858 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 859 |
$factory = Mage::getModel('payone_core/factory');
|
| 860 |
-
if(!$factory) return $this;
|
| 861 |
/** @var Mage_Sales_Model_Order_Invoice $invoice */
|
| 862 |
-
$invoice
|
| 863 |
$transaction = $factory->getModelTransaction();
|
| 864 |
$transStatus = $factory->getModelApi();
|
| 865 |
-
if($transaction->load($invoice->getTransactionId(), 'txid')->hasData()) {
|
| 866 |
$collection = $transStatus
|
| 867 |
->getCollection()
|
| 868 |
->addFieldToFilter('order_id', $transaction->getOrderId())
|
|
@@ -872,12 +852,12 @@ class Shopgate_Framework_Model_Observer
|
|
| 872 |
* If we have an approval on capture in API
|
| 873 |
* call database, set next sequence as refund
|
| 874 |
*/
|
| 875 |
-
if($collection->getSize() > 0) {
|
| 876 |
$transaction->setLastSequencenumber(1);
|
| 877 |
$transaction->save();
|
| 878 |
}
|
| 879 |
}
|
| 880 |
-
|
| 881 |
return $this;
|
| 882 |
}
|
| 883 |
}
|
| 198 |
|
| 199 |
ShopgateLogger::getInstance()->log("> Save data and return!", ShopgateLogger::LOGTYPE_DEBUG);
|
| 200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
if ($errors > 0) {
|
| 202 |
Mage::getSingleton('core/session')->addError(
|
| 203 |
Mage::helper("shopgate")->__(
|
| 205 |
$errors['errorcount']
|
| 206 |
)
|
| 207 |
);
|
| 208 |
+
} else {
|
| 209 |
+
Mage::getSingleton('core/session')->addSuccess(
|
| 210 |
+
Mage::helper("shopgate")->__("[SHOPGATE] Order status was updated successfully at Shopgate")
|
| 211 |
+
);
|
| 212 |
}
|
| 213 |
}
|
| 214 |
|
| 580 |
}
|
| 581 |
}
|
| 582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
/**
|
| 584 |
* @param $observer Varien_Event_Observer
|
| 585 |
*/
|
| 825 |
* Main purpose is to set a different sequence number
|
| 826 |
* after we capture an invoice. Else we cannot refund
|
| 827 |
* because PayOne plugin is not setting it correctly.
|
| 828 |
+
*
|
| 829 |
* @param Varien_Event_Observer $event
|
| 830 |
* @return $this
|
| 831 |
* @throws Exception
|
| 832 |
*/
|
| 833 |
public function preparePayoneOrderForRefund(Varien_Event_Observer $event)
|
| 834 |
{
|
| 835 |
+
$active = Mage::getConfig()->getModuleConfig('Payone_Core')->is('active', 'true');
|
| 836 |
+
if (!$active) {
|
| 837 |
+
return $this;
|
| 838 |
+
}
|
| 839 |
+
|
| 840 |
$factory = Mage::getModel('payone_core/factory');
|
|
|
|
| 841 |
/** @var Mage_Sales_Model_Order_Invoice $invoice */
|
| 842 |
+
$invoice = $event['invoice'];
|
| 843 |
$transaction = $factory->getModelTransaction();
|
| 844 |
$transStatus = $factory->getModelApi();
|
| 845 |
+
if ($transaction->load($invoice->getTransactionId(), 'txid')->hasData()) {
|
| 846 |
$collection = $transStatus
|
| 847 |
->getCollection()
|
| 848 |
->addFieldToFilter('order_id', $transaction->getOrderId())
|
| 852 |
* If we have an approval on capture in API
|
| 853 |
* call database, set next sequence as refund
|
| 854 |
*/
|
| 855 |
+
if ($collection->getSize() > 0) {
|
| 856 |
$transaction->setLastSequencenumber(1);
|
| 857 |
$transaction->save();
|
| 858 |
}
|
| 859 |
}
|
| 860 |
+
|
| 861 |
return $this;
|
| 862 |
}
|
| 863 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Abstract.php
CHANGED
|
@@ -38,7 +38,7 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
|
|
| 38 |
* Model code of the class that inherits mage's Payment_Method_Abstract
|
| 39 |
* Defaults to Shopgate's Mobile payment block
|
| 40 |
*/
|
| 41 |
-
const PAYMENT_MODEL = '';
|
| 42 |
|
| 43 |
/**
|
| 44 |
* The config path to module enabled
|
|
@@ -210,7 +210,6 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
|
|
| 210 |
|
| 211 |
/**
|
| 212 |
* Checks store config to be active
|
| 213 |
-
* //todo: can we check storeId on import?
|
| 214 |
*
|
| 215 |
* @return bool
|
| 216 |
*/
|
|
@@ -352,22 +351,22 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
|
|
| 352 |
}
|
| 353 |
|
| 354 |
/**
|
| 355 |
-
*
|
| 356 |
-
*
|
| 357 |
*
|
| 358 |
-
* @return
|
| 359 |
*/
|
| 360 |
public function getPaymentModel()
|
| 361 |
{
|
| 362 |
$model = Mage::getModel($this::PAYMENT_MODEL);
|
| 363 |
if (!$model) {
|
| 364 |
-
|
| 365 |
'Could not find PAYMENT_MODEL %s in class %s',
|
| 366 |
$this::PAYMENT_MODEL,
|
| 367 |
get_class($this)
|
| 368 |
);
|
| 369 |
ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
|
| 370 |
-
|
| 371 |
}
|
| 372 |
return $model;
|
| 373 |
}
|
|
@@ -393,4 +392,12 @@ class Shopgate_Framework_Model_Payment_Abstract extends Mage_Core_Model_Abstract
|
|
| 393 |
{
|
| 394 |
return Mage::helper('shopgate/payment_abstract');
|
| 395 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 396 |
}
|
| 38 |
* Model code of the class that inherits mage's Payment_Method_Abstract
|
| 39 |
* Defaults to Shopgate's Mobile payment block
|
| 40 |
*/
|
| 41 |
+
const PAYMENT_MODEL = 'shopgate/payment_mobilePayment';
|
| 42 |
|
| 43 |
/**
|
| 44 |
* The config path to module enabled
|
| 210 |
|
| 211 |
/**
|
| 212 |
* Checks store config to be active
|
|
|
|
| 213 |
*
|
| 214 |
* @return bool
|
| 215 |
*/
|
| 351 |
}
|
| 352 |
|
| 353 |
/**
|
| 354 |
+
* Returns the payment model of a class,
|
| 355 |
+
* else falls back to mobilePayment
|
| 356 |
*
|
| 357 |
+
* @return mixed
|
| 358 |
*/
|
| 359 |
public function getPaymentModel()
|
| 360 |
{
|
| 361 |
$model = Mage::getModel($this::PAYMENT_MODEL);
|
| 362 |
if (!$model) {
|
| 363 |
+
$debug = $this->_getHelper()->__(
|
| 364 |
'Could not find PAYMENT_MODEL %s in class %s',
|
| 365 |
$this::PAYMENT_MODEL,
|
| 366 |
get_class($this)
|
| 367 |
);
|
| 368 |
ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
|
| 369 |
+
$model = Mage::getModel(self::PAYMENT_MODEL);
|
| 370 |
}
|
| 371 |
return $model;
|
| 372 |
}
|
| 392 |
{
|
| 393 |
return Mage::helper('shopgate/payment_abstract');
|
| 394 |
}
|
| 395 |
+
|
| 396 |
+
/**
|
| 397 |
+
* @return Shopgate_Framework_Helper_Config
|
| 398 |
+
*/
|
| 399 |
+
protected function _getConfigHelper()
|
| 400 |
+
{
|
| 401 |
+
return Mage::helper('shopgate/config');
|
| 402 |
+
}
|
| 403 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Pp/Abstract.php
CHANGED
|
@@ -57,12 +57,12 @@ class Shopgate_Framework_Model_Payment_Pp_Abstract
|
|
| 57 |
$rawData = $order->getPayment()->getTransactionAdditionalInfo(
|
| 58 |
Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS
|
| 59 |
);
|
| 60 |
-
$paymentStatus =
|
| 61 |
}
|
| 62 |
|
| 63 |
$total = $order->getBaseCurrency()->formatTxt($order->getGrandTotal());
|
| 64 |
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
| 65 |
-
$action = $this->getActionByStatus($paymentStatus);
|
| 66 |
|
| 67 |
if ($order->getPayment()->getIsTransactionPending()) {
|
| 68 |
$message = Mage::helper('paypal')->__(
|
| 57 |
$rawData = $order->getPayment()->getTransactionAdditionalInfo(
|
| 58 |
Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS
|
| 59 |
);
|
| 60 |
+
$paymentStatus = $rawData['payment_status'];
|
| 61 |
}
|
| 62 |
|
| 63 |
$total = $order->getBaseCurrency()->formatTxt($order->getGrandTotal());
|
| 64 |
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
| 65 |
+
$action = $this->getActionByStatus(strtolower($paymentStatus));
|
| 66 |
|
| 67 |
if ($order->getPayment()->getIsTransactionPending()) {
|
| 68 |
$message = Mage::helper('paypal')->__(
|
app/code/community/Shopgate/Framework/Model/Payment/Pp/Wspp.php
CHANGED
|
@@ -18,8 +18,9 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
| 18 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 19 |
{
|
| 20 |
const PAYMENT_IDENTIFIER = ShopgateOrder::PP_WSPP_CC;
|
| 21 |
-
const XML_CONFIG_ENABLED = 'payment/paypal_wps_express/active';
|
| 22 |
const MODULE_CONFIG = 'Mage_Paypal';
|
|
|
|
|
|
|
| 23 |
|
| 24 |
/**
|
| 25 |
* Create new order for amazon payment
|
|
@@ -212,14 +213,33 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
| 212 |
}
|
| 213 |
|
| 214 |
/**
|
| 215 |
-
*
|
| 216 |
-
*
|
| 217 |
*
|
| 218 |
* @return bool
|
| 219 |
*/
|
| 220 |
public function isEnabled()
|
| 221 |
{
|
| 222 |
-
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 223 |
}
|
| 224 |
|
| 225 |
/**
|
| 18 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 19 |
{
|
| 20 |
const PAYMENT_IDENTIFIER = ShopgateOrder::PP_WSPP_CC;
|
|
|
|
| 21 |
const MODULE_CONFIG = 'Mage_Paypal';
|
| 22 |
+
const PAYMENT_MODEL = 'paypal/direct';
|
| 23 |
+
const XML_CONFIG_ENABLED = 'payment/paypal_wps_express/active';
|
| 24 |
|
| 25 |
/**
|
| 26 |
* Create new order for amazon payment
|
| 213 |
}
|
| 214 |
|
| 215 |
/**
|
| 216 |
+
* Rewrite to tailor for lower versions
|
| 217 |
+
* of magento's PP implementation
|
| 218 |
*
|
| 219 |
* @return bool
|
| 220 |
*/
|
| 221 |
public function isEnabled()
|
| 222 |
{
|
| 223 |
+
return parent::isEnabled() || $this->_isOldWsppEnabled();
|
| 224 |
+
}
|
| 225 |
+
|
| 226 |
+
/**
|
| 227 |
+
* Checks if Website Payments Pro OR
|
| 228 |
+
* Website Payment Pro Payflow are enabled
|
| 229 |
+
*
|
| 230 |
+
* @return bool
|
| 231 |
+
*/
|
| 232 |
+
private function _isOldWsppEnabled()
|
| 233 |
+
{
|
| 234 |
+
$wpp = Mage::getStoreConfig('payment/paypal_direct/active');
|
| 235 |
+
$wppp = Mage::getStoreConfig('payment/paypaluk_direct/active');
|
| 236 |
+
$result = !empty($wpp) || !empty($wppp);
|
| 237 |
+
|
| 238 |
+
if (!$result) {
|
| 239 |
+
$debug = $this->_getHelper()->__('Neither WSPP or WSPP Payflow are enabled');
|
| 240 |
+
ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
|
| 241 |
+
}
|
| 242 |
+
return $result;
|
| 243 |
}
|
| 244 |
|
| 245 |
/**
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod.php
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Redirector for COD payment methods
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod extends Shopgate_Framework_Model_Payment_Simple
|
| 30 |
+
{
|
| 31 |
+
const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
|
| 32 |
+
|
| 33 |
+
/**
|
| 34 |
+
* Checks Phoenix|MSP|Native COD payment methods
|
| 35 |
+
* Note! Last one overwrites previous.
|
| 36 |
+
*
|
| 37 |
+
* @return false|Shopgate_Framework_Model_Payment_Abstract
|
| 38 |
+
*/
|
| 39 |
+
public function getModelByPaymentMethod()
|
| 40 |
+
{
|
| 41 |
+
if ($this->_getConfigHelper()->getIsMagentoVersionLower1700() === false) {
|
| 42 |
+
$class = Mage::getModel('shopgate/payment_simple_cod_native', $this->getShopgateOrder());
|
| 43 |
+
if ($class instanceof Shopgate_Framework_Model_Payment_Interface && $class->isValid()) {
|
| 44 |
+
$this->setPaymentMethod('Native');
|
| 45 |
+
}
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
if ($this->isModuleActive()) {
|
| 49 |
+
if (version_compare($this->_getVersion(), '1.0.8', '<')) {
|
| 50 |
+
$this->setPaymentMethod('Phoenix107');
|
| 51 |
+
} else {
|
| 52 |
+
$this->setPaymentMethod('Phoenix108');
|
| 53 |
+
}
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
$msp = Mage::getModel('shopgate/payment_simple_cod_msp', $this->getShopgateOrder());
|
| 57 |
+
if ($msp instanceof Shopgate_Framework_Model_Payment_Interface && $msp->isValid()) {
|
| 58 |
+
$this->setPaymentMethod('Msp');
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
return parent::getModelByPaymentMethod();
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Abstract.php
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 26 |
+
*/
|
| 27 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod_Abstract extends Shopgate_Framework_Model_Payment_Abstract
|
| 28 |
+
{
|
| 29 |
+
const PAYMENT_IDENTIFIER = ShopgateOrder::COD;
|
| 30 |
+
|
| 31 |
+
/**
|
| 32 |
+
* No need to pull status, it is assigned automatically,
|
| 33 |
+
* defaults to 'Pending' when not set in config.
|
| 34 |
+
*
|
| 35 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 36 |
+
* @return mixed
|
| 37 |
+
*/
|
| 38 |
+
public function setOrderStatus($magentoOrder)
|
| 39 |
+
{
|
| 40 |
+
return $magentoOrder->setShopgateStatusSet(true);
|
| 41 |
+
}
|
| 42 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Msp.php
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Support for MSP_COD plugin added v1.2.5 and up
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod_Msp
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const MODULE_CONFIG = 'MSP_CashOnDelivery';
|
| 34 |
+
const XML_CONFIG_ENABLED = 'payment/msp_cashondelivery/active';
|
| 35 |
+
const PAYMENT_MODEL = 'msp_cashondelivery/cashondelivery';
|
| 36 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Native.php
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Handlers for payment methods added by Magento in version 1.7.0.0rc1
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod_Native
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const XML_CONFIG_ENABLED = 'payment/cashondelivery/active';
|
| 34 |
+
const MODULE_CONFIG = 'Mage_Payment';
|
| 35 |
+
const PAYMENT_MODEL = 'payment/method_cashondelivery';
|
| 36 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix107.php
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Support for Phoenix_CashOnDelivery younger than v1.8.0 (not inclusive)
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix107
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
|
| 34 |
+
const PAYMENT_MODEL = 'cashondelivery/cashOnDelivery';
|
| 35 |
+
const XML_CONFIG_ENABLED = 'payment/cashondelivery/active';
|
| 36 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Cod/Phoenix108.php
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Support for Phoenix_CashOnDelivery v1.8.0 and older
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Cod_Phoenix108
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Simple_Cod_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const MODULE_CONFIG = 'Phoenix_CashOnDelivery';
|
| 34 |
+
const PAYMENT_MODEL = 'phoenix_cashondelivery/cashOnDelivery';
|
| 35 |
+
const XML_CONFIG_ENABLED = 'payment/phoenix_cashondelivery/active';
|
| 36 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Invoice.php
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 26 |
+
*/
|
| 27 |
+
class Shopgate_Framework_Model_Payment_Simple_Invoice
|
| 28 |
+
extends Shopgate_Framework_Model_Payment_Abstract
|
| 29 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 30 |
+
{
|
| 31 |
+
const PAYMENT_IDENTIFIER = ShopgateOrder::INVOICE;
|
| 32 |
+
const MODULE_CONFIG = 'Mage_Payment';
|
| 33 |
+
const PAYMENT_MODEL = 'payment/method_purchaseorder';
|
| 34 |
+
const XML_CONFIG_ENABLED = 'payment/purchaseorder/active';
|
| 35 |
+
|
| 36 |
+
/**
|
| 37 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 38 |
+
* @return mixed
|
| 39 |
+
*/
|
| 40 |
+
public function setOrderStatus($magentoOrder)
|
| 41 |
+
{
|
| 42 |
+
return $magentoOrder->setShopgateStatusSet(true);
|
| 43 |
+
}
|
| 44 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Mws.php
CHANGED
|
@@ -33,8 +33,9 @@ class Shopgate_Framework_Model_Payment_Simple_Mws
|
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const PAYMENT_IDENTIFIER = ShopgateOrder::AMAZON_PAYMENT;
|
| 36 |
-
const XML_CONFIG_ENABLED = 'amazonpayments/general/active';
|
| 37 |
const MODULE_CONFIG = 'Creativestyle_AmazonPayments';
|
|
|
|
|
|
|
| 38 |
|
| 39 |
/**
|
| 40 |
* create new order for amazon payment
|
|
@@ -193,7 +194,7 @@ class Shopgate_Framework_Model_Payment_Simple_Mws
|
|
| 193 |
*/
|
| 194 |
public function prepareQuote($quote, $info)
|
| 195 |
{
|
| 196 |
-
$payment =
|
| 197 |
if ($quote->isVirtual()) {
|
| 198 |
$quote->getBillingAddress()->setPaymentMethod($payment->getCode() ? $payment->getCode() : null);
|
| 199 |
} else {
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const PAYMENT_IDENTIFIER = ShopgateOrder::AMAZON_PAYMENT;
|
|
|
|
| 36 |
const MODULE_CONFIG = 'Creativestyle_AmazonPayments';
|
| 37 |
+
const PAYMENT_MODEL = 'amazonpayments/payment_advanced';
|
| 38 |
+
const XML_CONFIG_ENABLED = 'amazonpayments/general/active';
|
| 39 |
|
| 40 |
/**
|
| 41 |
* create new order for amazon payment
|
| 194 |
*/
|
| 195 |
public function prepareQuote($quote, $info)
|
| 196 |
{
|
| 197 |
+
$payment = $this->getPaymentModel();
|
| 198 |
if ($quote->isVirtual()) {
|
| 199 |
$quote->getBillingAddress()->setPaymentMethod($payment->getCode() ? $payment->getCode() : null);
|
| 200 |
} else {
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal.php
CHANGED
|
@@ -22,10 +22,29 @@
|
|
| 22 |
*/
|
| 23 |
|
| 24 |
/**
|
| 25 |
-
* Forwarder to PayPal
|
| 26 |
*
|
| 27 |
* Class Shopgate_Framework_Model_Payment_Simple_Paypal
|
| 28 |
*
|
| 29 |
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 30 |
*/
|
| 31 |
-
class Shopgate_Framework_Model_Payment_Simple_Paypal extends
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
*/
|
| 23 |
|
| 24 |
/**
|
| 25 |
+
* Forwarder to PayPal between Standard & Express
|
| 26 |
*
|
| 27 |
* Class Shopgate_Framework_Model_Payment_Simple_Paypal
|
| 28 |
*
|
| 29 |
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 30 |
*/
|
| 31 |
+
class Shopgate_Framework_Model_Payment_Simple_Paypal extends Shopgate_Framework_Model_Payment_Simple
|
| 32 |
+
{
|
| 33 |
+
/**
|
| 34 |
+
* Redirect to standard or express
|
| 35 |
+
*
|
| 36 |
+
* @return false|Shopgate_Framework_Model_Payment_Abstract
|
| 37 |
+
*/
|
| 38 |
+
public function getModelByPaymentMethod()
|
| 39 |
+
{
|
| 40 |
+
$standard = Mage::getModel('shopgate/payment_simple_paypal_standard', $this->getShopgateOrder());
|
| 41 |
+
|
| 42 |
+
if ($standard instanceof Shopgate_Framework_Model_Payment_Interface && $standard->isValid()) {
|
| 43 |
+
$this->setPaymentMethod('STANDARD');
|
| 44 |
+
} else {
|
| 45 |
+
$this->setPaymentMethod('EXPRESS');
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
return parent::getModelByPaymentMethod();
|
| 49 |
+
}
|
| 50 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/{Pp/Paypal.php → Simple/Paypal/Express.php}
RENAMED
|
@@ -29,7 +29,7 @@
|
|
| 29 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
| 30 |
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 31 |
*/
|
| 32 |
-
class
|
| 33 |
extends Shopgate_Framework_Model_Payment_Pp_Abstract
|
| 34 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 35 |
{
|
|
@@ -235,17 +235,5 @@ class Shopgate_Framework_Model_Payment_Pp_Paypal
|
|
| 235 |
{
|
| 236 |
return Mage::helper('shopgate/payment_wspp');
|
| 237 |
}
|
| 238 |
-
|
| 239 |
-
/**
|
| 240 |
-
* Makes sure we are on the right PayPal
|
| 241 |
-
*
|
| 242 |
-
* @return bool
|
| 243 |
-
*/
|
| 244 |
-
public function checkGenericValid()
|
| 245 |
-
{
|
| 246 |
-
$payment = Mage::helper('shopgate/import_order')
|
| 247 |
-
->getMagentoPaymentMethod($this->getPaymentMethod());
|
| 248 |
-
|
| 249 |
-
return $payment ? $payment->getCode() === "paypal_express" : false;
|
| 250 |
-
}
|
| 251 |
}
|
| 29 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
| 30 |
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 31 |
*/
|
| 32 |
+
class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
| 33 |
extends Shopgate_Framework_Model_Payment_Pp_Abstract
|
| 34 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 35 |
{
|
| 235 |
{
|
| 236 |
return Mage::helper('shopgate/payment_wspp');
|
| 237 |
}
|
| 238 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 239 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Standard.php
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* PayPal Standard handler
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Paypal_Standard
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Pp_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const PAYMENT_IDENTIFIER = ShopgateOrder::PAYPAL;
|
| 34 |
+
const XML_CONFIG_ENABLED = 'payment/paypal_standard/active';
|
| 35 |
+
const PAYMENT_MODEL = 'paypal/standard';
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 39 |
+
* @return Mage_Sales_Model_Order
|
| 40 |
+
*/
|
| 41 |
+
public function manipulateOrderWithPaymentData($magentoOrder)
|
| 42 |
+
{
|
| 43 |
+
$info = $this->getShopgateOrder()->getPaymentInfos();
|
| 44 |
+
$magentoOrder = parent::manipulateOrderWithPaymentData($magentoOrder);
|
| 45 |
+
$transaction = $this->_createTransaction($magentoOrder);
|
| 46 |
+
|
| 47 |
+
$magentoOrder->getPayment()->importTransactionInfo($transaction);
|
| 48 |
+
$magentoOrder->getPayment()->setLastTransId($info['transaction_id']);
|
| 49 |
+
return $magentoOrder;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
/**
|
| 54 |
+
* Handles magento transaction creation
|
| 55 |
+
*
|
| 56 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 57 |
+
* @return mixed
|
| 58 |
+
*/
|
| 59 |
+
protected function _createTransaction($magentoOrder)
|
| 60 |
+
{
|
| 61 |
+
$info = $this->getShopgateOrder()->getPaymentInfos();
|
| 62 |
+
$transaction = Mage::getModel("sales/order_payment_transaction");
|
| 63 |
+
try {
|
| 64 |
+
$transaction->setOrderPaymentObject($magentoOrder->getPayment());
|
| 65 |
+
if ($magentoOrder->getBaseTotalDue()) {
|
| 66 |
+
$transaction->setIsClosed(false);
|
| 67 |
+
} else {
|
| 68 |
+
$transaction->setIsClosed(true);
|
| 69 |
+
}
|
| 70 |
+
$transaction->setTxnId($info['transaction_id']);
|
| 71 |
+
if ($this->getShopgateOrder()->getIsPaid()) {
|
| 72 |
+
$transaction->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
| 73 |
+
} else {
|
| 74 |
+
$transaction->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
|
| 75 |
+
}
|
| 76 |
+
} catch (Exception $x) {
|
| 77 |
+
$this->log($x->getMessage());
|
| 78 |
+
}
|
| 79 |
+
return $transaction->save();
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
/**
|
| 83 |
+
* Get status with gateway
|
| 84 |
+
*
|
| 85 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 86 |
+
* @return Mage_Sales_Model_Order
|
| 87 |
+
*/
|
| 88 |
+
public function setOrderStatus($magentoOrder)
|
| 89 |
+
{
|
| 90 |
+
$info = $this->getShopgateOrder()->getPaymentInfos();
|
| 91 |
+
return $this->orderStatusManager($magentoOrder, $info['payment_status']);
|
| 92 |
+
}
|
| 93 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay.php
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Redirects to the proper bank payment class
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Prepay extends Shopgate_Framework_Model_Payment_Simple
|
| 30 |
+
{
|
| 31 |
+
/**
|
| 32 |
+
* If mage 1.7+ use native bank payment, else try Check Money Order.
|
| 33 |
+
* Phoenix plugin takes priority if it's enabled
|
| 34 |
+
* Note! Last one overwrites previous.
|
| 35 |
+
*
|
| 36 |
+
* @return false|Shopgate_Framework_Model_Payment_Abstract
|
| 37 |
+
*/
|
| 38 |
+
public function getModelByPaymentMethod()
|
| 39 |
+
{
|
| 40 |
+
if ($this->_getConfigHelper()->getIsMagentoVersionLower1700() === false) {
|
| 41 |
+
$native = Mage::getModel('shopgate/payment_simple_prepay_native', $this->getShopgateOrder());
|
| 42 |
+
if ($native instanceof Shopgate_Framework_Model_Payment_Interface && $native->isValid()) {
|
| 43 |
+
$this->setPaymentMethod('Native');
|
| 44 |
+
}
|
| 45 |
+
} else {
|
| 46 |
+
$checkmo = Mage::getModel('shopgate/payment_simple_prepay_checkmo', $this->getShopgateOrder());
|
| 47 |
+
if ($checkmo instanceof Shopgate_Framework_Model_Payment_Interface && $checkmo->isValid()) {
|
| 48 |
+
$this->setPaymentMethod('Checkmo');
|
| 49 |
+
}
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
$phoenix = Mage::getModel('shopgate/payment_simple_prepay_phoenix', $this->getShopgateOrder());
|
| 53 |
+
if ($phoenix instanceof Shopgate_Framework_Model_Payment_Interface && $phoenix->isValid()) {
|
| 54 |
+
$this->setPaymentMethod('Phoenix');
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
return parent::getModelByPaymentMethod();
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Abstract.php
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 26 |
+
*/
|
| 27 |
+
class Shopgate_Framework_Model_Payment_Simple_Prepay_Abstract extends Shopgate_Framework_Model_Payment_Abstract
|
| 28 |
+
{
|
| 29 |
+
const PAYMENT_IDENTIFIER = ShopgateOrder::PREPAY;
|
| 30 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Checkmo.php
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* This is a handler for people trying to fake bank payment
|
| 26 |
+
* with Check Money Order if magento version is below 1.7
|
| 27 |
+
*
|
| 28 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 29 |
+
*/
|
| 30 |
+
class Shopgate_Framework_Model_Payment_Simple_Prepay_Checkmo
|
| 31 |
+
extends Shopgate_Framework_Model_Payment_Simple_Prepay_Abstract
|
| 32 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 33 |
+
{
|
| 34 |
+
const MODULE_CONFIG = 'Mage_Payment';
|
| 35 |
+
const PAYMENT_MODEL = 'payment/method_checkmo';
|
| 36 |
+
const XML_CONFIG_ENABLED = 'payment/checkmo/active';
|
| 37 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Native.php
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Handles the native BankPayment option which started in mage 1.7
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Prepay_Native
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Simple_Prepay_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const MODULE_CONFIG = 'Mage_Payment';
|
| 34 |
+
const PAYMENT_MODEL = 'payment/method_banktransfer';
|
| 35 |
+
const XML_CONFIG_ENABLED = 'payment/banktransfer/active';
|
| 36 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Prepay/Phoenix.php
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 26 |
+
*/
|
| 27 |
+
class Shopgate_Framework_Model_Payment_Simple_Prepay_Phoenix
|
| 28 |
+
extends Shopgate_Framework_Model_Payment_Simple_Prepay_Abstract
|
| 29 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 30 |
+
{
|
| 31 |
+
const MODULE_CONFIG = 'Phoenix_BankPayment';
|
| 32 |
+
const PAYMENT_MODEL = 'bankpayment/bankPayment';
|
| 33 |
+
const XML_CONFIG_ENABLED = 'payment/bankpayment/active';
|
| 34 |
+
|
| 35 |
+
/**
|
| 36 |
+
* Rewrite to accommodate older version of BankPayment
|
| 37 |
+
*
|
| 38 |
+
* @return bool
|
| 39 |
+
*/
|
| 40 |
+
public function isModuleActive()
|
| 41 |
+
{
|
| 42 |
+
return parent::isModuleActive() || $this->_isActive('Mage_BankPayment');
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
/**
|
| 46 |
+
* Helps with readability
|
| 47 |
+
*
|
| 48 |
+
* @param $moduleName
|
| 49 |
+
* @return bool
|
| 50 |
+
*/
|
| 51 |
+
private function _isActive($moduleName)
|
| 52 |
+
{
|
| 53 |
+
return Mage::getConfig()->getModuleConfig($moduleName)->is('active', 'true');
|
| 54 |
+
}
|
| 55 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Shopgate.php
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* Shopgate GmbH
|
| 4 |
+
*
|
| 5 |
+
* URHEBERRECHTSHINWEIS
|
| 6 |
+
*
|
| 7 |
+
* Dieses Plugin ist urheberrechtlich geschützt. Es darf ausschließlich von Kunden der Shopgate GmbH
|
| 8 |
+
* zum Zwecke der eigenen Kommunikation zwischen dem IT-System des Kunden mit dem IT-System der
|
| 9 |
+
* Shopgate GmbH über www.shopgate.com verwendet werden. Eine darüber hinausgehende Vervielfältigung, Verbreitung,
|
| 10 |
+
* öffentliche Zugänglichmachung, Bearbeitung oder Weitergabe an Dritte ist nur mit unserer vorherigen
|
| 11 |
+
* schriftlichen Zustimmung zulässig. Die Regelungen der §§ 69 d Abs. 2, 3 und 69 e UrhG bleiben hiervon unberührt.
|
| 12 |
+
*
|
| 13 |
+
* COPYRIGHT NOTICE
|
| 14 |
+
*
|
| 15 |
+
* This plugin is the subject of copyright protection. It is only for the use of Shopgate GmbH customers,
|
| 16 |
+
* for the purpose of facilitating communication between the IT system of the customer and the IT system
|
| 17 |
+
* of Shopgate GmbH via www.shopgate.com. Any reproduction, dissemination, public propagation, processing or
|
| 18 |
+
* transfer to third parties is only permitted where we previously consented thereto in writing. The provisions
|
| 19 |
+
* of paragraph 69 d, sub-paragraphs 2, 3 and paragraph 69, sub-paragraph e of the German Copyright Act shall remain unaffected.
|
| 20 |
+
*
|
| 21 |
+
* @author Shopgate GmbH <interfaces@shopgate.com>
|
| 22 |
+
*/
|
| 23 |
+
|
| 24 |
+
/**
|
| 25 |
+
* Handles SHOPGATE payment method orders
|
| 26 |
+
*
|
| 27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
| 28 |
+
*/
|
| 29 |
+
class Shopgate_Framework_Model_Payment_Simple_Shopgate
|
| 30 |
+
extends Shopgate_Framework_Model_Payment_Abstract
|
| 31 |
+
implements Shopgate_Framework_Model_Payment_Interface
|
| 32 |
+
{
|
| 33 |
+
const PAYMENT_IDENTIFIER = ShopgateOrder::SHOPGATE;
|
| 34 |
+
const MODULE_CONFIG = 'Shopgate_Framework';
|
| 35 |
+
const PAYMENT_MODEL = 'shopgate/payment_shopgate';
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* No need to check activation, just import!
|
| 39 |
+
*
|
| 40 |
+
* @return true
|
| 41 |
+
*/
|
| 42 |
+
public function isEnabled()
|
| 43 |
+
{
|
| 44 |
+
return true;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
/**
|
| 48 |
+
* No need to pull status, it is assigned automatically
|
| 49 |
+
*
|
| 50 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
| 51 |
+
* @return mixed
|
| 52 |
+
*/
|
| 53 |
+
public function setOrderStatus($magentoOrder)
|
| 54 |
+
{
|
| 55 |
+
return $magentoOrder->setShopgateStatusSet(true);
|
| 56 |
+
}
|
| 57 |
+
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Sue/Sue118.php
CHANGED
|
@@ -33,5 +33,6 @@ class Shopgate_Framework_Model_Payment_Simple_Sue_Sue118
|
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const XML_CONFIG_ENABLED = 'payment/pnsofortueberweisung/active';
|
|
|
|
| 36 |
const XML_CONFIG_STATUS_PAID = 'payment/pnsofortueberweisung/order_status';
|
| 37 |
}
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const XML_CONFIG_ENABLED = 'payment/pnsofortueberweisung/active';
|
| 36 |
+
const PAYMENT_MODEL = 'pnsofortueberweisung/pnsofortueberweisung';
|
| 37 |
const XML_CONFIG_STATUS_PAID = 'payment/pnsofortueberweisung/order_status';
|
| 38 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Sue/Sue300.php
CHANGED
|
@@ -33,6 +33,7 @@ class Shopgate_Framework_Model_Payment_Simple_Sue_Sue300
|
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const XML_CONFIG_ENABLED = 'payment/paymentnetwork_pnsofortueberweisung/active';
|
|
|
|
| 36 |
const XML_CONFIG_STATUS_PAID = 'payment/paymentnetwork_pnsofortueberweisung/order_status_received_credited';
|
| 37 |
const XML_CONFIG_STATUS_NOT_PAID = 'payment/paymentnetwork_pnsofortueberweisung/order_status_pending_not_credited_yet';
|
| 38 |
}
|
| 33 |
implements Shopgate_Framework_Model_Payment_Interface
|
| 34 |
{
|
| 35 |
const XML_CONFIG_ENABLED = 'payment/paymentnetwork_pnsofortueberweisung/active';
|
| 36 |
+
const PAYMENT_MODEL = 'sofort/method_sofort';
|
| 37 |
const XML_CONFIG_STATUS_PAID = 'payment/paymentnetwork_pnsofortueberweisung/order_status_received_credited';
|
| 38 |
const XML_CONFIG_STATUS_NOT_PAID = 'payment/paymentnetwork_pnsofortueberweisung/order_status_pending_not_credited_yet';
|
| 39 |
}
|
app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php
CHANGED
|
@@ -76,7 +76,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 76 |
* @var null | Shopgate_Framework_Model_Payment_Factory
|
| 77 |
*/
|
| 78 |
protected $_factory = null;
|
| 79 |
-
|
| 80 |
/**
|
| 81 |
* Callback function for initialization by plugin implementations.
|
| 82 |
* This method gets called on instantiation of a ShopgatePlugin child class and serves as __construct() replacement.
|
|
@@ -89,14 +89,14 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 89 |
/* @var $config Shopgate_Framework_Helper_Config */
|
| 90 |
$this->_config = $this->_getConfig();
|
| 91 |
$this->_defaultTax = Mage::getModel("tax/calculation")->getDefaultCustomerTaxClass(
|
| 92 |
-
|
| 93 |
);
|
| 94 |
return true;
|
| 95 |
}
|
| 96 |
|
| 97 |
/**
|
| 98 |
* Simple setter
|
| 99 |
-
*
|
| 100 |
* @param $factory Shopgate_Framework_Model_Payment_Factory
|
| 101 |
*/
|
| 102 |
protected function _setFactory(Shopgate_Framework_Model_Payment_Factory $factory)
|
|
@@ -106,19 +106,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 106 |
|
| 107 |
/**
|
| 108 |
* Factory getter
|
| 109 |
-
*
|
| 110 |
* @return null|Shopgate_Framework_Model_Payment_Factory
|
| 111 |
*/
|
| 112 |
protected function _getFactory()
|
| 113 |
{
|
| 114 |
-
if(!$this->_factory){
|
| 115 |
-
$shopgateOrder
|
| 116 |
-
$factory
|
| 117 |
$this->_setFactory($factory);
|
| 118 |
}
|
| 119 |
return $this->_factory;
|
| 120 |
}
|
| 121 |
-
|
| 122 |
/**
|
| 123 |
*
|
| 124 |
* @param string $action
|
|
@@ -165,8 +165,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 165 |
$this->_cronCancelOrder();
|
| 166 |
break;
|
| 167 |
default:
|
| 168 |
-
throw new ShopgateLibraryException(
|
| 169 |
-
|
|
|
|
|
|
|
| 170 |
}
|
| 171 |
|
| 172 |
$this->log("END Run CRON-Jobs", ShopgateLogger::LOGTYPE_DEBUG);
|
|
@@ -217,8 +219,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 217 |
continue;
|
| 218 |
}
|
| 219 |
$this->log(
|
| 220 |
-
|
| 221 |
-
|
| 222 |
);
|
| 223 |
$this->log(">> Dispatching event order_cancel_after", ShopgateLogger::LOGTYPE_DEBUG);
|
| 224 |
Mage::dispatchEvent('order_cancel_after', array('order' => $order, 'shopgate_order' => $shopgateOrder));
|
|
@@ -282,7 +284,11 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 282 |
if ($e->getCode() == Mage_Customer_Model_Customer::EXCEPTION_EMAIL_EXISTS) {
|
| 283 |
throw new ShopgateLibraryException(ShopgateLibraryException::REGISTER_USER_ALREADY_EXISTS);
|
| 284 |
} else {
|
| 285 |
-
throw new ShopgateLibraryException(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 286 |
}
|
| 287 |
} catch (Exception $e) {
|
| 288 |
throw new ShopgateLibraryException(ShopgateLibraryException::UNKNOWN_ERROR_CODE, $e->getMessage(), true);
|
|
@@ -321,8 +327,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 321 |
$this->log("# Try to load old shopgate order to check for duplicate", ShopgateLogger::LOGTYPE_DEBUG);
|
| 322 |
/** @var Shopgate_Framework_Model_Shopgate_Order $magentoShopgateOrder */
|
| 323 |
$magentoShopgateOrder = Mage::getModel("shopgate/shopgate_order")->load(
|
| 324 |
-
|
| 325 |
-
|
| 326 |
);
|
| 327 |
|
| 328 |
if ($magentoShopgateOrder->getId() !== null) {
|
|
@@ -333,8 +339,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 333 |
$orderId = $magentoShopgateOrder->getOrderId();
|
| 334 |
}
|
| 335 |
|
| 336 |
-
throw new ShopgateLibraryException(
|
| 337 |
-
|
|
|
|
|
|
|
| 338 |
}
|
| 339 |
Mage::dispatchEvent('shopgate_add_order_before', array('shopgate_order' => $order));
|
| 340 |
$this->log("# Add shopgate order to Session", ShopgateLogger::LOGTYPE_DEBUG);
|
|
@@ -385,11 +393,11 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 385 |
$title = $title ? $title : $order->getShippingInfos()->getDisplayName();
|
| 386 |
$quote->getShippingAddress()->setShippingDescription($title);
|
| 387 |
$quote->save();
|
| 388 |
-
|
| 389 |
// due to compatibility with 3rd party modules which fetches the quote from the session (like phoenix_cod, SUE)
|
| 390 |
// needed before $service->submitAll() is called
|
| 391 |
Mage::getSingleton('checkout/session')->replaceQuote($quote);
|
| 392 |
-
|
| 393 |
$magentoOrder = $this->_getFactory()->createNewOrder($quote);
|
| 394 |
|
| 395 |
$this->log("# Create order from quote", ShopgateLogger::LOGTYPE_DEBUG);
|
|
@@ -400,9 +408,9 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 400 |
$magentoOrder = $this->executeLoaders($this->_getCreateOrderLoaders(), $magentoOrder, $order);
|
| 401 |
$magentoOrder->setShippingDescription($title);
|
| 402 |
$magentoOrder->setShippingMethod($method);
|
| 403 |
-
|
| 404 |
//todo: move this out, intentionally here after executeLoaders?
|
| 405 |
-
if ($magentoOrder->getTotalDue() > 0
|
| 406 |
&& $order->getPaymentMethod() == ShopgateOrder::PP_WSPP_CC
|
| 407 |
) {
|
| 408 |
if (!$magentoOrder->getPayment()->getIsTransactionPending()) {
|
|
@@ -429,11 +437,11 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 429 |
$totalShopgate = $order->getAmountComplete();
|
| 430 |
$totalMagento = $magentoOrder->getTotalDue();
|
| 431 |
$this->log(
|
| 432 |
-
|
| 433 |
Total Shopgate: {$totalShopgate} {$order->getCurrency()}
|
| 434 |
Total Magento: {$totalMagento} {$order->getCurrency()}
|
| 435 |
",
|
| 436 |
-
|
| 437 |
);
|
| 438 |
|
| 439 |
$result = array(
|
|
@@ -456,7 +464,11 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 456 |
throw $e;
|
| 457 |
} catch (Exception $e) {
|
| 458 |
Mage::getModel("sales/order")->getResource()->rollback();
|
| 459 |
-
throw new ShopgateLibraryException(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 460 |
}
|
| 461 |
|
| 462 |
return $result;
|
|
@@ -504,8 +516,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 504 |
continue;
|
| 505 |
}
|
| 506 |
|
| 507 |
-
$orderInfo
|
| 508 |
-
$orderInfo
|
| 509 |
|
| 510 |
$stackQuantity = 1;
|
| 511 |
if (!empty($orderInfo['stack_quantity']) && $orderInfo['stack_quantity'] > 1) {
|
|
@@ -514,35 +526,35 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 514 |
|
| 515 |
$pId = $orderInfo["product_id"];
|
| 516 |
/** @var Mage_Catalog_Model_Product $product */
|
| 517 |
-
$product
|
| 518 |
-
|
| 519 |
|
| 520 |
if (!$product->getId()) {
|
| 521 |
throw new ShopgateLibraryException(
|
| 522 |
ShopgateLibraryException::CART_ITEM_PRODUCT_NOT_FOUND, 'product ID: ' . $pId, true
|
| 523 |
);
|
| 524 |
}
|
| 525 |
-
|
| 526 |
$itemNumber = $item->getItemNumber();
|
| 527 |
-
$productWeight =
|
| 528 |
|
| 529 |
if (strpos($itemNumber, '-') !== false) {
|
| 530 |
$productWeight = $product->getTypeInstance()->getWeight();
|
| 531 |
-
$productIds
|
| 532 |
-
$parentId
|
| 533 |
/** @var Mage_Catalog_Model_Product $parent */
|
| 534 |
$parent = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())
|
| 535 |
->load($parentId);
|
| 536 |
-
|
| 537 |
-
|
| 538 |
-
|
| 539 |
$buyObject = $this->_createQuoteItemBuyInfo($item, $parent, $stackQuantity);
|
| 540 |
$superAttributes = $parent->getTypeInstance(true)->getConfigurableAttributesAsArray($parent);
|
| 541 |
$superAttConfig = array();
|
| 542 |
|
| 543 |
foreach ($superAttributes as $productAttribute) {
|
| 544 |
$superAttConfig[$productAttribute['attribute_id']] = $product->getData(
|
| 545 |
-
|
| 546 |
);
|
| 547 |
}
|
| 548 |
$buyObject->setSuperAttribute($superAttConfig);
|
|
@@ -568,7 +580,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 568 |
throw new ShopgateLibraryException(
|
| 569 |
ShopgateLibraryException::UNKNOWN_ERROR_CODE,
|
| 570 |
"Error on adding product to quote! Details: " . var_export($quoteItem, true),
|
| 571 |
-
true
|
|
|
|
| 572 |
}
|
| 573 |
}
|
| 574 |
$quoteItem = $quote->getItemByProduct($product);
|
|
@@ -746,33 +759,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 746 |
}
|
| 747 |
$itemAmount = $item->getUnitAmountWithTax();
|
| 748 |
}
|
| 749 |
-
|
| 750 |
|
| 751 |
$obj = new Varien_Object();
|
| 752 |
$obj->setName($item->getName());
|
| 753 |
$obj->setItemNumber($item->getItemNumber());
|
| 754 |
$obj->setUnitAmountWithTax($itemAmount);
|
|
|
|
| 755 |
$this->_virtualObjectStack[] = $obj;
|
| 756 |
}
|
| 757 |
-
} else {
|
| 758 |
-
if ($order instanceof ShopgateCart) {
|
| 759 |
-
foreach ($order->getShopgateCoupons() as $coupon) {
|
| 760 |
-
/** @var ShopgateShopgateCoupon $coupon */
|
| 761 |
-
$obj = new Varien_Object();
|
| 762 |
-
$obj->setName($coupon->getName());
|
| 763 |
-
$obj->setItemNumber("COUPON");
|
| 764 |
-
$obj->setUnitAmountWithTax(-1 * $coupon->getAmount());
|
| 765 |
-
$this->_virtualObjectStack[] = $obj;
|
| 766 |
-
}
|
| 767 |
-
} else {
|
| 768 |
-
throw new ShopgateLibraryException(ShopgateLibraryException::UNKNOWN_ERROR_CODE);
|
| 769 |
-
}
|
| 770 |
}
|
| 771 |
}
|
| 772 |
|
| 773 |
/**
|
| 774 |
* Set the payment for the given quote
|
| 775 |
-
* Default: Shopgate, Paypal or ShopgateGeneric
|
| 776 |
*
|
| 777 |
* @param Mage_Sales_Model_Quote $quote
|
| 778 |
* @param ShopgateOrder $order
|
|
@@ -783,10 +782,6 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 783 |
{
|
| 784 |
$payment = $this->_getFactory()->getPaymentModel();
|
| 785 |
|
| 786 |
-
if (!$payment) {
|
| 787 |
-
$payment = $this->_getOrderHelper()->getMagentoPaymentMethod($order->getPaymentMethod());
|
| 788 |
-
}
|
| 789 |
-
|
| 790 |
$paymentInfo = array();
|
| 791 |
$info = $order->getPaymentInfos();
|
| 792 |
|
|
@@ -877,33 +872,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 877 |
}
|
| 878 |
|
| 879 |
$quote->setIsSuperMode(true);
|
| 880 |
-
$name = '';
|
| 881 |
-
$number = '';
|
| 882 |
-
$amountWithTax = 0.0;
|
| 883 |
|
| 884 |
foreach ($this->_virtualObjectStack as $obj) {
|
| 885 |
/* @var $obj Varien_Object */
|
| 886 |
-
$
|
| 887 |
-
$number .= ('' == $number ? '' : ', ') . $obj->getItemNumber();
|
| 888 |
-
$amountWithTax += $obj->getUnitAmountWithTax();
|
| 889 |
|
| 890 |
/* @var $merged Mage_Catalog_Model_Product */
|
| 891 |
-
$merged =
|
| 892 |
-
$merged->setPriceCalculation(false);
|
| 893 |
-
$merged->setName($name);
|
| 894 |
-
$merged->setSku($number);
|
| 895 |
-
$merged->setPrice($amountWithTax);
|
| 896 |
-
|
| 897 |
-
// typeid is important for magento 1.4
|
| 898 |
-
$merged->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL);
|
| 899 |
|
| 900 |
/* @var $quoteItem Mage_Sales_Model_Quote_Item */
|
| 901 |
-
$quoteItem = $quote->addProduct($merged,
|
| 902 |
-
|
| 903 |
$quoteItem->setCustomPrice($amountWithTax);
|
| 904 |
$quoteItem->setOriginalPrice($amountWithTax);
|
| 905 |
$quoteItem->setOriginalCustomPrice($amountWithTax);
|
| 906 |
-
|
| 907 |
$quoteItem->setNoDiscount(true);
|
| 908 |
$quoteItem->setRowWeight(0);
|
| 909 |
$quoteItem->setWeeeTaxApplied(serialize(array()));
|
|
@@ -922,25 +903,29 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 922 |
protected function _setQuoteCustomer($quote, $order)
|
| 923 |
{
|
| 924 |
/* @var $customer Mage_Customer_Model_Customer */
|
| 925 |
-
$customer
|
| 926 |
$externalCustomerId = $order->getExternalCustomerId();
|
| 927 |
if ($externalCustomerId) {
|
| 928 |
$this->log('external customer id: ' . $externalCustomerId, ShopgateLogger::LOGTYPE_DEBUG);
|
| 929 |
$customer->load($externalCustomerId);
|
| 930 |
if (!$customer->getId()) {
|
| 931 |
-
throw new ShopgateLibraryException(
|
| 932 |
-
|
|
|
|
|
|
|
| 933 |
} else {
|
| 934 |
$quote->setCustomer($customer);
|
| 935 |
$this->log('external customer loaded', ShopgateLogger::LOGTYPE_DEBUG);
|
| 936 |
}
|
| 937 |
}
|
| 938 |
-
$invoiceAddress = $order->getInvoiceAddress();
|
| 939 |
if ($invoiceAddress) {
|
| 940 |
$this->log('invoice address start', ShopgateLogger::LOGTYPE_DEBUG);
|
| 941 |
$quote->getBillingAddress()->setShouldIgnoreValidation(true);
|
| 942 |
$billingAddressData = $this->_getSalesHelper()->createAddressData(
|
| 943 |
-
|
|
|
|
|
|
|
| 944 |
);
|
| 945 |
$billingAddress = $quote->getBillingAddress()->addData($billingAddressData);
|
| 946 |
$this->log('invoice address end', ShopgateLogger::LOGTYPE_DEBUG);
|
|
@@ -952,17 +937,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 952 |
|
| 953 |
$quote->getShippingAddress()->setShouldIgnoreValidation(true);
|
| 954 |
$shippingAddressData = $this->_getSalesHelper()->createAddressData(
|
| 955 |
-
|
|
|
|
|
|
|
| 956 |
);
|
| 957 |
$shippingAddress = $quote->getShippingAddress()->addData($shippingAddressData);
|
| 958 |
|
| 959 |
$this->_getHelper()->setShippingMethod($shippingAddress, $order);
|
| 960 |
$this->log('delivery address end', ShopgateLogger::LOGTYPE_DEBUG);
|
| 961 |
}
|
| 962 |
-
|
| 963 |
$quote->setCustomerEmail($order->getMail());
|
| 964 |
$this->log('customer email: ' . $order->getMail(), ShopgateLogger::LOGTYPE_DEBUG);
|
| 965 |
-
|
| 966 |
if ($invoiceAddress) {
|
| 967 |
$this->log('invoice address start (names)', ShopgateLogger::LOGTYPE_DEBUG);
|
| 968 |
|
|
@@ -972,13 +959,13 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 972 |
|
| 973 |
$this->log('invoice address end (names)', ShopgateLogger::LOGTYPE_DEBUG);
|
| 974 |
}
|
| 975 |
-
|
| 976 |
$externalCustomerId = $order->getExternalCustomerId();
|
| 977 |
if (empty($externalCustomerId)) {
|
| 978 |
$this->log('external customer number unavailable', ShopgateLogger::LOGTYPE_DEBUG);
|
| 979 |
$quote->setCustomerIsGuest(1);
|
| 980 |
-
|
| 981 |
-
|
| 982 |
} else {
|
| 983 |
$this->log('external customer number available', ShopgateLogger::LOGTYPE_DEBUG);
|
| 984 |
|
|
@@ -991,25 +978,25 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 991 |
$shippingAddress->setCustomerAddressId($deliveryAddress->getId());
|
| 992 |
}
|
| 993 |
}
|
| 994 |
-
|
| 995 |
Mage::register(
|
| 996 |
'rule_data',
|
| 997 |
new Varien_Object(
|
| 998 |
array(
|
| 999 |
-
'store_id'
|
| 1000 |
-
'website_id'
|
| 1001 |
'customer_group_id' => $quote->getCustomerGroupId()
|
| 1002 |
)
|
| 1003 |
)
|
| 1004 |
);
|
| 1005 |
-
|
| 1006 |
$quote->setIsActive("0");
|
| 1007 |
$quote->setRemoteIp("shopgate.com");
|
| 1008 |
$quote->save();
|
| 1009 |
-
|
| 1010 |
-
|
| 1011 |
-
|
| 1012 |
-
|
| 1013 |
return $quote;
|
| 1014 |
}
|
| 1015 |
|
|
@@ -1036,7 +1023,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1036 |
if ($order instanceof ShopgateOrder) {
|
| 1037 |
|
| 1038 |
if (!$coupon->getInternalInfo()) {
|
| 1039 |
-
throw new ShopgateLibraryException(
|
|
|
|
|
|
|
|
|
|
| 1040 |
}
|
| 1041 |
/** @var Mage_SalesRule_Model_Coupon $mageCoupon */
|
| 1042 |
if ($this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
|
@@ -1159,19 +1149,26 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1159 |
{
|
| 1160 |
$order->addStatusHistoryComment($this->_getHelper()->__("[SHOPGATE] Order added by Shopgate."), false);
|
| 1161 |
$order->addStatusHistoryComment(
|
| 1162 |
-
|
| 1163 |
-
|
| 1164 |
-
|
| 1165 |
-
|
| 1166 |
-
|
| 1167 |
);
|
| 1168 |
|
| 1169 |
-
if (Mage::getStoreConfig(
|
| 1170 |
-
|
|
|
|
|
|
|
|
|
|
| 1171 |
foreach ($shopgateOrder->getCustomFields() as $field) {
|
| 1172 |
$order->addStatusHistoryComment(
|
| 1173 |
-
|
| 1174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1175 |
}
|
| 1176 |
}
|
| 1177 |
|
|
@@ -1197,8 +1194,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1197 |
{
|
| 1198 |
$this->log("## Start to update Order", ShopgateLogger::LOGTYPE_DEBUG);
|
| 1199 |
$this->log(
|
| 1200 |
-
|
| 1201 |
-
|
| 1202 |
);
|
| 1203 |
|
| 1204 |
Mage::dispatchEvent('shopgate_update_order_before', array('shopgate_order' => $order));
|
|
@@ -1207,8 +1204,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1207 |
|
| 1208 |
/** @var Shopgate_Framework_Model_Shopgate_Order $shopgateOrder */
|
| 1209 |
$shopgateOrder = Mage::getModel("shopgate/shopgate_order")->load(
|
| 1210 |
-
|
| 1211 |
-
|
| 1212 |
);
|
| 1213 |
|
| 1214 |
if ($shopgateOrder->getId() == null) {
|
|
@@ -1221,8 +1218,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1221 |
$magentoOrder = $shopgateOrder->getOrder();
|
| 1222 |
$magentoOrder = $this->_getUpdateOrderLoaders($magentoOrder, $order, $shopgateOrder);
|
| 1223 |
$magentoOrder->addStatusHistoryComment(
|
| 1224 |
-
|
| 1225 |
-
|
| 1226 |
);
|
| 1227 |
|
| 1228 |
$magentoOrder->save();
|
|
@@ -1413,7 +1410,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1413 |
}
|
| 1414 |
}
|
| 1415 |
} else {
|
| 1416 |
-
$stateObject
|
| 1417 |
$methodInstance = $magentoOrder->getPayment()->getMethodInstance();
|
| 1418 |
if ($shopgateOrder->getPaymentMethod() != ShopgateOrder::AMAZON_PAYMENT
|
| 1419 |
&& strpos($shopgateOrder->getPaymentMethod(), 'PAYONE') === false
|
|
@@ -1469,41 +1466,9 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1469 |
*
|
| 1470 |
* @return Mage_Sales_Model_Order
|
| 1471 |
*/
|
| 1472 |
-
protected function _setOrderPayment($magentoOrder, $shopgateOrder)
|
| 1473 |
{
|
| 1474 |
-
|
| 1475 |
-
$factory = $this->_getFactory();
|
| 1476 |
-
if ($factory->validatePaymentClass()) {
|
| 1477 |
-
return $factory->manipulateOrderWithPaymentData($magentoOrder);
|
| 1478 |
-
}
|
| 1479 |
-
|
| 1480 |
-
// Abstract will handle anything that doesn't have a manipulateOrder function
|
| 1481 |
-
if ($shopgateOrder->getIsPaid() && $magentoOrder->getBaseTotalDue()) {
|
| 1482 |
-
$magentoOrder->getPayment()->setShouldCloseParentTransaction(true);
|
| 1483 |
-
$magentoOrder->getPayment()->registerCaptureNotification($shopgateOrder->getAmountComplete());
|
| 1484 |
-
|
| 1485 |
-
$magentoOrder->addStatusHistoryComment($this->_getHelper()->__("[SHOPGATE] Payment received."), false)
|
| 1486 |
-
->setIsCustomerNotified(false);
|
| 1487 |
-
|
| 1488 |
-
if ($shopgateOrder->getPaymentMethod() === ShopgateOrder::PAYPAL) {
|
| 1489 |
-
try {
|
| 1490 |
-
$transaction = Mage::getModel("sales/order_payment_transaction");
|
| 1491 |
-
$transaction->setOrderPaymentObject($magentoOrder->getPayment());
|
| 1492 |
-
$transaction->setIsClosed(false);
|
| 1493 |
-
$transaction->setTxnId($shopgateOrder->getPaymentTransactionNumber());
|
| 1494 |
-
$transaction->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
| 1495 |
-
$transaction->save();
|
| 1496 |
-
|
| 1497 |
-
$magentoOrder->getPayment()->importTransactionInfo($transaction);
|
| 1498 |
-
} catch (Exception $x) {
|
| 1499 |
-
$this->log($x->getMessage());
|
| 1500 |
-
}
|
| 1501 |
-
}
|
| 1502 |
-
}
|
| 1503 |
-
|
| 1504 |
-
$magentoOrder->getPayment()->setLastTransId($shopgateOrder->getPaymentTransactionNumber());
|
| 1505 |
-
|
| 1506 |
-
return $magentoOrder;
|
| 1507 |
}
|
| 1508 |
|
| 1509 |
/**
|
|
@@ -1644,10 +1609,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1644 |
if (!$amountCoupon && !$externalCoupon->getIsFreeShipping()) {
|
| 1645 |
$externalCoupon->setIsValid(false);
|
| 1646 |
$externalCoupon->setNotValidMessage(
|
| 1647 |
-
|
| 1648 |
-
|
| 1649 |
-
|
| 1650 |
-
|
| 1651 |
);
|
| 1652 |
}
|
| 1653 |
|
|
@@ -1655,10 +1620,10 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1655 |
} else {
|
| 1656 |
$externalCoupon->setIsValid(false);
|
| 1657 |
$externalCoupon->setNotValidMessage(
|
| 1658 |
-
|
| 1659 |
-
|
| 1660 |
-
|
| 1661 |
-
|
| 1662 |
);
|
| 1663 |
}
|
| 1664 |
|
|
@@ -1707,15 +1672,16 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1707 |
"payment_methods" => array(),
|
| 1708 |
"items" => array(),
|
| 1709 |
"customer" => $this->_getSalesHelper()->getCustomerData(
|
| 1710 |
-
|
| 1711 |
-
)
|
|
|
|
| 1712 |
);
|
| 1713 |
|
| 1714 |
-
|
| 1715 |
&& $shippingMethods = $this->_getSalesHelper()->getShippingMethods($mageCart)
|
| 1716 |
) {
|
| 1717 |
-
|
| 1718 |
-
|
| 1719 |
|
| 1720 |
if ($coupon = $this->checkCoupons($mageCart, $cart)) {
|
| 1721 |
$response["external_coupons"] = $coupon;
|
|
@@ -1967,8 +1933,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1967 |
$this->setDefaultItemRowOptionCount($this->_getHelper()->getMaxOptionCount());
|
| 1968 |
|
| 1969 |
$this->log(
|
| 1970 |
-
|
| 1971 |
-
|
| 1972 |
);
|
| 1973 |
|
| 1974 |
$start = time();
|
|
@@ -1989,8 +1955,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 1989 |
/** @var Mage_Catalog_Model_Product $product */
|
| 1990 |
if ($this->_getExportHelper()->productHasRequiredFileOption($product)) {
|
| 1991 |
$this->log(
|
| 1992 |
-
|
| 1993 |
-
|
| 1994 |
);
|
| 1995 |
continue;
|
| 1996 |
}
|
|
@@ -2000,23 +1966,23 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2000 |
$memoryPeekUsage = round(($memoryPeekUsage / 1024 / 1024), 2);
|
| 2001 |
|
| 2002 |
$this->log(
|
| 2003 |
-
|
| 2004 |
-
|
| 2005 |
);
|
| 2006 |
$this->log("Memory usage: {$memoryUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2007 |
$this->log("Memory peek usage: {$memoryPeekUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2008 |
|
| 2009 |
$this->log(
|
| 2010 |
-
|
| 2011 |
-
|
| 2012 |
-
|
| 2013 |
-
|
| 2014 |
-
|
| 2015 |
-
|
| 2016 |
-
|
| 2017 |
-
|
| 2018 |
-
|
| 2019 |
-
|
| 2020 |
);
|
| 2021 |
|
| 2022 |
if ($product->isSuper()) {
|
|
@@ -2076,14 +2042,15 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2076 |
|
| 2077 |
if ($xml) {
|
| 2078 |
$collection->addAttributeToFilter(
|
| 2079 |
-
|
| 2080 |
-
|
| 2081 |
-
|
| 2082 |
-
|
| 2083 |
-
|
| 2084 |
-
|
| 2085 |
-
|
| 2086 |
-
|
|
|
|
| 2087 |
);
|
| 2088 |
}
|
| 2089 |
$collection->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
|
|
@@ -2096,7 +2063,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2096 |
$this->log("Offset: " . $this->exportOffset, ShopgateLogger::LOGTYPE_ACCESS);
|
| 2097 |
$this->log("[*] Offset: {$this->exportOffset}", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2098 |
} else {
|
| 2099 |
-
$ids = $collection->getAllIds();
|
| 2100 |
}
|
| 2101 |
|
| 2102 |
return $ids;
|
|
@@ -2154,14 +2121,14 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2154 |
$this->log("[*] Export Start...", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2155 |
|
| 2156 |
$this->log(
|
| 2157 |
-
|
| 2158 |
-
|
| 2159 |
);
|
| 2160 |
|
| 2161 |
$start = time();
|
| 2162 |
$productIds = $uids ? $uids : $this->_getExportProduct(true, $limit, $offset);
|
| 2163 |
$oldVersion = $this->_getConfigHelper()->getIsMagentoVersionLower15();
|
| 2164 |
-
|
| 2165 |
$i = 1;
|
| 2166 |
|
| 2167 |
foreach ($productIds as $productId) {
|
|
@@ -2171,14 +2138,14 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2171 |
$this->log("#{$i}", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2172 |
$i++;
|
| 2173 |
|
| 2174 |
-
|
| 2175 |
-
|
| 2176 |
-
|
| 2177 |
-
|
| 2178 |
-
|
| 2179 |
-
|
| 2180 |
-
|
| 2181 |
-
|
| 2182 |
|
| 2183 |
$memoryUsage = memory_get_usage(true);
|
| 2184 |
$memoryUsage = round(($memoryUsage / 1024 / 1024), 2);
|
|
@@ -2186,23 +2153,23 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2186 |
$memoryPeekUsage = round(($memoryPeekUsage / 1024 / 1024), 2);
|
| 2187 |
|
| 2188 |
$this->log(
|
| 2189 |
-
|
| 2190 |
-
|
| 2191 |
);
|
| 2192 |
$this->log("Memory usage: {$memoryUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2193 |
$this->log("Memory peek usage: {$memoryPeekUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2194 |
|
| 2195 |
$this->log(
|
| 2196 |
-
|
| 2197 |
-
|
| 2198 |
-
|
| 2199 |
-
|
| 2200 |
-
|
| 2201 |
-
|
| 2202 |
-
|
| 2203 |
-
|
| 2204 |
-
|
| 2205 |
-
|
| 2206 |
);
|
| 2207 |
|
| 2208 |
$this->addItem($this->_buildProductItem($product));
|
|
@@ -2237,7 +2204,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2237 |
*/
|
| 2238 |
protected function createReviewsCsv()
|
| 2239 |
{
|
| 2240 |
-
$reviews
|
| 2241 |
$reviewExportModel = Mage::getModel('shopgate/export_review_csv');
|
| 2242 |
$reviewExportModel->setDefaultRow($this->buildDefaultReviewRow());
|
| 2243 |
foreach ($reviews as $review) {
|
|
@@ -2332,7 +2299,7 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2332 |
*/
|
| 2333 |
public function setUseTaxClasses($bool)
|
| 2334 |
{
|
| 2335 |
-
$this->useTaxClasses = $bool;
|
| 2336 |
}
|
| 2337 |
|
| 2338 |
/** ========================================= SETTING EXPORT END ================================================ */
|
|
@@ -2383,19 +2350,19 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2383 |
}
|
| 2384 |
|
| 2385 |
/**
|
| 2386 |
-
* @return
|
| 2387 |
*/
|
| 2388 |
-
protected function
|
| 2389 |
{
|
| 2390 |
-
return Mage::helper('shopgate/
|
| 2391 |
}
|
| 2392 |
|
| 2393 |
/**
|
| 2394 |
-
* @return
|
| 2395 |
*/
|
| 2396 |
-
protected function
|
| 2397 |
{
|
| 2398 |
-
return Mage::helper('shopgate/
|
| 2399 |
}
|
| 2400 |
|
| 2401 |
/**
|
|
@@ -2409,14 +2376,6 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2409 |
return $this->_exportProductInstance;
|
| 2410 |
}
|
| 2411 |
|
| 2412 |
-
/**
|
| 2413 |
-
* @return Shopgate_Framework_Helper_Import_Order
|
| 2414 |
-
*/
|
| 2415 |
-
protected function _getOrderHelper()
|
| 2416 |
-
{
|
| 2417 |
-
return Mage::helper('shopgate/import_order');
|
| 2418 |
-
}
|
| 2419 |
-
|
| 2420 |
/** ========================================== HELPER METHODS END ================================================*/
|
| 2421 |
/** ========================================== HELPER METHODS END ================================================*/
|
| 2422 |
/** ========================================== HELPER METHODS END ================================================*/
|
|
@@ -2449,8 +2408,8 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
| 2449 |
public function createShopInfo()
|
| 2450 |
{
|
| 2451 |
$shopInfo = parent::createShopInfo();
|
| 2452 |
-
$entitiesCount = $this->
|
| 2453 |
-
$pluginsInstalled = array('plugins_installed' => $this->
|
| 2454 |
|
| 2455 |
return array_merge($shopInfo, $entitiesCount, $pluginsInstalled);
|
| 2456 |
}
|
| 76 |
* @var null | Shopgate_Framework_Model_Payment_Factory
|
| 77 |
*/
|
| 78 |
protected $_factory = null;
|
| 79 |
+
|
| 80 |
/**
|
| 81 |
* Callback function for initialization by plugin implementations.
|
| 82 |
* This method gets called on instantiation of a ShopgatePlugin child class and serves as __construct() replacement.
|
| 89 |
/* @var $config Shopgate_Framework_Helper_Config */
|
| 90 |
$this->_config = $this->_getConfig();
|
| 91 |
$this->_defaultTax = Mage::getModel("tax/calculation")->getDefaultCustomerTaxClass(
|
| 92 |
+
$this->_getConfig()->getStoreViewId()
|
| 93 |
);
|
| 94 |
return true;
|
| 95 |
}
|
| 96 |
|
| 97 |
/**
|
| 98 |
* Simple setter
|
| 99 |
+
*
|
| 100 |
* @param $factory Shopgate_Framework_Model_Payment_Factory
|
| 101 |
*/
|
| 102 |
protected function _setFactory(Shopgate_Framework_Model_Payment_Factory $factory)
|
| 106 |
|
| 107 |
/**
|
| 108 |
* Factory getter
|
| 109 |
+
*
|
| 110 |
* @return null|Shopgate_Framework_Model_Payment_Factory
|
| 111 |
*/
|
| 112 |
protected function _getFactory()
|
| 113 |
{
|
| 114 |
+
if (!$this->_factory) {
|
| 115 |
+
$shopgateOrder = Mage::getModel('core/session')->getShopgateOrder();
|
| 116 |
+
$factory = Mage::getModel('shopgate/payment_factory', $shopgateOrder);
|
| 117 |
$this->_setFactory($factory);
|
| 118 |
}
|
| 119 |
return $this->_factory;
|
| 120 |
}
|
| 121 |
+
|
| 122 |
/**
|
| 123 |
*
|
| 124 |
* @param string $action
|
| 165 |
$this->_cronCancelOrder();
|
| 166 |
break;
|
| 167 |
default:
|
| 168 |
+
throw new ShopgateLibraryException(
|
| 169 |
+
ShopgateLibraryException::PLUGIN_CRON_UNSUPPORTED_JOB,
|
| 170 |
+
'"' . $jobname . '"', true
|
| 171 |
+
);
|
| 172 |
}
|
| 173 |
|
| 174 |
$this->log("END Run CRON-Jobs", ShopgateLogger::LOGTYPE_DEBUG);
|
| 219 |
continue;
|
| 220 |
}
|
| 221 |
$this->log(
|
| 222 |
+
">> Order with ID {$order->getId()} loaded and ready for cancellation",
|
| 223 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 224 |
);
|
| 225 |
$this->log(">> Dispatching event order_cancel_after", ShopgateLogger::LOGTYPE_DEBUG);
|
| 226 |
Mage::dispatchEvent('order_cancel_after', array('order' => $order, 'shopgate_order' => $shopgateOrder));
|
| 284 |
if ($e->getCode() == Mage_Customer_Model_Customer::EXCEPTION_EMAIL_EXISTS) {
|
| 285 |
throw new ShopgateLibraryException(ShopgateLibraryException::REGISTER_USER_ALREADY_EXISTS);
|
| 286 |
} else {
|
| 287 |
+
throw new ShopgateLibraryException(
|
| 288 |
+
ShopgateLibraryException::REGISTER_FAILED_TO_ADD_USER,
|
| 289 |
+
$e->getMessage(),
|
| 290 |
+
true
|
| 291 |
+
);
|
| 292 |
}
|
| 293 |
} catch (Exception $e) {
|
| 294 |
throw new ShopgateLibraryException(ShopgateLibraryException::UNKNOWN_ERROR_CODE, $e->getMessage(), true);
|
| 327 |
$this->log("# Try to load old shopgate order to check for duplicate", ShopgateLogger::LOGTYPE_DEBUG);
|
| 328 |
/** @var Shopgate_Framework_Model_Shopgate_Order $magentoShopgateOrder */
|
| 329 |
$magentoShopgateOrder = Mage::getModel("shopgate/shopgate_order")->load(
|
| 330 |
+
$order->getOrderNumber(),
|
| 331 |
+
"shopgate_order_number"
|
| 332 |
);
|
| 333 |
|
| 334 |
if ($magentoShopgateOrder->getId() !== null) {
|
| 339 |
$orderId = $magentoShopgateOrder->getOrderId();
|
| 340 |
}
|
| 341 |
|
| 342 |
+
throw new ShopgateLibraryException(
|
| 343 |
+
ShopgateLibraryException::PLUGIN_DUPLICATE_ORDER,
|
| 344 |
+
'orderId: ' . $orderId, true
|
| 345 |
+
);
|
| 346 |
}
|
| 347 |
Mage::dispatchEvent('shopgate_add_order_before', array('shopgate_order' => $order));
|
| 348 |
$this->log("# Add shopgate order to Session", ShopgateLogger::LOGTYPE_DEBUG);
|
| 393 |
$title = $title ? $title : $order->getShippingInfos()->getDisplayName();
|
| 394 |
$quote->getShippingAddress()->setShippingDescription($title);
|
| 395 |
$quote->save();
|
| 396 |
+
|
| 397 |
// due to compatibility with 3rd party modules which fetches the quote from the session (like phoenix_cod, SUE)
|
| 398 |
// needed before $service->submitAll() is called
|
| 399 |
Mage::getSingleton('checkout/session')->replaceQuote($quote);
|
| 400 |
+
|
| 401 |
$magentoOrder = $this->_getFactory()->createNewOrder($quote);
|
| 402 |
|
| 403 |
$this->log("# Create order from quote", ShopgateLogger::LOGTYPE_DEBUG);
|
| 408 |
$magentoOrder = $this->executeLoaders($this->_getCreateOrderLoaders(), $magentoOrder, $order);
|
| 409 |
$magentoOrder->setShippingDescription($title);
|
| 410 |
$magentoOrder->setShippingMethod($method);
|
| 411 |
+
|
| 412 |
//todo: move this out, intentionally here after executeLoaders?
|
| 413 |
+
if ($magentoOrder->getTotalDue() > 0
|
| 414 |
&& $order->getPaymentMethod() == ShopgateOrder::PP_WSPP_CC
|
| 415 |
) {
|
| 416 |
if (!$magentoOrder->getPayment()->getIsTransactionPending()) {
|
| 437 |
$totalShopgate = $order->getAmountComplete();
|
| 438 |
$totalMagento = $magentoOrder->getTotalDue();
|
| 439 |
$this->log(
|
| 440 |
+
"
|
| 441 |
Total Shopgate: {$totalShopgate} {$order->getCurrency()}
|
| 442 |
Total Magento: {$totalMagento} {$order->getCurrency()}
|
| 443 |
",
|
| 444 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 445 |
);
|
| 446 |
|
| 447 |
$result = array(
|
| 464 |
throw $e;
|
| 465 |
} catch (Exception $e) {
|
| 466 |
Mage::getModel("sales/order")->getResource()->rollback();
|
| 467 |
+
throw new ShopgateLibraryException(
|
| 468 |
+
ShopgateLibraryException::UNKNOWN_ERROR_CODE,
|
| 469 |
+
"{$e->getMessage()}\n{$e->getTraceAsString()}",
|
| 470 |
+
true
|
| 471 |
+
);
|
| 472 |
}
|
| 473 |
|
| 474 |
return $result;
|
| 516 |
continue;
|
| 517 |
}
|
| 518 |
|
| 519 |
+
$orderInfo = $item->getInternalOrderInfo();
|
| 520 |
+
$orderInfo = $this->jsonDecode($orderInfo, true);
|
| 521 |
|
| 522 |
$stackQuantity = 1;
|
| 523 |
if (!empty($orderInfo['stack_quantity']) && $orderInfo['stack_quantity'] > 1) {
|
| 526 |
|
| 527 |
$pId = $orderInfo["product_id"];
|
| 528 |
/** @var Mage_Catalog_Model_Product $product */
|
| 529 |
+
$product = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())
|
| 530 |
+
->load($pId);
|
| 531 |
|
| 532 |
if (!$product->getId()) {
|
| 533 |
throw new ShopgateLibraryException(
|
| 534 |
ShopgateLibraryException::CART_ITEM_PRODUCT_NOT_FOUND, 'product ID: ' . $pId, true
|
| 535 |
);
|
| 536 |
}
|
| 537 |
+
|
| 538 |
$itemNumber = $item->getItemNumber();
|
| 539 |
+
$productWeight = null;
|
| 540 |
|
| 541 |
if (strpos($itemNumber, '-') !== false) {
|
| 542 |
$productWeight = $product->getTypeInstance()->getWeight();
|
| 543 |
+
$productIds = explode('-', $itemNumber);
|
| 544 |
+
$parentId = $productIds[0];
|
| 545 |
/** @var Mage_Catalog_Model_Product $parent */
|
| 546 |
$parent = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())
|
| 547 |
->load($parentId);
|
| 548 |
+
if ($parent->isConfigurable()
|
| 549 |
+
&& !$this->_getConfig()->addOnlySimplesToCart()
|
| 550 |
+
) {
|
| 551 |
$buyObject = $this->_createQuoteItemBuyInfo($item, $parent, $stackQuantity);
|
| 552 |
$superAttributes = $parent->getTypeInstance(true)->getConfigurableAttributesAsArray($parent);
|
| 553 |
$superAttConfig = array();
|
| 554 |
|
| 555 |
foreach ($superAttributes as $productAttribute) {
|
| 556 |
$superAttConfig[$productAttribute['attribute_id']] = $product->getData(
|
| 557 |
+
$productAttribute['attribute_code']
|
| 558 |
);
|
| 559 |
}
|
| 560 |
$buyObject->setSuperAttribute($superAttConfig);
|
| 580 |
throw new ShopgateLibraryException(
|
| 581 |
ShopgateLibraryException::UNKNOWN_ERROR_CODE,
|
| 582 |
"Error on adding product to quote! Details: " . var_export($quoteItem, true),
|
| 583 |
+
true
|
| 584 |
+
);
|
| 585 |
}
|
| 586 |
}
|
| 587 |
$quoteItem = $quote->getItemByProduct($product);
|
| 759 |
}
|
| 760 |
$itemAmount = $item->getUnitAmountWithTax();
|
| 761 |
}
|
|
|
|
| 762 |
|
| 763 |
$obj = new Varien_Object();
|
| 764 |
$obj->setName($item->getName());
|
| 765 |
$obj->setItemNumber($item->getItemNumber());
|
| 766 |
$obj->setUnitAmountWithTax($itemAmount);
|
| 767 |
+
$obj->setQty($item->getQuantity());
|
| 768 |
$this->_virtualObjectStack[] = $obj;
|
| 769 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 770 |
}
|
| 771 |
}
|
| 772 |
|
| 773 |
/**
|
| 774 |
* Set the payment for the given quote
|
|
|
|
| 775 |
*
|
| 776 |
* @param Mage_Sales_Model_Quote $quote
|
| 777 |
* @param ShopgateOrder $order
|
| 782 |
{
|
| 783 |
$payment = $this->_getFactory()->getPaymentModel();
|
| 784 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 785 |
$paymentInfo = array();
|
| 786 |
$info = $order->getPaymentInfos();
|
| 787 |
|
| 872 |
}
|
| 873 |
|
| 874 |
$quote->setIsSuperMode(true);
|
|
|
|
|
|
|
|
|
|
| 875 |
|
| 876 |
foreach ($this->_virtualObjectStack as $obj) {
|
| 877 |
/* @var $obj Varien_Object */
|
| 878 |
+
$amountWithTax = $obj->getUnitAmountWithTax();
|
|
|
|
|
|
|
| 879 |
|
| 880 |
/* @var $merged Mage_Catalog_Model_Product */
|
| 881 |
+
$merged = $this->_getCouponHelper()->createProductFromShopgateCoupon($obj);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 882 |
|
| 883 |
/* @var $quoteItem Mage_Sales_Model_Quote_Item */
|
| 884 |
+
$quoteItem = $quote->addProduct($merged, $obj->getQty());
|
|
|
|
| 885 |
$quoteItem->setCustomPrice($amountWithTax);
|
| 886 |
$quoteItem->setOriginalPrice($amountWithTax);
|
| 887 |
$quoteItem->setOriginalCustomPrice($amountWithTax);
|
|
|
|
| 888 |
$quoteItem->setNoDiscount(true);
|
| 889 |
$quoteItem->setRowWeight(0);
|
| 890 |
$quoteItem->setWeeeTaxApplied(serialize(array()));
|
| 903 |
protected function _setQuoteCustomer($quote, $order)
|
| 904 |
{
|
| 905 |
/* @var $customer Mage_Customer_Model_Customer */
|
| 906 |
+
$customer = Mage::getModel('customer/customer');
|
| 907 |
$externalCustomerId = $order->getExternalCustomerId();
|
| 908 |
if ($externalCustomerId) {
|
| 909 |
$this->log('external customer id: ' . $externalCustomerId, ShopgateLogger::LOGTYPE_DEBUG);
|
| 910 |
$customer->load($externalCustomerId);
|
| 911 |
if (!$customer->getId()) {
|
| 912 |
+
throw new ShopgateLibraryException(
|
| 913 |
+
ShopgateLibraryException::UNKNOWN_ERROR_CODE,
|
| 914 |
+
sprintf('customer with external id \'%s\' does not exist', $externalCustomerId)
|
| 915 |
+
);
|
| 916 |
} else {
|
| 917 |
$quote->setCustomer($customer);
|
| 918 |
$this->log('external customer loaded', ShopgateLogger::LOGTYPE_DEBUG);
|
| 919 |
}
|
| 920 |
}
|
| 921 |
+
$invoiceAddress = $order->getInvoiceAddress();
|
| 922 |
if ($invoiceAddress) {
|
| 923 |
$this->log('invoice address start', ShopgateLogger::LOGTYPE_DEBUG);
|
| 924 |
$quote->getBillingAddress()->setShouldIgnoreValidation(true);
|
| 925 |
$billingAddressData = $this->_getSalesHelper()->createAddressData(
|
| 926 |
+
$order,
|
| 927 |
+
$order->getInvoiceAddress(),
|
| 928 |
+
true
|
| 929 |
);
|
| 930 |
$billingAddress = $quote->getBillingAddress()->addData($billingAddressData);
|
| 931 |
$this->log('invoice address end', ShopgateLogger::LOGTYPE_DEBUG);
|
| 937 |
|
| 938 |
$quote->getShippingAddress()->setShouldIgnoreValidation(true);
|
| 939 |
$shippingAddressData = $this->_getSalesHelper()->createAddressData(
|
| 940 |
+
$order,
|
| 941 |
+
$order->getDeliveryAddress(),
|
| 942 |
+
false
|
| 943 |
);
|
| 944 |
$shippingAddress = $quote->getShippingAddress()->addData($shippingAddressData);
|
| 945 |
|
| 946 |
$this->_getHelper()->setShippingMethod($shippingAddress, $order);
|
| 947 |
$this->log('delivery address end', ShopgateLogger::LOGTYPE_DEBUG);
|
| 948 |
}
|
| 949 |
+
|
| 950 |
$quote->setCustomerEmail($order->getMail());
|
| 951 |
$this->log('customer email: ' . $order->getMail(), ShopgateLogger::LOGTYPE_DEBUG);
|
| 952 |
+
|
| 953 |
if ($invoiceAddress) {
|
| 954 |
$this->log('invoice address start (names)', ShopgateLogger::LOGTYPE_DEBUG);
|
| 955 |
|
| 959 |
|
| 960 |
$this->log('invoice address end (names)', ShopgateLogger::LOGTYPE_DEBUG);
|
| 961 |
}
|
| 962 |
+
|
| 963 |
$externalCustomerId = $order->getExternalCustomerId();
|
| 964 |
if (empty($externalCustomerId)) {
|
| 965 |
$this->log('external customer number unavailable', ShopgateLogger::LOGTYPE_DEBUG);
|
| 966 |
$quote->setCustomerIsGuest(1);
|
| 967 |
+
$quote->getShippingAddress();
|
| 968 |
+
$quote->getBillingAddress();
|
| 969 |
} else {
|
| 970 |
$this->log('external customer number available', ShopgateLogger::LOGTYPE_DEBUG);
|
| 971 |
|
| 978 |
$shippingAddress->setCustomerAddressId($deliveryAddress->getId());
|
| 979 |
}
|
| 980 |
}
|
| 981 |
+
|
| 982 |
Mage::register(
|
| 983 |
'rule_data',
|
| 984 |
new Varien_Object(
|
| 985 |
array(
|
| 986 |
+
'store_id' => Mage::app()->getStore()->getId(),
|
| 987 |
+
'website_id' => Mage::app()->getStore()->getWebsiteId(),
|
| 988 |
'customer_group_id' => $quote->getCustomerGroupId()
|
| 989 |
)
|
| 990 |
)
|
| 991 |
);
|
| 992 |
+
|
| 993 |
$quote->setIsActive("0");
|
| 994 |
$quote->setRemoteIp("shopgate.com");
|
| 995 |
$quote->save();
|
| 996 |
+
if (empty($externalCustomerId)) {
|
| 997 |
+
$quote->getBillingAddress()->isObjectNew(false);
|
| 998 |
+
$quote->getShippingAddress()->isObjectNew(false);
|
| 999 |
+
}
|
| 1000 |
return $quote;
|
| 1001 |
}
|
| 1002 |
|
| 1023 |
if ($order instanceof ShopgateOrder) {
|
| 1024 |
|
| 1025 |
if (!$coupon->getInternalInfo()) {
|
| 1026 |
+
throw new ShopgateLibraryException(
|
| 1027 |
+
ShopgateLibraryException::COUPON_NOT_VALID,
|
| 1028 |
+
'Field "internal_info" is empty.'
|
| 1029 |
+
);
|
| 1030 |
}
|
| 1031 |
/** @var Mage_SalesRule_Model_Coupon $mageCoupon */
|
| 1032 |
if ($this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
| 1149 |
{
|
| 1150 |
$order->addStatusHistoryComment($this->_getHelper()->__("[SHOPGATE] Order added by Shopgate."), false);
|
| 1151 |
$order->addStatusHistoryComment(
|
| 1152 |
+
$this->_getHelper()->__(
|
| 1153 |
+
"[SHOPGATE] Shopgate order number: %s",
|
| 1154 |
+
$shopgateOrder->getOrderNumber()
|
| 1155 |
+
),
|
| 1156 |
+
false
|
| 1157 |
);
|
| 1158 |
|
| 1159 |
+
if (Mage::getStoreConfig(
|
| 1160 |
+
Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ORDER_CUSTOMFIELDS_TO_STATUSHISTORY,
|
| 1161 |
+
$this->_getConfig()->getStoreViewId()
|
| 1162 |
+
)
|
| 1163 |
+
) {
|
| 1164 |
foreach ($shopgateOrder->getCustomFields() as $field) {
|
| 1165 |
$order->addStatusHistoryComment(
|
| 1166 |
+
$this->_getHelper()
|
| 1167 |
+
->__("[SHOPGATE] Custom fields:") . "\n\"" . addslashes(
|
| 1168 |
+
$field->getLabel()
|
| 1169 |
+
) . "\" => \"" . addslashes($field->getValue()) . "\"",
|
| 1170 |
+
false
|
| 1171 |
+
);
|
| 1172 |
}
|
| 1173 |
}
|
| 1174 |
|
| 1194 |
{
|
| 1195 |
$this->log("## Start to update Order", ShopgateLogger::LOGTYPE_DEBUG);
|
| 1196 |
$this->log(
|
| 1197 |
+
"## Order-Number: {$order->getOrderNumber()}",
|
| 1198 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 1199 |
);
|
| 1200 |
|
| 1201 |
Mage::dispatchEvent('shopgate_update_order_before', array('shopgate_order' => $order));
|
| 1204 |
|
| 1205 |
/** @var Shopgate_Framework_Model_Shopgate_Order $shopgateOrder */
|
| 1206 |
$shopgateOrder = Mage::getModel("shopgate/shopgate_order")->load(
|
| 1207 |
+
$order->getOrderNumber(),
|
| 1208 |
+
'shopgate_order_number'
|
| 1209 |
);
|
| 1210 |
|
| 1211 |
if ($shopgateOrder->getId() == null) {
|
| 1218 |
$magentoOrder = $shopgateOrder->getOrder();
|
| 1219 |
$magentoOrder = $this->_getUpdateOrderLoaders($magentoOrder, $order, $shopgateOrder);
|
| 1220 |
$magentoOrder->addStatusHistoryComment(
|
| 1221 |
+
$this->_getHelper()->__("[SHOPGATE] Order updated by Shopgate."),
|
| 1222 |
+
false
|
| 1223 |
);
|
| 1224 |
|
| 1225 |
$magentoOrder->save();
|
| 1410 |
}
|
| 1411 |
}
|
| 1412 |
} else {
|
| 1413 |
+
$stateObject = new Varien_Object();
|
| 1414 |
$methodInstance = $magentoOrder->getPayment()->getMethodInstance();
|
| 1415 |
if ($shopgateOrder->getPaymentMethod() != ShopgateOrder::AMAZON_PAYMENT
|
| 1416 |
&& strpos($shopgateOrder->getPaymentMethod(), 'PAYONE') === false
|
| 1466 |
*
|
| 1467 |
* @return Mage_Sales_Model_Order
|
| 1468 |
*/
|
| 1469 |
+
protected function _setOrderPayment($magentoOrder, $shopgateOrder = null)
|
| 1470 |
{
|
| 1471 |
+
return $this->_getFactory()->manipulateOrderWithPaymentData($magentoOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1472 |
}
|
| 1473 |
|
| 1474 |
/**
|
| 1609 |
if (!$amountCoupon && !$externalCoupon->getIsFreeShipping()) {
|
| 1610 |
$externalCoupon->setIsValid(false);
|
| 1611 |
$externalCoupon->setNotValidMessage(
|
| 1612 |
+
$this->_getHelper()->__(
|
| 1613 |
+
'Coupon code "%s" is not valid.',
|
| 1614 |
+
Mage::helper('core')->htmlEscape($coupon->getCode())
|
| 1615 |
+
)
|
| 1616 |
);
|
| 1617 |
}
|
| 1618 |
|
| 1620 |
} else {
|
| 1621 |
$externalCoupon->setIsValid(false);
|
| 1622 |
$externalCoupon->setNotValidMessage(
|
| 1623 |
+
$this->_getHelper()->__(
|
| 1624 |
+
'Coupon code "%s" is not valid.',
|
| 1625 |
+
Mage::helper('core')->htmlEscape($coupon->getCode())
|
| 1626 |
+
)
|
| 1627 |
);
|
| 1628 |
}
|
| 1629 |
|
| 1672 |
"payment_methods" => array(),
|
| 1673 |
"items" => array(),
|
| 1674 |
"customer" => $this->_getSalesHelper()->getCustomerData(
|
| 1675 |
+
$cart,
|
| 1676 |
+
$this->_getConfig()->getStoreViewId()
|
| 1677 |
+
)
|
| 1678 |
);
|
| 1679 |
|
| 1680 |
+
if ($mageCart->getQuote()->hasItems()
|
| 1681 |
&& $shippingMethods = $this->_getSalesHelper()->getShippingMethods($mageCart)
|
| 1682 |
) {
|
| 1683 |
+
$response["shipping_methods"] = $shippingMethods;
|
| 1684 |
+
}
|
| 1685 |
|
| 1686 |
if ($coupon = $this->checkCoupons($mageCart, $cart)) {
|
| 1687 |
$response["external_coupons"] = $coupon;
|
| 1933 |
$this->setDefaultItemRowOptionCount($this->_getHelper()->getMaxOptionCount());
|
| 1934 |
|
| 1935 |
$this->log(
|
| 1936 |
+
'number of options to be exported: ' . $this->getDefaultItemRowOptionCount(),
|
| 1937 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 1938 |
);
|
| 1939 |
|
| 1940 |
$start = time();
|
| 1955 |
/** @var Mage_Catalog_Model_Product $product */
|
| 1956 |
if ($this->_getExportHelper()->productHasRequiredFileOption($product)) {
|
| 1957 |
$this->log(
|
| 1958 |
+
"Exclude Product with ID: {$product->getId()} from CSV: custom option type file",
|
| 1959 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 1960 |
);
|
| 1961 |
continue;
|
| 1962 |
}
|
| 1966 |
$memoryPeekUsage = round(($memoryPeekUsage / 1024 / 1024), 2);
|
| 1967 |
|
| 1968 |
$this->log(
|
| 1969 |
+
"[{$product->getId()}] Start Load Product with ID: {$product->getId()}",
|
| 1970 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 1971 |
);
|
| 1972 |
$this->log("Memory usage: {$memoryUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 1973 |
$this->log("Memory peek usage: {$memoryPeekUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 1974 |
|
| 1975 |
$this->log(
|
| 1976 |
+
"[{$product->getId()}] Product-Data:\n" . print_r(
|
| 1977 |
+
array(
|
| 1978 |
+
"id" => $product->getId(),
|
| 1979 |
+
"name" => $product->getName(),
|
| 1980 |
+
"sku" => $product->getSku(),
|
| 1981 |
+
"type" => $product->getTypeId(),
|
| 1982 |
+
),
|
| 1983 |
+
true
|
| 1984 |
+
),
|
| 1985 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 1986 |
);
|
| 1987 |
|
| 1988 |
if ($product->isSuper()) {
|
| 2042 |
|
| 2043 |
if ($xml) {
|
| 2044 |
$collection->addAttributeToFilter(
|
| 2045 |
+
'visibility',
|
| 2046 |
+
array(
|
| 2047 |
+
'in' =>
|
| 2048 |
+
array(
|
| 2049 |
+
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_SEARCH,
|
| 2050 |
+
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG,
|
| 2051 |
+
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH
|
| 2052 |
+
)
|
| 2053 |
+
)
|
| 2054 |
);
|
| 2055 |
}
|
| 2056 |
$collection->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
|
| 2063 |
$this->log("Offset: " . $this->exportOffset, ShopgateLogger::LOGTYPE_ACCESS);
|
| 2064 |
$this->log("[*] Offset: {$this->exportOffset}", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2065 |
} else {
|
| 2066 |
+
$ids = $collection->getAllIds();
|
| 2067 |
}
|
| 2068 |
|
| 2069 |
return $ids;
|
| 2121 |
$this->log("[*] Export Start...", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2122 |
|
| 2123 |
$this->log(
|
| 2124 |
+
'number of options to be exported: ' . $this->getDefaultItemRowOptionCount(),
|
| 2125 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 2126 |
);
|
| 2127 |
|
| 2128 |
$start = time();
|
| 2129 |
$productIds = $uids ? $uids : $this->_getExportProduct(true, $limit, $offset);
|
| 2130 |
$oldVersion = $this->_getConfigHelper()->getIsMagentoVersionLower15();
|
| 2131 |
+
|
| 2132 |
$i = 1;
|
| 2133 |
|
| 2134 |
foreach ($productIds as $productId) {
|
| 2138 |
$this->log("#{$i}", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2139 |
$i++;
|
| 2140 |
|
| 2141 |
+
/** @var Mage_Catalog_Model_Product $product */
|
| 2142 |
+
if ($this->_getExportHelper()->productHasRequiredFileOption($product)) {
|
| 2143 |
+
$this->log(
|
| 2144 |
+
"Exclude Product with ID: {$product->getId()} from CSV: custom option type file",
|
| 2145 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 2146 |
+
);
|
| 2147 |
+
continue;
|
| 2148 |
+
}
|
| 2149 |
|
| 2150 |
$memoryUsage = memory_get_usage(true);
|
| 2151 |
$memoryUsage = round(($memoryUsage / 1024 / 1024), 2);
|
| 2153 |
$memoryPeekUsage = round(($memoryPeekUsage / 1024 / 1024), 2);
|
| 2154 |
|
| 2155 |
$this->log(
|
| 2156 |
+
"[{$product->getId()}] Start Load Product with ID: {$product->getId()}",
|
| 2157 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 2158 |
);
|
| 2159 |
$this->log("Memory usage: {$memoryUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2160 |
$this->log("Memory peek usage: {$memoryPeekUsage} MB", ShopgateLogger::LOGTYPE_DEBUG);
|
| 2161 |
|
| 2162 |
$this->log(
|
| 2163 |
+
"[{$product->getId()}] Product-Data:\n" . print_r(
|
| 2164 |
+
array(
|
| 2165 |
+
"id" => $product->getId(),
|
| 2166 |
+
"name" => $product->getName(),
|
| 2167 |
+
"sku" => $product->getSku(),
|
| 2168 |
+
"type" => $product->getTypeId(),
|
| 2169 |
+
),
|
| 2170 |
+
true
|
| 2171 |
+
),
|
| 2172 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
| 2173 |
);
|
| 2174 |
|
| 2175 |
$this->addItem($this->_buildProductItem($product));
|
| 2204 |
*/
|
| 2205 |
protected function createReviewsCsv()
|
| 2206 |
{
|
| 2207 |
+
$reviews = $this->_getReviewCollection($this->exportLimit, $this->exportOffset);
|
| 2208 |
$reviewExportModel = Mage::getModel('shopgate/export_review_csv');
|
| 2209 |
$reviewExportModel->setDefaultRow($this->buildDefaultReviewRow());
|
| 2210 |
foreach ($reviews as $review) {
|
| 2299 |
*/
|
| 2300 |
public function setUseTaxClasses($bool)
|
| 2301 |
{
|
| 2302 |
+
$this->useTaxClasses = $bool;
|
| 2303 |
}
|
| 2304 |
|
| 2305 |
/** ========================================= SETTING EXPORT END ================================================ */
|
| 2350 |
}
|
| 2351 |
|
| 2352 |
/**
|
| 2353 |
+
* @return Shopgate_Framework_Helper_Payment_Abstract
|
| 2354 |
*/
|
| 2355 |
+
protected function _getPaymentHelper()
|
| 2356 |
{
|
| 2357 |
+
return Mage::helper('shopgate/payment_abstract');
|
| 2358 |
}
|
| 2359 |
|
| 2360 |
/**
|
| 2361 |
+
* @return Shopgate_Framework_Helper_Coupon
|
| 2362 |
*/
|
| 2363 |
+
protected function _getCouponHelper()
|
| 2364 |
{
|
| 2365 |
+
return Mage::helper('shopgate/coupon');
|
| 2366 |
}
|
| 2367 |
|
| 2368 |
/**
|
| 2376 |
return $this->_exportProductInstance;
|
| 2377 |
}
|
| 2378 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2379 |
/** ========================================== HELPER METHODS END ================================================*/
|
| 2380 |
/** ========================================== HELPER METHODS END ================================================*/
|
| 2381 |
/** ========================================== HELPER METHODS END ================================================*/
|
| 2408 |
public function createShopInfo()
|
| 2409 |
{
|
| 2410 |
$shopInfo = parent::createShopInfo();
|
| 2411 |
+
$entitiesCount = $this->_getHelper()->getEntitiesCount($this->config->getStoreViewId());
|
| 2412 |
+
$pluginsInstalled = array('plugins_installed' => $this->_getHelper()->getThirdPartyModules());
|
| 2413 |
|
| 2414 |
return array_merge($shopInfo, $entitiesCount, $pluginsInstalled);
|
| 2415 |
}
|
app/code/community/Shopgate/Framework/changelog.txt
CHANGED
|
@@ -1,5 +1,17 @@
|
|
| 1 |
'''English'''
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
'''Version 2.9.18'''
|
| 4 |
* Overhaul of payment & status mapping in add_order calls
|
| 5 |
* Added debug logs to vital functions of order/status mapping
|
| 1 |
'''English'''
|
| 2 |
|
| 3 |
+
'''Version 2.9.19'''
|
| 4 |
+
* Fixed invoicing bug when display_errors is enabled
|
| 5 |
+
* COD mapping added for mage native payment
|
| 6 |
+
* Updated Shopgate Coupon creation logic
|
| 7 |
+
* PayPal Standard optimizations
|
| 8 |
+
* Fixed missing special prices based on catalog price rules for child products
|
| 9 |
+
* Added payment model mapping to classes
|
| 10 |
+
* Added Prepay fallback to use CheckMoneyOrder in mage v1.4-1.7
|
| 11 |
+
* Fixed bug with printing Mobile Payment when empty array is passed
|
| 12 |
+
* Changed PHP dependency from 5.2.0 to 5.3.0
|
| 13 |
+
* Optimized error handling when creating shipments
|
| 14 |
+
|
| 15 |
'''Version 2.9.18'''
|
| 16 |
* Overhaul of payment & status mapping in add_order calls
|
| 17 |
* Added debug logs to vital functions of order/status mapping
|
app/code/community/Shopgate/Framework/etc/config.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Shopgate_Framework>
|
| 5 |
-
<version>2.9.
|
| 6 |
</Shopgate_Framework>
|
| 7 |
</modules>
|
| 8 |
<global>
|
|
@@ -186,17 +186,7 @@
|
|
| 186 |
</set_default_store_on_oauth_registration>
|
| 187 |
</observers>
|
| 188 |
</shopgate_save_config_after>
|
| 189 |
-
|
| 190 |
-
<sales_quote_collect_totals_before>
|
| 191 |
-
<observers>
|
| 192 |
-
<temporaray_save_virtual_products_from_shopgate_coupons>
|
| 193 |
-
<type>singleton</type>
|
| 194 |
-
<class>Shopgate_Framework_Model_Observer</class>
|
| 195 |
-
<method>saveShopgateCouponProducts</method>
|
| 196 |
-
</temporaray_save_virtual_products_from_shopgate_coupons>
|
| 197 |
-
</observers>
|
| 198 |
-
</sales_quote_collect_totals_before>
|
| 199 |
-
|
| 200 |
<sales_order_place_after>
|
| 201 |
<observers>
|
| 202 |
<remove_virtual_products_of_shopgate_coupons>
|
| 2 |
<config>
|
| 3 |
<modules>
|
| 4 |
<Shopgate_Framework>
|
| 5 |
+
<version>2.9.19</version>
|
| 6 |
</Shopgate_Framework>
|
| 7 |
</modules>
|
| 8 |
<global>
|
| 186 |
</set_default_store_on_oauth_registration>
|
| 187 |
</observers>
|
| 188 |
</shopgate_save_config_after>
|
| 189 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
<sales_order_place_after>
|
| 191 |
<observers>
|
| 192 |
<remove_virtual_products_of_shopgate_coupons>
|
app/design/adminhtml/default/default/template/shopgate/payment/mobile_payment.phtml
CHANGED
|
@@ -37,5 +37,5 @@ if ($this->getShopgateOrder()->getShopgateOrderObject()->getIsTest()):?><strong
|
|
| 37 |
|
| 38 |
<?php echo $this->__('Shopgate order number: %s', $this->getShopgateOrderNumber()); ?>
|
| 39 |
<p style="margin-top: 1em;">
|
| 40 |
-
<?php echo $this->printPaymentInfo(); ?>
|
| 41 |
</p>
|
| 37 |
|
| 38 |
<?php echo $this->__('Shopgate order number: %s', $this->getShopgateOrderNumber()); ?>
|
| 39 |
<p style="margin-top: 1em;">
|
| 40 |
+
<?php echo $this->printPaymentInfo($this->getPaymentInfos()); ?>
|
| 41 |
</p>
|
package.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>shopgate_module</name>
|
| 4 |
-
<version>2.9.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://wiki.shopgate.com/Magento/de">Shopgate Plugin</license>
|
| 7 |
<channel>community</channel>
|
|
@@ -9,10 +9,10 @@
|
|
| 9 |
<summary>Shopgate Plugin</summary>
|
| 10 |
<description>Shopgate Plugin</description>
|
| 11 |
<notes>Shopgate Modul</notes>
|
| 12 |
-
<authors><author><name>Peter Liebig</name><user>
|
| 13 |
-
<date>2015-08-
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="3fb114204bd038da711122083876f161"/></dir></target><target name="magecommunity"><dir name="Shopgate"><dir name="Framework"><dir name="Block"><dir name="Adminhtml"><dir name="OAuth"><dir name="Config"><file name="Connector.php" hash="890d04b08bf692c12b02f29abf813f83"/></dir><dir name="Connect"><dir name="Add"><file name="Form.php" hash="45685099b41a46919a9900d22c30b711"/></dir><file name="Info.php" hash="ee7bbc837bf3f298791b8496f2d6d565"/><file name="Overlay.php" hash="a6496896dccb5898b36e3e65585650f4"/></dir><file name="Connect.php" hash="cc7e43ba447b6338f6c50ccaa5fd073a"/><file name="Data.php" hash="1903e819d5d16abba4c37d7823909260"/><file name="Disconnect.php" hash="2545e56bca73577ba5f73fce0501624a"/><dir name="Manage"><file name="Grid.php" hash="78357b78fed0e8b3535a7e505c8f6425"/></dir><file name="Manage.php" hash="a99e12333f7c27771ca42a0764108639"/></dir></dir><file name="Info.php" hash="3dd73900370546289a6033942a0c0528"/><dir name="Payment"><file name="MobilePayment.php" hash="4c5805f4d09cb7f38f6e873b4cae33c1"/><file name="Shopgate.php" hash="67af406fa04da70461b3580b8adea89d"/></dir><dir name="Totals"><file name="AbstractPaymentFee.php" hash="5e36647f536d1c6daba33cd6e0a5e302"/><file name="CreditmemoPaymentFee.php" hash="4a287f54554d8d45772db386f54a45e7"/><file name="InvoicePaymentFee.php" hash="818164536fe249016af3046aef73f181"/><file name="OrderPaymentFee.php" hash="55c8f62c4da8014c99414ece9cd125c4"/></dir><file name="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="738109de2b00a28594a57fb0a2e91952"/><file name="Coupon.php" hash="7a19ac697702d6334705f1d92274243b"/><file name="Customer.php" hash="9317086e730aedc99c7c187ebf898a7b"/><file name="Data.php" hash="0f8adfe6c80eefc85537c79b19731235"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="205dee2b07a96990efdc7ecca08cf075"/><dir name="Import"><file name="Order.php" hash="0ba172f97c206d14f6950a693164472a"/></dir><file name="Install.php" hash="57f42693c9a6ddb18b8a25a2a5da7cf8"/><dir name="Payment"><file name="Abstract.php" hash="484289d68e09f591f59d50b3905a895e"/><file name="Payone.php" hash="ddced5955ff55105d8b3c91e0fcb0778"/><file name="Wspp.php" hash="53ed3f72fc8d5bcde6a6a7ab78d6323f"/></dir><file name="Sales.php" hash="abbbdf5bd1223e2ebb62255cdadadc80"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="42dc660fd45db6dc3721957665c6cf43"/></dir><dir name="Cataloginventory"><file name="Stock.php" hash="42ffccc3d644f8b04358a3e76bda32dd"/></dir><dir name="Compiler"><file name="Process.php" hash="740452b7bc234417788db1f1ee892ef5"/></dir><file name="Config.php" hash="30c638d50ff53e16bff9cfeb8285d170"/><file name="Customer.php" hash="97ed53ca3f69c7a24fb40cce11f58721"/><dir name="DreamRobot"><file name="Observer.php" hash="7b4e8922a46f5974b8edf359c632a9d3"/></dir><dir name="Export"><file name="Abstract.php" hash="9e86667845e8cebd8e0ccb8879b70b6d"/><dir name="Category"><file name="Csv.php" hash="72f4f58345d95f8f621783bedf2a092e"/><file name="Xml.php" hash="12ab046b9a000636ed4ed5eefb770af2"/></dir><file name="Category.php" hash="5a41141ecec85669674ec818c4661cdc"/><dir name="Customer"><file name="Orders.php" hash="98f11380fdc5d83bd8d04fbc8a00041d"/></dir><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><dir name="Product"><file name="Csv.php" hash="579821eee1466a94b6aa1daf8fdc83c7"/><file name="Xml.php" hash="1d6bca8bf936aff0aae65fd6ab1c4d5b"/></dir><file name="Product.php" hash="d9c807df57af3f1cced2d9bb433338ec"/><dir name="Review"><file name="Csv.php" hash="5c72f802a2de256ca1ec8dab1b75b291"/><file name="Xml.php" hash="bc16f60d9ed20705422921955a5071fe"/></dir><file name="Review.php" hash="ad6f548035a30da642d2459354acbb40"/><file name="Settings.php" hash="604a2642188876402ae2df485392625a"/></dir><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><dir name="Mobile"><file name="Redirect.php" hash="637ba202475a901806d3ba822d9cdc1e"/></dir><dir name="Mysql4"><dir name="Core"><file name="Core.php" hash="fc129d4d929f83e8389367b9c5d6d5e1"/></dir><dir name="Customer"><file name="Collection.php" hash="89d31997abc3c2145f74e02dd5456a7c"/></dir><file name="Customer.php" hash="d5f460b2d5bfa87b8368a8a6c6b51115"/><file name="Product.php" hash="6a99b3d0de44dfbd132ce9caca19034e"/><dir name="Shopgate"><dir name="Order"><file name="Collection.php" hash="e180ba816be47239828bea65cd5f8445"/></dir><file name="Order.php" hash="c297847e39ad01307dba4a69c13445f2"/></dir></dir><file name="Observer.php" hash="12012d97720b4726fc0036e89ae72fbf"/><dir name="Payment"><file name="Abstract.php" hash="6ccbbe837dfab2e688168bfb6736dbdd"/><file name="Amazon.php" hash="c90003246111cf066270015b41cb7ff9"/><file name="Authorize.php" hash="6f747fb258e59137cc5dadc179664246"/><file name="Billsafe.php" hash="1c97ec04356ae4ed25c1492a317eaaff"/><dir name="Cc"><file name="Abstract.php" hash="9da8b136b64e684d434b5c7d1749a0d6"/><file name="Authn.php" hash="cb7c64d874af752b5e42b84f730d3b70"/><file name="AuthnAbstract.php" hash="14f800ab7f1eef9cb156ede972f03cc3"/><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Authncim.php" hash="1790d5366857344bb78ec76e1e1ccf53"/><file name="Usaepay.php" hash="e26b2317146174b6da8e6f189df84bfe"/></dir><file name="Cc.php" hash="7fe7850acbe549859442ec9facb9b550"/><file name="Express.php" hash="e90c6eb120a0aec969f63496b4fb1063"/><file name="Factory.php" hash="18e6a9df111781de310fc72b339f0292"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="3465493a3cfce507ab194522b71cf59e"/><file name="BankAbstract.php" hash="fa4ef2c918868001c5f1df97cb4bc400"/><file name="Cc.php" hash="11e68f50ea43bf73b31c53efea0cbc4d"/><file name="Dbt.php" hash="7f098887ba6f12669a18f62d7885de6d"/><file name="Gp.php" hash="7686149aedae93b0d5eef0b06fc08d7e"/><file name="Idl.php" hash="57d144744565ff644db917cab7ef689e"/><file name="Inv.php" hash="91d893ee5eacdc00ff8fbb3f1b750894"/><file name="Klv.php" hash="f82fb0cc874ea8f1121f282372e4e404"/><file name="Pp.php" hash="93004cedd66ab4bf31e5bb8747b4a606"/><file name="Prp.php" hash="76079d7e154c3a982b1d117793942c3a"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="dfbfd8dbca2a7adc22aa52fcff02ffd8"/><file name="Paypal.php" hash="567bd33b3fa420496e1395e68f1a68fc"/><file name="Wspp.php" hash="93638df868d42015f3d87ac93e176efd"/></dir><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><file name="Router.php" hash="1df693718ebb4b71d2ae790678927194"/><file name="Shopgate.php" hash="f0d59e2a4369f7a22e47cf9c3bb9c44a"/><dir name="Simple"><file name="Billsafe.php" hash="939f38d1f3938be6f43c338a3204310f"/><file name="Mws.php" hash="ded03363e82fc438521687ed9881c6e7"/><file name="Paypal.php" hash="4d4311d0f61d33b189c431abae236a4f"/><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="4333d782de9814b6ab63fd9d4a140aa8"/><file name="Sue300.php" hash="0669135e0ea3b6d3280c37b6e17ac9a5"/></dir><file name="Sue.php" hash="6802dc052e2088957329689b003a16f8"/></dir><file name="Simple.php" hash="e4f0b3cd8282c2661cb19eabdb77d075"/><file name="Usaepay.php" hash="50e049e1cae29abbd7027cf842878540"/><file name="Wspp.php" hash="23b0420ff59dc0bfa7940bf0f07562fc"/></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="0ee7969070ab0dddfdd3bb2cc404cd3c"/></dir><dir name="Customer"><file name="Collection.php" hash="2ddb7db1355100bc9e86f966f1d4612c"/></dir><file name="Customer.php" hash="69848842d4be07be4d66d700a7b6695b"/><file name="Product.php" hash="5c62ef4cfc3f0ebbbe5a9a46d1c25dfa"/><file name="Setup.php" hash="7b5cc0f99c857e9292638c1fbeb43969"/><dir name="Shopgate"><dir name="Connection"><file name="Collection.php" hash="f294d4239cee276b7e3c5e6e2109de66"/><dir name="Grid"><file name="Collection.php" hash="d499139d50dffbfe1b1e868b5aeeee0f"/></dir></dir><dir name="Order"><file name="Collection.php" hash="2c18a4ca248ca8719e7ead85f0c57619"/></dir><file name="Order.php" hash="1942eeb8268781c499f8cad384081b02"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="614d1e96cd2c97e0fcd7db86ee3aad89"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="c4400832de32367067fd5396bcf7bfc8"/></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="28b097ab68b92268248b19a4ff20121b"/></dir></dir></dir></dir><dir name="Search"><dir name="Shopgate"><file name="Order.php" hash="94dcf366528641687b89ab0c9f973ef5"/></dir></dir><dir name="Shopgate"><dir name="Cart"><dir name="Validation"><dir name="Stock"><file name="Bundle.php" hash="7cc03239fbefe3a8e71755a178299944"/><file name="Simple.php" hash="9da9891d52c89e0772af5bcea7581ae8"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="89e0e425fc48282c1b46d3078b294be1"/><file name="Plugin.php" hash="183e8c21f66aac59a8d1ae523e8161bf"/><dir name="Shipping"><dir name="Mapper"><file name="Carrier.php" hash="ef57904070fdf7921e51e88c3991c029"/><dir name="Method"><file name="Abstract.php" hash="bb402c49f3da66f7bd4baf5b215f989e"/><file name="Interface.php" hash="1bab00e6e0356184c3f213acfce601da"/><file name="Shopgate.php" hash="af8e1ade067d1b9fb0e5b493ad814576"/><file name="Usps.php" hash="14969ce8762a7fa5e5e5d6bc64285f52"/></dir></dir><file name="Mapper.php" hash="b93ac160c4c176c77887a23593ab058c"/></dir></dir><dir name="System"><dir name="Config"><dir name="Source"><file name="Attribute.php" hash="8dfc3964b750aebac8db5f584559d5c3"/><dir name="Description"><file name="List.php" hash="c83f37019461ab7adc86a57400f63761"/></dir><file name="Description.php" hash="d0dcebc9d75fdb0bb80f3c3faba6397c"/><file name="Enabledisable.php" hash="7f189c26cd1c2c7f1cd6dc56379798b5"/><dir name="Item"><file name="Sort.php" hash="2dc75f9c1e8baaddbf895945acd2ff19"/></dir><dir name="Product"><file name="Image.php" hash="e9d0e7c5769446290094d2b67e5c468b"/><file name="Names.php" hash="98de8ee7ae9b3c504eb087f5e09d3afd"/><file name="Types.php" hash="007b54c2e095691380c21a5ab62846fc"/></dir><dir name="Redirect"><file name="Types.php" hash="c5d3c44ab1f5ba74224b41836b14afff"/></dir><file name="Server.php" hash="b569e24076ca68c4063729fb708b666a"/><file name="Store.php" hash="cb2998beb43ba8afeeaa5b64a5b5e946"/><dir name="Validation"><file name="Config.php" hash="77382cb829f4b3b50120d7e1359e0051"/></dir><dir name="Variation"><dir name="Export"><file name="Type.php" hash="bb19358c2c2fbee3cb9776f3540faa20"/></dir></dir><dir name="Weight"><file name="Units.php" hash="10af44d670bcfdb559f4196c7006e893"/></dir></dir></dir></dir></dir><file name="changelog.txt" hash="766a8c100b0a7ec9a93654da5d0bcaeb"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="cd2305edb0348a15f956d20d39433778"/></dir><file name="FrameworkController.php" hash="f901e83f2033e6a1604b389e217d4127"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1f345ca5fc8b0619234f9c270fb84a7"/><file name="config.xml" hash="d2d87cb530732959f3c6f063a4105f4d"/><file name="system.xml" hash="eae99f8132b6316c0abdc0ec7440ddb6"/></dir><file name="licence.txt" hash="dec6ca25c420b36a2e400caf1541c923"/><dir name="sql"><dir name="shopgate_setup"><file name="mysql4-install-0.1.0.php" hash="069abba038757da43b2ca6c5a0c82aba"/><file name="mysql4-install-2.1.45.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-install-2.2.0.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="cc637fc1bc511e745f02a56d0b36e3be"/><file name="mysql4-upgrade-1.0.5-1.0.7.php" hash="1e800d9d235b817bf5be698288bc0129"/><file name="mysql4-upgrade-2.1.44-2.1.45.php" hash="134d0b665746c61d364f6fd93d83f46c"/><file name="mysql4-upgrade-2.1.49-2.1.50.php" hash="e0fd395bb9c25c0e544c455186cfe7c9"/><file name="mysql4-upgrade-2.4.28-2.4.29.php" hash="9c8c868ce90e42b56182b23b78d6fbe7"/><file name="mysql4-upgrade-2.4.29-2.4.30.php" hash="ca3ee1e2f337bcea26264a17f603548e"/><file name="mysql4-upgrade-2.7.5-2.8.0.php" hash="34393a58a0b4ec90b4e618d3ff4cc565"/><file name="mysql4-upgrade-2.9.15-2.9.16.php" hash="980e7cc83f912ef4f630ef8d1cb964d1"/><file name="mysql4-upgrade-2.9.4-2.9.5.php" hash="89a34b7b9ad2eec492055e52e7e75049"/></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="shopgate"><file name="logo.png" hash="b7139047ecc90b15a5710ab0fe77fc81"/><file name="logo_big.png" hash="b98bfcf09766589506a1cca24ca47972"/><file name="logo_small.png" hash="7abf7f774c592eb582c2856e027af798"/><file name="oauth_connect.js" hash="8e5c77d9ad1354f826445f03c91008f4"/><file name="shopgate_admin.css" hash="0fbc07171267b9fb5dba7004a0858f66"/><file name="target.js" hash="80484a4dae515f708c97545d9959673a"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Shopgate"><dir name="assets"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="js_header.html" hash="f9865eae13ed93fd41788aa27b0391ee"/><file name="link_tag.html" hash="4798d67e30ef4a76dd8435326421673d"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><file name="changelog.txt" hash="bbbfde8d30b9ec1bca95ecfd929a8ee8"/><dir name="classes"><file name="apis.php" hash="309c70f84eaeebc7a873cc1b2ccaf144"/><file name="configuration.php" hash="a4bd69f9e18dd2d0ebd704468e8a8ffc"/><file name="core.php" hash="864b6373749c596b5fde9b29233baa5e"/><file name="customers.php" hash="c6806e5296caa93709f300030f224188"/><file name="external_orders.php" hash="faa434d0a099f5d415d0aec2e3788f46"/><dir name="helper"><file name="DataStructure.php" hash="ece9e9f855756777f543d090f5ecc710"/><file name="Pricing.php" hash="fd4c74999abc3bfa05fd74994a2ce78f"/><file name="String.php" hash="10c9396b2975bf0bde86f171932c3074"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="93d57ff12a362b52b53daa8ef67949e9"/><dir name="models"><file name="Abstract.php" hash="a32633283eb403a55a166bbad70b3e2f"/><file name="AbstractExport.php" hash="f265f9e906208e1799994d117582be20"/><file name="XmlEmptyObject.php" hash="d6cfdae3bdd858d4f10fcebdb542f533"/><file name="XmlResultObject.php" hash="e104dedb2b8fa4579b7a93da2cb58dc0"/><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="fcba83c074f7559f44bc62154f7063e0"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="5ac87958a42f38122fba6e472c2d643e"/><file name="Manufacturer.php" hash="cbfd53577f0f8dfccfb70dc801fc9e15"/><file name="Option.php" hash="7cb3f72a8c1fb4505cde70d1b3d72013"/><file name="Price.php" hash="63587038abdac8fbe74428da7c433e28"/><file name="Product.php" hash="13ab692ab92566f3ed1dcebe8ef612a5"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="e4cabbc096e8aed1ffa98a23abb47b2d"/><file name="Stock.php" hash="f157bc07057803b571018df2db0fefa6"/><file name="Tag.php" hash="39e7b845ab157d2f707707576e868d64"/><file name="TierPrice.php" hash="9dd757c9c3d193944a5727fbe5cf4704"/><file name="Validation.php" hash="0be71640c1df60ab809347194ec66457"/><file name="Visibility.php" hash="d60c6b8ec486da4afdc46a00d65ad172"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><dir name="media"><file name="Attachment.php" hash="c074ef3426c2506350cbf5ff0133c89d"/><file name="Image.php" hash="3640490564b897d069c9c4180fb23649"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir></dir><file name="orders.php" hash="2b4cccde29c5a4ee2395625540a16f88"/><file name="redirect.php" hash="568c682f66c4434188c604158029db57"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="f0482cc4027105bb5d423ddde01e7ac7"/><file name="shopgate_license.txt" hash="21fbb2f00b832416916b27c5e3f5d6d1"/><dir name="temp"><dir name="cache"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/><dir name="logs"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir></dir><dir name="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="c8398aeb5c3c71aeb1813389d9a030af"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name=".htaccess" hash="34479bc8d9df775c38a980ecaf6f3f4b"/></dir></target><target name="mage"><dir name="app"><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="26e50f9810daeb36b45f850272a86c91"/></dir><dir name="template"><dir name="shopgate"><file name="mobile_website.phtml" hash="229cbefd12ea77676f8af9c7159528ea"/><dir name="payment"><file name="mobile_payment.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/><file name="shopgate.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/></dir></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="a38cee3696126b6bb43df33a0d3f5271"/></dir><dir name="template"><dir name="shopgate"><dir name="oauth"><dir name="config"><file name="connector.phtml" hash="478c309bdde7834bf20a48b65a4699fb"/></dir><dir name="connect"><file name="info.phtml" hash="4f75dc4311616081873a7d416b96c1c2"/><file name="overlay.phtml" hash="2a17d5b6ff8023568437b194f8a9d482"/></dir><file name="connect.phtml" hash="6956aa22eedf549c4565304b4e4a4ab9"/><file name="data.phtml" hash="09b4c5d83863f104db7a018510cdb315"/><file name="disconnect.phtml" hash="2858cebe9004c9fb5764f79faee46f87"/><file name="manage.phtml" hash="1f99255efbce4dbdc1ee781820d455b8"/></dir><dir name="payment"><file name="mobile_payment.phtml" hash="88e83035e22b1d69f631a8c935fcd2de"/><file name="shopgate.phtml" hash="5457030290f8aa08c2711a8bd27c3dee"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
-
<dependencies
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>shopgate_module</name>
|
| 4 |
+
<version>2.9.19</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license uri="http://wiki.shopgate.com/Magento/de">Shopgate Plugin</license>
|
| 7 |
<channel>community</channel>
|
| 9 |
<summary>Shopgate Plugin</summary>
|
| 10 |
<description>Shopgate Plugin</description>
|
| 11 |
<notes>Shopgate Modul</notes>
|
| 12 |
+
<authors><author><name>Peter Liebig</name><user>auto-converted</user><email>p.liebig@me.com</email></author><author><name>Stephan Recknagel</name><user>auto-converted</user><email>mail@recknagel.io</email></author><author><name>André Kraus</name><user>auto-converted</user><email>andre.kraus83@googlemail.com</email></author></authors>
|
| 13 |
+
<date>2015-08-20</date>
|
| 14 |
+
<time>07:42:53</time>
|
| 15 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Shopgate_Framework.xml" hash="3fb114204bd038da711122083876f161"/></dir></target><target name="magecommunity"><dir name="Shopgate"><dir name="Framework"><dir name="Block"><dir name="Adminhtml"><dir name="OAuth"><dir name="Config"><file name="Connector.php" hash="890d04b08bf692c12b02f29abf813f83"/></dir><dir name="Connect"><dir name="Add"><file name="Form.php" hash="45685099b41a46919a9900d22c30b711"/></dir><file name="Info.php" hash="ee7bbc837bf3f298791b8496f2d6d565"/><file name="Overlay.php" hash="a6496896dccb5898b36e3e65585650f4"/></dir><dir name="Manage"><file name="Grid.php" hash="78357b78fed0e8b3535a7e505c8f6425"/></dir><file name="Connect.php" hash="cc7e43ba447b6338f6c50ccaa5fd073a"/><file name="Data.php" hash="1903e819d5d16abba4c37d7823909260"/><file name="Disconnect.php" hash="2545e56bca73577ba5f73fce0501624a"/><file name="Manage.php" hash="a99e12333f7c27771ca42a0764108639"/></dir></dir><dir name="Payment"><file name="MobilePayment.php" hash="7de8af7ec46e107c46a73efaf2a02034"/><file name="Shopgate.php" hash="67af406fa04da70461b3580b8adea89d"/></dir><dir name="Totals"><file name="AbstractPaymentFee.php" hash="5e36647f536d1c6daba33cd6e0a5e302"/><file name="CreditmemoPaymentFee.php" hash="4a287f54554d8d45772db386f54a45e7"/><file name="InvoicePaymentFee.php" hash="818164536fe249016af3046aef73f181"/><file name="OrderPaymentFee.php" hash="55c8f62c4da8014c99414ece9cd125c4"/></dir><file name="Info.php" hash="3dd73900370546289a6033942a0c0528"/><file name="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><dir name="Import"><file name="Order.php" hash="bf2e1bbee6fb46ec22e5c6a1ed0a0404"/></dir><dir name="Payment"><file name="Abstract.php" hash="484289d68e09f591f59d50b3905a895e"/><file name="Payone.php" hash="ddced5955ff55105d8b3c91e0fcb0778"/><file name="Wspp.php" hash="53ed3f72fc8d5bcde6a6a7ab78d6323f"/></dir><file name="Config.php" hash="2c736f067f5d69855e1523504a7afe36"/><file name="Coupon.php" hash="519697b13040ddfbc8f460b6034c8779"/><file name="Customer.php" hash="9317086e730aedc99c7c187ebf898a7b"/><file name="Data.php" hash="0f8adfe6c80eefc85537c79b19731235"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="205dee2b07a96990efdc7ecca08cf075"/><file name="Install.php" hash="57f42693c9a6ddb18b8a25a2a5da7cf8"/><file name="Sales.php" hash="abbbdf5bd1223e2ebb62255cdadadc80"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="42dc660fd45db6dc3721957665c6cf43"/></dir><dir name="Cataloginventory"><file name="Stock.php" hash="42ffccc3d644f8b04358a3e76bda32dd"/></dir><dir name="Compiler"><file name="Process.php" hash="740452b7bc234417788db1f1ee892ef5"/></dir><dir name="DreamRobot"><file name="Observer.php" hash="7b4e8922a46f5974b8edf359c632a9d3"/></dir><dir name="Export"><dir name="Category"><file name="Csv.php" hash="72f4f58345d95f8f621783bedf2a092e"/><file name="Xml.php" hash="12ab046b9a000636ed4ed5eefb770af2"/></dir><dir name="Customer"><file name="Orders.php" hash="98f11380fdc5d83bd8d04fbc8a00041d"/></dir><dir name="Product"><file name="Csv.php" hash="579821eee1466a94b6aa1daf8fdc83c7"/><file name="Xml.php" hash="3c723154bfaf0114b537995b945b59a5"/></dir><dir name="Review"><file name="Csv.php" hash="5c72f802a2de256ca1ec8dab1b75b291"/><file name="Xml.php" hash="bc16f60d9ed20705422921955a5071fe"/></dir><file name="Abstract.php" hash="9e86667845e8cebd8e0ccb8879b70b6d"/><file name="Category.php" hash="5a41141ecec85669674ec818c4661cdc"/><file name="Customer.php" hash="2711476c9538a22242d1511649ec77f1"/><file name="Product.php" hash="d9c807df57af3f1cced2d9bb433338ec"/><file name="Review.php" hash="ad6f548035a30da642d2459354acbb40"/><file name="Settings.php" hash="604a2642188876402ae2df485392625a"/></dir><dir name="Mobile"><file name="Redirect.php" hash="637ba202475a901806d3ba822d9cdc1e"/></dir><dir name="Mysql4"><dir name="Core"><file name="Core.php" hash="fc129d4d929f83e8389367b9c5d6d5e1"/></dir><dir name="Customer"><file name="Collection.php" hash="89d31997abc3c2145f74e02dd5456a7c"/></dir><dir name="Shopgate"><dir name="Order"><file name="Collection.php" hash="e180ba816be47239828bea65cd5f8445"/></dir><file name="Order.php" hash="c297847e39ad01307dba4a69c13445f2"/></dir><file name="Customer.php" hash="d5f460b2d5bfa87b8368a8a6c6b51115"/><file name="Product.php" hash="6a99b3d0de44dfbd132ce9caca19034e"/></dir><dir name="Payment"><dir name="Cc"><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Abstract.php" hash="9da8b136b64e684d434b5c7d1749a0d6"/><file name="Authn.php" hash="cb7c64d874af752b5e42b84f730d3b70"/><file name="AuthnAbstract.php" hash="14f800ab7f1eef9cb156ede972f03cc3"/><file name="Authncim.php" hash="1790d5366857344bb78ec76e1e1ccf53"/><file name="Usaepay.php" hash="e26b2317146174b6da8e6f189df84bfe"/></dir><dir name="Payone"><file name="Abstract.php" hash="3465493a3cfce507ab194522b71cf59e"/><file name="BankAbstract.php" hash="fa4ef2c918868001c5f1df97cb4bc400"/><file name="Cc.php" hash="11e68f50ea43bf73b31c53efea0cbc4d"/><file name="Dbt.php" hash="7f098887ba6f12669a18f62d7885de6d"/><file name="Gp.php" hash="7686149aedae93b0d5eef0b06fc08d7e"/><file name="Idl.php" hash="57d144744565ff644db917cab7ef689e"/><file name="Inv.php" hash="91d893ee5eacdc00ff8fbb3f1b750894"/><file name="Klv.php" hash="f82fb0cc874ea8f1121f282372e4e404"/><file name="Pp.php" hash="93004cedd66ab4bf31e5bb8747b4a606"/><file name="Prp.php" hash="76079d7e154c3a982b1d117793942c3a"/><file name="Sue.php" hash="31280f2c8abf21f0a582b656fb0d38ad"/></dir><dir name="Pp"><file name="Abstract.php" hash="392a41d83b10150d7a39043c1bf923af"/><file name="Wspp.php" hash="ffef93e6dd51c4edefe3fbd228d1d33f"/></dir><dir name="Simple"><dir name="Cod"><file name="Abstract.php" hash="7bcb77e2906200f8a7576a24d782d541"/><file name="Msp.php" hash="da63e630e339f73b1047f9be2fc13a80"/><file name="Native.php" hash="a18abef66d98a08e988bafa1564dfaa2"/><file name="Phoenix107.php" hash="958990a7ec99a4c102b335e68db4f563"/><file name="Phoenix108.php" hash="912cb903da51a2056f03d75c566dbc7b"/></dir><dir name="Paypal"><file name="Express.php" hash="41f515971e019e5f29db0ef6832733c5"/><file name="Standard.php" hash="5281ddc90f8f560b6cffa2e97fe08304"/></dir><dir name="Prepay"><file name="Abstract.php" hash="89767868690e40bc3d96f8bee4484880"/><file name="Checkmo.php" hash="781dd32522f7bc97c62313cb76429633"/><file name="Native.php" hash="48542e3e9ad2bafb504a200a6529eccc"/><file name="Phoenix.php" hash="7118e404d6f1755cdab35dbc2c8f058d"/></dir><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="759f4a7e103f9f9f4457aa1d0694c26d"/><file name="Sue300.php" hash="c804244222e5fe67ead8916c5c1ffef1"/></dir><file name="Billsafe.php" hash="939f38d1f3938be6f43c338a3204310f"/><file name="Cod.php" hash="0688749cd9110544d01e5c1130be3005"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><file name="Mws.php" hash="66b68310d396e83423aefbd6e266c7ff"/><file name="Paypal.php" hash="4f0ea53a37ebced5be389d85f800a960"/><file name="Prepay.php" hash="eb79f9f8469652e91b11fd5d714db84f"/><file name="Shopgate.php" hash="f21b1608add7e193bed0ccf0004de3a8"/><file name="Sue.php" hash="6802dc052e2088957329689b003a16f8"/></dir><file name="Abstract.php" hash="b824e58f30ffce15e74a6e8e331ab46f"/><file name="Amazon.php" hash="c90003246111cf066270015b41cb7ff9"/><file name="Authorize.php" hash="6f747fb258e59137cc5dadc179664246"/><file name="Billsafe.php" hash="1c97ec04356ae4ed25c1492a317eaaff"/><file name="Cc.php" hash="7fe7850acbe549859442ec9facb9b550"/><file name="Express.php" hash="e90c6eb120a0aec969f63496b4fb1063"/><file name="Factory.php" hash="18e6a9df111781de310fc72b339f0292"/><file name="Generic.php" hash="666f06186d1bb96b94af287d221e27c5"/><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><file name="Pp.php" hash="c521bbb32aed313c0170dd6e8361f934"/><file name="Router.php" hash="1df693718ebb4b71d2ae790678927194"/><file name="Shopgate.php" hash="f0d59e2a4369f7a22e47cf9c3bb9c44a"/><file name="Simple.php" hash="e4f0b3cd8282c2661cb19eabdb77d075"/><file name="Usaepay.php" hash="50e049e1cae29abbd7027cf842878540"/><file name="Wspp.php" hash="23b0420ff59dc0bfa7940bf0f07562fc"/></dir><dir name="Resource"><dir name="Core"><file name="Config.php" hash="0ee7969070ab0dddfdd3bb2cc404cd3c"/></dir><dir name="Customer"><file name="Collection.php" hash="2ddb7db1355100bc9e86f966f1d4612c"/></dir><dir name="Shopgate"><dir name="Connection"><dir name="Grid"><file name="Collection.php" hash="d499139d50dffbfe1b1e868b5aeeee0f"/></dir><file name="Collection.php" hash="f294d4239cee276b7e3c5e6e2109de66"/></dir><dir name="Order"><file name="Collection.php" hash="2c18a4ca248ca8719e7ead85f0c57619"/></dir><file name="Order.php" hash="1942eeb8268781c499f8cad384081b02"/></dir><file name="Customer.php" hash="69848842d4be07be4d66d700a7b6695b"/><file name="Product.php" hash="5c62ef4cfc3f0ebbbe5a9a46d1c25dfa"/><file name="Setup.php" hash="7b5cc0f99c857e9292638c1fbeb43969"/></dir><dir name="Sales"><dir name="Creditmemo"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="614d1e96cd2c97e0fcd7db86ee3aad89"/></dir></dir><dir name="Invoice"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="c4400832de32367067fd5396bcf7bfc8"/></dir></dir><dir name="Quote"><dir name="Address"><dir name="Total"><file name="ShopgatePaymentFee.php" hash="28b097ab68b92268248b19a4ff20121b"/></dir></dir></dir></dir><dir name="Search"><dir name="Shopgate"><file name="Order.php" hash="94dcf366528641687b89ab0c9f973ef5"/></dir></dir><dir name="Shopgate"><dir name="Cart"><dir name="Validation"><dir name="Stock"><file name="Bundle.php" hash="7cc03239fbefe3a8e71755a178299944"/><file name="Simple.php" hash="9da9891d52c89e0772af5bcea7581ae8"/></dir><file name="Stock.php" hash="03d8139aa9840d707c8e4cb991bca20f"/></dir></dir><dir name="Shipping"><dir name="Mapper"><dir name="Method"><file name="Abstract.php" hash="bb402c49f3da66f7bd4baf5b215f989e"/><file name="Interface.php" hash="1bab00e6e0356184c3f213acfce601da"/><file name="Shopgate.php" hash="af8e1ade067d1b9fb0e5b493ad814576"/><file name="Usps.php" hash="14969ce8762a7fa5e5e5d6bc64285f52"/></dir><file name="Carrier.php" hash="ef57904070fdf7921e51e88c3991c029"/></dir><file name="Mapper.php" hash="b93ac160c4c176c77887a23593ab058c"/></dir><file name="Connection.php" hash="ff0da764d444103f5892ef21e23ba353"/><file name="Order.php" hash="89e0e425fc48282c1b46d3078b294be1"/><file name="Plugin.php" hash="d695aab78c099bc91237490abec74ad2"/></dir><dir name="System"><dir name="Config"><dir name="Source"><dir name="Description"><file name="List.php" hash="c83f37019461ab7adc86a57400f63761"/></dir><dir name="Item"><file name="Sort.php" hash="2dc75f9c1e8baaddbf895945acd2ff19"/></dir><dir name="Product"><file name="Image.php" hash="e9d0e7c5769446290094d2b67e5c468b"/><file name="Names.php" hash="98de8ee7ae9b3c504eb087f5e09d3afd"/><file name="Types.php" hash="007b54c2e095691380c21a5ab62846fc"/></dir><dir name="Redirect"><file name="Types.php" hash="c5d3c44ab1f5ba74224b41836b14afff"/></dir><dir name="Validation"><file name="Config.php" hash="77382cb829f4b3b50120d7e1359e0051"/></dir><dir name="Variation"><dir name="Export"><file name="Type.php" hash="bb19358c2c2fbee3cb9776f3540faa20"/></dir></dir><dir name="Weight"><file name="Units.php" hash="10af44d670bcfdb559f4196c7006e893"/></dir><file name="Attribute.php" hash="8dfc3964b750aebac8db5f584559d5c3"/><file name="Description.php" hash="d0dcebc9d75fdb0bb80f3c3faba6397c"/><file name="Enabledisable.php" hash="7f189c26cd1c2c7f1cd6dc56379798b5"/><file name="Server.php" hash="b569e24076ca68c4063729fb708b666a"/><file name="Store.php" hash="cb2998beb43ba8afeeaa5b64a5b5e946"/></dir></dir></dir><file name="Config.php" hash="30c638d50ff53e16bff9cfeb8285d170"/><file name="Customer.php" hash="97ed53ca3f69c7a24fb40cce11f58721"/><file name="Feed.php" hash="fb99cd7b2b3d94908848b722df666b67"/><file name="Observer.php" hash="da10a5dddba99720bea687ec4fa94c57"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="cd2305edb0348a15f956d20d39433778"/></dir><file name="FrameworkController.php" hash="f901e83f2033e6a1604b389e217d4127"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1f345ca5fc8b0619234f9c270fb84a7"/><file name="config.xml" hash="979939cb5081c2ab218cbe6129723a18"/><file name="system.xml" hash="eae99f8132b6316c0abdc0ec7440ddb6"/></dir><dir name="sql"><dir name="shopgate_setup"><file name="mysql4-install-0.1.0.php" hash="069abba038757da43b2ca6c5a0c82aba"/><file name="mysql4-install-2.1.45.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-install-2.2.0.php" hash="eddddf157e55a87edc77361dde564463"/><file name="mysql4-upgrade-0.1.0-0.1.1.php" hash="cc637fc1bc511e745f02a56d0b36e3be"/><file name="mysql4-upgrade-1.0.5-1.0.7.php" hash="1e800d9d235b817bf5be698288bc0129"/><file name="mysql4-upgrade-2.1.44-2.1.45.php" hash="134d0b665746c61d364f6fd93d83f46c"/><file name="mysql4-upgrade-2.1.49-2.1.50.php" hash="e0fd395bb9c25c0e544c455186cfe7c9"/><file name="mysql4-upgrade-2.4.28-2.4.29.php" hash="9c8c868ce90e42b56182b23b78d6fbe7"/><file name="mysql4-upgrade-2.4.29-2.4.30.php" hash="ca3ee1e2f337bcea26264a17f603548e"/><file name="mysql4-upgrade-2.7.5-2.8.0.php" hash="34393a58a0b4ec90b4e618d3ff4cc565"/><file name="mysql4-upgrade-2.9.15-2.9.16.php" hash="980e7cc83f912ef4f630ef8d1cb964d1"/><file name="mysql4-upgrade-2.9.4-2.9.5.php" hash="89a34b7b9ad2eec492055e52e7e75049"/></dir></dir><file name="changelog.txt" hash="fda79661baf395560a0179ee9e906605"/><file name="licence.txt" hash="dec6ca25c420b36a2e400caf1541c923"/></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_CH"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir><dir name="de_AT"><file name="Shopgate_Framework.csv" hash="bdf9f8ed6d5127744440bfd72bb09e06"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="shopgate"><file name="logo.png" hash="b7139047ecc90b15a5710ab0fe77fc81"/><file name="logo_big.png" hash="b98bfcf09766589506a1cca24ca47972"/><file name="logo_small.png" hash="7abf7f774c592eb582c2856e027af798"/><file name="oauth_connect.js" hash="8e5c77d9ad1354f826445f03c91008f4"/><file name="shopgate_admin.css" hash="0fbc07171267b9fb5dba7004a0858f66"/><file name="target.js" hash="80484a4dae515f708c97545d9959673a"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Shopgate"><dir name="assets"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="js_header.html" hash="f9865eae13ed93fd41788aa27b0391ee"/><file name="link_tag.html" hash="4798d67e30ef4a76dd8435326421673d"/><file name="mobile_header.html" hash="17616650e160eaccd24e25729396c5a9"/></dir><dir name="classes"><dir name="helper"><file name="DataStructure.php" hash="ece9e9f855756777f543d090f5ecc710"/><file name="Pricing.php" hash="fd4c74999abc3bfa05fd74994a2ce78f"/><file name="String.php" hash="10c9396b2975bf0bde86f171932c3074"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><dir name="models"><dir name="catalog"><file name="Attribute.php" hash="28d8f3bc6c416661d1eaa77726ba7009"/><file name="AttributeGroup.php" hash="0270086ec8006ee8231c6b0baa8d6034"/><file name="Category.php" hash="fcba83c074f7559f44bc62154f7063e0"/><file name="CategoryPath.php" hash="475869aef74c567c8569ee9953210faa"/><file name="Identifier.php" hash="d9a3b16d1fcdec641ca2b0fd77fbd625"/><file name="Input.php" hash="5ac87958a42f38122fba6e472c2d643e"/><file name="Manufacturer.php" hash="cbfd53577f0f8dfccfb70dc801fc9e15"/><file name="Option.php" hash="7cb3f72a8c1fb4505cde70d1b3d72013"/><file name="Price.php" hash="63587038abdac8fbe74428da7c433e28"/><file name="Product.php" hash="13ab692ab92566f3ed1dcebe8ef612a5"/><file name="Property.php" hash="5967f0403a606a27ea4fec71a8402327"/><file name="Relation.php" hash="263cde539af500af911baec4e354079e"/><file name="Review.php" hash="72c94cb1f2a54bafffdb5672d87ecd4d"/><file name="Shipping.php" hash="e4cabbc096e8aed1ffa98a23abb47b2d"/><file name="Stock.php" hash="f157bc07057803b571018df2db0fefa6"/><file name="Tag.php" hash="39e7b845ab157d2f707707576e868d64"/><file name="TierPrice.php" hash="9dd757c9c3d193944a5727fbe5cf4704"/><file name="Validation.php" hash="0be71640c1df60ab809347194ec66457"/><file name="Visibility.php" hash="d60c6b8ec486da4afdc46a00d65ad172"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><dir name="media"><file name="Attachment.php" hash="c074ef3426c2506350cbf5ff0133c89d"/><file name="Image.php" hash="3640490564b897d069c9c4180fb23649"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="Abstract.php" hash="a32633283eb403a55a166bbad70b3e2f"/><file name="AbstractExport.php" hash="f265f9e906208e1799994d117582be20"/><file name="XmlEmptyObject.php" hash="d6cfdae3bdd858d4f10fcebdb542f533"/><file name="XmlResultObject.php" hash="e104dedb2b8fa4579b7a93da2cb58dc0"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="apis.php" hash="309c70f84eaeebc7a873cc1b2ccaf144"/><file name="configuration.php" hash="a4bd69f9e18dd2d0ebd704468e8a8ffc"/><file name="core.php" hash="864b6373749c596b5fde9b29233baa5e"/><file name="customers.php" hash="c6806e5296caa93709f300030f224188"/><file name="external_orders.php" hash="faa434d0a099f5d415d0aec2e3788f46"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/><file name="items.php" hash="93d57ff12a362b52b53daa8ef67949e9"/><file name="orders.php" hash="2b4cccde29c5a4ee2395625540a16f88"/><file name="redirect.php" hash="568c682f66c4434188c604158029db57"/></dir><dir name="config"><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><dir name="temp"><dir name="cache"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><dir name="logs"><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><file name="index.php" hash="7573387748996e2dd9e02a237056f158"/></dir><dir name="vendors"><file name="2d_is.php" hash="087decaca87ee85d548d8caaa43f1212"/><file name="BSD_license.txt" hash="2df4dd93533ca2c19f6f2d601bc3e0d5"/><file name="JSON.php" hash="c8398aeb5c3c71aeb1813389d9a030af"/><file name="index.php" hash="bfc5021f1ee9b67f78a0fc9fdab6c558"/></dir><file name="changelog.txt" hash="bbbfde8d30b9ec1bca95ecfd929a8ee8"/><file name="index.php" hash="de19abc78063ea9a4112964c79946f1c"/><file name="shopgate.php" hash="f0482cc4027105bb5d423ddde01e7ac7"/><file name="shopgate_license.txt" hash="21fbb2f00b832416916b27c5e3f5d6d1"/><file name=".htaccess" hash="34479bc8d9df775c38a980ecaf6f3f4b"/></dir></target><target name="mage"><dir name="app"><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="26e50f9810daeb36b45f850272a86c91"/></dir><dir name="template"><dir name="shopgate"><dir name="payment"><file name="mobile_payment.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/><file name="shopgate.phtml" hash="1e18979028fb13e99af7c595c75a5d27"/></dir><file name="mobile_website.phtml" hash="229cbefd12ea77676f8af9c7159528ea"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="shopgate.xml" hash="a38cee3696126b6bb43df33a0d3f5271"/></dir><dir name="template"><dir name="shopgate"><dir name="oauth"><dir name="config"><file name="connector.phtml" hash="478c309bdde7834bf20a48b65a4699fb"/></dir><dir name="connect"><file name="info.phtml" hash="4f75dc4311616081873a7d416b96c1c2"/><file name="overlay.phtml" hash="2a17d5b6ff8023568437b194f8a9d482"/></dir><file name="connect.phtml" hash="6956aa22eedf549c4565304b4e4a4ab9"/><file name="data.phtml" hash="09b4c5d83863f104db7a018510cdb315"/><file name="disconnect.phtml" hash="2858cebe9004c9fb5764f79faee46f87"/><file name="manage.phtml" hash="1f99255efbce4dbdc1ee781820d455b8"/></dir><dir name="payment"><file name="mobile_payment.phtml" hash="2892e0dd200db6c0ffa5fa83f87d838c"/><file name="shopgate.phtml" hash="5457030290f8aa08c2711a8bd27c3dee"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
+
<dependencies/>
|
| 18 |
</package>
|
