Version Notes
Shopgate Modul
Download this release
Release Info
Developer | Stephan Recknagel |
Extension | shopgate_module |
Version | 2.9.21 |
Comparing to | |
See all releases |
Code changes from version 2.9.20 to 2.9.21
- app/code/community/Shopgate/Framework/Helper/Data.php +36 -21
- app/code/community/Shopgate/Framework/Helper/Payment/Abstract.php +22 -5
- app/code/community/Shopgate/Framework/Helper/Payment/Wspp.php +162 -21
- app/code/community/Shopgate/Framework/Model/Export/Product/Xml.php +39 -30
- app/code/community/Shopgate/Framework/Model/Payment/Abstract/AbstractPayol.php +4 -4
- app/code/community/Shopgate/Framework/Model/Payment/Cc/Abstract.php +0 -22
- app/code/community/Shopgate/Framework/Model/Payment/Cc/Authn.php +100 -93
- app/code/community/Shopgate/Framework/Model/Payment/Cc/AuthnAbstract.php +97 -1
- app/code/community/Shopgate/Framework/Model/Payment/Cc/Authncim.php +11 -91
- app/code/community/Shopgate/Framework/Model/Payment/Cc/Usaepay.php +1 -1
- app/code/community/Shopgate/Framework/Model/Payment/Payone/Abstract.php +6 -1
- app/code/community/Shopgate/Framework/Model/Payment/Pp/Abstract.php +4 -57
- app/code/community/Shopgate/Framework/Model/Payment/Pp/Wspp.php +5 -14
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal.php +5 -1
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Express.php +5 -4
- app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Standard1400.php +50 -0
- app/code/community/Shopgate/Framework/Model/Sales/Quote/Address/Total/ShopgatePaymentFee.php +5 -1
- app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php +7 -0
- app/code/community/Shopgate/Framework/changelog.txt +11 -0
- app/code/community/Shopgate/Framework/controllers/FrameworkController.php +7 -4
- app/code/community/Shopgate/Framework/etc/config.xml +1 -1
- app/design/adminhtml/default/default/layout/shopgate.xml +75 -59
- app/design/frontend/base/default/layout/shopgate.xml +15 -15
- lib/Shopgate/changelog.txt +8 -422
- lib/Shopgate/classes/apis.php +6 -4
- lib/Shopgate/classes/configuration.php +10 -11
- lib/Shopgate/classes/core.php +39 -13
- lib/Shopgate/classes/customers.php +1 -0
- lib/Shopgate/classes/items.php +1 -1
- lib/Shopgate/classes/models/catalog/Input.php +5 -0
- lib/Shopgate/classes/models/catalog/Manufacturer.php +3 -0
- lib/Shopgate/classes/models/catalog/Option.php +13 -8
- lib/Shopgate/classes/orders.php +32 -7
- package.xml +4 -4
app/code/community/Shopgate/Framework/Helper/Data.php
CHANGED
@@ -46,7 +46,6 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
46 |
protected $_mage14xStates = array(
|
47 |
Mage_Sales_Model_Order::STATE_NEW => "pending",
|
48 |
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT => "pending",
|
49 |
-
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW => "payment_review",
|
50 |
Mage_Sales_Model_Order::STATE_PROCESSING => "processing",
|
51 |
Mage_Sales_Model_Order::STATE_COMPLETE => "complete",
|
52 |
Mage_Sales_Model_Order::STATE_CLOSED => "closed",
|
@@ -54,6 +53,19 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
54 |
Mage_Sales_Model_Order::STATE_HOLDED => "holded",
|
55 |
);
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* get QR Code directory
|
59 |
*
|
@@ -357,7 +369,7 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
357 |
"VMR" => "Valmiera",
|
358 |
"VEN" => "LV-VEN",
|
359 |
// Unknown
|
360 |
-
//
|
361 |
),
|
362 |
);
|
363 |
|
@@ -423,7 +435,7 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
423 |
if (!$result) {
|
424 |
$result = $db->fetchOne("SELECT state FROM {$table} WHERE state = '{$state}'");
|
425 |
}
|
426 |
-
if(!$result) {
|
427 |
$result = $this->_getStatusFromStateMagento14x($state);
|
428 |
}
|
429 |
return $result;
|
@@ -447,7 +459,7 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
447 |
* Mage 1.4 non DB support for all states
|
448 |
*
|
449 |
* @param $state - status returned
|
450 |
-
*
|
451 |
* @return string
|
452 |
*/
|
453 |
protected function _getStatusFromStateMagento14x($state)
|
@@ -488,9 +500,9 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
488 |
$totalMagento = $oMageOrder->getTotalDue() + $oMageOrder->getTotalPaid();
|
489 |
|
490 |
ShopgateLogger::getInstance()->log(
|
491 |
-
|
492 |
Total Magento: {$totalMagento} {$order->getCurrency()}",
|
493 |
-
|
494 |
);
|
495 |
|
496 |
if (abs($totalShopgate - $totalMagento) > 0.02) {
|
@@ -519,9 +531,11 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
519 |
if (!$order->getShippingGroup()) {
|
520 |
ShopgateLogger::getInstance()
|
521 |
->log(
|
522 |
-
|
523 |
-
|
524 |
-
|
|
|
|
|
525 |
return;
|
526 |
}
|
527 |
|
@@ -530,8 +544,8 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
530 |
$shippingAddress->setShippingMethod($mapper->getCarrier() . '_' . $mapper->getMethod());
|
531 |
|
532 |
ShopgateLogger::getInstance()->log(
|
533 |
-
|
534 |
-
|
535 |
);
|
536 |
ShopgateLogger::getInstance()->log("# End of setShippingMethod process", ShopgateLogger::LOGTYPE_DEBUG);
|
537 |
}
|
@@ -754,7 +768,7 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
754 |
->addAttributeToFilter('visibility', array('nin' => $productNotVisible))
|
755 |
->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
|
756 |
->getSize();
|
757 |
-
$reviewCount
|
758 |
if (Mage::getConfig()->getModuleConfig("Mage_Review")->is('active', 'true')) {
|
759 |
$reviewCount = (int)Mage::getModel('review/review')
|
760 |
->getCollection()
|
@@ -825,17 +839,17 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
825 |
if ($qtyIncrements && (Mage::helper('core')->getExactDivision($qty, $qtyIncrements) != 0)) {
|
826 |
$result->setHasError(true)
|
827 |
->setQuoteMessage(
|
828 |
-
|
829 |
-
|
|
|
830 |
)
|
831 |
-
)
|
832 |
->setErrorCode('qty_increments')
|
833 |
->setQuoteMessageIndex('qty');
|
834 |
$result->setMessage(
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
);
|
840 |
}
|
841 |
|
@@ -886,8 +900,9 @@ class Shopgate_Framework_Helper_Data extends Mage_Core_Helper_Abstract
|
|
886 |
if ($connection->getScope() == 'websites') {
|
887 |
$collection = Mage::getModel('core/config_data')->getCollection()
|
888 |
->addFieldToFilter(
|
889 |
-
|
890 |
-
|
|
|
891 |
->addFieldToFilter('scope', $connection->getScope())
|
892 |
->addFieldToFilter('scope_id', $connection->getScopeId());
|
893 |
|
46 |
protected $_mage14xStates = array(
|
47 |
Mage_Sales_Model_Order::STATE_NEW => "pending",
|
48 |
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT => "pending",
|
|
|
49 |
Mage_Sales_Model_Order::STATE_PROCESSING => "processing",
|
50 |
Mage_Sales_Model_Order::STATE_COMPLETE => "complete",
|
51 |
Mage_Sales_Model_Order::STATE_CLOSED => "closed",
|
53 |
Mage_Sales_Model_Order::STATE_HOLDED => "holded",
|
54 |
);
|
55 |
|
56 |
+
/**
|
57 |
+
* Helps with status for lower versions
|
58 |
+
*/
|
59 |
+
public function __construct()
|
60 |
+
{
|
61 |
+
if (Mage::helper("shopgate/config")->getIsMagentoVersionLower1410()) {
|
62 |
+
$this->_mage14xStates['payment_review'] = Mage_Sales_Model_Order::STATE_HOLDED;
|
63 |
+
$this->_mage14xStates['fraud'] = Mage_Sales_Model_Order::STATE_HOLDED;
|
64 |
+
} else {
|
65 |
+
$this->_mage14xStates[Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW] = "payment_review";
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* get QR Code directory
|
71 |
*
|
369 |
"VMR" => "Valmiera",
|
370 |
"VEN" => "LV-VEN",
|
371 |
// Unknown
|
372 |
+
// "" => "LV-LE", "" => "LV-RI", "" => "LV-VM",
|
373 |
),
|
374 |
);
|
375 |
|
435 |
if (!$result) {
|
436 |
$result = $db->fetchOne("SELECT state FROM {$table} WHERE state = '{$state}'");
|
437 |
}
|
438 |
+
if (!$result) {
|
439 |
$result = $this->_getStatusFromStateMagento14x($state);
|
440 |
}
|
441 |
return $result;
|
459 |
* Mage 1.4 non DB support for all states
|
460 |
*
|
461 |
* @param $state - status returned
|
462 |
+
*
|
463 |
* @return string
|
464 |
*/
|
465 |
protected function _getStatusFromStateMagento14x($state)
|
500 |
$totalMagento = $oMageOrder->getTotalDue() + $oMageOrder->getTotalPaid();
|
501 |
|
502 |
ShopgateLogger::getInstance()->log(
|
503 |
+
"Total Shopgate: {$totalShopgate} {$order->getCurrency()}
|
504 |
Total Magento: {$totalMagento} {$order->getCurrency()}",
|
505 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
506 |
);
|
507 |
|
508 |
if (abs($totalShopgate - $totalMagento) > 0.02) {
|
531 |
if (!$order->getShippingGroup()) {
|
532 |
ShopgateLogger::getInstance()
|
533 |
->log(
|
534 |
+
"# setShippingMethod skipped, no Shipping information in " . get_class(
|
535 |
+
$order
|
536 |
+
) . " available",
|
537 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
538 |
+
);
|
539 |
return;
|
540 |
}
|
541 |
|
544 |
$shippingAddress->setShippingMethod($mapper->getCarrier() . '_' . $mapper->getMethod());
|
545 |
|
546 |
ShopgateLogger::getInstance()->log(
|
547 |
+
" Shipping method set: '" . $shippingAddress->getShippingMethod() . "'",
|
548 |
+
ShopgateLogger::LOGTYPE_DEBUG
|
549 |
);
|
550 |
ShopgateLogger::getInstance()->log("# End of setShippingMethod process", ShopgateLogger::LOGTYPE_DEBUG);
|
551 |
}
|
768 |
->addAttributeToFilter('visibility', array('nin' => $productNotVisible))
|
769 |
->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
|
770 |
->getSize();
|
771 |
+
$reviewCount = 0;
|
772 |
if (Mage::getConfig()->getModuleConfig("Mage_Review")->is('active', 'true')) {
|
773 |
$reviewCount = (int)Mage::getModel('review/review')
|
774 |
->getCollection()
|
839 |
if ($qtyIncrements && (Mage::helper('core')->getExactDivision($qty, $qtyIncrements) != 0)) {
|
840 |
$result->setHasError(true)
|
841 |
->setQuoteMessage(
|
842 |
+
Mage::helper('cataloginventory')->__(
|
843 |
+
'Some of the products cannot be ordered in the requested quantity.'
|
844 |
+
)
|
845 |
)
|
|
|
846 |
->setErrorCode('qty_increments')
|
847 |
->setQuoteMessageIndex('qty');
|
848 |
$result->setMessage(
|
849 |
+
Mage::helper('cataloginventory')->__(
|
850 |
+
'This product is available for purchase in increments of %s only.',
|
851 |
+
$qtyIncrements * 1
|
852 |
+
)
|
853 |
);
|
854 |
}
|
855 |
|
900 |
if ($connection->getScope() == 'websites') {
|
901 |
$collection = Mage::getModel('core/config_data')->getCollection()
|
902 |
->addFieldToFilter(
|
903 |
+
'path',
|
904 |
+
Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_SHOP_DEFAULT_STORE
|
905 |
+
)
|
906 |
->addFieldToFilter('scope', $connection->getScope())
|
907 |
->addFieldToFilter('scope_id', $connection->getScopeId());
|
908 |
|
app/code/community/Shopgate/Framework/Helper/Payment/Abstract.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
/**
|
3 |
* Shopgate GmbH
|
4 |
*
|
5 |
* URHEBERRECHTSHINWEIS
|
@@ -18,16 +18,15 @@
|
|
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 |
-
*
|
22 |
*/
|
23 |
|
24 |
-
|
25 |
* payment helper abstract
|
26 |
*
|
27 |
* @package Shopgate_Framework_Helper_Payment_Abstract
|
28 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
29 |
-
*/
|
30 |
-
|
31 |
class Shopgate_Framework_Helper_Payment_Abstract extends Mage_Core_Helper_Abstract
|
32 |
{
|
33 |
/**
|
@@ -45,6 +44,12 @@ class Shopgate_Framework_Helper_Payment_Abstract extends Mage_Core_Helper_Abstra
|
|
45 |
*/
|
46 |
const SHOPGATE_CC_HOLDER_STRING = 'holder';
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
/**
|
49 |
* Create new invoice with maximum qty for invoice for each item
|
50 |
* register this invoice and capture
|
@@ -58,4 +63,16 @@ class Shopgate_Framework_Helper_Payment_Abstract extends Mage_Core_Helper_Abstra
|
|
58 |
$invoice->register();
|
59 |
return $invoice;
|
60 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
* Shopgate GmbH
|
4 |
*
|
5 |
* URHEBERRECHTSHINWEIS
|
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 |
* payment helper abstract
|
26 |
*
|
27 |
* @package Shopgate_Framework_Helper_Payment_Abstract
|
28 |
* @author Peter Liebig <p.liebig@me.com, peter.liebig@magcorp.de>
|
29 |
+
*/
|
|
|
30 |
class Shopgate_Framework_Helper_Payment_Abstract extends Mage_Core_Helper_Abstract
|
31 |
{
|
32 |
/**
|
44 |
*/
|
45 |
const SHOPGATE_CC_HOLDER_STRING = 'holder';
|
46 |
|
47 |
+
/**
|
48 |
+
* Raw details key in additional info
|
49 |
+
*
|
50 |
+
*/
|
51 |
+
const RAW_DETAILS = 'raw_details_info';
|
52 |
+
|
53 |
/**
|
54 |
* Create new invoice with maximum qty for invoice for each item
|
55 |
* register this invoice and capture
|
63 |
$invoice->register();
|
64 |
return $invoice;
|
65 |
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Gets raw detail key
|
69 |
+
*
|
70 |
+
* @return string
|
71 |
+
*/
|
72 |
+
public function getTransactionRawDetails()
|
73 |
+
{
|
74 |
+
return defined(
|
75 |
+
'Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS'
|
76 |
+
) ? Mage_Sales_Model_Order_Payment_Transaction::RAW_DETAILS : self::RAW_DETAILS;
|
77 |
+
}
|
78 |
}
|
app/code/community/Shopgate/Framework/Helper/Payment/Wspp.php
CHANGED
@@ -18,7 +18,7 @@
|
|
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 |
-
*
|
22 |
*/
|
23 |
|
24 |
/**
|
@@ -91,20 +91,33 @@ class Shopgate_Framework_Helper_Payment_Wspp extends Shopgate_Framework_Helper_P
|
|
91 |
const PAYMENTSTATUS_PROCESSED = 'processed';
|
92 |
const PAYMENTSTATUS_VOIDED = 'voided';
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
/**
|
95 |
* @var null
|
96 |
*/
|
97 |
protected $_request = null;
|
98 |
-
|
99 |
/**
|
100 |
* History message action map
|
|
|
101 |
* @var array
|
102 |
*/
|
103 |
protected $_messageStatusAction = array(
|
104 |
-
|
105 |
-
|
106 |
);
|
107 |
-
|
108 |
/**
|
109 |
* IPN request data getter
|
110 |
*
|
@@ -198,15 +211,15 @@ class Shopgate_Framework_Helper_Payment_Wspp extends Shopgate_Framework_Helper_P
|
|
198 |
*
|
199 |
* @see Mage_Paypal_Model_Pro::importPaymentInfo()
|
200 |
*/
|
201 |
-
if ($
|
202 |
$paymentInfoInstance->setIsTransactionPending(true);
|
203 |
if ($fraudFilters) {
|
204 |
$paymentInfoInstance->setIsFraudDetected(true);
|
205 |
}
|
206 |
}
|
207 |
-
if ($
|
208 |
$paymentInfoInstance->setIsTransactionApproved(true);
|
209 |
-
} elseif ($
|
210 |
$paymentInfoInstance->setIsTransactionDenied(true);
|
211 |
}
|
212 |
|
@@ -270,35 +283,35 @@ class Shopgate_Framework_Helper_Payment_Wspp extends Shopgate_Framework_Helper_P
|
|
270 |
self::SHOPGATE_CC_HOLDER_STRING
|
271 |
);
|
272 |
}
|
273 |
-
|
274 |
/**
|
275 |
* Depends on Shopgate paymentInfos() to be passed
|
276 |
* into the TransactionAdditionalInfo of $order.
|
277 |
-
*
|
278 |
* @param $paymentStatus String
|
279 |
* @param $order Mage_Sales_Model_Order
|
280 |
* @return Mage_Sales_Model_Order
|
281 |
*/
|
282 |
public function orderStatusManager(Mage_Sales_Model_Order $order, $paymentStatus = null)
|
283 |
{
|
284 |
-
if(!$paymentStatus){
|
285 |
-
$rawData
|
286 |
-
|
287 |
);
|
288 |
$paymentStatus = strtolower($rawData['payment_status']);
|
289 |
}
|
290 |
-
|
291 |
$formattedPrice = $order->getBaseCurrency()->formatTxt($order->getGrandTotal());
|
292 |
$state = $status = Mage_Sales_Model_Order::STATE_PROCESSING;
|
293 |
$action = $this->getActionByStatus($paymentStatus);
|
294 |
-
|
295 |
if ($order->getPayment()->getIsTransactionPending()) {
|
296 |
$message = Mage::helper('paypal')->__(
|
297 |
'%sing amount of %s is pending approval on gateway.',
|
298 |
$action,
|
299 |
$formattedPrice
|
300 |
);
|
301 |
-
$state
|
302 |
} else {
|
303 |
$message = Mage::helper('paypal')->__(
|
304 |
'%sed amount of %s online.',
|
@@ -308,22 +321,150 @@ class Shopgate_Framework_Helper_Payment_Wspp extends Shopgate_Framework_Helper_P
|
|
308 |
}
|
309 |
//test for fraud
|
310 |
if ($order->getPayment()->getIsFraudDetected()) {
|
311 |
-
$state =
|
312 |
-
$status =
|
313 |
}
|
314 |
-
|
315 |
return $order->setState($state, $status, $message);
|
316 |
}
|
317 |
-
|
318 |
/**
|
319 |
* Maps correct message action based on order status.
|
320 |
* E.g. authorize if pending, capture on complete
|
|
|
321 |
* @param $paymentStatus
|
322 |
* @return string
|
323 |
*/
|
324 |
public function getActionByStatus($paymentStatus)
|
325 |
{
|
326 |
-
return isset($this->_messageStatusAction[$paymentStatus]) ?
|
327 |
$this->_messageStatusAction[$paymentStatus] : 'Authoriz';
|
328 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
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 |
/**
|
91 |
const PAYMENTSTATUS_PROCESSED = 'processed';
|
92 |
const PAYMENTSTATUS_VOIDED = 'voided';
|
93 |
|
94 |
+
/**
|
95 |
+
* Order states
|
96 |
+
*/
|
97 |
+
const STATE_NEW = 'new';
|
98 |
+
const STATE_PENDING_PAYMENT = 'pending_payment';
|
99 |
+
const STATE_PROCESSING = 'processing';
|
100 |
+
const STATE_COMPLETE = 'complete';
|
101 |
+
const STATE_CLOSED = 'closed';
|
102 |
+
const STATE_CANCELED = 'canceled';
|
103 |
+
const STATE_HOLDED = 'holded';
|
104 |
+
const STATE_PAYMENT_REVIEW = 'payment_review';
|
105 |
+
|
106 |
/**
|
107 |
* @var null
|
108 |
*/
|
109 |
protected $_request = null;
|
110 |
+
|
111 |
/**
|
112 |
* History message action map
|
113 |
+
*
|
114 |
* @var array
|
115 |
*/
|
116 |
protected $_messageStatusAction = array(
|
117 |
+
self::PAYMENTSTATUS_COMPLETED => 'Captur',
|
118 |
+
self::PAYMENTSTATUS_PENDING => 'Authoriz'
|
119 |
);
|
120 |
+
|
121 |
/**
|
122 |
* IPN request data getter
|
123 |
*
|
211 |
*
|
212 |
* @see Mage_Paypal_Model_Pro::importPaymentInfo()
|
213 |
*/
|
214 |
+
if ($this->_isPaymentReviewRequired($paymentInfoInstance)) {
|
215 |
$paymentInfoInstance->setIsTransactionPending(true);
|
216 |
if ($fraudFilters) {
|
217 |
$paymentInfoInstance->setIsFraudDetected(true);
|
218 |
}
|
219 |
}
|
220 |
+
if ($this->_isPaymentSuccessful($paymentInfoInstance)) {
|
221 |
$paymentInfoInstance->setIsTransactionApproved(true);
|
222 |
+
} elseif ($this->_isPaymentFailed($paymentInfoInstance)) {
|
223 |
$paymentInfoInstance->setIsTransactionDenied(true);
|
224 |
}
|
225 |
|
283 |
self::SHOPGATE_CC_HOLDER_STRING
|
284 |
);
|
285 |
}
|
286 |
+
|
287 |
/**
|
288 |
* Depends on Shopgate paymentInfos() to be passed
|
289 |
* into the TransactionAdditionalInfo of $order.
|
290 |
+
*
|
291 |
* @param $paymentStatus String
|
292 |
* @param $order Mage_Sales_Model_Order
|
293 |
* @return Mage_Sales_Model_Order
|
294 |
*/
|
295 |
public function orderStatusManager(Mage_Sales_Model_Order $order, $paymentStatus = null)
|
296 |
{
|
297 |
+
if (!$paymentStatus) {
|
298 |
+
$rawData = $order->getPayment()->getTransactionAdditionalInfo(
|
299 |
+
self::RAW_DETAILS
|
300 |
);
|
301 |
$paymentStatus = strtolower($rawData['payment_status']);
|
302 |
}
|
303 |
+
|
304 |
$formattedPrice = $order->getBaseCurrency()->formatTxt($order->getGrandTotal());
|
305 |
$state = $status = Mage_Sales_Model_Order::STATE_PROCESSING;
|
306 |
$action = $this->getActionByStatus($paymentStatus);
|
307 |
+
|
308 |
if ($order->getPayment()->getIsTransactionPending()) {
|
309 |
$message = Mage::helper('paypal')->__(
|
310 |
'%sing amount of %s is pending approval on gateway.',
|
311 |
$action,
|
312 |
$formattedPrice
|
313 |
);
|
314 |
+
$state = $status = Mage::helper('shopgate')->getStateForStatus(self::STATE_PAYMENT_REVIEW);
|
315 |
} else {
|
316 |
$message = Mage::helper('paypal')->__(
|
317 |
'%sed amount of %s online.',
|
321 |
}
|
322 |
//test for fraud
|
323 |
if ($order->getPayment()->getIsFraudDetected()) {
|
324 |
+
$state = Mage::helper('shopgate')->getStateForStatus(self::STATE_PAYMENT_REVIEW);
|
325 |
+
$status = Mage::helper('shopgate')->getStatusFromState($state);
|
326 |
}
|
327 |
+
|
328 |
return $order->setState($state, $status, $message);
|
329 |
}
|
330 |
+
|
331 |
/**
|
332 |
* Maps correct message action based on order status.
|
333 |
* E.g. authorize if pending, capture on complete
|
334 |
+
*
|
335 |
* @param $paymentStatus
|
336 |
* @return string
|
337 |
*/
|
338 |
public function getActionByStatus($paymentStatus)
|
339 |
{
|
340 |
+
return isset($this->_messageStatusAction[$paymentStatus]) ?
|
341 |
$this->_messageStatusAction[$paymentStatus] : 'Authoriz';
|
342 |
}
|
343 |
+
|
344 |
+
/**
|
345 |
+
* Get proper action status for order.
|
346 |
+
* This is when the order was paid.
|
347 |
+
*
|
348 |
+
* @return string
|
349 |
+
*/
|
350 |
+
public function getPaypalCompletedStatus()
|
351 |
+
{
|
352 |
+
return defined(
|
353 |
+
'Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED'
|
354 |
+
) ? Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED : self::PAYMENTSTATUS_COMPLETED;
|
355 |
+
}
|
356 |
+
|
357 |
+
/**
|
358 |
+
* Get proper action status for order.
|
359 |
+
* This is when the order was refunded
|
360 |
+
* on PayPal's side.
|
361 |
+
*
|
362 |
+
* @return string
|
363 |
+
*/
|
364 |
+
public function getPaypalRefundedStatus()
|
365 |
+
{
|
366 |
+
return defined(
|
367 |
+
'Mage_Paypal_Model_Info::PAYMENTSTATUS_REFUNDED'
|
368 |
+
) ? Mage_Paypal_Model_Info::PAYMENTSTATUS_REFUNDED : self::PAYMENTSTATUS_REFUNDED;
|
369 |
+
}
|
370 |
+
|
371 |
+
/**
|
372 |
+
* Get proper status action for order.
|
373 |
+
* Payment was obtained, but money were
|
374 |
+
* not captured yet
|
375 |
+
*
|
376 |
+
* @return string
|
377 |
+
*/
|
378 |
+
public function getPaypalPendingStatus()
|
379 |
+
{
|
380 |
+
return defined(
|
381 |
+
'Mage_Paypal_Model_Info::PAYMENTSTATUS_PENDING'
|
382 |
+
) ? Mage_Paypal_Model_Info::PAYMENTSTATUS_PENDING : self::PAYMENTSTATUS_PENDING;
|
383 |
+
}
|
384 |
+
|
385 |
+
/**
|
386 |
+
* Check whether the payment is in review state
|
387 |
+
* Support for version 1.4.0.0 added
|
388 |
+
*
|
389 |
+
* @param Mage_Payment_Model_Info $payment
|
390 |
+
* @return bool
|
391 |
+
*/
|
392 |
+
protected function _isPaymentReviewRequired(Mage_Payment_Model_Info $payment)
|
393 |
+
{
|
394 |
+
if (!$this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
395 |
+
return Mage::getSingleton('paypal/info')->isPaymentReviewRequired($payment);
|
396 |
+
}
|
397 |
+
|
398 |
+
$paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL);
|
399 |
+
if (self::PAYMENTSTATUS_PENDING === $paymentStatus) {
|
400 |
+
$pendingReason = $payment->getAdditionalInformation(self::PENDING_REASON_GLOBAL);
|
401 |
+
return !in_array($pendingReason, array('authorization', 'order'));
|
402 |
+
}
|
403 |
+
return false;
|
404 |
+
}
|
405 |
+
|
406 |
+
/**
|
407 |
+
* Check whether the payment was processed successfully
|
408 |
+
* Support for version 1.4.0.0 added
|
409 |
+
*
|
410 |
+
* @param Mage_Payment_Model_Info $payment
|
411 |
+
* @return bool
|
412 |
+
*/
|
413 |
+
protected function _isPaymentSuccessful(Mage_Payment_Model_Info $payment)
|
414 |
+
{
|
415 |
+
if (!$this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
416 |
+
return Mage::getSingleton('paypal/info')->isPaymentSuccessful($payment);
|
417 |
+
}
|
418 |
+
|
419 |
+
$paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL);
|
420 |
+
if (in_array(
|
421 |
+
$paymentStatus,
|
422 |
+
array(
|
423 |
+
self::PAYMENTSTATUS_COMPLETED,
|
424 |
+
self::PAYMENTSTATUS_INPROGRESS,
|
425 |
+
self::PAYMENTSTATUS_REFUNDED,
|
426 |
+
self::PAYMENTSTATUS_REFUNDEDPART,
|
427 |
+
self::PAYMENTSTATUS_UNREVERSED,
|
428 |
+
self::PAYMENTSTATUS_PROCESSED,
|
429 |
+
)
|
430 |
+
)) {
|
431 |
+
return true;
|
432 |
+
}
|
433 |
+
$pendingReason = $payment->getAdditionalInformation(self::PENDING_REASON_GLOBAL);
|
434 |
+
return self::PAYMENTSTATUS_PENDING === $paymentStatus
|
435 |
+
&& in_array($pendingReason, array('authorization', 'order'));
|
436 |
+
}
|
437 |
+
|
438 |
+
/**
|
439 |
+
* Check whether the payment was processed unsuccessfully or failed
|
440 |
+
*
|
441 |
+
* @param Mage_Payment_Model_Info $payment
|
442 |
+
* @return bool
|
443 |
+
*/
|
444 |
+
protected function _isPaymentFailed(Mage_Payment_Model_Info $payment)
|
445 |
+
{
|
446 |
+
if (!$this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
447 |
+
return Mage::getSingleton('paypal/info')->isPaymentFailed($payment);
|
448 |
+
}
|
449 |
+
|
450 |
+
$paymentStatus = $payment->getAdditionalInformation(self::PAYMENT_STATUS_GLOBAL);
|
451 |
+
return in_array(
|
452 |
+
$paymentStatus,
|
453 |
+
array(
|
454 |
+
self::PAYMENTSTATUS_DENIED,
|
455 |
+
self::PAYMENTSTATUS_EXPIRED,
|
456 |
+
self::PAYMENTSTATUS_FAILED,
|
457 |
+
self::PAYMENTSTATUS_REVERSED,
|
458 |
+
self::PAYMENTSTATUS_VOIDED,
|
459 |
+
)
|
460 |
+
);
|
461 |
+
}
|
462 |
+
|
463 |
+
/**
|
464 |
+
* @return Shopgate_Framework_Helper_Config
|
465 |
+
*/
|
466 |
+
protected function _getConfigHelper()
|
467 |
+
{
|
468 |
+
return Mage::helper('shopgate/config');
|
469 |
+
}
|
470 |
}
|
app/code/community/Shopgate/Framework/Model/Export/Product/Xml.php
CHANGED
@@ -435,14 +435,16 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
435 |
->getConfigurableAttributes($this->_parent);
|
436 |
|
437 |
foreach ($superAttributes as $superAttribute) {
|
438 |
-
$code
|
439 |
-
$index
|
|
|
440 |
|
441 |
if ($superAttribute->hasData('prices')) {
|
442 |
foreach ($superAttribute->getPrices() as $saPrice) {
|
443 |
if ($index == $saPrice["value_index"]) {
|
444 |
if ($saPrice["is_percent"]) {
|
445 |
$totalPercentage += $saPrice["pricing_value"];
|
|
|
446 |
} else {
|
447 |
$totalOffset += $saPrice["pricing_value"];
|
448 |
}
|
@@ -454,11 +456,19 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
454 |
|
455 |
if ($price == $this->_parent->getPrice()) {
|
456 |
|
457 |
-
$
|
458 |
-
$
|
459 |
|
460 |
-
$
|
461 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
}
|
463 |
}
|
464 |
|
@@ -509,7 +519,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
509 |
/**
|
510 |
* @param $price Shopgate_Model_Catalog_Price
|
511 |
*/
|
512 |
-
protected function _createTierPriceNode(&$price)
|
513 |
{
|
514 |
foreach ($this->item->getData('tier_price') as $tier) {
|
515 |
if (
|
@@ -552,7 +562,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
552 |
if ($this->item->isSuper() && Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_USE_ROOT_PRICES)) {
|
553 |
$tierPrice->setAggregateChildren(true);
|
554 |
}
|
555 |
-
|
556 |
$price->addTierPriceGroup($tierPrice);
|
557 |
}
|
558 |
}
|
@@ -677,7 +687,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
677 |
}
|
678 |
parent::setImages($result);
|
679 |
}
|
680 |
-
|
681 |
/**
|
682 |
* getting images as array
|
683 |
* @return array
|
@@ -718,7 +728,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
718 |
if ($parent) {
|
719 |
$product = $this->_parent;
|
720 |
}
|
721 |
-
|
722 |
$mediaGallery = $this->_getExportHelper()->getMediaImages($product);
|
723 |
if (!empty($mediaGallery)) {
|
724 |
foreach ($mediaGallery as $image) {
|
@@ -755,11 +765,11 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
755 |
|
756 |
/**
|
757 |
* compare images
|
758 |
-
*
|
759 |
* @param $images array
|
760 |
* @return array
|
761 |
*/
|
762 |
-
protected function _compareImageObject($images)
|
763 |
{
|
764 |
$imageUrls = array();
|
765 |
foreach ($images as $_imageObject) {
|
@@ -770,7 +780,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
770 |
return array_values($imageUrls);
|
771 |
}
|
772 |
|
773 |
-
|
774 |
/**
|
775 |
* set category path
|
776 |
*/
|
@@ -788,7 +798,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
788 |
$categoryItemObject = new Shopgate_Model_Catalog_CategoryPath();
|
789 |
$categoryItemObject->setUid($link['category_id']);
|
790 |
|
791 |
-
switch ($itemsOrderOption) {
|
792 |
case Shopgate_Framework_Model_System_Config_Source_Item_Sort::SORT_TYPE_LAST_UPDATED:
|
793 |
$sortIndex = Mage::getModel('core/date')->timestamp(strtotime($this->item->getUpdatedAt()));
|
794 |
$categoryItemObject->setSortOrder($sortIndex);
|
@@ -1030,6 +1040,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1030 |
$inputItem->setLabel($option->getTitle());
|
1031 |
$inputItem->setRequired($option->getIsRequire());
|
1032 |
$inputItem->setValidation($this->_buildInputValidation($inputType, $option));
|
|
|
1033 |
|
1034 |
/**
|
1035 |
* add additional price for types without options
|
@@ -1067,7 +1078,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1067 |
protected function _buildInputValidation($inputType, $option)
|
1068 |
{
|
1069 |
$validation = new Shopgate_Model_Catalog_Validation();
|
1070 |
-
|
1071 |
switch ($inputType) {
|
1072 |
case Shopgate_Model_Catalog_Input::DEFAULT_INPUT_TYPE_TEXT:
|
1073 |
case Shopgate_Model_Catalog_Input::DEFAULT_INPUT_TYPE_AREA:
|
@@ -1116,6 +1127,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1116 |
$inputOption = new Shopgate_Model_Catalog_Option();
|
1117 |
$inputOption->setUid($id);
|
1118 |
$inputOption->setLabel($value->getTitle());
|
|
|
1119 |
$inputOption->setAdditionalPrice($this->_getOptionValuePrice($value));
|
1120 |
$optionValues[] = $inputOption;
|
1121 |
}
|
@@ -1125,7 +1137,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1125 |
|
1126 |
/**
|
1127 |
* @param $value Mage_Core_Model_Abstract
|
1128 |
-
*
|
1129 |
* @return float
|
1130 |
*/
|
1131 |
protected function _getOptionValuePrice($value)
|
@@ -1210,24 +1222,19 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1210 |
$childProductIds = $this->item->getTypeInstance()->getUsedProductIds();
|
1211 |
foreach ($childProductIds as $child) {
|
1212 |
$configChild = Mage::getModel('catalog/product')
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
}
|
1217 |
}
|
1218 |
|
1219 |
if ($this->item->isGrouped()) {
|
1220 |
-
$
|
1221 |
$childProducts = array();
|
1222 |
-
foreach ($
|
1223 |
-
|
1224 |
-
|
1225 |
-
$
|
1226 |
-
->setStoreId($this->_getConfig()->getStoreViewId())
|
1227 |
-
->load($childId);
|
1228 |
-
if ($groupedChild->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_DISABLED) {
|
1229 |
-
$childProducts[] = $groupedChild;
|
1230 |
-
}
|
1231 |
}
|
1232 |
}
|
1233 |
}
|
@@ -1249,7 +1256,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1249 |
|
1250 |
$children[] = $child;
|
1251 |
if (!$oldVersion) {
|
1252 |
-
$childProduct->clearInstance();
|
1253 |
}
|
1254 |
}
|
1255 |
}
|
@@ -1427,6 +1434,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1427 |
|
1428 |
$option->setUid($selection->getSelectionId());
|
1429 |
$option->setLabel($selectionName);
|
|
|
1430 |
|
1431 |
// reset selection price, in this case the bundle parent is already configured
|
1432 |
// with the price of the cheapest bundle configuration
|
@@ -1451,6 +1459,7 @@ class Shopgate_Framework_Model_Export_Product_Xml
|
|
1451 |
$inputItem->setLabel($title);
|
1452 |
$inputItem->setValidation($this->_buildInputValidation($inputItem->getType(), null));
|
1453 |
$inputItem->setRequired($bundleOption->getRequired());
|
|
|
1454 |
$inputItem->setOptions($optionValues);
|
1455 |
$inputs[] = $inputItem;
|
1456 |
}
|
435 |
->getConfigurableAttributes($this->_parent);
|
436 |
|
437 |
foreach ($superAttributes as $superAttribute) {
|
438 |
+
$code = $superAttribute->getProductAttribute()->getAttributeCode();
|
439 |
+
$index = $this->item->getData($code);
|
440 |
+
$isPercent = false;
|
441 |
|
442 |
if ($superAttribute->hasData('prices')) {
|
443 |
foreach ($superAttribute->getPrices() as $saPrice) {
|
444 |
if ($index == $saPrice["value_index"]) {
|
445 |
if ($saPrice["is_percent"]) {
|
446 |
$totalPercentage += $saPrice["pricing_value"];
|
447 |
+
$isPercent = true;
|
448 |
} else {
|
449 |
$totalOffset += $saPrice["pricing_value"];
|
450 |
}
|
456 |
|
457 |
if ($price == $this->_parent->getPrice()) {
|
458 |
|
459 |
+
$additionalPrice = $price * $totalPercentage / 100;
|
460 |
+
$additionalPrice += $totalOffset;
|
461 |
|
462 |
+
$this->_parent->setConfigurablePrice($additionalPrice, $isPercent);
|
463 |
+
$this->_parent->setParentId(true);
|
464 |
+
Mage::dispatchEvent(
|
465 |
+
'catalog_product_type_configurable_price',
|
466 |
+
array('product' => $this->_parent)
|
467 |
+
);
|
468 |
+
$calculatedPrices = $this->_parent->getConfigurablePrice();
|
469 |
+
|
470 |
+
$price += $calculatedPrices;
|
471 |
+
$finalPrice += $calculatedPrices;
|
472 |
}
|
473 |
}
|
474 |
|
519 |
/**
|
520 |
* @param $price Shopgate_Model_Catalog_Price
|
521 |
*/
|
522 |
+
protected function _createTierPriceNode(&$price)
|
523 |
{
|
524 |
foreach ($this->item->getData('tier_price') as $tier) {
|
525 |
if (
|
562 |
if ($this->item->isSuper() && Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_EXPORT_USE_ROOT_PRICES)) {
|
563 |
$tierPrice->setAggregateChildren(true);
|
564 |
}
|
565 |
+
|
566 |
$price->addTierPriceGroup($tierPrice);
|
567 |
}
|
568 |
}
|
687 |
}
|
688 |
parent::setImages($result);
|
689 |
}
|
690 |
+
|
691 |
/**
|
692 |
* getting images as array
|
693 |
* @return array
|
728 |
if ($parent) {
|
729 |
$product = $this->_parent;
|
730 |
}
|
731 |
+
|
732 |
$mediaGallery = $this->_getExportHelper()->getMediaImages($product);
|
733 |
if (!empty($mediaGallery)) {
|
734 |
foreach ($mediaGallery as $image) {
|
765 |
|
766 |
/**
|
767 |
* compare images
|
768 |
+
*
|
769 |
* @param $images array
|
770 |
* @return array
|
771 |
*/
|
772 |
+
protected function _compareImageObject($images)
|
773 |
{
|
774 |
$imageUrls = array();
|
775 |
foreach ($images as $_imageObject) {
|
780 |
return array_values($imageUrls);
|
781 |
}
|
782 |
|
783 |
+
|
784 |
/**
|
785 |
* set category path
|
786 |
*/
|
798 |
$categoryItemObject = new Shopgate_Model_Catalog_CategoryPath();
|
799 |
$categoryItemObject->setUid($link['category_id']);
|
800 |
|
801 |
+
switch ($itemsOrderOption) {
|
802 |
case Shopgate_Framework_Model_System_Config_Source_Item_Sort::SORT_TYPE_LAST_UPDATED:
|
803 |
$sortIndex = Mage::getModel('core/date')->timestamp(strtotime($this->item->getUpdatedAt()));
|
804 |
$categoryItemObject->setSortOrder($sortIndex);
|
1040 |
$inputItem->setLabel($option->getTitle());
|
1041 |
$inputItem->setRequired($option->getIsRequire());
|
1042 |
$inputItem->setValidation($this->_buildInputValidation($inputType, $option));
|
1043 |
+
$inputItem->setSortOrder($option->getSortOrder());
|
1044 |
|
1045 |
/**
|
1046 |
* add additional price for types without options
|
1078 |
protected function _buildInputValidation($inputType, $option)
|
1079 |
{
|
1080 |
$validation = new Shopgate_Model_Catalog_Validation();
|
1081 |
+
|
1082 |
switch ($inputType) {
|
1083 |
case Shopgate_Model_Catalog_Input::DEFAULT_INPUT_TYPE_TEXT:
|
1084 |
case Shopgate_Model_Catalog_Input::DEFAULT_INPUT_TYPE_AREA:
|
1127 |
$inputOption = new Shopgate_Model_Catalog_Option();
|
1128 |
$inputOption->setUid($id);
|
1129 |
$inputOption->setLabel($value->getTitle());
|
1130 |
+
$inputOption->setSortOrder($value->getSortOrder());
|
1131 |
$inputOption->setAdditionalPrice($this->_getOptionValuePrice($value));
|
1132 |
$optionValues[] = $inputOption;
|
1133 |
}
|
1137 |
|
1138 |
/**
|
1139 |
* @param $value Mage_Core_Model_Abstract
|
1140 |
+
*
|
1141 |
* @return float
|
1142 |
*/
|
1143 |
protected function _getOptionValuePrice($value)
|
1222 |
$childProductIds = $this->item->getTypeInstance()->getUsedProductIds();
|
1223 |
foreach ($childProductIds as $child) {
|
1224 |
$configChild = Mage::getModel('catalog/product')
|
1225 |
+
->setStoreId($this->_getConfig()->getStoreViewId())
|
1226 |
+
->load($child);
|
1227 |
+
$childProducts[] = $configChild;
|
1228 |
}
|
1229 |
}
|
1230 |
|
1231 |
if ($this->item->isGrouped()) {
|
1232 |
+
$groupChildren = $this->item->getTypeInstance()->getAssociatedProducts($this->item);
|
1233 |
$childProducts = array();
|
1234 |
+
foreach ($groupChildren as $groupChild) {
|
1235 |
+
/** @var Mage_Catalog_Model_Product $groupChild */
|
1236 |
+
if ($groupChild->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_DISABLED) {
|
1237 |
+
$childProducts[] = $groupChild;
|
|
|
|
|
|
|
|
|
|
|
1238 |
}
|
1239 |
}
|
1240 |
}
|
1256 |
|
1257 |
$children[] = $child;
|
1258 |
if (!$oldVersion) {
|
1259 |
+
$childProduct->clearInstance();
|
1260 |
}
|
1261 |
}
|
1262 |
}
|
1434 |
|
1435 |
$option->setUid($selection->getSelectionId());
|
1436 |
$option->setLabel($selectionName);
|
1437 |
+
$option->setSortOrder($selection->getPosition());
|
1438 |
|
1439 |
// reset selection price, in this case the bundle parent is already configured
|
1440 |
// with the price of the cheapest bundle configuration
|
1459 |
$inputItem->setLabel($title);
|
1460 |
$inputItem->setValidation($this->_buildInputValidation($inputItem->getType(), null));
|
1461 |
$inputItem->setRequired($bundleOption->getRequired());
|
1462 |
+
$inputItem->setSortOrder($bundleOption->getPosition());
|
1463 |
$inputItem->setOptions($optionValues);
|
1464 |
$inputs[] = $inputItem;
|
1465 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Abstract/AbstractPayol.php
CHANGED
@@ -109,9 +109,9 @@ class Shopgate_Framework_Model_Payment_Abstract_AbstractPayol extends Shopgate_F
|
|
109 |
$this->_getTransactionAction(),
|
110 |
$this->getOrder()->getBaseCurrency()->formatTxt($amountToCapture)
|
111 |
);
|
112 |
-
$state =
|
113 |
if ($payment->getIsFraudDetected()) {
|
114 |
-
$status = Mage_Sales_Model_Order::
|
115 |
}
|
116 |
} else {
|
117 |
$status = Mage::getStoreConfig($this::XML_CONFIG_STATUS_PAID);
|
@@ -140,7 +140,7 @@ class Shopgate_Framework_Model_Payment_Abstract_AbstractPayol extends Shopgate_F
|
|
140 |
$info = $this->getShopgateOrder()->getPaymentInfos();
|
141 |
|
142 |
if (!isset($info['unique_id'])) {
|
143 |
-
$error =
|
144 |
ShopgateLogger::getInstance()->log($error, ShopgateLogger::LOGTYPE_ERROR);
|
145 |
return false;
|
146 |
}
|
@@ -252,7 +252,7 @@ class Shopgate_Framework_Model_Payment_Abstract_AbstractPayol extends Shopgate_F
|
|
252 |
|
253 |
$trans->save();
|
254 |
$this->getOrder()->getPayment()->setTransactionAdditionalInfo(
|
255 |
-
|
256 |
$info
|
257 |
);
|
258 |
$this->getOrder()->getPayment()->setTransactionId($transId)->setIsTransactionClosed(0);
|
109 |
$this->_getTransactionAction(),
|
110 |
$this->getOrder()->getBaseCurrency()->formatTxt($amountToCapture)
|
111 |
);
|
112 |
+
$state = $this->_getHelper()->getStateForStatus('payment_review');
|
113 |
if ($payment->getIsFraudDetected()) {
|
114 |
+
$status = Mage_Sales_Model_Order::STATE_HOLDED;
|
115 |
}
|
116 |
} else {
|
117 |
$status = Mage::getStoreConfig($this::XML_CONFIG_STATUS_PAID);
|
140 |
$info = $this->getShopgateOrder()->getPaymentInfos();
|
141 |
|
142 |
if (!isset($info['unique_id'])) {
|
143 |
+
$error = $this->_getHelper()->__('Unique ID was missing in paymentInfo of add_order');
|
144 |
ShopgateLogger::getInstance()->log($error, ShopgateLogger::LOGTYPE_ERROR);
|
145 |
return false;
|
146 |
}
|
252 |
|
253 |
$trans->save();
|
254 |
$this->getOrder()->getPayment()->setTransactionAdditionalInfo(
|
255 |
+
$this->_getPaymentHelper()->getTransactionRawDetails(),
|
256 |
$info
|
257 |
);
|
258 |
$this->getOrder()->getPayment()->setTransactionId($transId)->setIsTransactionClosed(0);
|
app/code/community/Shopgate/Framework/Model/Payment/Cc/Abstract.php
CHANGED
@@ -37,21 +37,6 @@ class Shopgate_Framework_Model_Payment_Cc_Abstract
|
|
37 |
*/
|
38 |
protected $_order;
|
39 |
|
40 |
-
/**
|
41 |
-
* Simple setter
|
42 |
-
*
|
43 |
-
* @param $order Mage_Sales_Model_Order
|
44 |
-
* @return Mage_Sales_Model_Order
|
45 |
-
*/
|
46 |
-
public function setOrder($order)
|
47 |
-
{
|
48 |
-
if ($this->_order) {
|
49 |
-
return $this->_order;
|
50 |
-
}
|
51 |
-
|
52 |
-
return $this->_order = $order;
|
53 |
-
}
|
54 |
-
|
55 |
/**
|
56 |
* Retrieve credit card type by mapping
|
57 |
*
|
@@ -86,11 +71,4 @@ class Shopgate_Framework_Model_Payment_Cc_Abstract
|
|
86 |
return $ccType;
|
87 |
}
|
88 |
|
89 |
-
/**
|
90 |
-
* @return Shopgate_Framework_Helper_Data
|
91 |
-
*/
|
92 |
-
protected function _getHelper()
|
93 |
-
{
|
94 |
-
return Mage::helper('shopgate');
|
95 |
-
}
|
96 |
}
|
37 |
*/
|
38 |
protected $_order;
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
/**
|
41 |
* Retrieve credit card type by mapping
|
42 |
*
|
71 |
return $ccType;
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Cc/Authn.php
CHANGED
@@ -34,11 +34,19 @@ class Shopgate_Framework_Model_Payment_Cc_Authn
|
|
34 |
{
|
35 |
const XML_CONFIG_ENABLED = 'payment/authorizenet/active';
|
36 |
const MODULE_CONFIG = 'Mage_Paygate';
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* Use AuthnCIM as guide to refactor this class
|
40 |
-
* todo: refactor status setting
|
41 |
-
* todo: move invoice setting out
|
42 |
*
|
43 |
* @param $order Mage_Sales_Model_Order
|
44 |
*
|
@@ -46,36 +54,16 @@ class Shopgate_Framework_Model_Payment_Cc_Authn
|
|
46 |
*/
|
47 |
public function manipulateOrderWithPaymentData($order)
|
48 |
{
|
49 |
-
$
|
50 |
-
$
|
51 |
-
$
|
52 |
-
|
53 |
-
$
|
54 |
-
$
|
55 |
-
$
|
56 |
-
|
57 |
-
|
58 |
-
$
|
59 |
-
$order->getPayment()->setCcApproval($paymentInfos['authorization_number']);
|
60 |
-
$order->getPayment()->setLastTransId($paymentInfos['transaction_id']);
|
61 |
-
$cardStorage = $paymentAuthorize->getCardsStorage($order->getPayment());
|
62 |
-
$card = $cardStorage->registerCard();
|
63 |
-
$card->setRequestedAmount($shopgateOrder->getAmountComplete())
|
64 |
-
->setBalanceOnCard("")
|
65 |
-
->setLastTransId($paymentInfos['transaction_id'])
|
66 |
-
->setProcessedAmount($shopgateOrder->getAmountComplete())
|
67 |
-
->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']))
|
68 |
-
->setCcOwner($paymentInfos['credit_card']['holder'])
|
69 |
-
->setCcLast4($lastFour)
|
70 |
-
->setCcExpMonth("")
|
71 |
-
->setCcExpYear("")
|
72 |
-
->setCcSsIssue("")
|
73 |
-
->setCcSsStartMonth("")
|
74 |
-
->setCcSsStartYear("");
|
75 |
-
|
76 |
-
$transactionType = $paymentInfos['transaction_type'];
|
77 |
-
$responseCode = $paymentInfos['response_code'];
|
78 |
-
switch ($transactionType) {
|
79 |
case self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE:
|
80 |
$newTransactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE;
|
81 |
$defaultExceptionMessage = Mage::helper('paygate')->__('Payment capturing error.');
|
@@ -86,61 +74,23 @@ class Shopgate_Framework_Model_Payment_Cc_Authn
|
|
86 |
$defaultExceptionMessage = Mage::helper('paygate')->__('Payment authorization error.');
|
87 |
break;
|
88 |
}
|
89 |
-
|
90 |
try {
|
91 |
-
switch ($
|
92 |
case self::RESPONSE_CODE_APPROVED:
|
93 |
-
$
|
94 |
-
$
|
95 |
-
$
|
96 |
-
$
|
97 |
-
|
98 |
-
$
|
99 |
-
|
100 |
-
if ($transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
101 |
-
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
102 |
-
$invoice->setTransactionId(1);
|
103 |
-
$order->getPayment()->setIsTransactionPending(false);
|
104 |
-
$amountToCapture = $order->getBaseCurrency()->formatTxt($invoice->getBaseGrandTotal());
|
105 |
-
$order->getPayment()->setBaseAmountPaidOnline($invoice->getBaseGrandTotal());
|
106 |
-
$card->setCapturedAmount($card->getProcessedAmount());
|
107 |
-
$message = Mage::helper('sales')->__('Captured amount of %s online.', $amountToCapture);
|
108 |
-
$invoice->setIsPaid(true);
|
109 |
-
$invoice->pay();
|
110 |
-
$invoice->save();
|
111 |
-
$order->addRelatedObject($invoice);
|
112 |
}
|
113 |
-
$cardStorage->updateCard($card);
|
114 |
-
$order->setState($state, $this->_getHelper()->getStatusFromState($state), $message);
|
115 |
break;
|
116 |
case self::RESPONSE_CODE_HELD:
|
117 |
-
if (
|
118 |
-
|
119 |
-
|
120 |
-
)
|
121 |
-
) {
|
122 |
-
$this->_createTransaction(
|
123 |
-
$order->getPayment(),
|
124 |
-
$card,
|
125 |
-
$newTransactionType,
|
126 |
-
array('is_transaction_fraud' => true)
|
127 |
-
);
|
128 |
-
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
129 |
-
$invoice->setTransactionId(1);
|
130 |
-
$invoice->setIsPaid(false);
|
131 |
-
$invoice->save();
|
132 |
-
$order->addRelatedObject($invoice);
|
133 |
-
$amountToCapture = $order->getBaseCurrency()->formatTxt($invoice->getBaseGrandTotal());
|
134 |
-
$message = Mage::helper('sales')->__(
|
135 |
-
'Capturing amount of %s is pending approval on gateway.',
|
136 |
-
$amountToCapture
|
137 |
-
);
|
138 |
-
if ($transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
139 |
-
$card->setCapturedAmount($card->getProcessedAmount());
|
140 |
-
$cardStorage->updateCard($card);
|
141 |
-
}
|
142 |
-
$order->getPayment()->setIsTransactionPending(true)->setIsFraudDetected(true);
|
143 |
-
$order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true, $message);
|
144 |
}
|
145 |
break;
|
146 |
case self::RESPONSE_CODE_DECLINED:
|
@@ -150,31 +100,88 @@ class Shopgate_Framework_Model_Payment_Cc_Authn
|
|
150 |
Mage::throwException($defaultExceptionMessage);
|
151 |
}
|
152 |
} catch (Exception $x) {
|
153 |
-
$
|
154 |
Mage::logException($x);
|
155 |
}
|
156 |
-
|
157 |
-
|
|
|
|
|
158 |
}
|
159 |
-
|
160 |
/**
|
161 |
-
* @param $orderPayment
|
162 |
-
* @param $card
|
163 |
* @param $type
|
164 |
* @param $additionalInformation
|
165 |
*/
|
166 |
-
protected function _createTransaction($
|
167 |
{
|
168 |
-
$
|
|
|
169 |
$transaction->setOrderPaymentObject($orderPayment);
|
170 |
-
$transaction->setTxnId($
|
171 |
$transaction->setIsClosed(false);
|
172 |
$transaction->setTxnType($type);
|
173 |
$transaction->setData('is_transaciton_closed', '0');
|
174 |
-
$transaction->setAdditionalInformation('real_transaction_id', $
|
175 |
foreach ($additionalInformation as $key => $value) {
|
176 |
$transaction->setAdditionalInformation($key, $value);
|
177 |
}
|
178 |
$transaction->save();
|
179 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
}
|
34 |
{
|
35 |
const XML_CONFIG_ENABLED = 'payment/authorizenet/active';
|
36 |
const MODULE_CONFIG = 'Mage_Paygate';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Init variables
|
40 |
+
*/
|
41 |
+
private function _initVariables()
|
42 |
+
{
|
43 |
+
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
44 |
+
$this->_transactionType = $paymentInfos['transaction_type'];
|
45 |
+
$this->_responseCode = $paymentInfos['response_code'];
|
46 |
+
}
|
47 |
+
|
48 |
/**
|
49 |
* Use AuthnCIM as guide to refactor this class
|
|
|
|
|
50 |
*
|
51 |
* @param $order Mage_Sales_Model_Order
|
52 |
*
|
54 |
*/
|
55 |
public function manipulateOrderWithPaymentData($order)
|
56 |
{
|
57 |
+
$this->_initVariables();
|
58 |
+
$shopgateOrder = $this->getShopgateOrder();
|
59 |
+
$paymentInfos = $shopgateOrder->getPaymentInfos();
|
60 |
+
|
61 |
+
$this->_saveToCardStorage();
|
62 |
+
$this->getOrder()->getPayment()->setCcTransId($paymentInfos['transaction_id']);
|
63 |
+
$this->getOrder()->getPayment()->setCcApproval($paymentInfos['authorization_number']);
|
64 |
+
$this->getOrder()->getPayment()->setLastTransId($paymentInfos['transaction_id']);
|
65 |
+
|
66 |
+
switch ($this->_transactionType) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
case self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE:
|
68 |
$newTransactionType = Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE;
|
69 |
$defaultExceptionMessage = Mage::helper('paygate')->__('Payment capturing error.');
|
74 |
$defaultExceptionMessage = Mage::helper('paygate')->__('Payment authorization error.');
|
75 |
break;
|
76 |
}
|
77 |
+
|
78 |
try {
|
79 |
+
switch ($this->_responseCode) {
|
80 |
case self::RESPONSE_CODE_APPROVED:
|
81 |
+
$this->getOrder()->getPayment()->setAmountAuthorized($this->getOrder()->getGrandTotal());
|
82 |
+
$this->getOrder()->getPayment()->setBaseAmountAuthorized($this->getOrder()->getBaseGrandTotal());
|
83 |
+
$this->getOrder()->getPayment()->setIsTransactionPending(true);
|
84 |
+
$this->_createTransaction($newTransactionType);
|
85 |
+
|
86 |
+
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
87 |
+
$this->getOrder()->getPayment()->setIsTransactionPending(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
|
|
|
|
89 |
break;
|
90 |
case self::RESPONSE_CODE_HELD:
|
91 |
+
if ($this->_isOrderPendingReview()) {
|
92 |
+
$this->_createTransaction($newTransactionType, array('is_transaction_fraud' => true));
|
93 |
+
$this->getOrder()->getPayment()->setIsTransactionPending(true)->setIsFraudDetected(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
}
|
95 |
break;
|
96 |
case self::RESPONSE_CODE_DECLINED:
|
100 |
Mage::throwException($defaultExceptionMessage);
|
101 |
}
|
102 |
} catch (Exception $x) {
|
103 |
+
$this->getOrder()->addStatusHistoryComment(Mage::helper('sales')->__('Note: %s', $x->getMessage()));
|
104 |
Mage::logException($x);
|
105 |
}
|
106 |
+
|
107 |
+
$this->_createInvoice();
|
108 |
+
|
109 |
+
return $this->getOrder();
|
110 |
}
|
111 |
+
|
112 |
/**
|
|
|
|
|
113 |
* @param $type
|
114 |
* @param $additionalInformation
|
115 |
*/
|
116 |
+
protected function _createTransaction($type, $additionalInformation = array())
|
117 |
{
|
118 |
+
$orderPayment = $this->_order->getPayment();
|
119 |
+
$transaction = Mage::getModel('sales/order_payment_transaction');
|
120 |
$transaction->setOrderPaymentObject($orderPayment);
|
121 |
+
$transaction->setTxnId($orderPayment->getCcTransId());
|
122 |
$transaction->setIsClosed(false);
|
123 |
$transaction->setTxnType($type);
|
124 |
$transaction->setData('is_transaciton_closed', '0');
|
125 |
+
$transaction->setAdditionalInformation('real_transaction_id', $orderPayment->getCcTransId());
|
126 |
foreach ($additionalInformation as $key => $value) {
|
127 |
$transaction->setAdditionalInformation($key, $value);
|
128 |
}
|
129 |
$transaction->save();
|
130 |
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Utilize card storage if it exists
|
134 |
+
* It does not in mage 1.4.0.0
|
135 |
+
*
|
136 |
+
* @throws Exception
|
137 |
+
*/
|
138 |
+
protected function _saveToCardStorage()
|
139 |
+
{
|
140 |
+
$paymentAuthorize = Mage::getModel('paygate/authorizenet');
|
141 |
+
|
142 |
+
$this->getOrder()->getPayment()->setMethod($paymentAuthorize->getCode());
|
143 |
+
$paymentAuthorize->setInfoInstance($this->getOrder()->getPayment());
|
144 |
+
$this->getOrder()->getPayment()->setMethodInstance($paymentAuthorize);
|
145 |
+
$this->getOrder()->save();
|
146 |
+
|
147 |
+
if (!method_exists($paymentAuthorize, 'getCardsStorage')) {
|
148 |
+
return $this;
|
149 |
+
}
|
150 |
+
|
151 |
+
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
152 |
+
$lastFour = substr($paymentInfos['credit_card']['masked_number'], -4);
|
153 |
+
$cardStorage = $paymentAuthorize->getCardsStorage($this->getOrder()->getPayment());
|
154 |
+
$card = $cardStorage->registerCard();
|
155 |
+
$card->setRequestedAmount($this->getShopgateOrder()->getAmountComplete())
|
156 |
+
->setBalanceOnCard("")
|
157 |
+
->setLastTransId($paymentInfos['transaction_id'])
|
158 |
+
->setProcessedAmount($this->getShopgateOrder()->getAmountComplete())
|
159 |
+
->setCcType($this->_getCcTypeName($paymentInfos['credit_card']['type']))
|
160 |
+
->setCcOwner($paymentInfos['credit_card']['holder'])
|
161 |
+
->setCcLast4($lastFour)
|
162 |
+
->setCcExpMonth("")
|
163 |
+
->setCcExpYear("")
|
164 |
+
->setCcSsIssue("")
|
165 |
+
->setCcSsStartMonth("")
|
166 |
+
->setCcSsStartYear("")
|
167 |
+
;
|
168 |
+
|
169 |
+
switch ($this->_responseCode) {
|
170 |
+
case self::RESPONSE_CODE_APPROVED:
|
171 |
+
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
172 |
+
$card->setCapturedAmount($card->getProcessedAmount());
|
173 |
+
}
|
174 |
+
$cardStorage->updateCard($card);
|
175 |
+
break;
|
176 |
+
case self::RESPONSE_CODE_HELD:
|
177 |
+
if ($this->_isOrderPendingReview()) {
|
178 |
+
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
179 |
+
$card->setCapturedAmount($card->getProcessedAmount());
|
180 |
+
$cardStorage->updateCard($card);
|
181 |
+
}
|
182 |
+
}
|
183 |
+
break;
|
184 |
+
}
|
185 |
+
return $this;
|
186 |
+
}
|
187 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Cc/AuthnAbstract.php
CHANGED
@@ -50,5 +50,101 @@ class Shopgate_Framework_Model_Payment_Cc_AuthnAbstract extends Shopgate_Framewo
|
|
50 |
const RESPONSE_REASON_CODE_PENDING_REVIEW_AUTHORIZED = 252;
|
51 |
const RESPONSE_REASON_CODE_PENDING_REVIEW = 253;
|
52 |
const RESPONSE_REASON_CODE_PENDING_REVIEW_DECLINED = 254;
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
50 |
const RESPONSE_REASON_CODE_PENDING_REVIEW_AUTHORIZED = 252;
|
51 |
const RESPONSE_REASON_CODE_PENDING_REVIEW = 253;
|
52 |
const RESPONSE_REASON_CODE_PENDING_REVIEW_DECLINED = 254;
|
53 |
+
|
54 |
+
protected $_transactionType = '';
|
55 |
+
protected $_responseCode = '';
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Checks if the order response is pending review
|
59 |
+
*
|
60 |
+
* @return bool
|
61 |
+
*/
|
62 |
+
protected function _isOrderPendingReview()
|
63 |
+
{
|
64 |
+
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
65 |
+
|
66 |
+
return array_key_exists('response_reason_code', $paymentInfos)
|
67 |
+
&& (
|
68 |
+
$paymentInfos['response_reason_code'] == self::RESPONSE_REASON_CODE_PENDING_REVIEW_AUTHORIZED
|
69 |
+
|| $paymentInfos['response_reason_code'] == self::RESPONSE_REASON_CODE_PENDING_REVIEW
|
70 |
+
);
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Sets order status
|
75 |
+
*
|
76 |
+
* @param Mage_Sales_Model_Order $order
|
77 |
+
*
|
78 |
+
* @return Mage_Sales_Model_Order
|
79 |
+
*/
|
80 |
+
public function setOrderStatus($order = null)
|
81 |
+
{
|
82 |
+
$captured = $this->_order->getBaseCurrency()->formatTxt($this->_order->getBaseTotalInvoiced());
|
83 |
+
$state = $this->_getHelper()->getStateForStatus('payment_review');
|
84 |
+
$status = $this->_getHelper()->getStatusFromState($state);
|
85 |
+
$message = '';
|
86 |
+
|
87 |
+
switch ($this->_responseCode) {
|
88 |
+
case self::RESPONSE_CODE_APPROVED:
|
89 |
+
$duePrice = $this->_order->getBaseCurrency()->formatTxt($this->_order->getTotalDue());
|
90 |
+
$message = Mage::helper('paypal')->__('Authorized amount of %s.', $duePrice);
|
91 |
+
|
92 |
+
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
93 |
+
$message = Mage::helper('sales')->__('Captured amount of %s online.', $captured);
|
94 |
+
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
95 |
+
$status = $this->_getHelper()->getStatusFromState($state);
|
96 |
+
}
|
97 |
+
break;
|
98 |
+
case self::RESPONSE_CODE_HELD:
|
99 |
+
if ($this->_isOrderPendingReview()) {
|
100 |
+
$message = Mage::helper('sales')->__(
|
101 |
+
'Capturing amount of %s is pending approval on gateway.',
|
102 |
+
$captured
|
103 |
+
)
|
104 |
+
;
|
105 |
+
$this->_order->setState($state, $status, $message);
|
106 |
+
}
|
107 |
+
break;
|
108 |
+
}
|
109 |
+
$this->_order->setState($state, $status, $message);
|
110 |
+
$order->setShopgateStatusSet(true);
|
111 |
+
|
112 |
+
return $order;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Handles invoice creation
|
117 |
+
*
|
118 |
+
* @return $this
|
119 |
+
* @throws Exception
|
120 |
+
*/
|
121 |
+
protected function _createInvoice()
|
122 |
+
{
|
123 |
+
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
124 |
+
|
125 |
+
switch ($this->_responseCode) {
|
126 |
+
case self::RESPONSE_CODE_APPROVED:
|
127 |
+
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
128 |
+
$invoice = $this->_getPaymentHelper()->createOrderInvoice($this->_order);
|
129 |
+
$invoice->setTransactionId($paymentInfos['transaction_id']); //needed for refund
|
130 |
+
$this->_order->getPayment()->setBaseAmountPaidOnline($invoice->getBaseGrandTotal());
|
131 |
+
$invoice->setIsPaid(true);
|
132 |
+
$invoice->pay();
|
133 |
+
$invoice->save();
|
134 |
+
$this->_order->addRelatedObject($invoice);
|
135 |
+
}
|
136 |
+
break;
|
137 |
+
case self::RESPONSE_CODE_HELD:
|
138 |
+
if ($this->_isOrderPendingReview()) {
|
139 |
+
$invoice = $this->_getPaymentHelper()->createOrderInvoice($this->_order);
|
140 |
+
$invoice->setTransactionId($paymentInfos['transaction_id']);
|
141 |
+
$invoice->setIsPaid(false);
|
142 |
+
$invoice->save();
|
143 |
+
$this->_order->addRelatedObject($invoice);
|
144 |
+
}
|
145 |
+
break;
|
146 |
+
}
|
147 |
+
|
148 |
+
return $this;
|
149 |
+
}
|
150 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Cc/Authncim.php
CHANGED
@@ -35,8 +35,6 @@ class Shopgate_Framework_Model_Payment_Cc_Authncim extends Shopgate_Framework_Mo
|
|
35 |
* Order initialization values
|
36 |
*/
|
37 |
protected $_orderInitialized = false;
|
38 |
-
protected $_transactionType = '';
|
39 |
-
protected $_responseCode = '';
|
40 |
|
41 |
/**
|
42 |
* Initialize public method
|
@@ -148,88 +146,24 @@ class Shopgate_Framework_Model_Payment_Cc_Authncim extends Shopgate_Framework_Mo
|
|
148 |
}
|
149 |
$transaction->save();
|
150 |
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* Handles invoice creation
|
154 |
-
*
|
155 |
-
* @return $this
|
156 |
-
* @throws Exception
|
157 |
-
*/
|
158 |
-
protected function _createInvoice()
|
159 |
-
{
|
160 |
-
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
161 |
-
|
162 |
-
switch ($this->_responseCode) {
|
163 |
-
case self::RESPONSE_CODE_APPROVED:
|
164 |
-
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
165 |
-
$invoice = $this->_getPaymentHelper()->createOrderInvoice($this->_order);
|
166 |
-
$invoice->setTransactionId($paymentInfos['transaction_id']); //needed for refund
|
167 |
-
$this->_order->getPayment()->setBaseAmountPaidOnline($invoice->getBaseGrandTotal());
|
168 |
-
$invoice->setIsPaid(true);
|
169 |
-
$invoice->pay();
|
170 |
-
$invoice->save();
|
171 |
-
$this->_order->addRelatedObject($invoice);
|
172 |
-
}
|
173 |
-
break;
|
174 |
-
case self::RESPONSE_CODE_HELD:
|
175 |
-
if ($this->_isOrderPendingReview()) {
|
176 |
-
$invoice = $this->_getPaymentHelper()->createOrderInvoice($this->_order);
|
177 |
-
$invoice->setTransactionId($paymentInfos['transaction_id']);
|
178 |
-
$invoice->setIsPaid(false);
|
179 |
-
$invoice->save();
|
180 |
-
$this->_order->addRelatedObject($invoice);
|
181 |
-
}
|
182 |
-
break;
|
183 |
-
}
|
184 |
-
|
185 |
-
return $this;
|
186 |
-
}
|
187 |
-
|
188 |
/**
|
189 |
-
*
|
190 |
*
|
191 |
-
* @param Mage_Sales_Model_Order $order
|
192 |
* @return Mage_Sales_Model_Order
|
193 |
*/
|
194 |
-
public function setOrderStatus($
|
195 |
{
|
196 |
-
$
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
case self::RESPONSE_CODE_APPROVED:
|
204 |
-
$duePrice = $this->_order->getBaseCurrency()->formatTxt($this->_order->getTotalDue());
|
205 |
-
$message = Mage::helper('paypal')->__('Authorized amount of %s.', $duePrice);
|
206 |
-
|
207 |
-
if ($this->_transactionType == self::SHOPGATE_PAYMENT_STATUS_AUTH_CAPTURE) {
|
208 |
-
$message = Mage::helper('sales')->__('Captured amount of %s online.', $captured);
|
209 |
-
$status = Mage::getModel('authnetcim/method')->getConfigData('order_status');
|
210 |
-
|
211 |
-
if (!$status) {
|
212 |
-
$state = Mage_Sales_Model_Order::STATE_PROCESSING;
|
213 |
-
$status = $this->_getHelper()->getStatusFromState($state);
|
214 |
-
}
|
215 |
-
$state = $this->_getHelper()->getStateForStatus($status);
|
216 |
-
}
|
217 |
-
break;
|
218 |
-
case self::RESPONSE_CODE_HELD:
|
219 |
-
if ($this->_isOrderPendingReview()) {
|
220 |
-
$message = Mage::helper('sales')->__(
|
221 |
-
'Capturing amount of %s is pending approval on gateway.',
|
222 |
-
$captured
|
223 |
-
);
|
224 |
-
$this->_order->setState($state, $status, $message);
|
225 |
-
}
|
226 |
-
break;
|
227 |
}
|
228 |
-
$this->_order->setState($state, $status, $message);
|
229 |
-
$order->setShopgateStatusSet(true);
|
230 |
-
return $order;
|
231 |
}
|
232 |
-
|
233 |
/**
|
234 |
* Handles the creation of AuthnCIM card & profile
|
235 |
*
|
@@ -285,20 +219,6 @@ class Shopgate_Framework_Model_Payment_Cc_Authncim extends Shopgate_Framework_Mo
|
|
285 |
return $customer;
|
286 |
}
|
287 |
|
288 |
-
/**
|
289 |
-
* Checks if the order response is pending review
|
290 |
-
*
|
291 |
-
* @return bool
|
292 |
-
*/
|
293 |
-
private function _isOrderPendingReview()
|
294 |
-
{
|
295 |
-
$paymentInfos = $this->getShopgateOrder()->getPaymentInfos();
|
296 |
-
return array_key_exists('response_reason_code', $paymentInfos) && (
|
297 |
-
$paymentInfos['response_reason_code'] == self::RESPONSE_REASON_CODE_PENDING_REVIEW_AUTHORIZED
|
298 |
-
|| $paymentInfos['response_reason_code'] == self::RESPONSE_REASON_CODE_PENDING_REVIEW
|
299 |
-
);
|
300 |
-
}
|
301 |
-
|
302 |
/**
|
303 |
* Needs to be the right customer, active and last four match
|
304 |
*
|
35 |
* Order initialization values
|
36 |
*/
|
37 |
protected $_orderInitialized = false;
|
|
|
|
|
38 |
|
39 |
/**
|
40 |
* Initialize public method
|
146 |
}
|
147 |
$transaction->save();
|
148 |
}
|
149 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
/**
|
151 |
+
* @param Mage_Sales_Model_Order|null $magentoOrder
|
152 |
*
|
|
|
153 |
* @return Mage_Sales_Model_Order
|
154 |
*/
|
155 |
+
public function setOrderStatus($magentoOrder)
|
156 |
{
|
157 |
+
$status = Mage::getModel('authnetcim/method')->getConfigData('order_status');
|
158 |
+
if ($status) {
|
159 |
+
$state = $this->_getHelper()->getStateForStatus($status);
|
160 |
+
$magentoOrder->setShopgateStatusSet(true);
|
161 |
+
return $magentoOrder->setState($state, $status);
|
162 |
+
} else {
|
163 |
+
return parent::setOrderStatus($magentoOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
}
|
|
|
|
|
|
|
165 |
}
|
166 |
+
|
167 |
/**
|
168 |
* Handles the creation of AuthnCIM card & profile
|
169 |
*
|
219 |
return $customer;
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
/**
|
223 |
* Needs to be the right customer, active and last four match
|
224 |
*
|
app/code/community/Shopgate/Framework/Model/Payment/Cc/Usaepay.php
CHANGED
@@ -111,7 +111,7 @@ class Shopgate_Framework_Model_Payment_Cc_Usaepay extends Shopgate_Framework_Mod
|
|
111 |
}
|
112 |
$message = Mage::helper('sales')->__('Captured amount of %s online.', $total);
|
113 |
} else {
|
114 |
-
$state =
|
115 |
$status = Mage::helper('shopgate')->getStatusFromState($state);
|
116 |
$due = $magentoOrder->getBaseCurrency()->formatTxt($magentoOrder->getTotalDue());
|
117 |
$message = Mage::helper('paypal')->__('Authorized amount of %s.', $due);
|
111 |
}
|
112 |
$message = Mage::helper('sales')->__('Captured amount of %s online.', $total);
|
113 |
} else {
|
114 |
+
$state = Mage::helper("shopgate")->getStateForStatus("payment_review");
|
115 |
$status = Mage::helper('shopgate')->getStatusFromState($state);
|
116 |
$due = $magentoOrder->getBaseCurrency()->formatTxt($magentoOrder->getTotalDue());
|
117 |
$message = Mage::helper('paypal')->__('Authorized amount of %s.', $due);
|
app/code/community/Shopgate/Framework/Model/Payment/Payone/Abstract.php
CHANGED
@@ -296,7 +296,6 @@ class Shopgate_Framework_Model_Payment_Payone_Abstract extends Shopgate_Framewor
|
|
296 |
/**
|
297 |
* Faking a response from gateway
|
298 |
*/
|
299 |
-
$this->getOrder()->getPayment()->setMethodInstance($this->getPaymentModel());
|
300 |
$request = $this->_createFakeRequest();
|
301 |
$response = $this->_createFakeResponse();
|
302 |
|
@@ -419,6 +418,12 @@ class Shopgate_Framework_Model_Payment_Payone_Abstract extends Shopgate_Framewor
|
|
419 |
return false;
|
420 |
}
|
421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
public function isEnabled()
|
423 |
{
|
424 |
if (version_compare($this->_getVersion(), '3.3.0', '>=')) {
|
296 |
/**
|
297 |
* Faking a response from gateway
|
298 |
*/
|
|
|
299 |
$request = $this->_createFakeRequest();
|
300 |
$response = $this->_createFakeResponse();
|
301 |
|
418 |
return false;
|
419 |
}
|
420 |
|
421 |
+
/**
|
422 |
+
* Different versions have
|
423 |
+
* different config options
|
424 |
+
*
|
425 |
+
* @return bool
|
426 |
+
*/
|
427 |
public function isEnabled()
|
428 |
{
|
429 |
if (version_compare($this->_getVersion(), '3.3.0', '>=')) {
|
app/code/community/Shopgate/Framework/Model/Payment/Pp/Abstract.php
CHANGED
@@ -33,16 +33,6 @@ class Shopgate_Framework_Model_Payment_Pp_Abstract
|
|
33 |
const PAYMENT_IDENTIFIER = 'PP';
|
34 |
const MODULE_CONFIG = 'Mage_Paypal';
|
35 |
|
36 |
-
/**
|
37 |
-
* History message action map
|
38 |
-
*
|
39 |
-
* @var array
|
40 |
-
*/
|
41 |
-
protected $_messageStatusAction = array(
|
42 |
-
Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED => 'Captur',
|
43 |
-
Mage_Paypal_Model_Info::PAYMENTSTATUS_PENDING => 'Authoriz'
|
44 |
-
);
|
45 |
-
|
46 |
/**
|
47 |
* Depends on Shopgate paymentInfos() to be passed
|
48 |
* into the TransactionAdditionalInfo of $order.
|
@@ -53,59 +43,16 @@ class Shopgate_Framework_Model_Payment_Pp_Abstract
|
|
53 |
*/
|
54 |
public function orderStatusManager(Mage_Sales_Model_Order $order, $paymentStatus = null)
|
55 |
{
|
56 |
-
|
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')->__(
|
69 |
-
'%sing amount of %s is pending approval on gateway.',
|
70 |
-
$action,
|
71 |
-
$total
|
72 |
-
);
|
73 |
-
$state = Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW;
|
74 |
-
} else {
|
75 |
-
$message = Mage::helper('paypal')->__(
|
76 |
-
'%sed amount of %s online.',
|
77 |
-
$action,
|
78 |
-
$total
|
79 |
-
);
|
80 |
-
}
|
81 |
-
|
82 |
-
//test for fraud
|
83 |
-
if ($order->getPayment()->getIsFraudDetected()) {
|
84 |
-
$status = Mage_Sales_Model_Order::STATUS_FRAUD;
|
85 |
-
$state = Mage::helper('shopgate')->getStateForStatus($status);
|
86 |
-
if (!$state) {
|
87 |
-
$state = Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW;
|
88 |
-
}
|
89 |
-
}
|
90 |
-
|
91 |
-
if (!isset($status)) {
|
92 |
-
$status = Mage::helper('shopgate')->getStatusFromState($state);
|
93 |
-
}
|
94 |
-
$order->setState($state, $status, $message);
|
95 |
$order->setShopgateStatusSet(true);
|
96 |
return $order;
|
97 |
}
|
98 |
|
99 |
/**
|
100 |
-
*
|
101 |
-
* E.g. authorize if pending, capture on complete
|
102 |
-
*
|
103 |
-
* @param $paymentStatus
|
104 |
-
* @return string
|
105 |
*/
|
106 |
-
|
107 |
{
|
108 |
-
return
|
109 |
-
$this->_messageStatusAction[$paymentStatus] : 'Authoriz';
|
110 |
}
|
111 |
}
|
33 |
const PAYMENT_IDENTIFIER = 'PP';
|
34 |
const MODULE_CONFIG = 'Mage_Paypal';
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
/**
|
37 |
* Depends on Shopgate paymentInfos() to be passed
|
38 |
* into the TransactionAdditionalInfo of $order.
|
43 |
*/
|
44 |
public function orderStatusManager(Mage_Sales_Model_Order $order, $paymentStatus = null)
|
45 |
{
|
46 |
+
$this->_getPaymentHelper()->orderStatusManager($order, $paymentStatus);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
$order->setShopgateStatusSet(true);
|
48 |
return $order;
|
49 |
}
|
50 |
|
51 |
/**
|
52 |
+
* @return Shopgate_Framework_Helper_Payment_Wspp
|
|
|
|
|
|
|
|
|
53 |
*/
|
54 |
+
protected function _getPaymentHelper()
|
55 |
{
|
56 |
+
return Mage::helper('shopgate/payment_wspp');
|
|
|
57 |
}
|
58 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Pp/Wspp.php
CHANGED
@@ -126,7 +126,7 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
126 |
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
127 |
switch ($paymentStatus) {
|
128 |
// paid
|
129 |
-
case
|
130 |
$trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
131 |
if ($order->getPayment()->getIsTransactionPending()) {
|
132 |
$invoice->setIsPaid(false);
|
@@ -135,12 +135,10 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
135 |
$invoice->pay();
|
136 |
}
|
137 |
break;
|
138 |
-
|
139 |
-
case Mage_Paypal_Model_Info::PAYMENTSTATUS_REFUNDED:
|
140 |
//$this->_getPaymentHelper()->registerPaymentRefund($additionalData, $order);
|
141 |
break;
|
142 |
-
|
143 |
-
case Mage_Paypal_Model_Info::PAYMENTSTATUS_PENDING:
|
144 |
foreach ($paypalIpnData as $key => $value) {
|
145 |
if (strpos($key, 'fraud_management_pending_filters_') !== false) {
|
146 |
$order->getPayment()->setIsTransactionPending(true);
|
@@ -161,7 +159,7 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
161 |
$order->addRelatedObject($invoice);
|
162 |
$this->_getPaymentHelper()->importPaymentInformation($order->getPayment(), $paypalIpnData);
|
163 |
$order->getPayment()->setTransactionAdditionalInfo(
|
164 |
-
|
165 |
$paypalIpnData
|
166 |
);
|
167 |
$order->getPayment()->setCcOwner($paypalIpnData['holder']);
|
@@ -234,7 +232,7 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
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);
|
@@ -242,11 +240,4 @@ class Shopgate_Framework_Model_Payment_Pp_Wspp
|
|
242 |
return $result;
|
243 |
}
|
244 |
|
245 |
-
/**
|
246 |
-
* @return Shopgate_Framework_Helper_Payment_Wspp
|
247 |
-
*/
|
248 |
-
protected function _getPaymentHelper()
|
249 |
-
{
|
250 |
-
return Mage::helper('shopgate/payment_wspp');
|
251 |
-
}
|
252 |
}
|
126 |
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
127 |
switch ($paymentStatus) {
|
128 |
// paid
|
129 |
+
case $this->_getPaymentHelper()->getPaypalCompletedStatus():
|
130 |
$trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
131 |
if ($order->getPayment()->getIsTransactionPending()) {
|
132 |
$invoice->setIsPaid(false);
|
135 |
$invoice->pay();
|
136 |
}
|
137 |
break;
|
138 |
+
case $this->_getPaymentHelper()->getPaypalRefundedStatus():
|
|
|
139 |
//$this->_getPaymentHelper()->registerPaymentRefund($additionalData, $order);
|
140 |
break;
|
141 |
+
case $this->_getPaymentHelper()->getPaypalPendingStatus():
|
|
|
142 |
foreach ($paypalIpnData as $key => $value) {
|
143 |
if (strpos($key, 'fraud_management_pending_filters_') !== false) {
|
144 |
$order->getPayment()->setIsTransactionPending(true);
|
159 |
$order->addRelatedObject($invoice);
|
160 |
$this->_getPaymentHelper()->importPaymentInformation($order->getPayment(), $paypalIpnData);
|
161 |
$order->getPayment()->setTransactionAdditionalInfo(
|
162 |
+
$this->_getPaymentHelper()->getTransactionRawDetails(),
|
163 |
$paypalIpnData
|
164 |
);
|
165 |
$order->getPayment()->setCcOwner($paypalIpnData['holder']);
|
232 |
$wpp = Mage::getStoreConfig('payment/paypal_direct/active');
|
233 |
$wppp = Mage::getStoreConfig('payment/paypaluk_direct/active');
|
234 |
$result = !empty($wpp) || !empty($wppp);
|
235 |
+
|
236 |
if (!$result) {
|
237 |
$debug = $this->_getHelper()->__('Neither WSPP or WSPP Payflow are enabled');
|
238 |
ShopgateLogger::getInstance()->log($debug, ShopgateLogger::LOGTYPE_DEBUG);
|
240 |
return $result;
|
241 |
}
|
242 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal.php
CHANGED
@@ -40,7 +40,11 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal extends Shopgate_Framework_
|
|
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->
|
|
|
|
|
|
|
|
|
44 |
} else {
|
45 |
$this->setPaymentMethod('EXPRESS');
|
46 |
}
|
40 |
$standard = Mage::getModel('shopgate/payment_simple_paypal_standard', $this->getShopgateOrder());
|
41 |
|
42 |
if ($standard instanceof Shopgate_Framework_Model_Payment_Interface && $standard->isValid()) {
|
43 |
+
if ($this->_getConfigHelper()->getIsMagentoVersionLower1410()) {
|
44 |
+
$this->setPaymentMethod('STANDARD1400');
|
45 |
+
} else {
|
46 |
+
$this->setPaymentMethod('STANDARD');
|
47 |
+
}
|
48 |
} else {
|
49 |
$this->setPaymentMethod('EXPRESS');
|
50 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Express.php
CHANGED
@@ -35,6 +35,7 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
|
35 |
{
|
36 |
const PAYMENT_IDENTIFIER = ShopgateOrder::PAYPAL;
|
37 |
const XML_CONFIG_ENABLED = 'payment/paypal_express/active';
|
|
|
38 |
|
39 |
/**
|
40 |
* create new order for paypal express (type wspp)
|
@@ -135,7 +136,7 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
|
135 |
try {
|
136 |
switch ($paymentStatus) {
|
137 |
// paid
|
138 |
-
case
|
139 |
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
140 |
$trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
141 |
|
@@ -149,7 +150,7 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
|
149 |
$invoice->save();
|
150 |
$order->addRelatedObject($invoice);
|
151 |
break;
|
152 |
-
case
|
153 |
if (isset($paymentInfos['reason_code'])) {
|
154 |
$order->getPayment()->setIsTransactionPending(true);
|
155 |
$order->getPayment()->setIsFraudDetected(true);
|
@@ -163,7 +164,7 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
|
163 |
$trans->save();
|
164 |
$this->_getPaymentHelper()->importPaymentInformation($order->getPayment(), $paymentInfos);
|
165 |
$order->getPayment()->setTransactionAdditionalInfo(
|
166 |
-
|
167 |
$paymentInfos
|
168 |
);
|
169 |
|
@@ -235,5 +236,5 @@ class Shopgate_Framework_Model_Payment_Simple_Paypal_Express
|
|
235 |
{
|
236 |
return Mage::helper('shopgate/payment_wspp');
|
237 |
}
|
238 |
-
|
239 |
}
|
35 |
{
|
36 |
const PAYMENT_IDENTIFIER = ShopgateOrder::PAYPAL;
|
37 |
const XML_CONFIG_ENABLED = 'payment/paypal_express/active';
|
38 |
+
const PAYMENT_MODEL = 'paypal/express';
|
39 |
|
40 |
/**
|
41 |
* create new order for paypal express (type wspp)
|
136 |
try {
|
137 |
switch ($paymentStatus) {
|
138 |
// paid
|
139 |
+
case $this->_getPaymentHelper()->getPaypalCompletedStatus():
|
140 |
$invoice = $this->_getPaymentHelper()->createOrderInvoice($order);
|
141 |
$trans->setTxnType(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
|
142 |
|
150 |
$invoice->save();
|
151 |
$order->addRelatedObject($invoice);
|
152 |
break;
|
153 |
+
case $this->_getPaymentHelper()->getPaypalPendingStatus():
|
154 |
if (isset($paymentInfos['reason_code'])) {
|
155 |
$order->getPayment()->setIsTransactionPending(true);
|
156 |
$order->getPayment()->setIsFraudDetected(true);
|
164 |
$trans->save();
|
165 |
$this->_getPaymentHelper()->importPaymentInformation($order->getPayment(), $paymentInfos);
|
166 |
$order->getPayment()->setTransactionAdditionalInfo(
|
167 |
+
$this->_getPaymentHelper()->getTransactionRawDetails(),
|
168 |
$paymentInfos
|
169 |
);
|
170 |
|
236 |
{
|
237 |
return Mage::helper('shopgate/payment_wspp');
|
238 |
}
|
239 |
+
|
240 |
}
|
app/code/community/Shopgate/Framework/Model/Payment/Simple/Paypal/Standard1400.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 for mage v.1.4.0.0
|
26 |
+
*
|
27 |
+
* @author Konstantin Kiritsenko <konstantin@kiritsenko.com>
|
28 |
+
*/
|
29 |
+
class Shopgate_Framework_Model_Payment_Simple_Paypal_Standard1400
|
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 |
+
* Partial, online refund not supported
|
39 |
+
*
|
40 |
+
* @param Mage_Sales_Model_Order $magentoOrder
|
41 |
+
* @return Mage_Sales_Model_Order
|
42 |
+
*/
|
43 |
+
public function manipulateOrderWithPaymentData($magentoOrder)
|
44 |
+
{
|
45 |
+
$info = $this->getShopgateOrder()->getPaymentInfos();
|
46 |
+
$magentoOrder = parent::manipulateOrderWithPaymentData($magentoOrder);
|
47 |
+
$magentoOrder->getPayment()->setLastTransId($info['transaction_id']);
|
48 |
+
return $magentoOrder;
|
49 |
+
}
|
50 |
+
}
|
app/code/community/Shopgate/Framework/Model/Sales/Quote/Address/Total/ShopgatePaymentFee.php
CHANGED
@@ -46,7 +46,11 @@ class Shopgate_Framework_Model_Sales_Quote_Address_Total_ShopgatePaymentFee exte
|
|
46 |
{
|
47 |
parent::collect($address);
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
50 |
$shopgateOrder = Mage::getSingleton("core/session")->getData("shopgate_order");
|
51 |
if (!count($items)
|
52 |
|| is_null($shopgateOrder)
|
46 |
{
|
47 |
parent::collect($address);
|
48 |
|
49 |
+
if (Mage::helper("shopgate/config")->getIsMagentoVersionLower1410()) {
|
50 |
+
$items = $address->getAllItems();
|
51 |
+
} else {
|
52 |
+
$items = $this->_getAddressItems($address);
|
53 |
+
}
|
54 |
$shopgateOrder = Mage::getSingleton("core/session")->getData("shopgate_order");
|
55 |
if (!count($items)
|
56 |
|| is_null($shopgateOrder)
|
app/code/community/Shopgate/Framework/Model/Shopgate/Plugin.php
CHANGED
@@ -925,6 +925,13 @@ class Shopgate_Framework_Model_Shopgate_Plugin extends ShopgatePlugin
|
|
925 |
);
|
926 |
} else {
|
927 |
$quote->setCustomer($customer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
928 |
$this->log('external customer loaded', ShopgateLogger::LOGTYPE_DEBUG);
|
929 |
}
|
930 |
}
|
925 |
);
|
926 |
} else {
|
927 |
$quote->setCustomer($customer);
|
928 |
+
|
929 |
+
// also set customer in session some 3rd party plugins rely on it
|
930 |
+
Mage::getSingleton('customer/session')
|
931 |
+
->setCustomer($customer)
|
932 |
+
->setCustomerId($customer->getId())
|
933 |
+
->setCustomerGroupId($customer->getGroupId());
|
934 |
+
|
935 |
$this->log('external customer loaded', ShopgateLogger::LOGTYPE_DEBUG);
|
936 |
}
|
937 |
}
|
app/code/community/Shopgate/Framework/changelog.txt
CHANGED
@@ -1,5 +1,16 @@
|
|
1 |
'''English'''
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
'''Version 2.9.20'''
|
4 |
* Added a quote to getpaymentmethods
|
5 |
* Import of order /w coupon bug fixed
|
1 |
'''English'''
|
2 |
|
3 |
+
'''Version 2.9.21'''
|
4 |
+
* Fixed compatibility problem with Magento 1.4.0
|
5 |
+
* fixed plugin not active error during oAuth registration
|
6 |
+
* Totals collector Invalid Block Type exception fix
|
7 |
+
* Fixed problem with payment mapping for paypal_express
|
8 |
+
* implement sort order for bundle products
|
9 |
+
* Surcharges for child products will now take care of catalog price rueles
|
10 |
+
* Payone_Core new order email bug fix
|
11 |
+
* Group product associated children are sorted by position number
|
12 |
+
* Fixed missing payment methods in check_cart response
|
13 |
+
|
14 |
'''Version 2.9.20'''
|
15 |
* Added a quote to getpaymentmethods
|
16 |
* Import of order /w coupon bug fixed
|
app/code/community/Shopgate/Framework/controllers/FrameworkController.php
CHANGED
@@ -38,14 +38,15 @@ include_once Mage::getBaseDir("lib") . '/Shopgate/shopgate.php';
|
|
38 |
|
39 |
class Shopgate_Framework_FrameworkController extends Mage_Core_Controller_Front_Action
|
40 |
{
|
|
|
|
|
41 |
/**
|
42 |
* load the module and do api-request
|
43 |
*/
|
44 |
public function preDispatch()
|
45 |
{
|
46 |
-
if (Mage::app()->getRequest()->getActionName() ==
|
47 |
-
Mage::app()->getRequest()->setParam('action',
|
48 |
-
Mage::app()->getStore()->setConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ACTIVE, 1);
|
49 |
}
|
50 |
|
51 |
$this->_run();
|
@@ -78,7 +79,9 @@ class Shopgate_Framework_FrameworkController extends Mage_Core_Controller_Front_
|
|
78 |
|
79 |
try {
|
80 |
$config = Mage::helper("shopgate/config")->getConfig();
|
81 |
-
if (!Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ACTIVE)
|
|
|
|
|
82 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_PLUGIN_NOT_ACTIVE, 'plugin not active', true);
|
83 |
}
|
84 |
Mage::app()->loadArea("adminhtml");
|
38 |
|
39 |
class Shopgate_Framework_FrameworkController extends Mage_Core_Controller_Front_Action
|
40 |
{
|
41 |
+
const RECEIVE_AUTH_ACTION = 'receive_authorization';
|
42 |
+
|
43 |
/**
|
44 |
* load the module and do api-request
|
45 |
*/
|
46 |
public function preDispatch()
|
47 |
{
|
48 |
+
if (Mage::app()->getRequest()->getActionName() == self::RECEIVE_AUTH_ACTION) {
|
49 |
+
Mage::app()->getRequest()->setParam('action', self::RECEIVE_AUTH_ACTION);
|
|
|
50 |
}
|
51 |
|
52 |
$this->_run();
|
79 |
|
80 |
try {
|
81 |
$config = Mage::helper("shopgate/config")->getConfig();
|
82 |
+
if (!Mage::getStoreConfig(Shopgate_Framework_Model_Config::XML_PATH_SHOPGATE_ACTIVE)
|
83 |
+
&& Mage::app()->getRequest()->getParam("action") != self::RECEIVE_AUTH_ACTION
|
84 |
+
) {
|
85 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_PLUGIN_NOT_ACTIVE, 'plugin not active', true);
|
86 |
}
|
87 |
Mage::app()->loadArea("adminhtml");
|
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>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Shopgate_Framework>
|
5 |
+
<version>2.9.21</version>
|
6 |
</Shopgate_Framework>
|
7 |
</modules>
|
8 |
<global>
|
app/design/adminhtml/default/default/layout/shopgate.xml
CHANGED
@@ -10,74 +10,90 @@
|
|
10 |
</default>
|
11 |
<adminhtml_system_config_edit>
|
12 |
<reference name="head">
|
13 |
-
<action method="addCss"
|
|
|
|
|
14 |
</reference>
|
15 |
</adminhtml_system_config_edit>
|
16 |
<adminhtml_shopgate_connect>
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
<adminhtml_shopgate_manage>
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
<adminhtml_shopgate_disconnect>
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
|
51 |
-
|
52 |
<reference name="order_totals">
|
53 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
54 |
</reference>
|
55 |
</adminhtml_sales_order_view>
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
</layout>
|
10 |
</default>
|
11 |
<adminhtml_system_config_edit>
|
12 |
<reference name="head">
|
13 |
+
<action method="addCss">
|
14 |
+
<name>shopgate/shopgate_admin.css</name>
|
15 |
+
</action>
|
16 |
</reference>
|
17 |
</adminhtml_system_config_edit>
|
18 |
<adminhtml_shopgate_connect>
|
19 |
+
<reference name="content">
|
20 |
+
<block type="shopgate/adminhtml_oAuth_connect" after="-" name="shopgate.connect">
|
21 |
+
<action method="removeButton">
|
22 |
+
<alias>reset</alias>
|
23 |
+
</action>
|
24 |
+
<action method="removeButton">
|
25 |
+
<alias>delete</alias>
|
26 |
+
</action>
|
27 |
+
<action method="removeButton">
|
28 |
+
<alias>save</alias>
|
29 |
+
</action>
|
30 |
+
</block>
|
31 |
+
<block type="shopgate/adminhtml_oAuth_data" after="-" name="shopgate.data"/>
|
32 |
+
<block type="shopgate/adminhtml_oAuth_connect_overlay" after="-" name="shopgate.overlay"/>
|
33 |
+
</reference>
|
34 |
+
<reference name="head">
|
35 |
+
<action method="addCss">
|
36 |
+
<name>shopgate/shopgate_admin.css</name>
|
37 |
+
</action>
|
38 |
+
<action method="addItem">
|
39 |
+
<type>skin_js</type>
|
40 |
+
<name>shopgate/oauth_connect.js</name>
|
41 |
+
<params/>
|
42 |
+
<if/>
|
43 |
+
</action>
|
44 |
+
</reference>
|
45 |
+
</adminhtml_shopgate_connect>
|
46 |
<adminhtml_shopgate_manage>
|
47 |
+
<reference name="content">
|
48 |
+
<block type="shopgate/adminhtml_oAuth_manage" after="-" name="shopgate.manage">
|
49 |
+
<action method="unsetChild">
|
50 |
+
<alias>export_button</alias>
|
51 |
+
</action>
|
52 |
+
<action method="unsetChild">
|
53 |
+
<alias>reset_filter_button</alias>
|
54 |
+
</action>
|
55 |
+
<action method="unsetChild">
|
56 |
+
<alias>search_button</alias>
|
57 |
+
</action>
|
58 |
+
</block>
|
59 |
+
</reference>
|
60 |
+
</adminhtml_shopgate_manage>
|
61 |
<adminhtml_shopgate_disconnect>
|
62 |
+
<reference name="content">
|
63 |
+
<block type="shopgate/adminhtml_oAuth_disconnect" after="-" name="shopgate.disconnect"/>
|
64 |
+
</reference>
|
65 |
+
</adminhtml_shopgate_disconnect>
|
66 |
|
67 |
+
<adminhtml_sales_order_view>
|
68 |
<reference name="order_totals">
|
69 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
70 |
</reference>
|
71 |
</adminhtml_sales_order_view>
|
72 |
|
73 |
+
<adminhtml_sales_order_invoice_new>
|
74 |
+
<reference name="invoice_totals">
|
75 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
76 |
+
</reference>
|
77 |
+
</adminhtml_sales_order_invoice_new>
|
78 |
+
<adminhtml_sales_order_invoice_view>
|
79 |
+
<reference name="invoice_totals">
|
80 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
81 |
+
</reference>
|
82 |
+
</adminhtml_sales_order_invoice_view>
|
83 |
|
84 |
+
<adminhtml_sales_order_creditmemo_new>
|
85 |
+
<reference name="creditmemo_totals">
|
86 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
87 |
+
</reference>
|
88 |
+
</adminhtml_sales_order_creditmemo_new>
|
89 |
+
<adminhtml_sales_order_creditmemo_view>
|
90 |
+
<reference name="creditmemo_totals">
|
91 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
92 |
+
</reference>
|
93 |
+
</adminhtml_sales_order_creditmemo_view>
|
94 |
+
<adminhtml_sales_order_creditmemo_updateqty>
|
95 |
+
<reference name="creditmemo_totals">
|
96 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
97 |
+
</reference>
|
98 |
+
</adminhtml_sales_order_creditmemo_updateqty>
|
99 |
</layout>
|
app/design/frontend/base/default/layout/shopgate.xml
CHANGED
@@ -9,91 +9,91 @@
|
|
9 |
|
10 |
<sales_order_print>
|
11 |
<reference name="order_totals">
|
12 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
13 |
</reference>
|
14 |
</sales_order_print>
|
15 |
|
16 |
<sales_order_view>
|
17 |
<reference name="order_totals">
|
18 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
19 |
</reference>
|
20 |
</sales_order_view>
|
21 |
|
22 |
<sales_order_invoice>
|
23 |
<reference name="invoice_totals">
|
24 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
25 |
</reference>
|
26 |
</sales_order_invoice>
|
27 |
|
28 |
<sales_order_printinvoice>
|
29 |
<reference name="invoice_totals">
|
30 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
31 |
</reference>
|
32 |
</sales_order_printinvoice>
|
33 |
|
34 |
<sales_email_order_items>
|
35 |
<reference name="order_totals">
|
36 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
37 |
</reference>
|
38 |
</sales_email_order_items>
|
39 |
|
40 |
<sales_email_order_invoice_items>
|
41 |
<reference name="invoice_totals">
|
42 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
43 |
</reference>
|
44 |
</sales_email_order_invoice_items>
|
45 |
|
46 |
<sales_order_creditmemo>
|
47 |
<reference name="creditmemo_totals">
|
48 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
49 |
</reference>
|
50 |
</sales_order_creditmemo>
|
51 |
|
52 |
<sales_order_printcreditmemo>
|
53 |
<reference name="creditmemo_totals">
|
54 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
55 |
</reference>
|
56 |
</sales_order_printcreditmemo>
|
57 |
|
58 |
<sales_email_order_creditmemo_items>
|
59 |
<reference name="creditmemo_totals">
|
60 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
61 |
</reference>
|
62 |
</sales_email_order_creditmemo_items>
|
63 |
|
64 |
<sales_guest_view>
|
65 |
<reference name="order_totals">
|
66 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
67 |
</reference>
|
68 |
</sales_guest_view>
|
69 |
|
70 |
<sales_guest_print>
|
71 |
<reference name="order_totals">
|
72 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
73 |
</reference>
|
74 |
</sales_guest_print>
|
75 |
|
76 |
<sales_guest_invoice>
|
77 |
<reference name="invoice_totals">
|
78 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
79 |
</reference>
|
80 |
</sales_guest_invoice>
|
81 |
|
82 |
<sales_guest_printinvoice>
|
83 |
<reference name="invoice_totals">
|
84 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
85 |
</reference>
|
86 |
</sales_guest_printinvoice>
|
87 |
|
88 |
<sales_guest_creditmemo>
|
89 |
<reference name="creditmemo_totals">
|
90 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
91 |
</reference>
|
92 |
</sales_guest_creditmemo>
|
93 |
|
94 |
<sales_guest_printcreditmemo>
|
95 |
<reference name="creditmemo_totals">
|
96 |
-
<block name="shopgate_payment_fee" type="shopgate/
|
97 |
</reference>
|
98 |
</sales_guest_printcreditmemo>
|
99 |
|
9 |
|
10 |
<sales_order_print>
|
11 |
<reference name="order_totals">
|
12 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
13 |
</reference>
|
14 |
</sales_order_print>
|
15 |
|
16 |
<sales_order_view>
|
17 |
<reference name="order_totals">
|
18 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
19 |
</reference>
|
20 |
</sales_order_view>
|
21 |
|
22 |
<sales_order_invoice>
|
23 |
<reference name="invoice_totals">
|
24 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
25 |
</reference>
|
26 |
</sales_order_invoice>
|
27 |
|
28 |
<sales_order_printinvoice>
|
29 |
<reference name="invoice_totals">
|
30 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
31 |
</reference>
|
32 |
</sales_order_printinvoice>
|
33 |
|
34 |
<sales_email_order_items>
|
35 |
<reference name="order_totals">
|
36 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
37 |
</reference>
|
38 |
</sales_email_order_items>
|
39 |
|
40 |
<sales_email_order_invoice_items>
|
41 |
<reference name="invoice_totals">
|
42 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
43 |
</reference>
|
44 |
</sales_email_order_invoice_items>
|
45 |
|
46 |
<sales_order_creditmemo>
|
47 |
<reference name="creditmemo_totals">
|
48 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
49 |
</reference>
|
50 |
</sales_order_creditmemo>
|
51 |
|
52 |
<sales_order_printcreditmemo>
|
53 |
<reference name="creditmemo_totals">
|
54 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
55 |
</reference>
|
56 |
</sales_order_printcreditmemo>
|
57 |
|
58 |
<sales_email_order_creditmemo_items>
|
59 |
<reference name="creditmemo_totals">
|
60 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
61 |
</reference>
|
62 |
</sales_email_order_creditmemo_items>
|
63 |
|
64 |
<sales_guest_view>
|
65 |
<reference name="order_totals">
|
66 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
67 |
</reference>
|
68 |
</sales_guest_view>
|
69 |
|
70 |
<sales_guest_print>
|
71 |
<reference name="order_totals">
|
72 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_orderPaymentFee" before="tax"/>
|
73 |
</reference>
|
74 |
</sales_guest_print>
|
75 |
|
76 |
<sales_guest_invoice>
|
77 |
<reference name="invoice_totals">
|
78 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
79 |
</reference>
|
80 |
</sales_guest_invoice>
|
81 |
|
82 |
<sales_guest_printinvoice>
|
83 |
<reference name="invoice_totals">
|
84 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_invoicePaymentFee" before="tax"/>
|
85 |
</reference>
|
86 |
</sales_guest_printinvoice>
|
87 |
|
88 |
<sales_guest_creditmemo>
|
89 |
<reference name="creditmemo_totals">
|
90 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
91 |
</reference>
|
92 |
</sales_guest_creditmemo>
|
93 |
|
94 |
<sales_guest_printcreditmemo>
|
95 |
<reference name="creditmemo_totals">
|
96 |
+
<block name="shopgate_payment_fee" type="shopgate/totals_creditmemoPaymentFee" before="tax"/>
|
97 |
</reference>
|
98 |
</sales_guest_printcreditmemo>
|
99 |
|
lib/Shopgate/changelog.txt
CHANGED
@@ -1,427 +1,13 @@
|
|
1 |
-
'''
|
2 |
-
|
3 |
-
'''Version 2.9.21'''
|
4 |
-
* Konstanten für weitere Zahlungsarten in Klasse ShopgateCartBase hinzugefügt
|
5 |
-
|
6 |
-
'''Version 2.9.20'''
|
7 |
-
* XML-Export: Es werden nun keine XML-Tags mehr leer hinzugefügt, wenn diese eigentlich entfernt werden sollten
|
8 |
-
|
9 |
-
'''Version 2.9.19'''
|
10 |
-
* Produkt-XML-Export: manche XML-Knoten wurden fälschlicherweise mit "forceEmpty"-Attribute exportiert
|
11 |
-
|
12 |
-
'''Version 2.9.18'''
|
13 |
-
* Einen Bug behoben, der die Kompatibilität mit PHP < 5.3 gebrochen hat
|
14 |
-
|
15 |
-
'''Version 2.9.17'''
|
16 |
-
* Problem beim XML Export mit Validierung von boolschen Werten behoben
|
17 |
-
|
18 |
-
'''Version 2.9.16'''
|
19 |
-
* Shopgate Konfiguration um Parameter force_source_encoding erweitert
|
20 |
-
|
21 |
-
'''Version 2.9.15'''
|
22 |
-
* Review-XML-Export: Falschen Type-Hint auf Shopgate_Model_Review korrigiert
|
23 |
-
|
24 |
-
'''Version 2.9.14'''
|
25 |
-
* Exporte: Fehler beim Setzen des Speicher- und Zeitlimits für Export-Funktionen behoben
|
26 |
-
|
27 |
-
'''Version 2.9.13'''
|
28 |
-
* ShopgateLibraryException: neuer Konstruktor-Parameter für vorherige Exception; verbessertes Logging von Stacktraces
|
29 |
-
* Produkt-XML-Export: Bei <category> die Subnode <paths> entfernt
|
30 |
-
* Produkt-XML-Export: Nodes <tax_percent> + <tax_class> wird nur noch exportiert, wenn explizit ein Wert gesetzt wurde
|
31 |
-
* XML-Export: alle ungültigen Zeichen werden nun herausgefiltert (entsprechend den Regeln von www.w3.org)
|
32 |
-
* neue Konstante für die Sichtbarkeit von Produkten hinzugefügt
|
33 |
-
|
34 |
-
'''Version 2.9.12'''
|
35 |
-
* ShopgateCustomer::getRegistrationDate() liefert jetzt das Registrierungsdatum bei Aufrufen von ShopgatePlugin::registerCustomer()
|
36 |
-
* ShopgateExternalOrder::setStatusName() und ::setStatusColor() erlaubt das Setzen eines individuellen Bestellstatus bei Aufrufen von ShopgatePlugin::getOrders()
|
37 |
-
|
38 |
-
'''Version 2.9.11'''
|
39 |
-
* Produkt-XML-Export: leere Knoten in Kindprodukten sind jetzt möglich
|
40 |
-
* Nicht unterstütze Zeichen aus CDATA entfernt
|
41 |
-
* Bugfix: nicht existente Funktion ShopgateContainerVisitor::visitCoupon() wurde aufgerufen
|
42 |
-
|
43 |
-
'''Version 2.9.10'''
|
44 |
-
* Fehlerhafte Benamung der Konstante behoben
|
45 |
-
|
46 |
-
'''Version 2.9.9'''
|
47 |
-
* Es ist nun möglich, Instanzen von Shopgate-Hilfsklassen über einen Funktionsaufruf zu bekommen, um zu garantieren, dass die Hilfsfunktionen in jeder Ebene des Shopgate-Plugins zur Verfügung stehen
|
48 |
-
|
49 |
-
'''Version 2.9.8'''
|
50 |
-
* Setter und Getter für external_customer_group_id hinzugefügt
|
51 |
-
* beim Default-Redirect (d.h. wenn die zugehörige mobile Seite unbekannt ist) wird kein <link>-Tag mehr ausgegeben
|
52 |
-
* PHPDoc für einige Methoden und Klassen korrigiert
|
53 |
-
|
54 |
-
'''Version 2.9.7'''
|
55 |
-
* Unterstützung für Tracking-Parameter beim Bestellungsimport hinzugefügt
|
56 |
-
|
57 |
-
'''Version 2.9.6'''
|
58 |
-
* Zugriffe auf Request-Parameter überarbeitet
|
59 |
-
|
60 |
-
'''Version 2.9.5'''
|
61 |
-
* Fehler bei der Verarbeitung der Request-Parameter behoben
|
62 |
-
* Fehler im XML-Export-Encoding behoben
|
63 |
-
|
64 |
-
'''Version 2.9.4'''
|
65 |
-
* PHPDoc überarbeitet
|
66 |
-
* Konstanten für Fehlercodes der Shopgate Merchant API hinzugefügt
|
67 |
-
* direkte Zugriffe auf $_REQUEST und $_GET entfernt
|
68 |
-
|
69 |
-
'''Version 2.9.3'''
|
70 |
-
* Preis Model um den Grundpreis erweitert
|
71 |
-
|
72 |
-
'''Version 2.9.1'''
|
73 |
-
* CDATA für den Author der Rezensionen in der XML hinzugefügt
|
74 |
-
|
75 |
-
'''Version 2.9.0'''
|
76 |
-
* Export der Kundenrezensionen als XML hinzugefügt
|
77 |
-
|
78 |
-
'''Version 2.8.10'''
|
79 |
-
* Linkexport für Produkte und Kategorien um CDATA erweitert (XML)
|
80 |
-
* CNAME Validierung erweitert
|
81 |
-
* Ungenutzte Code Teile entfernt
|
82 |
-
|
83 |
-
'''Version 2.8.9'''
|
84 |
-
* Maximalwert des Speichers kann gesetzt werden
|
85 |
-
* Maximale Ausführungszeit kann gesetzt werden
|
86 |
-
* Der ShopgateErrorHandler gibt nun by default keinen stacktrace mehr aus
|
87 |
-
|
88 |
-
'''Version 2.8.8'''
|
89 |
-
* XML - Images neuer Flag für isCover
|
90 |
-
|
91 |
-
'''Version 2.8.7'''
|
92 |
-
* Integration für Amazon Payments
|
93 |
-
|
94 |
-
'''Version 2.8.6'''
|
95 |
-
* Optimierte Funktion für leere XML Knoten entfernen
|
96 |
-
* Optimierte Funktion für Aufbereitung der XML Children
|
97 |
-
|
98 |
-
'''Version 2.8.5'''
|
99 |
-
* Entfernen von git Konflikt markup
|
100 |
-
* Ersetzen von json_encode Aufrufen durch die interne Methode jsonEncode
|
101 |
-
|
102 |
-
'''Version 2.8.4'''
|
103 |
-
* Regex Anpassung für cname Validierung
|
104 |
-
* Neuer Kindknoten zur Unterstützung von Gruppenprodukten und Darstellungstypen für XML hinzugefügt
|
105 |
-
|
106 |
-
'''Version 2.8.3'''
|
107 |
-
* ungültige UTF-8-Sequenzen für XML werden jetzt beim Export entfernt
|
108 |
-
* Einstellung 'supported_methods_cron' hinzugefügt, mit der ein Plugin mitteilen kann, welche Methoden bei der cron-Action unterstützt werden
|
109 |
-
|
110 |
-
'''Version 2.8.2'''
|
111 |
-
* Fehler beim Konvertieren eines Encodings in UTF-8 behoben
|
112 |
-
|
113 |
-
'''Version 2.8.1'''
|
114 |
-
* neues Attribut ShopgateExternalOrderExtraCost::$label mit Getter und Setter hinzugefügt
|
115 |
-
* bei check_cart wird jetzt die 'currency' des Warenkorbs in der API-Response mit dem Wert des Warenkorbs vom Request vorinitialisiert
|
116 |
-
|
117 |
-
'''Version 2.8.0'''
|
118 |
-
* Unterstützung für das Synchronisieren einer Favoritenliste über die Shopgate Plugin API hinzugefügt
|
119 |
-
* Unterstützung für den Abruf von Bestellungen aus dem Shopsystem über die Shopgate Plugin API hinzugefügt
|
120 |
-
* Shopgate-Bestellungen enthalten jetzt das Feld "shipping_tax_percent" mit dem Steuersatz der Versandkosten
|
121 |
-
* der Parameter $trackingNumber der Methode ShopgateMerchantApi::addOrderDeliveryNote() ist jetzt optional (Standard: leerer String)
|
122 |
-
* 'related_shop_items' zur Standard-Produkt-CSV-Zeile hinzugefügt
|
123 |
-
|
124 |
-
'''Version 2.7.2'''
|
125 |
-
* Bugfix für Inkonsistenz während Methodenumbenennung
|
126 |
-
* Verschleiern des oauth_access_token bei der Ausgabe der Ping-Methode
|
127 |
-
|
128 |
-
'''Version 2.7.1'''
|
129 |
-
* Bugfix in der receive_authorization PluginAPI-Action
|
130 |
-
* Shops mit bereits eingerichtetem Shopgate-Plugin bekommen nun automatisch ein Oauth-Access-Token zugewiesen
|
131 |
-
|
132 |
-
'''Version 2.7.0'''
|
133 |
-
* neues Attribute für XML Export tierprices (AggregateChildren) eingefügt
|
134 |
-
* Einführung von OAuth als zusätzlicher Authentifizierungs-Service zur Shopgate MerchantAPI.
|
135 |
-
* Unterstützung für Streaming-Ausgabe der Exporte via php://out
|
136 |
-
|
137 |
-
'''Version 2.6.10'''
|
138 |
-
* Verschwundene Konstante PLUGIN_API_NO_ITEMS wieder hinzugefügt.
|
139 |
-
|
140 |
-
'''Version 2.6.9'''
|
141 |
-
* Bugfix für das Encoding von Get Parameter beim mobilen Redirect
|
142 |
-
* Bugfix für das Filtern von Get Parametern beim mobilen Redirect
|
143 |
-
* Bugfix für das Encoding von unicode
|
144 |
-
* Neue Fehler-Code-Konstante PLUGIN_MISSING_ACCOUNT_PERMISSIONS
|
145 |
-
* Neue Fehler-Code-Konstante CART_ITEM_REQUESTED_QUANTITY_UNDER_MINIMUM_QUANTITY
|
146 |
-
* Neue Fehler-Code-Konstante CART_ITEM_REQUESTED_QUANTITY_OVER_MAXIMUM_QUANTITY
|
147 |
-
|
148 |
-
'''Version 2.6.8'''
|
149 |
-
* Durchreichen von Get Parametern für den mobilen Redirect bezüglich tracking
|
150 |
-
* Methode ping um XML Pfade erweitert
|
151 |
-
|
152 |
-
'''Version 2.6.7'''
|
153 |
-
* verbessertes Exception Handling in "loader" Methoden
|
154 |
-
* Funktionalität nachgereicht um den mobilen redirect via javascript zu unterbinden
|
155 |
-
|
156 |
-
'''Version 2.6.6'''
|
157 |
-
* Performance Steigerung bei Nutzung der mobilen Weiterleitung rückgängig
|
158 |
-
|
159 |
-
'''Version 2.6.5'''
|
160 |
-
* Fehler in der mobilen Weiterleitung behoben
|
161 |
-
|
162 |
-
'''Version 2.6.4'''
|
163 |
-
* Performance Steigerung bei Nutzung der mobilen Weiterleitung
|
164 |
-
|
165 |
-
'''Version 2.6.3'''
|
166 |
-
* Konstruktor refaktoriert
|
167 |
-
|
168 |
-
'''Version 2.6.2'''
|
169 |
-
* neuen default Datentype "datetime" hinzugefügt
|
170 |
-
|
171 |
-
'''Version 2.6.1'''
|
172 |
-
* Kategorien können nun in Chunks abgerufen werden
|
173 |
-
|
174 |
-
'''Version 2.6.0'''
|
175 |
-
* XML Export für Produkte und Kategorien hinzugefügt.
|
176 |
-
|
177 |
-
'''Version 2.5.7'''
|
178 |
-
* Feld display_name zu ShopgateShippingInfo hinzugefügt
|
179 |
-
* Felder supported_fields_get_settings und supported_fields_check_cart in ShopgateConfig hinzugefügt
|
180 |
-
|
181 |
-
'''Version 2.5.6'''
|
182 |
-
* Standardwert für "enable_default_redirect" in der ShopgateConfig Klasse geändert
|
183 |
-
* Einbinden von Vary Header für Seiten die auf mobile Endgeräte weitergeleitet werden können
|
184 |
-
* Implementierung von ShopgateCartCustomer und ShopgateCartCustomerGroup für checkCart
|
185 |
-
|
186 |
-
'''Version 2.5.5'''
|
187 |
-
* Encoding-Funktionen um Parameter zur Nutzung von iconv() anstatt mb_convert_encoding() erweitert
|
188 |
-
|
189 |
-
'''Version 2.5.4'''
|
190 |
-
* Die Methode Ping um einen zusätzlichen Informationskontainer erweitert ('shop_info')
|
191 |
-
|
192 |
-
'''Version 2.5.3'''
|
193 |
-
* Klasse ShopgateOrderItem um ein Feld namens "parent_item_number" erweitert
|
194 |
-
|
195 |
-
'''Version 2.5.2'''
|
196 |
-
* ShopgateOrderItem::$order_item_id inkl. Getter und Setter eingefügt
|
197 |
-
* Funktion getErrorType() im globalen Kontext umbenannt in shopgateGetErrorType()
|
198 |
-
|
199 |
-
'''Version 2.5.1'''
|
200 |
-
* Fehler in den Setter-Methoden mancher von ShopgateContainer abgeleiteten Klassen behoben
|
201 |
-
|
202 |
-
'''Version 2.5.0'''
|
203 |
-
* Medienexport zu Produkten implementiert
|
204 |
-
* Die Methode check_stock eingeführt und den Bestand der übermittelten Produkte zu prüfen
|
205 |
-
* Validierung der Individualisierungsoption(text), falls eingegebener Text zu lang ist
|
206 |
-
|
207 |
-
'''Version 2.4.16'''
|
208 |
-
* ShopgateCart::$internal_cart_info inkl. Getter und Setter eingefügt
|
209 |
-
* in der Rückgabe von ShopgatePlugin::checkCart() wird jetzt der Index "internal_cart_info" zurückgegeben
|
210 |
-
* ShopgateShippingInfo::$internal_shipping_info inkl. Getter und Setter eingefügt
|
211 |
-
* "s" am Ende von ShopgateShippingMethod::$internal_shipping_infos und den Gettern und Settern entfernt
|
212 |
-
|
213 |
-
'''Version 2.4.15'''
|
214 |
-
* Schalter für Steuerklassen implementiert
|
215 |
-
|
216 |
-
'''Version 2.4.14'''
|
217 |
-
* Korrektur für custom_fields
|
218 |
-
* Eine neue Hilfsmethode wurde hinzugefügt, mit welcher ein Kreuzprodukt über mehrere Arrays durchgeführt wird, die in einem übergeordneten Array angeordnet sind.
|
219 |
-
|
220 |
-
'''Version 2.4.13'''
|
221 |
-
* Die Währung wird bei check_cart nun global für den kompletten Warenkorb gültig übergeben
|
222 |
-
|
223 |
-
'''Version 2.4.12'''
|
224 |
-
* Füge Visitor Methoden für Shipping, Payment und CartItem Klassen ein (array visitor)
|
225 |
-
|
226 |
-
'''Version 2.4.11'''
|
227 |
-
* Fehler im Logging behoben
|
228 |
-
|
229 |
-
'''Version 2.4.10'''
|
230 |
-
* Füge Visitor Methoden für Shipping, Payment und CartItem Klassen ein (utf8 visitor)
|
231 |
-
|
232 |
-
'''Version 2.4.9'''
|
233 |
-
* Die Methode check_cart gibt nun neben den Coupons auch Warenkorbprodukte mit Lagerinformationen sowie Versand- und Zahlmethoden zurück, welche für gegebene Adresse verfügbar sind
|
234 |
-
|
235 |
-
'''Version 2.4.8'''
|
236 |
-
* Error codes für get_customer hinzugefügt
|
237 |
-
|
238 |
-
'''Version 2.4.7'''
|
239 |
-
* Error code für register_customer implementiert
|
240 |
-
|
241 |
-
'''Version 2.4.6'''
|
242 |
-
* Konstanten für weitere Zahlungsarten in Klasse ShopgateCartBase hinzugefügt
|
243 |
-
|
244 |
-
'''Version 2.4.5'''
|
245 |
-
* Verbessertes Logging zur Analyse von schweren Fehlern
|
246 |
-
|
247 |
-
'''Version 2.4.4'''
|
248 |
-
* Funktionalität implementiert um den Inhalt eines ShopgateContainers auf Gleichheit zu prüfen
|
249 |
-
|
250 |
-
'''Version 2.4.3'''
|
251 |
-
* Kompatibilität mit PHP-Versionen unter 5.3 wiederhergestellt
|
252 |
-
|
253 |
-
'''Version 2.4.2'''
|
254 |
-
* zusätzliche Benutzerangaben für Bestellungen und Adressen eingefügt (ShopgateCartBase::$custom_fields, ShopgateAddress::$custom_fields)
|
255 |
-
* Optimierung des Speicherverbrauchs und der CPU-Nutzung durch die Behebung eines Fehlers
|
256 |
-
|
257 |
-
'''Version 2.4.1'''
|
258 |
-
* neuen Fehlercode hinzugefügt (90 - error sending mail)
|
259 |
-
|
260 |
-
'''Version 2.4.0'''
|
261 |
-
* Die Actions register_customer, get_debug_info und set_settings wurden hinzugefügt
|
262 |
-
* Der <link>-Tag wird nur noch bei einem freigeschalteten Shop in den <head>-Tag ausgegeben
|
263 |
-
|
264 |
-
'''Version 2.3.10'''
|
265 |
-
* Beim Item Export besteht die Möglichkeit beliebig viele Optionen, Inputs und Attribute zu exportieren
|
266 |
-
|
267 |
-
'''Version 2.3.9'''
|
268 |
-
* Die ShopgateObject Klasse enthält nun eine Methode zur Ausgabe von Objekten mit interner Rekursion (u_print_r).
|
269 |
-
* Die ShopgatePlugin Klasse beinhaltet nun eine Hilfsmethode zur Ermittlung des verbrauchten Arbeitsspeichers inkl. Umrechnung auf die benötigte Einheit.
|
270 |
-
* Bei der Ausführung von "executeLoaders" kann nun das Logging des verbrauchten Arbeitsspeichers vor und nach jeder ausgeführten Methode aktiviert werden.
|
271 |
-
* Funktion splitStreetData() in Klasse ShopgateAddress verbessert, da diese Straße und Hausnr. in manchen Fällen falsch aufgeteilt hat.
|
272 |
-
|
273 |
-
'''Version 2.3.8'''
|
274 |
-
* Unterstützung für erweiterte Informationen zum Versand, die jetzt durch check_cart und redeem_coupon zur Verfügung gestellt werden
|
275 |
-
* Konstanten zur Umrechnung von Gewichten
|
276 |
-
|
277 |
-
'''Version 2.3.7'''
|
278 |
-
* das in der ShopgateConfig hinterlegte Encoding wird jetzt auch beim Export berücksichtigt
|
279 |
-
|
280 |
-
'''Version 2.3.6'''
|
281 |
-
* shopgate_license.txt hinzugefügt
|
282 |
-
|
283 |
-
'''Version 2.3.5'''
|
284 |
-
* je eine index.php zu jedem Verzeichnis hinzugefügt
|
285 |
-
|
286 |
-
'''Version 2.3.4'''
|
287 |
-
* Bugfix in der ShopgateOrder Klasse - delivery_notes wird nun mit einem Leerarray initialisiert
|
288 |
-
* Beim Ausführen von Loader-Methoden werden detailliertere Exception-Meldungen erzeugt
|
289 |
-
|
290 |
-
'''Version 2.3.3'''
|
291 |
-
* Lizenz Header hinzugefügt
|
292 |
-
|
293 |
-
'''Version 2.3.2'''
|
294 |
-
* Logging verbessert, wenn Datei nicht geöffnet werden konnte
|
295 |
-
* neue payment method ids hinzugefügt
|
296 |
-
* Logger erlaubt jetzt, Feldnamen, die in den Logs verschleiert oder entfernt werden sollen, dynamisch hinzuzufügen
|
297 |
-
|
298 |
-
'''Version 2.3.1'''
|
299 |
-
* Wenn keine Shopnumber gesetzt ist, wird der Redirect Script nicht in die Seite gerendert
|
300 |
-
* bei einem Ping wird die Dateigröße und der Besitzer ausgelesen
|
301 |
-
|
302 |
-
'''Version 2.3.0'''
|
303 |
-
* Neue Funktion get_settings() zum Exportieren der Steuersätze, -klassen, und -regeln des Shops (und zukünftig weiterer Einstellungen)
|
304 |
-
* Standard-Wert für send_customer_email für Methode add_order_delifery_note auf false geändert
|
305 |
-
* Bei API-calls kann nun ein Feld "handle_errors" übergeben werden. Der übergebene Wert wird an error_reporting() weitergereicht
|
306 |
-
|
307 |
-
'''Version 2.2.2'''
|
308 |
-
* die Header für die Authentifizierung werden jetzt bei jedem Request per ShopgateMerchantApi-Klasse neu generiert
|
309 |
-
* die Einstellung "enable_get_redirect_keywords" wird jetzt konsequent als Boolean genutzt, die Nutzung als Zeitangabe für die Cache-Lifetime entfällt
|
310 |
-
* es gibt einen neuen Weiterleitungstyp "default", der für Seiten eingesetzt wird, die nicht zugeordnet werden können
|
311 |
-
* es gibt eine neue Einstellung "enable_default_redirect", mit denen die "default"-Weiterleitung (de-)aktiviert werden kann
|
312 |
-
* die Einstellung "server" wurde um den Wert "sl" erweitert, mit dem der Shopgate Spotlight-Server angesprochen werden kann (API, Mobile Header, Weiterleitung)
|
313 |
-
* der Paramter "cart" wird bei Aufrufen der Shopgate Plugin API jetzt entfernt, um zu große Logdateien zu vermeiden
|
314 |
-
|
315 |
-
'''Version 2.2.1'''
|
316 |
-
* Neuen Schalter für die Standard-Weiterleitung von Contentseiten zur mobilen Startseite in der Klasse ShopgateConfig hinzugefügt
|
317 |
-
* Paramater send_customer_mail zu Merchant API Methode addOrderDeliveryNote() hinzugefügt
|
318 |
-
* Neues Shopgate Versandsystem wird jetzt unterstützt
|
319 |
-
|
320 |
-
'''Version 2.2.0'''
|
321 |
-
* Es sind zwei neue Methoden hinzugekommen, die implementiert werden müssen: ShopgatePlugin::redeemCoupons() und ::checkCart(). Dadurch werden durch das Shopsystem angebotene Gutscheine auch im Mobilshop verwendbar
|
322 |
-
* Der Parameter "keep_debug_log" verhindert das Überschreiben der Debug-Log bei eingehenden API-Requests
|
323 |
-
|
324 |
-
'''Version 2.1.26'''
|
325 |
-
* die Konvertierung der Zeichensätze wird jetzt optional mit iconv durchgeführt, wenn die mb_string-Erweiterung für PHP nicht installiert ist
|
326 |
-
* Logik zur dateibasierten Verarbeitung einer globalen Konfiguration und mehreren sprachabhängigen Konfigurationen implementiert
|
327 |
-
|
328 |
-
'''Version 2.1.25'''
|
329 |
-
* Problem mit einer Ausgabe während dem Laden der Konfigurationsdatei behoben
|
330 |
-
* Implementierung der neuen Shopgate-Merchant-API-Felder "item_number_public" und "attributes", welche in "get_orders" zurückgeliefert werden
|
331 |
-
* Fehler behoben, durch den das Umbenennen von CSV-Dateien unter Windows-Server-Systemen fehlschlug
|
332 |
-
|
333 |
-
'''Version 2.1.24'''
|
334 |
-
* Problem beim Laden der Konfiguration per ob_start() und ob_end_clean() behoben
|
335 |
-
|
336 |
-
'''Version 2.1.23'''
|
337 |
-
* bei Requests an die Shopgate Plugin API wird jetzt die Shopnummer überprüft
|
338 |
-
* bei der Alias-Weiterleitung wird kein https:// mehr verwendet
|
339 |
-
* beim Weiterleitung-CNAME ist nur noch http:// erlaubt
|
340 |
-
* Fehler beim mehrfachen Laden der Konfiguration behoben
|
341 |
-
|
342 |
-
'''Version 2.1.22'''
|
343 |
-
* Problem beim Abruf der Redirect-Keywords behoben
|
344 |
-
|
345 |
-
'''Version 2.1.21'''
|
346 |
-
* Problem beim Laden der Shopgate Konfigurationsdatei behoben
|
347 |
-
|
348 |
-
'''Version 2.1.20'''
|
349 |
-
* Problem mit der Einstellung "enable_clear_log_file" behoben
|
350 |
-
|
351 |
-
'''Version 2.1.19'''
|
352 |
-
* Javascript Header hinzugefügt, um den Onlineshop mit dem mobilen Shop zu "verlinken"
|
353 |
-
* HTTP Weiterleitungscode von 302 auf 301 geändert
|
354 |
-
* neue Methode "clear_cache" hinzugefügt
|
355 |
-
|
356 |
-
'''Version 2.1.18'''
|
357 |
-
* neue Methode ShopgateMerchantApi::batchAddItem() hinzugefügt
|
358 |
-
* neue Methode ShopgateMerchantApi::batchUpdateItem() hinzugefügt
|
359 |
-
* Aktualisierung und Korrektur der PHPDocs für die API-Klassen
|
360 |
-
* Schrägstriche am Ende des CNAME-Eintrags werden jetzt entfernt
|
361 |
-
* Methoden getCreateItemsCsvLoaders(), getCreateCategoriesCsvLoaders() und getCreateReviewsCsvLoaders() der Klasse ShopgatePlugin sind nicht mehr "final"
|
362 |
-
* Problem mit der Funktion ini_get_all() behoben
|
363 |
-
|
364 |
-
'''Version 2.1.17'''
|
365 |
-
* der Mobile Header wird jetzt per JavaScript eingehangen, um mehr Flexibilität bei komplizierten Layouts zu ermöglichen
|
366 |
-
* neue Einstellungen "mobile_header_parent" und "mobile_header_prepend" in ShopgateConfig
|
367 |
-
* neue Methode ShopgateRedirect::setParentElement()
|
368 |
-
* Fehler behoben, bei dem auf "http://" weitergeleitet wurde, wenn kein CNAME eingetragen war
|
369 |
-
* Log-, Export- und Cache-Dateien erhalten jetzt das Präfix "shopgate_"
|
370 |
-
|
371 |
-
'''Version 2.1.16'''
|
372 |
-
* Funktionen ShopgateAddress::getStreetNumber und ShopgateAddress::getStreetName hinzugefügt
|
373 |
-
* Der CNAME wird um http:// ergeänzt, wenn es nicht angegeben wurde
|
374 |
-
* Entfernen von <script>-, <style>- und <link>-Tags aus der Produktbeschreibung verbessert
|
375 |
-
* "ping" liest jetzt die Ordnerberechtigungen der konfigurierten Ordner für Export, Logs und Cache aus
|
376 |
-
|
377 |
-
'''Version 2.1.15'''
|
378 |
-
* Anpassung der Klasse ShopgateConfig zur Nutzung sprach- oder Shop-abhängiger Konfigurationsdateien
|
379 |
-
|
380 |
-
'''Version 2.1.14'''
|
381 |
-
* ShopgateMerchantApi::getMobileRedirectKeywords() ist jetzt deprecated
|
382 |
-
* ShopgateMerchantApi::getMobileRedirectUserAgents() eingefügt
|
383 |
-
|
384 |
-
'''Version 2.1.13'''
|
385 |
-
* der updateOrder()-Callback erhält jetzt mit der Bestellung auch die Bestellungsposten
|
386 |
-
* die Filterung von <script>-Tags im Export wurde verbessert
|
387 |
-
* die Getter-Methoden eines ShopgateOrderItem-Objekts ohne Optionen oder Eingabefelder geben jetzt leere Arrays anstelle von null zurück
|
388 |
-
* die Einstellungen "country" und "language" wurden zur Klasse ShopgateConfig hinzugefügt
|
389 |
-
* allgemeine Methode zur Erzeugung von Weiterleitungslinks über Produktnummer, Kategorienummer und zur Startseite hinzugefügt
|
390 |
-
* Kompatibilitätsprobleme zwischen verschiedenen PHP-Versionen behoben
|
391 |
-
|
392 |
-
'''Version 2.1.12'''
|
393 |
-
* möglicher timestamp-fehler behoben
|
394 |
-
* Standard Timeout für der ShopgateMerachantApi auf 30 sekunden
|
395 |
-
* Timeout bei getMobileRedirectKeywords auf 1 sekunde gesetzt
|
396 |
-
* Kompatibilitätsproblem mit PHP < 5.3 behoben
|
397 |
-
|
398 |
-
'''Version 2.1.11'''
|
399 |
-
* Script-Tags werden beim Export jetzt inklusive Inhalt entfernt.
|
400 |
-
|
401 |
-
'''Version 2.1.10'''
|
402 |
-
* timestamp-fehler behoben
|
403 |
-
|
404 |
-
'''Version 2.1.9'''
|
405 |
-
* Authentifizierung erweitert
|
406 |
-
* Das Schreiben von Log-Einträgen wird jetzt unterbunden, wenn der cache keine Schreibrechte hat
|
407 |
-
|
408 |
-
'''Version 2.1.8'''
|
409 |
-
* Notice-Meldungen der ping-action entfernt
|
410 |
-
|
411 |
-
'''Version 2.1.7'''
|
412 |
-
* Return by reference benötigt das &-Zeichen bei der Zuweisung UND am Funktions-/Methodennamen
|
413 |
-
|
414 |
-
'''Version 2.1.6'''
|
415 |
-
* Neues CSV-Feld "active_status"
|
416 |
-
* Bei Plugin-API-Anfragen wird jetzt auch die Plugin-Version zurückgegeben, falls gesetzt.
|
417 |
-
|
418 |
-
'''Version 2.1.5'''
|
419 |
-
* Fehler in der Verwendung der alten Konfiguration behoben
|
420 |
-
* changelog.txt hinzugefügt
|
421 |
-
|
422 |
|
|
|
|
|
423 |
|
424 |
-
'''
|
|
|
|
|
|
|
425 |
|
426 |
'''Version 2.9.21'''
|
427 |
* added constants for more payment types in class ShopgateCartBase
|
1 |
+
'''Version 2.9.24'''
|
2 |
+
* added constants for some payment methods
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
+
'''Version 2.9.23'''
|
5 |
+
* added sort order for options and option values
|
6 |
|
7 |
+
'''Version 2.9.22'''
|
8 |
+
* CSV exports: the methods ShopgatePlugin::createCategoriesCsv(), ::createItemsCsv() und ::createReviewsCsv() are now deprecated and not abstract anymore
|
9 |
+
* removed German changelog
|
10 |
+
* ShopgateMerchantApi::cancelOrder(): changed default value of parameter "$cancelCompleteOrder" from false to true
|
11 |
|
12 |
'''Version 2.9.21'''
|
13 |
* added constants for more payment types in class ShopgateCartBase
|
lib/Shopgate/classes/apis.php
CHANGED
@@ -750,8 +750,8 @@ class ShopgatePluginApi extends ShopgateObject implements ShopgatePluginApiInter
|
|
750 |
|
751 |
$this->config->load($shopgateSettingsNew);
|
752 |
$this->config->save(array_keys($shopgateSettingsNew), true);
|
753 |
-
|
754 |
-
$
|
755 |
foreach ($shopgateSettingsNew as $setting => $value) {
|
756 |
$diff[] = array('name' => $setting, 'old' => $shopgateSettingsOld[$setting], 'new' => $value);
|
757 |
}
|
@@ -1614,7 +1614,7 @@ class ShopgateMerchantApi extends ShopgateObject implements ShopgateMerchantApiI
|
|
1614 |
return $this->sendRequest($request);
|
1615 |
}
|
1616 |
|
1617 |
-
public function cancelOrder($orderNumber, $cancelCompleteOrder =
|
1618 |
$request = array(
|
1619 |
'action' => 'cancel_order',
|
1620 |
'order_number' => $orderNumber,
|
@@ -2150,9 +2150,11 @@ abstract class ShopgatePluginApiResponse extends ShopgateObject {
|
|
2150 |
$this->version = $version;
|
2151 |
$this->pluginVersion = (empty($pluginVersion) && defined('SHOPGATE_PLUGIN_VERSION')) ? SHOPGATE_PLUGIN_VERSION : $pluginVersion;
|
2152 |
}
|
2153 |
-
|
2154 |
/**
|
2155 |
* Marks the response as error.
|
|
|
|
|
2156 |
*/
|
2157 |
public function markError($code, $message) {
|
2158 |
$this->error = $code;
|
750 |
|
751 |
$this->config->load($shopgateSettingsNew);
|
752 |
$this->config->save(array_keys($shopgateSettingsNew), true);
|
753 |
+
|
754 |
+
$diff = array();
|
755 |
foreach ($shopgateSettingsNew as $setting => $value) {
|
756 |
$diff[] = array('name' => $setting, 'old' => $shopgateSettingsOld[$setting], 'new' => $value);
|
757 |
}
|
1614 |
return $this->sendRequest($request);
|
1615 |
}
|
1616 |
|
1617 |
+
public function cancelOrder($orderNumber, $cancelCompleteOrder = true, $cancellationItems = array(), $cancelShipping = false, $cancellationNote = '') {
|
1618 |
$request = array(
|
1619 |
'action' => 'cancel_order',
|
1620 |
'order_number' => $orderNumber,
|
2150 |
$this->version = $version;
|
2151 |
$this->pluginVersion = (empty($pluginVersion) && defined('SHOPGATE_PLUGIN_VERSION')) ? SHOPGATE_PLUGIN_VERSION : $pluginVersion;
|
2152 |
}
|
2153 |
+
|
2154 |
/**
|
2155 |
* Marks the response as error.
|
2156 |
+
* @param $code
|
2157 |
+
* @param $message
|
2158 |
*/
|
2159 |
public function markError($code, $message) {
|
2160 |
$this->error = $code;
|
lib/Shopgate/classes/configuration.php
CHANGED
@@ -1981,7 +1981,7 @@ class ShopgateConfig extends ShopgateContainer implements ShopgateConfigInterfac
|
|
1981 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
1982 |
*/
|
1983 |
public static function setConfig(array $newConfig, $validate = true) {
|
1984 |
-
|
1985 |
}
|
1986 |
|
1987 |
/**
|
@@ -2021,7 +2021,7 @@ class ShopgateConfig extends ShopgateContainer implements ShopgateConfigInterfac
|
|
2021 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
2022 |
*/
|
2023 |
public static function getLogFilePath($type = ShopgateLogger::LOGTYPE_ERROR) {
|
2024 |
-
return ShopgateConfigOld::getLogFilePath($type
|
2025 |
}
|
2026 |
|
2027 |
/**
|
@@ -2091,7 +2091,7 @@ class ShopgateConfig extends ShopgateContainer implements ShopgateConfigInterfac
|
|
2091 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
2092 |
*/
|
2093 |
public static function saveConfig() {
|
2094 |
-
|
2095 |
}
|
2096 |
}
|
2097 |
|
@@ -2169,6 +2169,8 @@ class ShopgateConfigOld extends ShopgateObject {
|
|
2169 |
* @deprecated
|
2170 |
*
|
2171 |
* @param array $newConfig
|
|
|
|
|
2172 |
*/
|
2173 |
public static final function setConfig(array $newConfig, $validate = true) {
|
2174 |
self::deprecated(__METHOD__);
|
@@ -2239,7 +2241,6 @@ class ShopgateConfigOld extends ShopgateObject {
|
|
2239 |
$type = 'error';
|
2240 |
case "access":
|
2241 |
case "request":
|
2242 |
-
case "request":
|
2243 |
case "debug":
|
2244 |
}
|
2245 |
|
@@ -2312,7 +2313,7 @@ class ShopgateConfigOld extends ShopgateObject {
|
|
2312 |
}
|
2313 |
|
2314 |
/**
|
2315 |
-
* @return the absolute Path for the Redirect-Keywords-Caching-File
|
2316 |
* @deprecated
|
2317 |
*/
|
2318 |
public static final function getRedirectKeywordsFilePath() {
|
@@ -2326,7 +2327,7 @@ class ShopgateConfigOld extends ShopgateObject {
|
|
2326 |
}
|
2327 |
|
2328 |
/**
|
2329 |
-
* @return the absolute Path for the Skip-Redirect-Keywords-Caching-File
|
2330 |
* @deprecated
|
2331 |
*/
|
2332 |
public static final function getSkipRedirectKeywordsFilePath() {
|
@@ -2414,11 +2415,9 @@ class ShopgateConfigOld extends ShopgateObject {
|
|
2414 |
}
|
2415 |
}
|
2416 |
|
2417 |
-
$message = "";
|
2418 |
$handle = @fopen(dirname(__FILE__).'/../config/myconfig.php', 'w+');
|
2419 |
if ($handle == false) {
|
2420 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_READ_WRITE_ERROR);
|
2421 |
-
fclose($handle);
|
2422 |
} else {
|
2423 |
if (!fwrite($handle, $returnString)) {
|
2424 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_READ_WRITE_ERROR);
|
@@ -3065,12 +3064,12 @@ interface ShopgateConfigInterface {
|
|
3065 |
public function setForceSourceEncoding($value);
|
3066 |
|
3067 |
/**
|
3068 |
-
* @param array the list of fields supported by the plugin method check_cart
|
3069 |
*/
|
3070 |
public function setSupportedFieldsCheckCart($value);
|
3071 |
|
3072 |
/**
|
3073 |
-
* @param array the list of fields supported by the plugin method get_settings
|
3074 |
*/
|
3075 |
public function setSupportedFieldsGetSettings($value);
|
3076 |
|
@@ -3215,7 +3214,7 @@ interface ShopgateConfigInterface {
|
|
3215 |
public function setEnableReceiveAuthorization($value);
|
3216 |
|
3217 |
/**
|
3218 |
-
* @param string The ISO 3166 ALPHA-2 code of the country the plugin uses for export.
|
3219 |
*/
|
3220 |
public function setCountry($value);
|
3221 |
|
1981 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
1982 |
*/
|
1983 |
public static function setConfig(array $newConfig, $validate = true) {
|
1984 |
+
ShopgateConfigOld::setConfig($newConfig, $validate);
|
1985 |
}
|
1986 |
|
1987 |
/**
|
2021 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
2022 |
*/
|
2023 |
public static function getLogFilePath($type = ShopgateLogger::LOGTYPE_ERROR) {
|
2024 |
+
return ShopgateConfigOld::getLogFilePath($type);
|
2025 |
}
|
2026 |
|
2027 |
/**
|
2091 |
* @throws ShopgateLibraryException whenever a ShopgateLibraryException is thrown by ShopgateConfigOld's method.
|
2092 |
*/
|
2093 |
public static function saveConfig() {
|
2094 |
+
ShopgateConfigOld::saveConfig();
|
2095 |
}
|
2096 |
}
|
2097 |
|
2169 |
* @deprecated
|
2170 |
*
|
2171 |
* @param array $newConfig
|
2172 |
+
* @param bool $validate
|
2173 |
+
* @throws ShopgateLibraryException
|
2174 |
*/
|
2175 |
public static final function setConfig(array $newConfig, $validate = true) {
|
2176 |
self::deprecated(__METHOD__);
|
2241 |
$type = 'error';
|
2242 |
case "access":
|
2243 |
case "request":
|
|
|
2244 |
case "debug":
|
2245 |
}
|
2246 |
|
2313 |
}
|
2314 |
|
2315 |
/**
|
2316 |
+
* @return string the absolute Path for the Redirect-Keywords-Caching-File
|
2317 |
* @deprecated
|
2318 |
*/
|
2319 |
public static final function getRedirectKeywordsFilePath() {
|
2327 |
}
|
2328 |
|
2329 |
/**
|
2330 |
+
* @return string the absolute Path for the Skip-Redirect-Keywords-Caching-File
|
2331 |
* @deprecated
|
2332 |
*/
|
2333 |
public static final function getSkipRedirectKeywordsFilePath() {
|
2415 |
}
|
2416 |
}
|
2417 |
|
|
|
2418 |
$handle = @fopen(dirname(__FILE__).'/../config/myconfig.php', 'w+');
|
2419 |
if ($handle == false) {
|
2420 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_READ_WRITE_ERROR);
|
|
|
2421 |
} else {
|
2422 |
if (!fwrite($handle, $returnString)) {
|
2423 |
throw new ShopgateLibraryException(ShopgateLibraryException::CONFIG_READ_WRITE_ERROR);
|
3064 |
public function setForceSourceEncoding($value);
|
3065 |
|
3066 |
/**
|
3067 |
+
* @param array $value the list of fields supported by the plugin method check_cart
|
3068 |
*/
|
3069 |
public function setSupportedFieldsCheckCart($value);
|
3070 |
|
3071 |
/**
|
3072 |
+
* @param array $value the list of fields supported by the plugin method get_settings
|
3073 |
*/
|
3074 |
public function setSupportedFieldsGetSettings($value);
|
3075 |
|
3214 |
public function setEnableReceiveAuthorization($value);
|
3215 |
|
3216 |
/**
|
3217 |
+
* @param string $value The ISO 3166 ALPHA-2 code of the country the plugin uses for export.
|
3218 |
*/
|
3219 |
public function setCountry($value);
|
3220 |
|
lib/Shopgate/classes/core.php
CHANGED
@@ -24,7 +24,7 @@
|
|
24 |
###################################################################################
|
25 |
# define constants
|
26 |
###################################################################################
|
27 |
-
define('SHOPGATE_LIBRARY_VERSION', '2.9.
|
28 |
define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
|
29 |
define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
|
30 |
|
@@ -361,6 +361,7 @@ class ShopgateLibraryException extends Exception {
|
|
361 |
* @param string $additionalInformation More detailed information on what exactly went wrong.
|
362 |
* @param bool $appendAdditionalInformationToMessage Set true to output the additional information to the response. Set false to log it silently.
|
363 |
* @param bool $writeLog true to create a log entry in the error log, false otherwise.
|
|
|
364 |
*/
|
365 |
public function __construct($code, $additionalInformation = null, $appendAdditionalInformationToMessage = false, $writeLog = true, Exception $previous = null) {
|
366 |
// Set code and message
|
@@ -993,8 +994,7 @@ class ShopgateBuilder {
|
|
993 |
break;
|
994 |
default:
|
995 |
// undefined auth service
|
996 |
-
trigger_error('Invalid SMA-Auth-Service defined - this should not happen with valid plugin code', E_USER_ERROR);
|
997 |
-
break;
|
998 |
}
|
999 |
// -> PluginAPI auth service (currently the plugin API supports only one auth service)
|
1000 |
$spaAuthService = new ShopgateAuthenticationServiceShopgate($this->config->getCustomerNumber(), $this->config->getApikey());
|
@@ -1125,7 +1125,7 @@ abstract class ShopgateObject {
|
|
1125 |
|
1126 |
/**
|
1127 |
* Save the already instantiated Helper Object to guarantee the only one instance is allocated
|
1128 |
-
*
|
1129 |
* @var array of Shopgate_Helper_DataStructure|Shopgate_Helper_Pricing|Shopgate_Helper_String
|
1130 |
*/
|
1131 |
private $helperClassInstances = array(
|
@@ -1903,7 +1903,6 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
1903 |
|
1904 |
/**
|
1905 |
*
|
1906 |
-
* @param boolean tax classes will be used
|
1907 |
* @see http://wiki.shopgate.com/CSV_File_Items/
|
1908 |
*/
|
1909 |
protected function useTaxClasses(){
|
@@ -2089,7 +2088,7 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
2089 |
protected function removeTagsFromString($string, $removeTags = array(), $additionalAllowedTags = array())
|
2090 |
{
|
2091 |
$helper = $this->getHelper(self::HELPER_STRING);
|
2092 |
-
return $helper->removeTagsFromString($string, $removeTags, $additionalAllowedTags);
|
2093 |
}
|
2094 |
|
2095 |
/**
|
@@ -2419,8 +2418,8 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
2419 |
|
2420 |
/**
|
2421 |
* Returns an array of certain settings of the shop. (Currently mainly tax settings.)
|
2422 |
-
*
|
2423 |
-
*
|
2424 |
* @see http://developer.shopgate.com/plugin_api/system_information/get_settings
|
2425 |
*
|
2426 |
* @return array(
|
@@ -2450,8 +2449,17 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
2450 |
* @see http://developer.shopgate.com/plugin_api/export/get_items_csv
|
2451 |
*
|
2452 |
* @throws ShopgateLibraryException
|
|
|
|
|
2453 |
*/
|
2454 |
-
protected
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2455 |
|
2456 |
/**
|
2457 |
* Loads the Media file information to the products of the shop system's database and passes them to the buffer.
|
@@ -2476,9 +2484,18 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
2476 |
* @see http://developer.shopgate.com/plugin_api/export/get_categories_csv
|
2477 |
*
|
2478 |
* @throws ShopgateLibraryException
|
|
|
|
|
2479 |
*/
|
2480 |
-
protected
|
2481 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2482 |
/**
|
2483 |
* Loads the product reviews of the shop system's database and passes them to the buffer.
|
2484 |
*
|
@@ -2489,9 +2506,18 @@ abstract class ShopgatePlugin extends ShopgateObject {
|
|
2489 |
* @see http://developer.shopgate.com/plugin_api/export/get_reviews_csv
|
2490 |
*
|
2491 |
* @throws ShopgateLibraryException
|
|
|
|
|
2492 |
*/
|
2493 |
-
protected
|
2494 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2495 |
/**
|
2496 |
* Exports orders from the shop system's database to Shopgate.
|
2497 |
*
|
24 |
###################################################################################
|
25 |
# define constants
|
26 |
###################################################################################
|
27 |
+
define('SHOPGATE_LIBRARY_VERSION', '2.9.24');
|
28 |
define('SHOPGATE_LIBRARY_ENCODING' , 'UTF-8');
|
29 |
define('SHOPGATE_BASE_DIR', realpath(dirname(__FILE__).'/../'));
|
30 |
|
361 |
* @param string $additionalInformation More detailed information on what exactly went wrong.
|
362 |
* @param bool $appendAdditionalInformationToMessage Set true to output the additional information to the response. Set false to log it silently.
|
363 |
* @param bool $writeLog true to create a log entry in the error log, false otherwise.
|
364 |
+
* @param Exception $previous
|
365 |
*/
|
366 |
public function __construct($code, $additionalInformation = null, $appendAdditionalInformationToMessage = false, $writeLog = true, Exception $previous = null) {
|
367 |
// Set code and message
|
994 |
break;
|
995 |
default:
|
996 |
// undefined auth service
|
997 |
+
return trigger_error('Invalid SMA-Auth-Service defined - this should not happen with valid plugin code', E_USER_ERROR);
|
|
|
998 |
}
|
999 |
// -> PluginAPI auth service (currently the plugin API supports only one auth service)
|
1000 |
$spaAuthService = new ShopgateAuthenticationServiceShopgate($this->config->getCustomerNumber(), $this->config->getApikey());
|
1125 |
|
1126 |
/**
|
1127 |
* Save the already instantiated Helper Object to guarantee the only one instance is allocated
|
1128 |
+
*
|
1129 |
* @var array of Shopgate_Helper_DataStructure|Shopgate_Helper_Pricing|Shopgate_Helper_String
|
1130 |
*/
|
1131 |
private $helperClassInstances = array(
|
1903 |
|
1904 |
/**
|
1905 |
*
|
|
|
1906 |
* @see http://wiki.shopgate.com/CSV_File_Items/
|
1907 |
*/
|
1908 |
protected function useTaxClasses(){
|
2088 |
protected function removeTagsFromString($string, $removeTags = array(), $additionalAllowedTags = array())
|
2089 |
{
|
2090 |
$helper = $this->getHelper(self::HELPER_STRING);
|
2091 |
+
return $helper->removeTagsFromString($string, $removeTags, $additionalAllowedTags);
|
2092 |
}
|
2093 |
|
2094 |
/**
|
2418 |
|
2419 |
/**
|
2420 |
* Returns an array of certain settings of the shop. (Currently mainly tax settings.)
|
2421 |
+
*
|
2422 |
+
*
|
2423 |
* @see http://developer.shopgate.com/plugin_api/system_information/get_settings
|
2424 |
*
|
2425 |
* @return array(
|
2449 |
* @see http://developer.shopgate.com/plugin_api/export/get_items_csv
|
2450 |
*
|
2451 |
* @throws ShopgateLibraryException
|
2452 |
+
*
|
2453 |
+
* @deprecated Use createItems().
|
2454 |
*/
|
2455 |
+
protected function createItemsCsv(){
|
2456 |
+
throw new ShopgateLibraryException(
|
2457 |
+
ShopgateLibraryException::PLUGIN_API_DISABLED_ACTION,
|
2458 |
+
'The requested action is not disabled but has not been implemented in this plugin.',
|
2459 |
+
true,
|
2460 |
+
false
|
2461 |
+
);
|
2462 |
+
}
|
2463 |
|
2464 |
/**
|
2465 |
* Loads the Media file information to the products of the shop system's database and passes them to the buffer.
|
2484 |
* @see http://developer.shopgate.com/plugin_api/export/get_categories_csv
|
2485 |
*
|
2486 |
* @throws ShopgateLibraryException
|
2487 |
+
*
|
2488 |
+
* @deprecated Use createCategories().
|
2489 |
*/
|
2490 |
+
protected function createCategoriesCsv() {
|
2491 |
+
throw new ShopgateLibraryException(
|
2492 |
+
ShopgateLibraryException::PLUGIN_API_DISABLED_ACTION,
|
2493 |
+
'The requested action is not disabled but has not been implemented in this plugin.',
|
2494 |
+
true,
|
2495 |
+
false
|
2496 |
+
);
|
2497 |
+
}
|
2498 |
+
|
2499 |
/**
|
2500 |
* Loads the product reviews of the shop system's database and passes them to the buffer.
|
2501 |
*
|
2506 |
* @see http://developer.shopgate.com/plugin_api/export/get_reviews_csv
|
2507 |
*
|
2508 |
* @throws ShopgateLibraryException
|
2509 |
+
*
|
2510 |
+
* @deprecated Use createReviews().
|
2511 |
*/
|
2512 |
+
protected function createReviewsCsv() {
|
2513 |
+
throw new ShopgateLibraryException(
|
2514 |
+
ShopgateLibraryException::PLUGIN_API_DISABLED_ACTION,
|
2515 |
+
'The requested action is not disabled but has not been implemented in this plugin.',
|
2516 |
+
true,
|
2517 |
+
false
|
2518 |
+
);
|
2519 |
+
}
|
2520 |
+
|
2521 |
/**
|
2522 |
* Exports orders from the shop system's database to Shopgate.
|
2523 |
*
|
lib/Shopgate/classes/customers.php
CHANGED
@@ -50,6 +50,7 @@ class ShopgateCustomer extends ShopgateContainer {
|
|
50 |
|
51 |
protected $newsletter_subscription;
|
52 |
|
|
|
53 |
protected $addresses;
|
54 |
|
55 |
/**
|
50 |
|
51 |
protected $newsletter_subscription;
|
52 |
|
53 |
+
/** @var ShopgateAddress[] */
|
54 |
protected $addresses;
|
55 |
|
56 |
/**
|
lib/Shopgate/classes/items.php
CHANGED
@@ -541,7 +541,7 @@ class ShopgateItem extends ShopgateContainer {
|
|
541 |
}
|
542 |
|
543 |
/**
|
544 |
-
* @param string[] $
|
545 |
*/
|
546 |
public function setRelatedItemNumbers($value) {
|
547 |
$this->related_item_numbers = $value;
|
541 |
}
|
542 |
|
543 |
/**
|
544 |
+
* @param string[] $value
|
545 |
*/
|
546 |
public function setRelatedItemNumbers($value) {
|
547 |
$this->related_item_numbers = $value;
|
lib/Shopgate/classes/models/catalog/Input.php
CHANGED
@@ -44,6 +44,9 @@
|
|
44 |
* @method setAdditionalPrice(string $value)
|
45 |
* @method string getAdditionalPrice()
|
46 |
*
|
|
|
|
|
|
|
47 |
* @method setLabel(string $value)
|
48 |
* @method string getLabel()
|
49 |
*
|
@@ -76,6 +79,7 @@ class Shopgate_Model_Catalog_Input extends Shopgate_Model_AbstractExport {
|
|
76 |
'Validation',
|
77 |
'Required',
|
78 |
'AdditionalPrice',
|
|
|
79 |
'Label',
|
80 |
'InfoText');
|
81 |
|
@@ -104,6 +108,7 @@ class Shopgate_Model_Catalog_Input extends Shopgate_Model_AbstractExport {
|
|
104 |
$inputNode->addAttribute('type', $this->getType());
|
105 |
$inputNode->addAttribute('required', (int)$this->getRequired());
|
106 |
$inputNode->addAttribute('additional_price', $this->getAdditionalPrice());
|
|
|
107 |
$inputNode->addChildWithCDATA('label', $this->getLabel());
|
108 |
$inputNode->addChildWithCDATA('info_text', $this->getInfoText());
|
109 |
$optionsNode = $inputNode->addChild('options');
|
44 |
* @method setAdditionalPrice(string $value)
|
45 |
* @method string getAdditionalPrice()
|
46 |
*
|
47 |
+
* @method setSortOrder(int $value)
|
48 |
+
* @method int getSortOrder()
|
49 |
+
*
|
50 |
* @method setLabel(string $value)
|
51 |
* @method string getLabel()
|
52 |
*
|
79 |
'Validation',
|
80 |
'Required',
|
81 |
'AdditionalPrice',
|
82 |
+
'SortOrder',
|
83 |
'Label',
|
84 |
'InfoText');
|
85 |
|
108 |
$inputNode->addAttribute('type', $this->getType());
|
109 |
$inputNode->addAttribute('required', (int)$this->getRequired());
|
110 |
$inputNode->addAttribute('additional_price', $this->getAdditionalPrice());
|
111 |
+
$inputNode->addAttribute('sort_order', $this->getSortOrder());
|
112 |
$inputNode->addChildWithCDATA('label', $this->getLabel());
|
113 |
$inputNode->addChildWithCDATA('info_text', $this->getInfoText());
|
114 |
$optionsNode = $inputNode->addChild('options');
|
lib/Shopgate/classes/models/catalog/Manufacturer.php
CHANGED
@@ -26,6 +26,9 @@
|
|
26 |
* @class Shopgate_Model_Catalog_Manufacturer
|
27 |
* @see http://developer.shopgate.com/file_formats/xml/products
|
28 |
*
|
|
|
|
|
|
|
29 |
* @method setItemNumber(string $value)
|
30 |
* @method string getItemNumber()
|
31 |
*
|
26 |
* @class Shopgate_Model_Catalog_Manufacturer
|
27 |
* @see http://developer.shopgate.com/file_formats/xml/products
|
28 |
*
|
29 |
+
* @method setUid(int $value)
|
30 |
+
* @method int getUid()
|
31 |
+
*
|
32 |
* @method setItemNumber(string $value)
|
33 |
* @method string getItemNumber()
|
34 |
*
|
lib/Shopgate/classes/models/catalog/Option.php
CHANGED
@@ -26,17 +26,20 @@
|
|
26 |
* @class Shopgate_Model_Catalog_Option
|
27 |
* @see http://developer.shopgate.com/file_formats/xml/products
|
28 |
*
|
29 |
-
*
|
30 |
-
*
|
31 |
*
|
32 |
-
*
|
33 |
-
*
|
34 |
*
|
35 |
-
*
|
36 |
-
*
|
37 |
*
|
38 |
-
*
|
39 |
-
*
|
|
|
|
|
|
|
40 |
*
|
41 |
*/
|
42 |
class Shopgate_Model_Catalog_Option extends Shopgate_Model_AbstractExport {
|
@@ -50,6 +53,7 @@ class Shopgate_Model_Catalog_Option extends Shopgate_Model_AbstractExport {
|
|
50 |
'Uid',
|
51 |
'Label',
|
52 |
'Value',
|
|
|
53 |
'AdditionalPrice');
|
54 |
|
55 |
/**
|
@@ -64,6 +68,7 @@ class Shopgate_Model_Catalog_Option extends Shopgate_Model_AbstractExport {
|
|
64 |
$optionNode = $itemNode->addChild('option');
|
65 |
$optionNode->addAttribute('additional_price', $this->getAdditionalPrice());
|
66 |
$optionNode->addAttribute('uid', $this->getUid());
|
|
|
67 |
$optionNode->addChildWithCDATA('label', $this->getLabel());
|
68 |
$optionNode->addChildWithCDATA('value', $this->getValue());
|
69 |
|
26 |
* @class Shopgate_Model_Catalog_Option
|
27 |
* @see http://developer.shopgate.com/file_formats/xml/products
|
28 |
*
|
29 |
+
* @method setUid(int $value)
|
30 |
+
* @method int getUid()
|
31 |
*
|
32 |
+
* @method setLabel(string $value)
|
33 |
+
* @method string getLabel()
|
34 |
*
|
35 |
+
* @method setValue(string $value)
|
36 |
+
* @method string getValue()
|
37 |
*
|
38 |
+
* @method setAdditionalPrice(float $value)
|
39 |
+
* @method float getAdditionalPrice()
|
40 |
+
*
|
41 |
+
* @method setSortOrder(int $value)
|
42 |
+
* @method int getSortOrder()
|
43 |
*
|
44 |
*/
|
45 |
class Shopgate_Model_Catalog_Option extends Shopgate_Model_AbstractExport {
|
53 |
'Uid',
|
54 |
'Label',
|
55 |
'Value',
|
56 |
+
'SortOrder',
|
57 |
'AdditionalPrice');
|
58 |
|
59 |
/**
|
68 |
$optionNode = $itemNode->addChild('option');
|
69 |
$optionNode->addAttribute('additional_price', $this->getAdditionalPrice());
|
70 |
$optionNode->addAttribute('uid', $this->getUid());
|
71 |
+
$optionNode->addAttribute('sort_order', $this->getSortOrder());
|
72 |
$optionNode->addChildWithCDATA('label', $this->getLabel());
|
73 |
$optionNode->addChildWithCDATA('value', $this->getValue());
|
74 |
|
lib/Shopgate/classes/orders.php
CHANGED
@@ -25,18 +25,27 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
25 |
|
26 |
const SHOPGATE = "SHOPGATE";
|
27 |
|
|
|
28 |
const PREPAY = "PREPAY";
|
29 |
const PAYONE_PRP = "PAYONE_PRP";
|
30 |
const SG_PREPAY = "SG_PREPAY";
|
31 |
|
|
|
32 |
const DEBIT = "DEBIT";
|
33 |
const PAYMRW_DBT = "PAYMRW_DBT";
|
34 |
const PAYONE_DBT = "PAYONE_DBT";
|
35 |
|
|
|
36 |
const COD = "COD";
|
37 |
const COLL_STORE = "COLL_STORE";
|
38 |
|
|
|
|
|
|
|
|
|
|
|
39 |
const INVOICE = "INVOICE";
|
|
|
40 |
const KLARNA_INV = "KLARNA_INV";
|
41 |
const BILLSAFE = "BILLSAFE";
|
42 |
const MSTPAY_INV = "MSTPAY_INV";
|
@@ -44,8 +53,10 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
44 |
const PAYONE_INV = "PAYONE_INV";
|
45 |
const SG_INVOICE = "SG_INVOICE";
|
46 |
const WCARD_INV = "WCARD_INV";
|
47 |
-
const PAYONE_KLV =
|
|
|
48 |
|
|
|
49 |
const PAYPAL = "PAYPAL";
|
50 |
const CMPTOP_PP = "CMPTOP_PP";
|
51 |
const MASTPAY_PP = "MASTPAY_PP";
|
@@ -55,6 +66,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
55 |
const SIX_PP = "SIX_PP";
|
56 |
const WCARD_PP = "WCARD_PP";
|
57 |
|
|
|
58 |
const CC = "CC";
|
59 |
const AUTHN_CC = "AUTHN_CC";
|
60 |
const BCLEPDQ_CC = "BCLEPDQ_CC";
|
@@ -62,6 +74,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
62 |
const BRAINTR_CC = "BRAINTR_CC";
|
63 |
const CHASE_CC = "CHASE_CC";
|
64 |
const CMPTOP_CC = "CMPTOP_CC";
|
|
|
65 |
const CRDSTRM_CC = "CRDSTRM_CC";
|
66 |
const CREDITCARD = "CREDITCARD";
|
67 |
const CYBRSRC_CC = "CYBRSRC_CC";
|
@@ -77,6 +90,7 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
77 |
const GAMEDAY_CC = "GAMEDAY_CC";
|
78 |
const GARANTI_CC = "GARANTI_CC";
|
79 |
const GESTPAY_CC = "GESTPAY_CC";
|
|
|
80 |
const HIPAY = "HIPAY";
|
81 |
const HITRUST_CC = "HITRUST_CC";
|
82 |
const INSPIRE_CC = "INSPIRE_CC";
|
@@ -96,12 +110,14 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
96 |
const NOCHEX_CC = "NOCHEX_CC";
|
97 |
const OGONE_CC = "OGONE_CC";
|
98 |
const OPTIMAL_CC = "OPTIMAL_CC";
|
|
|
99 |
const PAYBOX_CC = "PAYBOX_CC";
|
100 |
const PAYEXPR_CC = "PAYEXPR_CC";
|
101 |
const PAYFAST_CC = "PAYFAST_CC";
|
102 |
const PAYFLOW_CC = "PAYFLOW_CC";
|
103 |
const PAYJUNC_CC = "PAYJUNC_CC";
|
104 |
const PAYONE_CC = "PAYONE_CC";
|
|
|
105 |
const PLUGNPL_CC = "PLUGNPL_CC";
|
106 |
const PP_WSPP_CC = "PP_WSPP_CC";
|
107 |
const PSIGATE_CC = "PSIGATE_CC";
|
@@ -127,10 +143,12 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
127 |
const VALITOR_CC = "VALITOR_CC";
|
128 |
const VERIFI_CC = "VERIFI_CC";
|
129 |
const VIAKLIX_CC = "VIAKLIX_CC";
|
|
|
130 |
const WIRECRD_CC = "WIRECRD_CC";
|
131 |
const WLDPDIR_CC = "WLDPDIR_CC";
|
132 |
const WLDPOFF_CC = "WLDPOFF_CC";
|
133 |
|
|
|
134 |
const CNB = "CNB";
|
135 |
const SG_CNB = "SG_CNB";
|
136 |
|
@@ -142,15 +160,22 @@ abstract class ShopgateCartBase extends ShopgateContainer {
|
|
142 |
const REDIRECTCC = "REDIRECTCC";
|
143 |
const WORLDLINE = "WORLDLINE";
|
144 |
|
|
|
145 |
const SUE = "SUE";
|
|
|
146 |
const MSTPAY_SUE = "MSTPAY_SUE";
|
|
|
147 |
const SG_SUE = "SG_SUE";
|
|
|
148 |
const WCARD_SUE = "WCARD_SUE";
|
149 |
-
const PAYONE_GP = "PAYONE_GP";
|
150 |
-
const PAYONE_SUE = "PAYONE_SUE";
|
151 |
|
152 |
-
|
|
|
|
|
|
|
153 |
const PAYONE_IDL = "PAYONE_IDL";
|
|
|
|
|
154 |
|
155 |
const AMAZON_PAYMENT = "MWS";
|
156 |
|
@@ -964,7 +989,7 @@ class ShopgateOrder extends ShopgateCartBase {
|
|
964 |
* @see http://www.php.net/manual/de/function.date.php
|
965 |
* @see http://en.wikipedia.org/wiki/ISO_8601
|
966 |
*
|
967 |
-
* @param string format
|
968 |
*
|
969 |
* @return string
|
970 |
*/
|
@@ -1010,7 +1035,7 @@ class ShopgateOrder extends ShopgateCartBase {
|
|
1010 |
* @see http://www.php.net/manual/de/function.date.php
|
1011 |
* @see http://en.wikipedia.org/wiki/ISO_8601
|
1012 |
*
|
1013 |
-
* @param string format
|
1014 |
*
|
1015 |
* @return string
|
1016 |
*/
|
@@ -2768,7 +2793,7 @@ class ShopgateCartCustomerGroup extends ShopgateContainer {
|
|
2768 |
##########
|
2769 |
|
2770 |
/**
|
2771 |
-
* @
|
2772 |
*/
|
2773 |
public function getId() {
|
2774 |
return $this->id;
|
25 |
|
26 |
const SHOPGATE = "SHOPGATE";
|
27 |
|
28 |
+
// Prepayment
|
29 |
const PREPAY = "PREPAY";
|
30 |
const PAYONE_PRP = "PAYONE_PRP";
|
31 |
const SG_PREPAY = "SG_PREPAY";
|
32 |
|
33 |
+
// Debit
|
34 |
const DEBIT = "DEBIT";
|
35 |
const PAYMRW_DBT = "PAYMRW_DBT";
|
36 |
const PAYONE_DBT = "PAYONE_DBT";
|
37 |
|
38 |
+
// Cash On Delivery
|
39 |
const COD = "COD";
|
40 |
const COLL_STORE = "COLL_STORE";
|
41 |
|
42 |
+
// Installment
|
43 |
+
const ACCRD_INS = "ACCRD_INS";
|
44 |
+
const PAYOL_INS = "PAYOL_INS";
|
45 |
+
|
46 |
+
// Invoice
|
47 |
const INVOICE = "INVOICE";
|
48 |
+
const ACCRD_INV = "ACCRD_INV";
|
49 |
const KLARNA_INV = "KLARNA_INV";
|
50 |
const BILLSAFE = "BILLSAFE";
|
51 |
const MSTPAY_INV = "MSTPAY_INV";
|
53 |
const PAYONE_INV = "PAYONE_INV";
|
54 |
const SG_INVOICE = "SG_INVOICE";
|
55 |
const WCARD_INV = "WCARD_INV";
|
56 |
+
const PAYONE_KLV = "PAYONE_KLV";
|
57 |
+
const PAYOL_INV = "PAYOL_INV";
|
58 |
|
59 |
+
// Paypal
|
60 |
const PAYPAL = "PAYPAL";
|
61 |
const CMPTOP_PP = "CMPTOP_PP";
|
62 |
const MASTPAY_PP = "MASTPAY_PP";
|
66 |
const SIX_PP = "SIX_PP";
|
67 |
const WCARD_PP = "WCARD_PP";
|
68 |
|
69 |
+
// Credit Card
|
70 |
const CC = "CC";
|
71 |
const AUTHN_CC = "AUTHN_CC";
|
72 |
const BCLEPDQ_CC = "BCLEPDQ_CC";
|
74 |
const BRAINTR_CC = "BRAINTR_CC";
|
75 |
const CHASE_CC = "CHASE_CC";
|
76 |
const CMPTOP_CC = "CMPTOP_CC";
|
77 |
+
const CONCAR_CC = "CONCAR_CC";
|
78 |
const CRDSTRM_CC = "CRDSTRM_CC";
|
79 |
const CREDITCARD = "CREDITCARD";
|
80 |
const CYBRSRC_CC = "CYBRSRC_CC";
|
90 |
const GAMEDAY_CC = "GAMEDAY_CC";
|
91 |
const GARANTI_CC = "GARANTI_CC";
|
92 |
const GESTPAY_CC = "GESTPAY_CC";
|
93 |
+
const HDLPAY_CC = "HDLPAY_CC";
|
94 |
const HIPAY = "HIPAY";
|
95 |
const HITRUST_CC = "HITRUST_CC";
|
96 |
const INSPIRE_CC = "INSPIRE_CC";
|
110 |
const NOCHEX_CC = "NOCHEX_CC";
|
111 |
const OGONE_CC = "OGONE_CC";
|
112 |
const OPTIMAL_CC = "OPTIMAL_CC";
|
113 |
+
const PAY4ONE_CC = "PAY4ONE_CC";
|
114 |
const PAYBOX_CC = "PAYBOX_CC";
|
115 |
const PAYEXPR_CC = "PAYEXPR_CC";
|
116 |
const PAYFAST_CC = "PAYFAST_CC";
|
117 |
const PAYFLOW_CC = "PAYFLOW_CC";
|
118 |
const PAYJUNC_CC = "PAYJUNC_CC";
|
119 |
const PAYONE_CC = "PAYONE_CC";
|
120 |
+
const PAYZEN_CC = "PAYZEN_CC";
|
121 |
const PLUGNPL_CC = "PLUGNPL_CC";
|
122 |
const PP_WSPP_CC = "PP_WSPP_CC";
|
123 |
const PSIGATE_CC = "PSIGATE_CC";
|
143 |
const VALITOR_CC = "VALITOR_CC";
|
144 |
const VERIFI_CC = "VERIFI_CC";
|
145 |
const VIAKLIX_CC = "VIAKLIX_CC";
|
146 |
+
const WCARDS_CC = "WCARDS_CC";
|
147 |
const WIRECRD_CC = "WIRECRD_CC";
|
148 |
const WLDPDIR_CC = "WLDPDIR_CC";
|
149 |
const WLDPOFF_CC = "WLDPOFF_CC";
|
150 |
|
151 |
+
// ClickandBuy
|
152 |
const CNB = "CNB";
|
153 |
const SG_CNB = "SG_CNB";
|
154 |
|
160 |
const REDIRECTCC = "REDIRECTCC";
|
161 |
const WORLDLINE = "WORLDLINE";
|
162 |
|
163 |
+
// SOFORT Überweisung
|
164 |
const SUE = "SUE";
|
165 |
+
const HDLPAY_SUE = "HDLPAY_SUE";
|
166 |
const MSTPAY_SUE = "MSTPAY_SUE";
|
167 |
+
const PAYONE_SUE = "PAYONE_SUE";
|
168 |
const SG_SUE = "SG_SUE";
|
169 |
+
const SKRILL_SUE = "SKRILL_SUE";
|
170 |
const WCARD_SUE = "WCARD_SUE";
|
|
|
|
|
171 |
|
172 |
+
// Giropay
|
173 |
+
const PAYONE_GP = "PAYONE_GP";
|
174 |
+
|
175 |
+
// iDEAL
|
176 |
const PAYONE_IDL = "PAYONE_IDL";
|
177 |
+
const SIX_IDEAL = "SIX_IDEAL";
|
178 |
+
const SKRILL_IDL = "SKRILL_IDL";
|
179 |
|
180 |
const AMAZON_PAYMENT = "MWS";
|
181 |
|
989 |
* @see http://www.php.net/manual/de/function.date.php
|
990 |
* @see http://en.wikipedia.org/wiki/ISO_8601
|
991 |
*
|
992 |
+
* @param string $format
|
993 |
*
|
994 |
* @return string
|
995 |
*/
|
1035 |
* @see http://www.php.net/manual/de/function.date.php
|
1036 |
* @see http://en.wikipedia.org/wiki/ISO_8601
|
1037 |
*
|
1038 |
+
* @param string $format
|
1039 |
*
|
1040 |
* @return string
|
1041 |
*/
|
2793 |
##########
|
2794 |
|
2795 |
/**
|
2796 |
+
* @return string
|
2797 |
*/
|
2798 |
public function getId() {
|
2799 |
return $this->id;
|
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>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>Shopgate Plugin</description>
|
11 |
<notes>Shopgate Modul</notes>
|
12 |
<authors><author><name>Peter Liebig</name><user>Shopgate</user><email>p.liebig@me.com</email></author><author><name>Stephan Recknagel</name><user>Shopgate</user><email>mail@recknagel.io</email></author><author><name>André Kraus</name><user>Shopgate</user><email>andre.kraus83@googlemail.com</email></author></authors>
|
13 |
-
<date>2015-09-
|
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="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="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></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"/><dir name="Import"><file name="Order.php" hash="bf2e1bbee6fb46ec22e5c6a1ed0a0404"/></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="d6c50ee8b07947680a7ef6202de526a3"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="b29aaf2603b9bb18bb4452f4a8f94ef4"/></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="3c723154bfaf0114b537995b945b59a5"/></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="0bb22a0cbf0d89392a73af161e9c6c3a"/></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="da10a5dddba99720bea687ec4fa94c57"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="df981453b9a4b195331fc16cd67feec0"/></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"/><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"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><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="392a41d83b10150d7a39043c1bf923af"/><file name="Wspp.php" hash="ffef93e6dd51c4edefe3fbd228d1d33f"/></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"/><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><file name="Cod.php" hash="0688749cd9110544d01e5c1130be3005"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><file name="Mws.php" hash="66b68310d396e83423aefbd6e266c7ff"/><dir name="Paypal"><file name="Express.php" hash="41f515971e019e5f29db0ef6832733c5"/><file name="Standard.php" hash="5281ddc90f8f560b6cffa2e97fe08304"/></dir><file name="Paypal.php" hash="4f0ea53a37ebced5be389d85f800a960"/><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><file name="Prepay.php" hash="eb79f9f8469652e91b11fd5d714db84f"/><file name="Shopgate.php" hash="f21b1608add7e193bed0ccf0004de3a8"/><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="759f4a7e103f9f9f4457aa1d0694c26d"/><file name="Sue300.php" hash="c804244222e5fe67ead8916c5c1ffef1"/></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="8ae29e630ab2b7c149c94ec56eba5d25"/><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="67f39836bbe7a9a327591c480bdae3b5"/><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="6727161582aa5c4f2f7818b153bca346"/><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="2892e0dd200db6c0ffa5fa83f87d838c"/><file name="shopgate.phtml" hash="5457030290f8aa08c2711a8bd27c3dee"/></dir></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>shopgate_module</name>
|
4 |
+
<version>2.9.21</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://wiki.shopgate.com/Magento/de">Shopgate Plugin</license>
|
7 |
<channel>community</channel>
|
10 |
<description>Shopgate Plugin</description>
|
11 |
<notes>Shopgate Modul</notes>
|
12 |
<authors><author><name>Peter Liebig</name><user>Shopgate</user><email>p.liebig@me.com</email></author><author><name>Stephan Recknagel</name><user>Shopgate</user><email>mail@recknagel.io</email></author><author><name>André Kraus</name><user>Shopgate</user><email>andre.kraus83@googlemail.com</email></author></authors>
|
13 |
+
<date>2015-09-17</date>
|
14 |
+
<time>14:35:01</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="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="Version.php" hash="2f45712bb20635ac17d8bdee213819e5"/></dir><dir name="Helper"><dir name="Billsafe"><file name="Order.php" hash="474c2aa15f352224c11c8ab17e921c9d"/></dir><file name="Config.php" hash="2c736f067f5d69855e1523504a7afe36"/><file name="Coupon.php" hash="519697b13040ddfbc8f460b6034c8779"/><file name="Customer.php" hash="9317086e730aedc99c7c187ebf898a7b"/><file name="Data.php" hash="fee342e3b3c84fe574f2335a800386f2"/><file name="Debug.php" hash="82c85038046fc9b2f994df18b7f202a6"/><file name="Export.php" hash="205dee2b07a96990efdc7ecca08cf075"/><dir name="Import"><file name="Order.php" hash="bf2e1bbee6fb46ec22e5c6a1ed0a0404"/></dir><file name="Install.php" hash="57f42693c9a6ddb18b8a25a2a5da7cf8"/><dir name="Payment"><file name="Abstract.php" hash="207f16aab8224761b7d91802b9fb10ee"/><file name="Payone.php" hash="ddced5955ff55105d8b3c91e0fcb0778"/><file name="Wspp.php" hash="4214f1d3332cd189cee3df48108ebd8d"/></dir><file name="Sales.php" hash="d6c50ee8b07947680a7ef6202de526a3"/></dir><dir name="Model"><dir name="Carrier"><file name="Fix.php" hash="b29aaf2603b9bb18bb4452f4a8f94ef4"/></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="841aa15d8e195bc1ded566290caa8dd9"/></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="0bb22a0cbf0d89392a73af161e9c6c3a"/></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="da10a5dddba99720bea687ec4fa94c57"/><dir name="Payment"><dir name="Abstract"><file name="AbstractPayol.php" hash="cd01113947410cfc54be61e2daa60aeb"/></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"/><dir name="Cc"><file name="Abstract.php" hash="2b291ac14d9e1e3120416d6aeb4c3487"/><file name="Authn.php" hash="c38935ef46ad1ca1a9c475e23bf2a3fa"/><file name="AuthnAbstract.php" hash="191c01a96778b45c5128812f66049b07"/><dir name="Authncim"><file name="Gateway.php" hash="1f8df3fe0e50f4729bebfc1d4763b015"/><file name="Method.php" hash="aa6916548a71848ad7c83e4f053bc27e"/></dir><file name="Authncim.php" hash="89f1c2a0bb59d08c895da84c14c325ff"/><file name="Usaepay.php" hash="53297c43d694f4bfb5296a29ad10c4cb"/></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"/><dir name="Ins"><file name="Payol.php" hash="b6961c4ab1fb9a95ab2d470aeaad8d29"/></dir><file name="Interface.php" hash="151002297bcce208b85bd260c7a25b47"/><dir name="Inv"><file name="Payol.php" hash="6d1c28b2ea2fb2fd63e09712f4533c77"/></dir><file name="MobilePayment.php" hash="59554c65e778831f6add450e0f846f42"/><dir name="Payone"><file name="Abstract.php" hash="d38bac40669498b6d3eb1f89de7a70f8"/><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="e6c5afcb0653d2ec3de3bd5d1442b355"/><file name="Wspp.php" hash="5c4d194c7814416491892f4cbe272d9f"/></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"/><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><file name="Cod.php" hash="0688749cd9110544d01e5c1130be3005"/><file name="Invoice.php" hash="a86d8500a0dee3056e56b0ccfb1fae3d"/><file name="Mws.php" hash="66b68310d396e83423aefbd6e266c7ff"/><dir name="Paypal"><file name="Express.php" hash="e2d33dbc600503d9a7541ab53df60662"/><file name="Standard.php" hash="5281ddc90f8f560b6cffa2e97fe08304"/><file name="Standard1400.php" hash="d80d26e8189b12c9796929dfad77f6c8"/></dir><file name="Paypal.php" hash="03a7c4b8e193d262aa2dbd51cdac3ab8"/><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><file name="Prepay.php" hash="eb79f9f8469652e91b11fd5d714db84f"/><file name="Shopgate.php" hash="f21b1608add7e193bed0ccf0004de3a8"/><dir name="Sue"><file name="Abstract.php" hash="d07d6b3a5702b458ed4e5f4574e3ced9"/><file name="Sue118.php" hash="759f4a7e103f9f9f4457aa1d0694c26d"/><file name="Sue300.php" hash="c804244222e5fe67ead8916c5c1ffef1"/></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="7a309b69fb20fb6fcae5f3b77f5b7ba9"/></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="4008f0c05f243c356f7b7b6132737d46"/><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="768550ab07de9ad19647620a71bf59e2"/><dir name="controllers"><dir name="Adminhtml"><file name="ShopgateController.php" hash="cd2305edb0348a15f956d20d39433778"/></dir><file name="FrameworkController.php" hash="2aec53db3cedaf901ef6199dc000cda2"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d1f345ca5fc8b0619234f9c270fb84a7"/><file name="config.xml" hash="2bb1e98271d3ed3cd8368d23572548ec"/><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="c125d7df1909c3adc1edc944e8bce8be"/><dir name="classes"><file name="apis.php" hash="61ceeade474c9dffa98c9c15691cae7f"/><file name="configuration.php" hash="66de7aa2f3e01418c1e070057ac9a028"/><file name="core.php" hash="bb140813e98ccd8714f6c88cececba4e"/><file name="customers.php" hash="3bc00737d0cfd788c24f52b303babd8a"/><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="7a361efd0a5327c0ad0f0745c1b74cc0"/><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="77df45fd89aec19565a5fae7178205bb"/><file name="Manufacturer.php" hash="0e9463bf758f921d4f31d429e12996b2"/><file name="Option.php" hash="fd95fe72bff985ae0b2861da115e2468"/><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="e70ccf1c0c0b1a7073c54fa67d961b3c"/><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="608ba89093ef89e1c182cd6085dbf3b1"/></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="8bab300fb25a48cd2c8119ae1942ed54"/></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><required><php><min>5.3.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|