Adyen_Payment - Version 2.0.3

Version Notes

Hotfix disable fields on HPP for Klarna
Hotfix delete unused ifelse statement
Hotfix only add lines for discount costs and shipping cost for openinvoice\klarna if this is the case. Removed the overall tax costs line because all product already have tax costs defined

Download this release

Release Info

Developer Adyen
Extension Adyen_Payment
Version 2.0.3
Comparing to
See all releases


Code changes from version 2.0.2 to 2.0.3

Files changed (28) hide show
  1. app/code/community/Adyen/Payment/Block/Adminhtml/Form/Field/Installments.php +3 -3
  2. app/code/community/Adyen/Payment/Block/Form/Cc.php +54 -54
  3. app/code/community/Adyen/Payment/Block/Info/Cc.php +46 -46
  4. app/code/community/Adyen/Payment/Block/Redirect.php +135 -135
  5. app/code/community/Adyen/Payment/Helper/Installments.php +1 -1
  6. app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +571 -571
  7. app/code/community/Adyen/Payment/Model/Adyen/Cc.php +140 -140
  8. app/code/community/Adyen/Payment/Model/Adyen/Data/BrowserInfo.php +32 -32
  9. app/code/community/Adyen/Payment/Model/Adyen/Data/OpenInvoiceDetailResult.php +43 -37
  10. app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +143 -143
  11. app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest3d.php +50 -50
  12. app/code/community/Adyen/Payment/Model/Adyen/Debug.php +34 -34
  13. app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +156 -156
  14. app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php +135 -124
  15. app/code/community/Adyen/Payment/Model/Adyen/Pos.php +134 -134
  16. app/code/community/Adyen/Payment/Model/Authenticate.php +1 -1
  17. app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug.php +43 -43
  18. app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug/Collection.php +34 -34
  19. app/code/community/Adyen/Payment/controllers/ProcessController.php +372 -372
  20. app/code/community/Adyen/Payment/etc/config.xml +366 -366
  21. app/code/community/Adyen/Payment/etc/system.xml +590 -590
  22. app/design/adminhtml/default/default/template/adyen/form/cc.phtml +151 -151
  23. app/design/adminhtml/default/default/template/adyen/info/cc.phtml +53 -53
  24. app/design/frontend/base/default/layout/adyen.xml +51 -51
  25. app/design/frontend/base/default/template/adyen/form/cc.phtml +155 -155
  26. app/design/frontend/base/default/template/adyen/info/cc.phtml +39 -39
  27. app/locale/nl_NL/Adyen_Payment.csv +0 -56
  28. package.xml +7 -8
app/code/community/Adyen/Payment/Block/Adminhtml/Form/Field/Installments.php CHANGED
@@ -42,9 +42,9 @@ class Adyen_Payment_Block_Adminhtml_Form_Field_Installments extends Mage_Adminht
42
  */
43
  protected function _prepareToRender()
44
  {
45
- $this->addColumn('installment_currency', array(
46
- 'label' => Mage::helper('adyen')->__('Currency'),
47
- 'style' => 'width:100px',
48
  ));
49
  $this->addColumn('installment_boundary', array(
50
  'label' => Mage::helper('adyen')->__('Minor Units (incl.)'),
42
  */
43
  protected function _prepareToRender()
44
  {
45
+ $this->addColumn('installment_currency', array(
46
+ 'label' => Mage::helper('adyen')->__('Currency'),
47
+ 'style' => 'width:100px',
48
  ));
49
  $this->addColumn('installment_boundary', array(
50
  'label' => Mage::helper('adyen')->__('Minor Units (incl.)'),
app/code/community/Adyen/Payment/Block/Form/Cc.php CHANGED
@@ -1,61 +1,61 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc {
29
-
30
- protected function _construct() {
31
- parent::_construct();
32
- $this->setTemplate('adyen/form/cc.phtml');
33
- }
34
-
35
  /**
36
  * Retrieve availables credit card types
37
  *
38
  * @return array
39
  */
40
- public function getCcAvailableTypes() {
41
- return $this->getMethod()->getAvailableCCTypes();
42
- }
43
-
44
- public function isCseEnabled() {
45
- return $this->getMethod()->isCseEnabled();
46
- }
47
- public function getCsePublicKey() {
48
- return $this->getMethod()->getCsePublicKey();
49
- }
50
-
51
- public function getPossibleInstallments(){
52
- return $this->getMethod()->getPossibleInstallments();
53
- }
54
-
55
- public function hasInstallments(){
56
- return Mage::helper('adyen/installments')->isInstallmentsEnabled();
57
- }
58
-
59
  /**
60
  * Alway's return true for creditcard verification otherwise api call to adyen won't work
61
  *
@@ -66,4 +66,4 @@ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc {
66
  return true;
67
  }
68
 
69
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc {
29
+
30
+ protected function _construct() {
31
+ parent::_construct();
32
+ $this->setTemplate('adyen/form/cc.phtml');
33
+ }
34
+
35
  /**
36
  * Retrieve availables credit card types
37
  *
38
  * @return array
39
  */
40
+ public function getCcAvailableTypes() {
41
+ return $this->getMethod()->getAvailableCCTypes();
42
+ }
43
+
44
+ public function isCseEnabled() {
45
+ return $this->getMethod()->isCseEnabled();
46
+ }
47
+ public function getCsePublicKey() {
48
+ return $this->getMethod()->getCsePublicKey();
49
+ }
50
+
51
+ public function getPossibleInstallments(){
52
+ return $this->getMethod()->getPossibleInstallments();
53
+ }
54
+
55
+ public function hasInstallments(){
56
+ return Mage::helper('adyen/installments')->isInstallmentsEnabled();
57
+ }
58
+
59
  /**
60
  * Alway's return true for creditcard verification otherwise api call to adyen won't work
61
  *
66
  return true;
67
  }
68
 
69
+ }
app/code/community/Adyen/Payment/Block/Info/Cc.php CHANGED
@@ -1,47 +1,47 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Block_Info_Cc extends Mage_Payment_Block_Info_Cc {
29
-
30
- public function isCseEnabled() {
31
- return $this->getMethod()->isCseEnabled();
32
- }
33
-
34
- /**
35
- * Init default template for block
36
- */
37
- protected function _construct() {
38
- parent::_construct();
39
- $this->setTemplate('adyen/info/cc.phtml');
40
- }
41
-
42
- public function toPdf() {
43
- $this->setTemplate('adyen/info/pdf/cc.phtml');
44
- return $this->toHtml();
45
- }
46
-
47
  }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Info_Cc extends Mage_Payment_Block_Info_Cc {
29
+
30
+ public function isCseEnabled() {
31
+ return $this->getMethod()->isCseEnabled();
32
+ }
33
+
34
+ /**
35
+ * Init default template for block
36
+ */
37
+ protected function _construct() {
38
+ parent::_construct();
39
+ $this->setTemplate('adyen/info/cc.phtml');
40
+ }
41
+
42
+ public function toPdf() {
43
+ $this->setTemplate('adyen/info/pdf/cc.phtml');
44
+ return $this->toHtml();
45
+ }
46
+
47
  }
app/code/community/Adyen/Payment/Block/Redirect.php CHANGED
@@ -1,135 +1,135 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
29
-
30
- protected function _getCheckout() {
31
- return Mage::getSingleton('checkout/session');
32
- }
33
-
34
- protected function _getOrder() {
35
- if ($this->getOrder()) {
36
- return $this->getOrder();
37
- } elseif ($orderIncrementId == $this->_getCheckout()->getLastRealOrderId()) {
38
- return Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
39
- } else {
40
- return null;
41
- }
42
- }
43
-
44
- protected function _toHtml() {
45
-
46
- $payment = $this->_getOrder()->getPayment()->getMethodInstance();
47
-
48
- $html = '<html><head><link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/frontend/base/default/css/adyenstyle.css"><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script></head><body class="redirect-body-adyen">';
49
- // if pos payment redirect to app
50
- if($payment->getCode() == "adyen_pos") {
51
-
52
- $adyFields = $payment->getFormFields();
53
- // use the secure url (if not secure this will be filled in with http://
54
- $url = urlencode(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true)."adyen/process/successPos");
55
-
56
- // detect ios or android
57
- $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
58
- $android = stripos($ua,'android');
59
-
60
- // extra parameters so that you alway's return these paramters from the application
61
- $extra_paramaters = urlencode("/?originalCustomCurrency=".$adyFields['currencyCode']."&originalCustomAmount=".$adyFields['paymentAmount']. "&originalCustomMerchantReference=".$adyFields['merchantReference'] . "&originalCustomSessionId=".session_id());
62
-
63
- // add recurring before the callback url
64
- $recurring_parameters = "&recurringContract=".urlencode($adyFields['recurringContract'])."&shopperReference=".urlencode($adyFields['shopperReference']). "&shopperEmail=".urlencode($adyFields['shopperEmail']);
65
-
66
- // important url must be the latest parameter before extra parameters! otherwise extra parameters won't return in return url
67
- if($android !== false) { // && stripos($ua,'mobile') !== false) {
68
- // watch out some attributes are different from ios (sessionid and callback_automatic) added start_immediately
69
- $launchlink = "adyen://www.adyen.com/?sessionid=".date(U)."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']. $recurring_parameters . "&start_immediately=1&callback_automatic=1&callback=".$url .$extra_paramaters;
70
- } else {
71
- //$launchlink = "adyen://payment?currency=".$adyFields['currencyCode']."&amount=".$adyFields['paymentAmount']."&description=".$adyFields['merchantReference']."&callback=".$url."&sessionId=".session_id()."&callbackAutomatic=1".$extra_paramaters;
72
- $launchlink = "adyen://payment?sessionId=".session_id()."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']. $recurring_parameters . "&callbackAutomatic=1&callback=".$url .$extra_paramaters;
73
- }
74
-
75
- // log the launchlink
76
- Mage::log("Launchlink:".$launchlink, Zend_Log::DEBUG, "adyen_notification.log", true);
77
-
78
- // call app directly without HPP
79
- $html .= "<div id=\"pos-redirect-page\">
80
- <div class=\"logo\"></div>
81
- <div class=\"grey-header\">
82
- <h1>POS Payment</h1>
83
- </div>
84
- <div class=\"amount-box\">".
85
- $adyFields['paymentAmountGrandTotal'] .
86
- "<a id=\"launchlink\" href=\"".$launchlink ."\" >Payment</a> ".
87
- "</div>";
88
-
89
- $html .= '<script type="text/javascript">
90
-
91
- function checkStatus() {
92
- $.ajax({
93
- url: "'. $this->getUrl('adyen/process/getOrderStatus') . '",
94
- type: "POST",
95
- data: "merchantReference='.$adyFields['merchantReference'] .'",
96
- success: function(data) {
97
- if(data == "true") {
98
- // redirect to success page
99
- window.location.href = "'. Mage::getBaseUrl()."adyen/process/success" . '";
100
- } else {
101
- window.location.href = "'. Mage::getBaseUrl()."adyen/process/cancel" . '";
102
- }
103
- }
104
- });
105
- }';
106
-
107
- if($android !== false) {
108
- $html .= 'url = document.getElementById(\'launchlink\').href;';
109
- $html .= 'window.location.assign(url);';
110
- $html .= 'window.onfocus = function(){setTimeout("checkStatus()", 500);};';
111
- } else {
112
- $html .= 'document.getElementById(\'launchlink\').click();';
113
- $html .= 'setTimeout("checkStatus()", 5000);';
114
- }
115
- $html .= '</script></div>';
116
- } else {
117
- $form = new Varien_Data_Form();
118
- $form->setAction($payment->getFormUrl())
119
- ->setId($payment->getCode())
120
- ->setName($payment->getFormName())
121
- ->setMethod('POST')
122
- ->setUseContainer(true);
123
- foreach ($payment->getFormFields() as $field => $value) {
124
- $form->addField($field, 'hidden', array('name' => $field, 'value' => $value));
125
- }
126
-
127
- $html.= $this->__(' ');
128
- $html.= $form->toHtml();
129
- $html.= '<script type="text/javascript">document.getElementById("'.$payment->getCode().'").submit();</script>';
130
- }
131
- $html.= '</body></html>';
132
- return $html;
133
- }
134
-
135
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
29
+
30
+ protected function _getCheckout() {
31
+ return Mage::getSingleton('checkout/session');
32
+ }
33
+
34
+ protected function _getOrder() {
35
+ if ($this->getOrder()) {
36
+ return $this->getOrder();
37
+ } else {
38
+ // log the exception
39
+ Mage::log("Redirect exception could not load the order:", Zend_Log::DEBUG, "adyen_notification.log", true);
40
+ return null;
41
+ }
42
+ }
43
+
44
+ protected function _toHtml() {
45
+
46
+ $payment = $this->_getOrder()->getPayment()->getMethodInstance();
47
+
48
+ $html = '<html><head><link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/frontend/base/default/css/adyenstyle.css"><script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script></head><body class="redirect-body-adyen">';
49
+ // if pos payment redirect to app
50
+ if($payment->getCode() == "adyen_pos") {
51
+
52
+ $adyFields = $payment->getFormFields();
53
+ // use the secure url (if not secure this will be filled in with http://
54
+ $url = urlencode(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true)."adyen/process/successPos");
55
+
56
+ // detect ios or android
57
+ $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
58
+ $android = stripos($ua,'android');
59
+
60
+ // extra parameters so that you alway's return these paramters from the application
61
+ $extra_paramaters = urlencode("/?originalCustomCurrency=".$adyFields['currencyCode']."&originalCustomAmount=".$adyFields['paymentAmount']. "&originalCustomMerchantReference=".$adyFields['merchantReference'] . "&originalCustomSessionId=".session_id());
62
+
63
+ // add recurring before the callback url
64
+ $recurring_parameters = "&recurringContract=".urlencode($adyFields['recurringContract'])."&shopperReference=".urlencode($adyFields['shopperReference']). "&shopperEmail=".urlencode($adyFields['shopperEmail']);
65
+
66
+ // important url must be the latest parameter before extra parameters! otherwise extra parameters won't return in return url
67
+ if($android !== false) { // && stripos($ua,'mobile') !== false) {
68
+ // watch out some attributes are different from ios (sessionid and callback_automatic) added start_immediately
69
+ $launchlink = "adyen://www.adyen.com/?sessionid=".date(U)."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']. $recurring_parameters . "&start_immediately=1&callback_automatic=1&callback=".$url .$extra_paramaters;
70
+ } else {
71
+ //$launchlink = "adyen://payment?currency=".$adyFields['currencyCode']."&amount=".$adyFields['paymentAmount']."&description=".$adyFields['merchantReference']."&callback=".$url."&sessionId=".session_id()."&callbackAutomatic=1".$extra_paramaters;
72
+ $launchlink = "adyen://payment?sessionId=".session_id()."&amount=".$adyFields['paymentAmount']."&currency=".$adyFields['currencyCode']."&description=".$adyFields['merchantReference']. $recurring_parameters . "&callbackAutomatic=1&callback=".$url .$extra_paramaters;
73
+ }
74
+
75
+ // log the launchlink
76
+ Mage::log("Launchlink:".$launchlink, Zend_Log::DEBUG, "adyen_notification.log", true);
77
+
78
+ // call app directly without HPP
79
+ $html .= "<div id=\"pos-redirect-page\">
80
+ <div class=\"logo\"></div>
81
+ <div class=\"grey-header\">
82
+ <h1>POS Payment</h1>
83
+ </div>
84
+ <div class=\"amount-box\">".
85
+ $adyFields['paymentAmountGrandTotal'] .
86
+ "<a id=\"launchlink\" href=\"".$launchlink ."\" >Payment</a> ".
87
+ "</div>";
88
+
89
+ $html .= '<script type="text/javascript">
90
+
91
+ function checkStatus() {
92
+ $.ajax({
93
+ url: "'. $this->getUrl('adyen/process/getOrderStatus') . '",
94
+ type: "POST",
95
+ data: "merchantReference='.$adyFields['merchantReference'] .'",
96
+ success: function(data) {
97
+ if(data == "true") {
98
+ // redirect to success page
99
+ window.location.href = "'. Mage::getBaseUrl()."adyen/process/success" . '";
100
+ } else {
101
+ window.location.href = "'. Mage::getBaseUrl()."adyen/process/cancel" . '";
102
+ }
103
+ }
104
+ });
105
+ }';
106
+
107
+ if($android !== false) {
108
+ $html .= 'url = document.getElementById(\'launchlink\').href;';
109
+ $html .= 'window.location.assign(url);';
110
+ $html .= 'window.onfocus = function(){setTimeout("checkStatus()", 500);};';
111
+ } else {
112
+ $html .= 'document.getElementById(\'launchlink\').click();';
113
+ $html .= 'setTimeout("checkStatus()", 5000);';
114
+ }
115
+ $html .= '</script></div>';
116
+ } else {
117
+ $form = new Varien_Data_Form();
118
+ $form->setAction($payment->getFormUrl())
119
+ ->setId($payment->getCode())
120
+ ->setName($payment->getFormName())
121
+ ->setMethod('POST')
122
+ ->setUseContainer(true);
123
+ foreach ($payment->getFormFields() as $field => $value) {
124
+ $form->addField($field, 'hidden', array('name' => $field, 'value' => $value));
125
+ }
126
+
127
+ $html.= $this->__(' ');
128
+ $html.= $form->toHtml();
129
+ $html.= '<script type="text/javascript">document.getElementById("'.$payment->getCode().'").submit();</script>';
130
+ }
131
+ $html.= '</body></html>';
132
+ return $html;
133
+ }
134
+
135
+ }
app/code/community/Adyen/Payment/Helper/Installments.php CHANGED
@@ -152,7 +152,7 @@ class Adyen_Payment_Helper_Installments
152
  $cur_minimal_boundary = $boundary;
153
  $resulting_freq = $frequency;
154
  }
155
- if($boundary == "" && $cur_minimal_boundary == -1){
156
  $resulting_freq = $frequency;
157
  }
158
  }
152
  $cur_minimal_boundary = $boundary;
153
  $resulting_freq = $frequency;
154
  }
155
+ if($boundary == "" && $cur_minimal_boundary == -1){
156
  $resulting_freq = $frequency;
157
  }
158
  }
app/code/community/Adyen/Payment/Model/Adyen/Abstract.php CHANGED
@@ -1,564 +1,564 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Method_Abstract {
29
-
30
- /**
31
- * Zend_Log debug level
32
- * @var unknown_type
33
- */
34
- const DEBUG_LEVEL = 7;
35
-
36
- protected $_isGateway = false;
37
- protected $_canAuthorize = true;
38
- protected $_canCapture = true;
39
- protected $_canCapturePartial = true;
40
- protected $_canRefund = true;
41
- protected $_canVoid = true;
42
- protected $_canUseInternal = true;
43
- protected $_canUseCheckout = true;
44
- protected $_canUseForMultishipping = false;
45
- protected $_canRefundInvoicePartial = true;
46
-
47
- /**
48
- * TODO: whether a captured transaction may be voided by this gateway
49
- * This may happen when amount is captured, but not settled
50
- * @var bool
51
- */
52
- protected $_canCancelInvoice = true;
53
-
54
- /**
55
- * Magento Order Object
56
- * @var unknown_type
57
- */
58
- protected $_order;
59
-
60
- /**
61
- * Module identifiers
62
- */
63
- protected $_code = 'adyen_abstract';
64
- protected $_paymentMethod = 'abstract';
65
-
66
- /**
67
- * Internal objects and arrays for SOAP communication
68
- */
69
- protected $_service = NULL;
70
- protected $_accountData = NULL;
71
-
72
- /**
73
- * Payment Modification Request
74
- * @var unknown_type
75
- */
76
- protected $_paymentRequest = NULL;
77
- protected $_optionalData = NULL;
78
- protected $_testModificationUrl = 'https://pal-test.adyen.com/pal/adapter/httppost';
79
- protected $_liveModificationUrl = 'https://pal-live.adyen.com/pal/adapter/httppost';
80
-
81
- /**
82
- * @param Varien_Object $payment
83
- * @param unknown_type $amount
84
- */
85
- public function refund(Varien_Object $payment, $amount) {
86
- $this->writeLog('refund fx called');
87
- parent::refund($payment, $amount);
88
- return $this;
89
- }
90
-
91
- /**
92
- * In the backend it means Authorize only
93
- * @param Varien_Object $payment
94
- * @param unknown_type $amount
95
- */
96
- public function authorize(Varien_Object $payment, $amount) {
97
- parent::authorize($payment, $amount);
98
- $payment->setLastTransId($this->getTransactionId())->setIsTransactionPending(true);
99
  if ($this->getCode() == 'adyen_boleto' || $this->getCode() == 'adyen_cc' || $this->getCode() == 'adyen_elv') {
100
  $_authorizeResponse = $this->_processRequest($payment, $amount, "authorise");
101
- }
102
- return $this;
103
- }
104
-
105
- /**
106
- * In backend it means Authorize && Capture
107
- * @param $payment
108
- * @param $amount
109
- */
110
- public function capture(Varien_Object $payment, $amount) {
111
- parent::capture($payment, $amount);
112
- $payment->setStatus(self::STATUS_APPROVED)
113
- ->setTransactionId($this->getTransactionId())
114
- ->setIsTransactionClosed(0);
115
- return $this;
116
- }
117
-
118
- public function authorise3d(Varien_Object $payment, $amount) {
119
- $authorizeResponse = $this->_processRequest($payment, $amount, "authorise3d");
120
- $responseCode = $authorizeResponse->paymentResult->resultCode;
121
- return $responseCode;
122
- }
123
-
124
- public function sendCaptureRequest(Varien_Object $payment, $amount, $pspReference) {
125
- if (empty($pspReference)) {
126
- $this->writeLog('oops empty pspReference');
127
- return $this;
128
- }
129
- $this->writeLog("sendCaptureRequest pspReference : $pspReference amount: $amount");
130
  return $this->_processRequest($payment, $amount, "capture", $pspReference);
131
- }
132
-
133
- public function sendRefundRequest(Varien_Object $payment, $amount, $pspReference) {
134
- if (empty($pspReference)) {
135
- $this->writeLog('oops empty pspReference');
136
- return $this;
137
- }
138
- $this->writeLog("sendRefundRequest pspReference : $pspReference amount: $amount");
139
  return $this->_processRequest($payment, $amount, "refund", $pspReference);
140
- }
141
-
142
- /**
143
- * Process the request here
144
- * @param Varien_Object $payment
145
- * @param unknown_type $amount
146
- * @param unknown_type $request
147
- * @param unknown_type $responseData
148
- */
149
- protected function _processRequest(Varien_Object $payment, $amount, $request, $pspReference = null) {
150
- $this->_initOrder();
151
- $this->_initService();
152
- $merchantAccount = trim($this->_getConfigData('merchantAccount'));
153
- $modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
154
- $requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
155
- ->create($payment, $amount, $this->_order, $merchantAccount, $pspReference);
156
-
157
- switch ($request) {
158
- case "authorise":
159
- $requestData = Mage::getModel('adyen/adyen_data_paymentRequest')
160
- ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
161
-
162
- $response = $this->_service->authorise(array('paymentRequest' => $requestData));
163
- break;
164
- case "authorise3d":
165
- $requestData = Mage::getModel('adyen/adyen_data_paymentRequest3d')
166
- ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
167
-
168
- $response = $this->_service->authorise3d(array('paymentRequest3d' => $requestData));
169
- break;
170
- case "capture":
171
- $response = $this->_service->capture(array(
172
- 'modificationRequest' => $requestData,
173
- 'modificationResult' => $modificationResult));
174
- break;
175
- case "refund":
176
- $response = $this->_service->refund(array(
177
- 'modificationRequest' => $requestData,
178
- 'modificationResult' => $modificationResult));
179
- break;
180
- }
181
-
182
  if (!empty($response)) {
183
  $this->_processResponse($payment, $response, $request);
184
  }
185
 
186
- //debug || log
187
  Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
188
- $this->_debugAdyen();
189
- Mage::log($requestData, self::DEBUG_LEVEL, "$request.log", true);
190
- Mage::log("Response from Adyen:", self::DEBUG_LEVEL, "$request.log", true);
191
- Mage::log($response, self::DEBUG_LEVEL, "$request.log", true);
192
-
193
- //return $this;
194
  return $response;
195
- }
196
-
197
- /**
198
- * @desc authorise response
199
- * Process the response of the soap
200
- * @param Varien_Object $payment
201
- * @param unknown_type $response
202
- * @todo Add comment with checkout Authorised
203
- */
204
- protected function _processResponse(Varien_Object $payment, $response, $request = null) {
205
- if (!($response instanceof stdClass)) {
206
- return false;
207
- }
208
- switch ($request) {
209
- case "authorise":
210
- case "authorise3d":
211
- $responseCode = $response->paymentResult->resultCode;
212
- $pspReference = $response->paymentResult->pspReference;
213
- break;
214
- case "refund":
215
- $responseCode = $response->refundResult->response;
216
- $pspReference = $response->refundResult->pspReference;
217
- break;
218
- case "capture":
219
- $responseCode = $response->captureResult->response;
220
- $pspReference = $response->captureResult->pspReference;
221
- break;
222
- default:
223
- $this->writeLog("Unknown data type by Adyen");
224
- break;
225
- }
226
- switch ($responseCode) {
227
-
228
- case "RedirectShopper":
229
- $payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
230
- $payment->setAdditionalInformation('md', $response->paymentResult->md);
231
- $payment->setAdditionalInformation('issuerUrl', $response->paymentResult->issuerUrl);
232
- Mage::getSingleton('customer/session')->setRedirectUrl("adyen/process/validate3d");
233
- $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
234
- break;
235
- case "Refused":
236
- $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
237
- Mage::throwException($errorMsg);
238
- break;
239
- case "Authorised":
240
- $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
241
- break;
242
  case "Received": // boleto payment
243
  $additionalDataResult = $response->paymentResult->additionalData->entry;
244
  $pdfUrl = $additionalDataResult[0]->value;
245
  $this->_addStatusHistory($payment, $responseCode, $pspReference, false, $pdfUrl);
246
  break;
247
- case '[capture-received]':
248
- $this->_addStatusHistory($payment, $responseCode, $pspReference);
249
- break;
250
- case '[refund-received]':
251
  $this->_addStatusHistory($payment, $responseCode, $pspReference);
252
- break;
253
- case "Error":
254
- $errorMsg = Mage::helper('adyen')->__('System error, please try again later');
255
- Mage::throwException($errorMsg);
256
- break;
257
- default:
258
- $this->writeLog("Unknown data type by Adyen");
259
- break;
260
- }
261
-
262
- //save all response data for a pure duplicate detection
263
- Mage::getModel('adyen/event')
264
- ->setPspReference($pspReference)
265
- ->setAdyenEventCode($responseCode)
266
- ->setAdyenEventResult($responseCode)
267
- ->setIncrementId($this->_order->getIncrementId())
268
- ->setPaymentMethod($this->getInfoInstance()->getCcType())
269
- ->setCreatedAt(now())
270
- ->saveData()
271
- ;
 
 
 
272
  return $this;
273
- }
274
-
275
- /**
276
- * @since 0.0.3
277
- * @param Varien_Object $payment
278
- * @param unknown_type $request
279
- * @param unknown_type $pspReference
280
- */
281
  protected function _addStatusHistory(Varien_Object $payment, $responseCode, $pspReference, $status = false, $boletoPDF = null) {
282
 
283
  if($boletoPDF)
284
  $payment->getOrder()->setAdyenBoletoPdf($boletoPDF);
285
 
286
- $comment = Mage::helper('adyen')->__('Adyen Result URL Notification(s): %s <br /> pspReference: %s', $responseCode, $pspReference);
287
- $payment->getOrder()->setAdyenEventCode($responseCode);
288
- $payment->getOrder()->addStatusHistoryComment($comment, $status);
289
- $payment->setAdyenEventCode($responseCode);
290
- return $this;
291
- }
292
-
293
- /**
294
- * Format price
295
- * @param unknown_type $amount
296
- * @param unknown_type $format
297
- */
298
- protected function _formatAmount($amount, $format = 2) {
299
- return (int) number_format($amount, $format, '', '');
300
- }
301
-
302
- /**
303
- * @desc Get SOAP client
304
- * @return Adyen_Payment_Model_Adyen_Abstract
305
- */
306
- protected function _initService() {
307
- $accountData = $this->getAccountData();
308
- $wsdl = $accountData['url']['wsdl'];
309
- $location = $accountData['url']['location'];
310
- $login = $accountData['login'];
311
- $password = $accountData['password'];
312
- $classmap = new Adyen_Payment_Model_Adyen_Data_Classmap();
313
- try {
314
- $this->_service = new SoapClient($wsdl, array(
315
- 'login' => $login,
316
- 'password' => $password,
317
- 'soap_version' => SOAP_1_1,
318
- 'style' => SOAP_DOCUMENT,
319
- 'encoding' => SOAP_LITERAL,
320
- 'location' => $location,
321
- 'trace' => 1,
322
- 'classmap' => $classmap));
323
- } catch (SoapFault $fault) {
324
- $this->writeLog("Adyen SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
325
- Mage::throwException(Mage::helper('adyen')->__('Can not connect payment service. Please try again later.'));
326
- }
327
- return $this;
328
- }
329
-
330
- /**
331
- * @desc soap urls
332
- * @return string
333
- */
334
- protected function _getAdyenUrls() {
335
- $test = array(
336
- 'location' => "https://pal-test.adyen.com/pal/servlet/soap/Payment",
337
  'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
338
- );
339
- $live = array(
340
- 'location' => "https://pal-live.adyen.com/pal/servlet/soap/Payment",
341
  'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
342
- );
343
- if ($this->getConfigDataDemoMode()) {
344
- return $test;
345
- } else {
346
- return $live;
347
- }
348
- }
349
-
350
- /**
351
- * @desc Testing purposes only
352
- */
353
- protected function _debugAdyen() {
354
- $this->writeLog("Request Headers: ");
355
- $this->writeLog($this->_service->__getLastRequestHeaders());
356
- $this->writeLog("Request:");
357
- $this->writeLog($this->_service->__getLastRequest());
358
- $this->writeLog("Response Headers");
359
- $this->writeLog($this->_service->__getLastResponseHeaders());
360
- $this->writeLog("Response");
361
- $this->writeLog($this->_service->__getLastResponse());
362
- }
363
-
364
- /**
365
- * Adyen User Account Data
366
- */
367
- public function getAccountData() {
368
- $url = $this->_getAdyenUrls();
369
- $wsUsername = $this->getConfigDataWsUserName();
370
- $wsPassword = $this->getConfigDataWsPassword();
371
- $account = array(
372
- 'url' => $url,
373
- 'login' => $wsUsername,
374
- 'password' => $wsPassword
375
- );
376
- return $account;
377
- }
378
-
379
- /**
380
- * @desc init order object
381
- * @return Adyen_Payment_Model_Adyen_Abstract
382
- */
383
- protected function _initOrder() {
384
- if (!$this->_order) {
385
- $paymentInfo = $this->getInfoInstance();
386
- $this->_order = Mage::getModel('sales/order')
387
- ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
388
- }
389
- return $this;
390
- }
391
-
392
- /**
393
- * Void payment
394
- *
395
- * @param Varien_Object $invoicePayment
396
- * @return Mage_Payment_Model_Abstract
397
- */
398
- public function void(Varien_Object $payment) {
399
- parent::void();
400
- $this->cancel($payment);
401
- return $this;
402
- }
403
-
404
- /**
405
- * @todo fix me validate()
406
- * @see Mage_Payment_Model_Method_Abstract::validate()
407
- */
408
- public function validate() {
409
- return $this;
410
- }
411
-
412
- /**
413
- * @desc Cancel order
414
- * @param Varien_Object $payment
415
- * @param type $amount
416
- * @return Adyen_Payment_Model_Adyen_Abstract
417
- */
418
- public function cancel(Varien_Object $payment, $amount = null) {
419
- parent::cancel($payment);
420
- $this->writeLog("abstract -> cancel()" . get_class($this));
421
- return $this;
422
- }
423
-
424
- /**
425
- * @desc Adyen log fx
426
- * @param type $str
427
- * @return type
428
- */
429
- public function writeLog($str) {
430
  Mage::log($str, Zend_Log::DEBUG, "adyen_notification.log", true);
431
- return false;
432
- }
433
-
434
- /**
435
- * @status poor programming practises modification_result model not exist!
436
- * @param unknown_type $responseBody
437
- */
438
- public function getModificationResult($responseBody) {
439
- $result = new Varien_Object();
440
- $valArray = explode('&', $responseBody);
441
- foreach ($valArray as $val) {
442
- $valArray2 = explode('=', $val);
443
- $result->setData($valArray2[0], urldecode($valArray2[1]));
444
- }
445
- return $result;
446
- }
447
-
448
- public function getModificationUrl() {
449
- if ($this->getConfigDataDemoMode()) {
450
- return $this->_testModificationUrl;
451
- }
452
- return $this->_liveModificationUrl;
453
- }
454
-
455
- public function getConfigDataAutoCapture() {
456
- if (!$this->_getConfigData('auto_capture') || $this->_getConfigData('auto_capture') == 0) {
457
- return false;
458
- }
459
- return true;
460
- }
461
-
462
- public function getConfigDataAutoInvoice() {
463
- if (!$this->_getConfigData('auto_invoice') || $this->_getConfigData('auto_invoice') == 0) {
464
- return false;
465
- }
466
- return true;
467
- }
468
-
469
- public function getConfigDataAdyenCapture() {
470
- if ($this->_getConfigData('adyen_capture') && $this->_getConfigData('adyen_capture') == 1) {
471
- return true;
472
- }
473
- return false;
474
- }
475
-
476
- public function getConfigDataAdyenRefund() {
477
- if ($this->_getConfigData('adyen_refund') == 1) {
478
- return true;
479
- }
480
- return false;
481
- }
482
-
483
- /**
484
- * Return true if the method can be used at this time
485
- * @since 0.1.0.3r1
486
- * @return bool
487
- */
488
- public function isAvailable($quote=null) {
489
- if (!parent::isAvailable($quote)) {
490
- return false;
491
- }
492
- if (!is_null($quote)) {
493
- if ($this->_getConfigData('allowspecific', $this->_code)) {
494
- $country = $quote->getShippingAddress()->getCountry();
495
- $availableCountries = explode(',', $this->_getConfigData('specificcountry', $this->_code));
496
- if (!in_array($country, $availableCountries)) {
497
- return false;
498
- }
499
- }
500
- }
501
- return true;
502
- }
503
-
504
- /**
505
- * @desc Give Default settings
506
- * @example $this->_getConfigData('demoMode','adyen_abstract')
507
- * @since 0.0.2
508
- * @param string $code
509
- */
510
- protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
511
- if (null === $storeId) {
512
- $storeId = $this->getStore();
513
- }
514
- if (empty($paymentMethodCode)) {
515
- return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
516
- }
517
- return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
518
- }
519
-
520
- /**
521
- * Used via Payment method.Notice via configuration ofcourse Y or N
522
- * @return boolean true on demo, else false
523
- */
524
- public function getConfigDataDemoMode() {
525
- if ($this->_getConfigData('demoMode') == 'Y') {
526
- return true;
527
- }
528
- return false;
529
- }
530
-
531
- public function getConfigDataWsUserName() {
532
- if ($this->getConfigDataDemoMode()) {
533
- return $this->_getConfigData('ws_username_test');
534
- }
535
- return $this->_getConfigData('ws_username_live');
536
- }
537
-
538
- public function getConfigDataWsPassword() {
539
- if ($this->getConfigDataDemoMode()) {
540
- return $this->_getConfigData('ws_password_test');
541
- }
542
- return $this->_getConfigData('ws_password_live');
543
- }
544
-
545
- /**
546
- * @since 0.0.2
547
- */
548
- public function getAvailableCCTypes() {
549
- $types = Mage::helper('adyen')->getCcTypes();
550
- $availableTypes = $this->_getConfigData('cctypes', 'adyen_cc');
551
- if ($availableTypes) {
552
- $availableTypes = explode(',', $availableTypes);
553
- foreach ($types as $code => $name) {
554
- if (!in_array($code, $availableTypes)) {
555
- unset($types[$code]);
556
- }
557
- }
558
- }
559
- return $types;
560
- }
561
-
562
  public function getAvailableBoletoTypes() {
563
  $types = Mage::helper('adyen')->getBoletoTypes();
564
  $availableTypes = $this->_getConfigData('boletotypes', 'adyen_boleto');
@@ -573,38 +573,38 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
573
  return $types;
574
  }
575
 
576
- public function getConfigPaymentAction() {
577
- return Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE;
578
- }
579
-
580
- /**
581
- * @todo deprecates these use $this->_getConfigData($code,'paymentCode')
582
- * @desc No reason of doing this!!!
583
- */
584
- public function getConfigDataMerchantAccount() {
585
- return $this->_getConfigData('merchantAccount');
586
- }
587
-
588
- public function getConfigDataPaymentAuthorizedStatus() {
589
- return $this->_getConfigData('payment_authorized');
590
- }
591
-
592
- public function getConfigDataMailAuthorizedUpdate() {
593
- return $this->_getConfigData('mail_authorized');
594
- }
595
-
596
- public function getConfigDataCancelPendingCron() {
597
- return $this->_getConfigData('cancel_pending_cron');
598
- }
599
-
600
- public function getConfigDataHppSecretTest() {
601
- die("getConfigDataHppSecretTest in Adyen_Payment_Model_Adyen_Abstract");
602
- return $this->_getConfigData('secret_wordt');
603
- }
604
-
605
- public function getConfigDataHppSecretLive() {
606
- die("getConfigDataHppSecretLive in Adyen_Payment_Model_Adyen_Abstract");
607
- return $this->_getConfigData('secret_wordp');
608
- }
609
-
610
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Method_Abstract {
29
+
30
+ /**
31
+ * Zend_Log debug level
32
+ * @var unknown_type
33
+ */
34
+ const DEBUG_LEVEL = 7;
35
+
36
+ protected $_isGateway = false;
37
+ protected $_canAuthorize = true;
38
+ protected $_canCapture = true;
39
+ protected $_canCapturePartial = true;
40
+ protected $_canRefund = true;
41
+ protected $_canVoid = true;
42
+ protected $_canUseInternal = true;
43
+ protected $_canUseCheckout = true;
44
+ protected $_canUseForMultishipping = false;
45
+ protected $_canRefundInvoicePartial = true;
46
+
47
+ /**
48
+ * TODO: whether a captured transaction may be voided by this gateway
49
+ * This may happen when amount is captured, but not settled
50
+ * @var bool
51
+ */
52
+ protected $_canCancelInvoice = true;
53
+
54
+ /**
55
+ * Magento Order Object
56
+ * @var unknown_type
57
+ */
58
+ protected $_order;
59
+
60
+ /**
61
+ * Module identifiers
62
+ */
63
+ protected $_code = 'adyen_abstract';
64
+ protected $_paymentMethod = 'abstract';
65
+
66
+ /**
67
+ * Internal objects and arrays for SOAP communication
68
+ */
69
+ protected $_service = NULL;
70
+ protected $_accountData = NULL;
71
+
72
+ /**
73
+ * Payment Modification Request
74
+ * @var unknown_type
75
+ */
76
+ protected $_paymentRequest = NULL;
77
+ protected $_optionalData = NULL;
78
+ protected $_testModificationUrl = 'https://pal-test.adyen.com/pal/adapter/httppost';
79
+ protected $_liveModificationUrl = 'https://pal-live.adyen.com/pal/adapter/httppost';
80
+
81
+ /**
82
+ * @param Varien_Object $payment
83
+ * @param unknown_type $amount
84
+ */
85
+ public function refund(Varien_Object $payment, $amount) {
86
+ $this->writeLog('refund fx called');
87
+ parent::refund($payment, $amount);
88
+ return $this;
89
+ }
90
+
91
+ /**
92
+ * In the backend it means Authorize only
93
+ * @param Varien_Object $payment
94
+ * @param unknown_type $amount
95
+ */
96
+ public function authorize(Varien_Object $payment, $amount) {
97
+ parent::authorize($payment, $amount);
98
+ $payment->setLastTransId($this->getTransactionId())->setIsTransactionPending(true);
99
  if ($this->getCode() == 'adyen_boleto' || $this->getCode() == 'adyen_cc' || $this->getCode() == 'adyen_elv') {
100
  $_authorizeResponse = $this->_processRequest($payment, $amount, "authorise");
101
+ }
102
+ return $this;
103
+ }
104
+
105
+ /**
106
+ * In backend it means Authorize && Capture
107
+ * @param $payment
108
+ * @param $amount
109
+ */
110
+ public function capture(Varien_Object $payment, $amount) {
111
+ parent::capture($payment, $amount);
112
+ $payment->setStatus(self::STATUS_APPROVED)
113
+ ->setTransactionId($this->getTransactionId())
114
+ ->setIsTransactionClosed(0);
115
+ return $this;
116
+ }
117
+
118
+ public function authorise3d(Varien_Object $payment, $amount) {
119
+ $authorizeResponse = $this->_processRequest($payment, $amount, "authorise3d");
120
+ $responseCode = $authorizeResponse->paymentResult->resultCode;
121
+ return $responseCode;
122
+ }
123
+
124
+ public function sendCaptureRequest(Varien_Object $payment, $amount, $pspReference) {
125
+ if (empty($pspReference)) {
126
+ $this->writeLog('oops empty pspReference');
127
+ return $this;
128
+ }
129
+ $this->writeLog("sendCaptureRequest pspReference : $pspReference amount: $amount");
130
  return $this->_processRequest($payment, $amount, "capture", $pspReference);
131
+ }
132
+
133
+ public function sendRefundRequest(Varien_Object $payment, $amount, $pspReference) {
134
+ if (empty($pspReference)) {
135
+ $this->writeLog('oops empty pspReference');
136
+ return $this;
137
+ }
138
+ $this->writeLog("sendRefundRequest pspReference : $pspReference amount: $amount");
139
  return $this->_processRequest($payment, $amount, "refund", $pspReference);
140
+ }
141
+
142
+ /**
143
+ * Process the request here
144
+ * @param Varien_Object $payment
145
+ * @param unknown_type $amount
146
+ * @param unknown_type $request
147
+ * @param unknown_type $responseData
148
+ */
149
+ protected function _processRequest(Varien_Object $payment, $amount, $request, $pspReference = null) {
150
+ $this->_initOrder();
151
+ $this->_initService();
152
+ $merchantAccount = trim($this->_getConfigData('merchantAccount'));
153
+ $modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
154
+ $requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
155
+ ->create($payment, $amount, $this->_order, $merchantAccount, $pspReference);
156
+
157
+ switch ($request) {
158
+ case "authorise":
159
+ $requestData = Mage::getModel('adyen/adyen_data_paymentRequest')
160
+ ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
161
+
162
+ $response = $this->_service->authorise(array('paymentRequest' => $requestData));
163
+ break;
164
+ case "authorise3d":
165
+ $requestData = Mage::getModel('adyen/adyen_data_paymentRequest3d')
166
+ ->create($payment, $amount, $this->_order, $this->_paymentMethod, $merchantAccount);
167
+
168
+ $response = $this->_service->authorise3d(array('paymentRequest3d' => $requestData));
169
+ break;
170
+ case "capture":
171
+ $response = $this->_service->capture(array(
172
+ 'modificationRequest' => $requestData,
173
+ 'modificationResult' => $modificationResult));
174
+ break;
175
+ case "refund":
176
+ $response = $this->_service->refund(array(
177
+ 'modificationRequest' => $requestData,
178
+ 'modificationResult' => $modificationResult));
179
+ break;
180
+ }
181
+
182
  if (!empty($response)) {
183
  $this->_processResponse($payment, $response, $request);
184
  }
185
 
186
+ //debug || log
187
  Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
188
+ $this->_debugAdyen();
189
+ Mage::log($requestData, self::DEBUG_LEVEL, "$request.log", true);
190
+ Mage::log("Response from Adyen:", self::DEBUG_LEVEL, "$request.log", true);
191
+ Mage::log($response, self::DEBUG_LEVEL, "$request.log", true);
192
+
193
+ //return $this;
194
  return $response;
195
+ }
196
+
197
+ /**
198
+ * @desc authorise response
199
+ * Process the response of the soap
200
+ * @param Varien_Object $payment
201
+ * @param unknown_type $response
202
+ * @todo Add comment with checkout Authorised
203
+ */
204
+ protected function _processResponse(Varien_Object $payment, $response, $request = null) {
205
+ if (!($response instanceof stdClass)) {
206
+ return false;
207
+ }
208
+ switch ($request) {
209
+ case "authorise":
210
+ case "authorise3d":
211
+ $responseCode = $response->paymentResult->resultCode;
212
+ $pspReference = $response->paymentResult->pspReference;
213
+ break;
214
+ case "refund":
215
+ $responseCode = $response->refundResult->response;
216
+ $pspReference = $response->refundResult->pspReference;
217
+ break;
218
+ case "capture":
219
+ $responseCode = $response->captureResult->response;
220
+ $pspReference = $response->captureResult->pspReference;
221
+ break;
222
+ default:
223
+ $this->writeLog("Unknown data type by Adyen");
224
+ break;
225
+ }
226
+ switch ($responseCode) {
227
+
228
+ case "RedirectShopper":
229
+ $payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
230
+ $payment->setAdditionalInformation('md', $response->paymentResult->md);
231
+ $payment->setAdditionalInformation('issuerUrl', $response->paymentResult->issuerUrl);
232
+ Mage::getSingleton('customer/session')->setRedirectUrl("adyen/process/validate3d");
233
+ $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
234
+ break;
235
+ case "Refused":
236
+ $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
237
+ Mage::throwException($errorMsg);
238
+ break;
239
+ case "Authorised":
240
+ $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
241
+ break;
242
  case "Received": // boleto payment
243
  $additionalDataResult = $response->paymentResult->additionalData->entry;
244
  $pdfUrl = $additionalDataResult[0]->value;
245
  $this->_addStatusHistory($payment, $responseCode, $pspReference, false, $pdfUrl);
246
  break;
247
+ case '[capture-received]':
 
 
 
248
  $this->_addStatusHistory($payment, $responseCode, $pspReference);
249
+ break;
250
+ case '[refund-received]':
251
+ $this->_addStatusHistory($payment, $responseCode, $pspReference);
252
+ break;
253
+ case "Error":
254
+ $errorMsg = Mage::helper('adyen')->__('System error, please try again later');
255
+ Mage::throwException($errorMsg);
256
+ break;
257
+ default:
258
+ $this->writeLog("Unknown data type by Adyen");
259
+ break;
260
+ }
261
+
262
+ //save all response data for a pure duplicate detection
263
+ Mage::getModel('adyen/event')
264
+ ->setPspReference($pspReference)
265
+ ->setAdyenEventCode($responseCode)
266
+ ->setAdyenEventResult($responseCode)
267
+ ->setIncrementId($this->_order->getIncrementId())
268
+ ->setPaymentMethod($this->getInfoInstance()->getCcType())
269
+ ->setCreatedAt(now())
270
+ ->saveData()
271
+ ;
272
  return $this;
273
+ }
274
+
275
+ /**
276
+ * @since 0.0.3
277
+ * @param Varien_Object $payment
278
+ * @param unknown_type $request
279
+ * @param unknown_type $pspReference
280
+ */
281
  protected function _addStatusHistory(Varien_Object $payment, $responseCode, $pspReference, $status = false, $boletoPDF = null) {
282
 
283
  if($boletoPDF)
284
  $payment->getOrder()->setAdyenBoletoPdf($boletoPDF);
285
 
286
+ $comment = Mage::helper('adyen')->__('Adyen Result URL Notification(s): %s <br /> pspReference: %s', $responseCode, $pspReference);
287
+ $payment->getOrder()->setAdyenEventCode($responseCode);
288
+ $payment->getOrder()->addStatusHistoryComment($comment, $status);
289
+ $payment->setAdyenEventCode($responseCode);
290
+ return $this;
291
+ }
292
+
293
+ /**
294
+ * Format price
295
+ * @param unknown_type $amount
296
+ * @param unknown_type $format
297
+ */
298
+ protected function _formatAmount($amount, $format = 2) {
299
+ return (int) number_format($amount, $format, '', '');
300
+ }
301
+
302
+ /**
303
+ * @desc Get SOAP client
304
+ * @return Adyen_Payment_Model_Adyen_Abstract
305
+ */
306
+ protected function _initService() {
307
+ $accountData = $this->getAccountData();
308
+ $wsdl = $accountData['url']['wsdl'];
309
+ $location = $accountData['url']['location'];
310
+ $login = $accountData['login'];
311
+ $password = $accountData['password'];
312
+ $classmap = new Adyen_Payment_Model_Adyen_Data_Classmap();
313
+ try {
314
+ $this->_service = new SoapClient($wsdl, array(
315
+ 'login' => $login,
316
+ 'password' => $password,
317
+ 'soap_version' => SOAP_1_1,
318
+ 'style' => SOAP_DOCUMENT,
319
+ 'encoding' => SOAP_LITERAL,
320
+ 'location' => $location,
321
+ 'trace' => 1,
322
+ 'classmap' => $classmap));
323
+ } catch (SoapFault $fault) {
324
+ $this->writeLog("Adyen SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
325
+ Mage::throwException(Mage::helper('adyen')->__('Can not connect payment service. Please try again later.'));
326
+ }
327
+ return $this;
328
+ }
329
+
330
+ /**
331
+ * @desc soap urls
332
+ * @return string
333
+ */
334
+ protected function _getAdyenUrls() {
335
+ $test = array(
336
+ 'location' => "https://pal-test.adyen.com/pal/servlet/soap/Payment",
337
  'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
338
+ );
339
+ $live = array(
340
+ 'location' => "https://pal-live.adyen.com/pal/servlet/soap/Payment",
341
  'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
342
+ );
343
+ if ($this->getConfigDataDemoMode()) {
344
+ return $test;
345
+ } else {
346
+ return $live;
347
+ }
348
+ }
349
+
350
+ /**
351
+ * @desc Testing purposes only
352
+ */
353
+ protected function _debugAdyen() {
354
+ $this->writeLog("Request Headers: ");
355
+ $this->writeLog($this->_service->__getLastRequestHeaders());
356
+ $this->writeLog("Request:");
357
+ $this->writeLog($this->_service->__getLastRequest());
358
+ $this->writeLog("Response Headers");
359
+ $this->writeLog($this->_service->__getLastResponseHeaders());
360
+ $this->writeLog("Response");
361
+ $this->writeLog($this->_service->__getLastResponse());
362
+ }
363
+
364
+ /**
365
+ * Adyen User Account Data
366
+ */
367
+ public function getAccountData() {
368
+ $url = $this->_getAdyenUrls();
369
+ $wsUsername = $this->getConfigDataWsUserName();
370
+ $wsPassword = $this->getConfigDataWsPassword();
371
+ $account = array(
372
+ 'url' => $url,
373
+ 'login' => $wsUsername,
374
+ 'password' => $wsPassword
375
+ );
376
+ return $account;
377
+ }
378
+
379
+ /**
380
+ * @desc init order object
381
+ * @return Adyen_Payment_Model_Adyen_Abstract
382
+ */
383
+ protected function _initOrder() {
384
+ if (!$this->_order) {
385
+ $paymentInfo = $this->getInfoInstance();
386
+ $this->_order = Mage::getModel('sales/order')
387
+ ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
388
+ }
389
+ return $this;
390
+ }
391
+
392
+ /**
393
+ * Void payment
394
+ *
395
+ * @param Varien_Object $invoicePayment
396
+ * @return Mage_Payment_Model_Abstract
397
+ */
398
+ public function void(Varien_Object $payment) {
399
+ parent::void();
400
+ $this->cancel($payment);
401
+ return $this;
402
+ }
403
+
404
+ /**
405
+ * @todo fix me validate()
406
+ * @see Mage_Payment_Model_Method_Abstract::validate()
407
+ */
408
+ public function validate() {
409
+ return $this;
410
+ }
411
+
412
+ /**
413
+ * @desc Cancel order
414
+ * @param Varien_Object $payment
415
+ * @param type $amount
416
+ * @return Adyen_Payment_Model_Adyen_Abstract
417
+ */
418
+ public function cancel(Varien_Object $payment, $amount = null) {
419
+ parent::cancel($payment);
420
+ $this->writeLog("abstract -> cancel()" . get_class($this));
421
+ return $this;
422
+ }
423
+
424
+ /**
425
+ * @desc Adyen log fx
426
+ * @param type $str
427
+ * @return type
428
+ */
429
+ public function writeLog($str) {
430
  Mage::log($str, Zend_Log::DEBUG, "adyen_notification.log", true);
431
+ return false;
432
+ }
433
+
434
+ /**
435
+ * @status poor programming practises modification_result model not exist!
436
+ * @param unknown_type $responseBody
437
+ */
438
+ public function getModificationResult($responseBody) {
439
+ $result = new Varien_Object();
440
+ $valArray = explode('&', $responseBody);
441
+ foreach ($valArray as $val) {
442
+ $valArray2 = explode('=', $val);
443
+ $result->setData($valArray2[0], urldecode($valArray2[1]));
444
+ }
445
+ return $result;
446
+ }
447
+
448
+ public function getModificationUrl() {
449
+ if ($this->getConfigDataDemoMode()) {
450
+ return $this->_testModificationUrl;
451
+ }
452
+ return $this->_liveModificationUrl;
453
+ }
454
+
455
+ public function getConfigDataAutoCapture() {
456
+ if (!$this->_getConfigData('auto_capture') || $this->_getConfigData('auto_capture') == 0) {
457
+ return false;
458
+ }
459
+ return true;
460
+ }
461
+
462
+ public function getConfigDataAutoInvoice() {
463
+ if (!$this->_getConfigData('auto_invoice') || $this->_getConfigData('auto_invoice') == 0) {
464
+ return false;
465
+ }
466
+ return true;
467
+ }
468
+
469
+ public function getConfigDataAdyenCapture() {
470
+ if ($this->_getConfigData('adyen_capture') && $this->_getConfigData('adyen_capture') == 1) {
471
+ return true;
472
+ }
473
+ return false;
474
+ }
475
+
476
+ public function getConfigDataAdyenRefund() {
477
+ if ($this->_getConfigData('adyen_refund') == 1) {
478
+ return true;
479
+ }
480
+ return false;
481
+ }
482
+
483
+ /**
484
+ * Return true if the method can be used at this time
485
+ * @since 0.1.0.3r1
486
+ * @return bool
487
+ */
488
+ public function isAvailable($quote=null) {
489
+ if (!parent::isAvailable($quote)) {
490
+ return false;
491
+ }
492
+ if (!is_null($quote)) {
493
+ if ($this->_getConfigData('allowspecific', $this->_code)) {
494
+ $country = $quote->getShippingAddress()->getCountry();
495
+ $availableCountries = explode(',', $this->_getConfigData('specificcountry', $this->_code));
496
+ if (!in_array($country, $availableCountries)) {
497
+ return false;
498
+ }
499
+ }
500
+ }
501
+ return true;
502
+ }
503
+
504
+ /**
505
+ * @desc Give Default settings
506
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
507
+ * @since 0.0.2
508
+ * @param string $code
509
+ */
510
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
511
+ if (null === $storeId) {
512
+ $storeId = $this->getStore();
513
+ }
514
+ if (empty($paymentMethodCode)) {
515
+ return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
516
+ }
517
+ return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
518
+ }
519
+
520
+ /**
521
+ * Used via Payment method.Notice via configuration ofcourse Y or N
522
+ * @return boolean true on demo, else false
523
+ */
524
+ public function getConfigDataDemoMode() {
525
+ if ($this->_getConfigData('demoMode') == 'Y') {
526
+ return true;
527
+ }
528
+ return false;
529
+ }
530
+
531
+ public function getConfigDataWsUserName() {
532
+ if ($this->getConfigDataDemoMode()) {
533
+ return $this->_getConfigData('ws_username_test');
534
+ }
535
+ return $this->_getConfigData('ws_username_live');
536
+ }
537
+
538
+ public function getConfigDataWsPassword() {
539
+ if ($this->getConfigDataDemoMode()) {
540
+ return $this->_getConfigData('ws_password_test');
541
+ }
542
+ return $this->_getConfigData('ws_password_live');
543
+ }
544
+
545
+ /**
546
+ * @since 0.0.2
547
+ */
548
+ public function getAvailableCCTypes() {
549
+ $types = Mage::helper('adyen')->getCcTypes();
550
+ $availableTypes = $this->_getConfigData('cctypes', 'adyen_cc');
551
+ if ($availableTypes) {
552
+ $availableTypes = explode(',', $availableTypes);
553
+ foreach ($types as $code => $name) {
554
+ if (!in_array($code, $availableTypes)) {
555
+ unset($types[$code]);
556
+ }
557
+ }
558
+ }
559
+ return $types;
560
+ }
561
+
562
  public function getAvailableBoletoTypes() {
563
  $types = Mage::helper('adyen')->getBoletoTypes();
564
  $availableTypes = $this->_getConfigData('boletotypes', 'adyen_boleto');
573
  return $types;
574
  }
575
 
576
+ public function getConfigPaymentAction() {
577
+ return Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE;
578
+ }
579
+
580
+ /**
581
+ * @todo deprecates these use $this->_getConfigData($code,'paymentCode')
582
+ * @desc No reason of doing this!!!
583
+ */
584
+ public function getConfigDataMerchantAccount() {
585
+ return $this->_getConfigData('merchantAccount');
586
+ }
587
+
588
+ public function getConfigDataPaymentAuthorizedStatus() {
589
+ return $this->_getConfigData('payment_authorized');
590
+ }
591
+
592
+ public function getConfigDataMailAuthorizedUpdate() {
593
+ return $this->_getConfigData('mail_authorized');
594
+ }
595
+
596
+ public function getConfigDataCancelPendingCron() {
597
+ return $this->_getConfigData('cancel_pending_cron');
598
+ }
599
+
600
+ public function getConfigDataHppSecretTest() {
601
+ die("getConfigDataHppSecretTest in Adyen_Payment_Model_Adyen_Abstract");
602
+ return $this->_getConfigData('secret_wordt');
603
+ }
604
+
605
+ public function getConfigDataHppSecretLive() {
606
+ die("getConfigDataHppSecretLive in Adyen_Payment_Model_Adyen_Abstract");
607
+ return $this->_getConfigData('secret_wordp');
608
+ }
609
+
610
+ }
app/code/community/Adyen/Payment/Model/Adyen/Cc.php CHANGED
@@ -1,140 +1,140 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
29
-
30
- protected $_code = 'adyen_cc';
31
- protected $_formBlockType = 'adyen/form_cc';
32
- protected $_infoBlockType = 'adyen/info_cc';
33
- protected $_paymentMethod = 'cc';
34
-
35
- /**
36
- * 1)Called everytime the adyen_cc is called or used in checkout
37
- * @description Assign data to info model instance
38
- *
39
- * @param mixed $data
40
- * @return Mage_Payment_Model_Info
41
- */
42
- public function assignData($data) {
43
- if (!($data instanceof Varien_Object)) {
44
- $data = new Varien_Object($data);
45
- }
46
- $info = $this->getInfoInstance();
47
-
48
- if ($this->isCseEnabled()) {
49
- $info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
50
- }
51
- else {
52
- $info->setCcType($data->getCcType())
53
- ->setCcOwner($data->getCcOwner())
54
- ->setCcLast4(substr($data->getCcNumber(), -4))
55
- ->setCcNumber($data->getCcNumber())
56
- ->setCcExpMonth($data->getCcExpMonth())
57
- ->setCcExpYear($data->getCcExpYear())
58
- ->setCcCid($data->getCcCid())
59
- ->setPoNumber($data->getAdditionalData());
60
- }
61
-
62
- return $this;
63
- }
64
-
65
- public function getPossibleInstallments(){
66
- // retrieving quote
67
- $quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
68
-
69
- $amount = (double) $quote->getGrandTotal();
70
- $currency = $quote->getQuoteCurrencyCode();
71
-
72
- $max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount);
73
-
74
- $result = array();
75
- for($i=1;$i<=$max_installments;$i++){
76
- $partial_amount = ((double)$amount)/$i;
77
- $result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
78
- }
79
-
80
- return $result;
81
- }
82
-
83
- /**
84
- * @desc Called just after asssign data
85
- */
86
- public function prepareSave() {
87
- parent::prepareSave();
88
- }
89
-
90
- /**
91
- * @desc Helper functions to get config data
92
- */
93
- public function isCseEnabled() {
94
- return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
95
- }
96
- public function getCsePublicKey() {
97
- return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
98
- }
99
-
100
- /**
101
- * @desc Specific functions for 3d secure validation
102
- */
103
-
104
- public function getOrderPlaceRedirectUrl() {
105
- $redirectUrl = Mage::getSingleton('customer/session')->getRedirectUrl();
106
-
107
- if (!empty($redirectUrl)) {
108
- Mage::getSingleton('customer/session')->unsRedirectUrl();
109
- return Mage::getUrl($redirectUrl);
110
- }
111
- else {
112
- return parent::getOrderPlaceRedirectUrl();
113
- }
114
- }
115
-
116
- public function getFormUrl() {
117
- $this->_initOrder();
118
- $order = $this->_order;
119
- $payment = $order->getPayment();
120
- return $payment->getAdditionalInformation('issuerUrl');
121
- }
122
-
123
- public function getFormName() {
124
- return "Adyen CC";
125
- }
126
-
127
- public function getFormFields() {
128
- $this->_initOrder();
129
- $order = $this->_order;
130
- $payment = $order->getPayment();
131
-
132
- $adyFields = array();
133
- $adyFields['PaReq'] = $payment->getAdditionalInformation('paRequest');
134
- $adyFields['MD'] = $payment->getAdditionalInformation('md');
135
- $adyFields['TermUrl'] = Mage::getUrl('adyen/process/validate3d');
136
-
137
- return $adyFields;
138
- }
139
-
140
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_code = 'adyen_cc';
31
+ protected $_formBlockType = 'adyen/form_cc';
32
+ protected $_infoBlockType = 'adyen/info_cc';
33
+ protected $_paymentMethod = 'cc';
34
+
35
+ /**
36
+ * 1)Called everytime the adyen_cc is called or used in checkout
37
+ * @description Assign data to info model instance
38
+ *
39
+ * @param mixed $data
40
+ * @return Mage_Payment_Model_Info
41
+ */
42
+ public function assignData($data) {
43
+ if (!($data instanceof Varien_Object)) {
44
+ $data = new Varien_Object($data);
45
+ }
46
+ $info = $this->getInfoInstance();
47
+
48
+ if ($this->isCseEnabled()) {
49
+ $info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
50
+ }
51
+ else {
52
+ $info->setCcType($data->getCcType())
53
+ ->setCcOwner($data->getCcOwner())
54
+ ->setCcLast4(substr($data->getCcNumber(), -4))
55
+ ->setCcNumber($data->getCcNumber())
56
+ ->setCcExpMonth($data->getCcExpMonth())
57
+ ->setCcExpYear($data->getCcExpYear())
58
+ ->setCcCid($data->getCcCid())
59
+ ->setPoNumber($data->getAdditionalData());
60
+ }
61
+
62
+ return $this;
63
+ }
64
+
65
+ public function getPossibleInstallments(){
66
+ // retrieving quote
67
+ $quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
68
+
69
+ $amount = (double) $quote->getGrandTotal();
70
+ $currency = $quote->getQuoteCurrencyCode();
71
+
72
+ $max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount);
73
+
74
+ $result = array();
75
+ for($i=1;$i<=$max_installments;$i++){
76
+ $partial_amount = ((double)$amount)/$i;
77
+ $result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
78
+ }
79
+
80
+ return $result;
81
+ }
82
+
83
+ /**
84
+ * @desc Called just after asssign data
85
+ */
86
+ public function prepareSave() {
87
+ parent::prepareSave();
88
+ }
89
+
90
+ /**
91
+ * @desc Helper functions to get config data
92
+ */
93
+ public function isCseEnabled() {
94
+ return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
95
+ }
96
+ public function getCsePublicKey() {
97
+ return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
98
+ }
99
+
100
+ /**
101
+ * @desc Specific functions for 3d secure validation
102
+ */
103
+
104
+ public function getOrderPlaceRedirectUrl() {
105
+ $redirectUrl = Mage::getSingleton('customer/session')->getRedirectUrl();
106
+
107
+ if (!empty($redirectUrl)) {
108
+ Mage::getSingleton('customer/session')->unsRedirectUrl();
109
+ return Mage::getUrl($redirectUrl);
110
+ }
111
+ else {
112
+ return parent::getOrderPlaceRedirectUrl();
113
+ }
114
+ }
115
+
116
+ public function getFormUrl() {
117
+ $this->_initOrder();
118
+ $order = $this->_order;
119
+ $payment = $order->getPayment();
120
+ return $payment->getAdditionalInformation('issuerUrl');
121
+ }
122
+
123
+ public function getFormName() {
124
+ return "Adyen CC";
125
+ }
126
+
127
+ public function getFormFields() {
128
+ $this->_initOrder();
129
+ $order = $this->_order;
130
+ $payment = $order->getPayment();
131
+
132
+ $adyFields = array();
133
+ $adyFields['PaReq'] = $payment->getAdditionalInformation('paRequest');
134
+ $adyFields['MD'] = $payment->getAdditionalInformation('md');
135
+ $adyFields['TermUrl'] = Mage::getUrl('adyen/process/validate3d');
136
+
137
+ return $adyFields;
138
+ }
139
+
140
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/BrowserInfo.php CHANGED
@@ -1,33 +1,33 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Data_BrowserInfo extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
-
30
- public $acceptHeader;
31
- public $userAgent;
32
-
33
  }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_BrowserInfo extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $acceptHeader;
31
+ public $userAgent;
32
+
33
  }
app/code/community/Adyen/Payment/Model/Adyen/Data/OpenInvoiceDetailResult.php CHANGED
@@ -31,11 +31,11 @@ class Adyen_Payment_Model_Adyen_Data_OpenInvoiceDetailResult extends Adyen_Payme
31
 
32
  public function create($request) {
33
  $incrementId = $request->request->reference;
34
-
35
  //amaount negative
36
  $amount = (float)$request->request->amount->value / 100;
37
- $isRefund = ($amount <= 0 ) ? true : false;
38
-
39
  if (empty($incrementId))
40
  return false;
41
  $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
@@ -48,40 +48,46 @@ class Adyen_Payment_Model_Adyen_Data_OpenInvoiceDetailResult extends Adyen_Payme
48
  $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($item, $count, $order );
49
  $count++;
50
  }
51
-
52
  //discount cost
53
- $cost = new Varien_Object();
54
- $cost->setName(Mage::helper('adyen')->__('Total Discount'));
55
- $cost->setPrice($order->getDiscountAmount());
56
- $cost->setQtyOrdered(1);
57
- $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
58
- $count++;
59
-
 
 
 
60
  //shipping cost
61
- $cost = new Varien_Object();
62
- $cost->setName($order->getShippingDescription());
63
- $cost->setPrice($order->getShippingAmount());
64
- $cost->setTaxAmount($order->getShippingTaxAmount());
65
- $cost->setQtyOrdered(1);
66
- $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
67
- $count++;
68
-
69
- //tax costs
70
- $cost = new Varien_Object();
71
- $cost->setName(Mage::helper('adyen')->__('Tax'));
72
- $cost->setPrice($order->getTaxAmount());
73
- $cost->setQtyOrdered(1);
74
- $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
75
- $count++;
76
-
 
 
 
77
  /**
78
  * Refund line, heads up $lines is overwritten!
79
  */
80
- if ($isRefund === true) {
81
  $refundLine = $this->extractRefundLine($order, $amount);
82
- $lines = Mage::getModel('adyen/adyen_data_invoiceRow')->create($refundLine, $count, $order);
83
  }
84
-
85
  //all lines
86
  $InvoiceLine = Mage::getModel('adyen/adyen_data_invoiceLine')->create($lines);
87
  @$this->result->lines = $InvoiceLine;
@@ -91,15 +97,15 @@ class Adyen_Payment_Model_Adyen_Data_OpenInvoiceDetailResult extends Adyen_Payme
91
 
92
  return $this;
93
  }
94
-
95
  public function extractRefundLine($order , $amount) {
96
- $_extract = new Varien_Object();
97
- $_extract->setName('Refund / Correction');
98
- $_extract->setPrice($amount);
99
- $_extract->setTaxAmount(0);
100
- $_extract->setQtyOrdered(1);
101
  return $_extract;
102
-
103
  }
104
 
105
  }
31
 
32
  public function create($request) {
33
  $incrementId = $request->request->reference;
34
+
35
  //amaount negative
36
  $amount = (float)$request->request->amount->value / 100;
37
+ $isRefund = ($amount <= 0 ) ? true : false;
38
+
39
  if (empty($incrementId))
40
  return false;
41
  $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
48
  $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($item, $count, $order );
49
  $count++;
50
  }
51
+
52
  //discount cost
53
+ if($order->getDiscountAmount() > 0)
54
+ {
55
+ $cost = new Varien_Object();
56
+ $cost->setName(Mage::helper('adyen')->__('Total Discount'));
57
+ $cost->setPrice($order->getDiscountAmount());
58
+ $cost->setQtyOrdered(1);
59
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
60
+ $count++;
61
+ }
62
+
63
  //shipping cost
64
+ if($order->getShippingAmount() > 0 || $order->getShippingTaxAmount() > 0)
65
+ {
66
+ $cost = new Varien_Object();
67
+ $cost->setName($order->getShippingDescription());
68
+ $cost->setPrice($order->getShippingAmount());
69
+ $cost->setTaxAmount($order->getShippingTaxAmount());
70
+ $cost->setQtyOrdered(1);
71
+ $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
72
+ $count++;
73
+ }
74
+
75
+ // Klarna wants tax cost provided in the lines of the products so overal tax cost is not needed anymore
76
+ // $cost = new Varien_Object();
77
+ // $cost->setName(Mage::helper('adyen')->__('Tax'));
78
+ // $cost->setPrice($order->getTaxAmount());
79
+ // $cost->setQtyOrdered(1);
80
+ // $lines[] = Mage::getModel('adyen/adyen_data_invoiceRow')->create($cost, $count, $order);
81
+ // $count++;
82
+
83
  /**
84
  * Refund line, heads up $lines is overwritten!
85
  */
86
+ if ($isRefund === true) {
87
  $refundLine = $this->extractRefundLine($order, $amount);
88
+ $lines = Mage::getModel('adyen/adyen_data_invoiceRow')->create($refundLine, $count, $order);
89
  }
90
+
91
  //all lines
92
  $InvoiceLine = Mage::getModel('adyen/adyen_data_invoiceLine')->create($lines);
93
  @$this->result->lines = $InvoiceLine;
97
 
98
  return $this;
99
  }
100
+
101
  public function extractRefundLine($order , $amount) {
102
+ $_extract = new Varien_Object();
103
+ $_extract->setName('Refund / Correction');
104
+ $_extract->setPrice($amount);
105
+ $_extract->setTaxAmount(0);
106
+ $_extract->setQtyOrdered(1);
107
  return $_extract;
108
+
109
  }
110
 
111
  }
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php CHANGED
@@ -1,143 +1,143 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
-
30
- public $additionalAmount;
31
- public $amount;
32
- public $bankAccount;
33
- public $browserInfo;
34
- public $card;
35
- public $dccQuote;
36
- public $deliveryAddress;
37
- public $deliveryDate;
38
- public $elv;
39
- public $fraudOffset;
40
- public $merchantAccount;
41
- public $mpiData;
42
- public $orderReference;
43
- public $recurring;
44
- public $selectedBrand;
45
- public $selectedRecurringDetailReference;
46
- public $shopperEmail;
47
- public $shopperIP;
48
- public $shopperInteraction;
49
- public $shopperReference;
50
- public $shopperStatement;
51
- public $additionalData;
52
-
53
- // added for boleto
54
- public $shopperName;
55
- public $socialSecurityNumber;
56
-
57
- public function __construct() {
58
- $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
59
- $this->card = new Adyen_Payment_Model_Adyen_Data_Card();
60
- $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
61
- $this->elv = new Adyen_Payment_Model_Adyen_Data_Elv();
62
- $this->additionalData = new Adyen_Payment_Model_Adyen_Data_AdditionalData();
63
- $this->shopperName = new Adyen_Payment_Model_Adyen_Data_ShopperName(); // for boleto
64
- }
65
-
66
- public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
67
- $incrementId = $order->getIncrementId();
68
- $orderCurrencyCode = $order->getOrderCurrencyCode();
69
- $customerId = $order->getCustomerId();
70
-
71
- $this->reference = $incrementId;
72
- $this->merchantAccount = $merchantAccount;
73
- $this->amount->currency = $orderCurrencyCode;
74
- $this->amount->value = $this->_formatAmount($amount);
75
-
76
- //shopper data
77
- $customerEmail = $order->getCustomerEmail();
78
- $this->shopperEmail = $customerEmail;
79
- $this->shopperIP = $order->getRemoteIp();
80
- $this->shopperReference = $customerId;
81
-
82
-
83
- /**
84
- * Browser info
85
- * @var unknown_type
86
- */
87
- $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
88
- $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
89
-
90
- switch ($paymentMethod) {
91
- case "elv":
92
- $elv = unserialize($payment->getPoNumber());
93
- $this->card = null;
94
- $this->shopperName = null;
95
- $this->elv->accountHolderName = $elv['account_owner'];
96
- $this->elv->bankAccountNumber = $elv['account_number'];
97
- $this->elv->bankLocation = $elv['bank_location'];
98
- $this->elv->bankLocationId = $elv['bank_location'];
99
- $this->elv->bankName = $elv['bank_name'];
100
- break;
101
- case "cc":
102
- $this->shopperName = null;
103
- $this->elv = null;
104
-
105
- if (Mage::getModel('adyen/adyen_cc')->isCseEnabled()) {
106
- $this->card = null;
107
- $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
108
- $kv->key = new SoapVar("card.encrypted.json", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
109
- $kv->value = new SoapVar($payment->getAdditionalInformation("encrypted_data"), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
110
- $this->additionalData->entry = $kv;
111
- }
112
- else {
113
- $this->card->cvc = $payment->getCcCid();
114
- $this->card->expiryMonth = $payment->getCcExpMonth();
115
- $this->card->expiryYear = $payment->getCcExpYear();
116
- $this->card->holderName = $payment->getCcOwner();
117
- $this->card->number = $payment->getCcNumber();
118
- }
119
-
120
- // installments
121
- if(Mage::helper('adyen/installments')->isInstallmentsEnabled()){
122
- $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
123
- $kv->key = new SoapVar("installments", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
124
- $kv->value = new SoapVar($payment->getPoNumber(), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
125
- $this->additionalData->entry = $kv;
126
- }
127
- break;
128
- case "boleto":
129
- $boleto = unserialize($payment->getPoNumber());
130
- $this->card = null;
131
- $this->elv = null;
132
- $this->socialSecurityNumber = $boleto['social_security_number'];
133
- $this->selectedBrand = $boleto['selected_brand'];
134
- $this->shopperName->firstName = $boleto['firstname'];
135
- $this->shopperName->lastName = $boleto['lastname'];
136
- $this->deliveryDate = $boleto['delivery_date'];
137
- break;
138
- }
139
-
140
- return $this;
141
- }
142
-
143
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $additionalAmount;
31
+ public $amount;
32
+ public $bankAccount;
33
+ public $browserInfo;
34
+ public $card;
35
+ public $dccQuote;
36
+ public $deliveryAddress;
37
+ public $deliveryDate;
38
+ public $elv;
39
+ public $fraudOffset;
40
+ public $merchantAccount;
41
+ public $mpiData;
42
+ public $orderReference;
43
+ public $recurring;
44
+ public $selectedBrand;
45
+ public $selectedRecurringDetailReference;
46
+ public $shopperEmail;
47
+ public $shopperIP;
48
+ public $shopperInteraction;
49
+ public $shopperReference;
50
+ public $shopperStatement;
51
+ public $additionalData;
52
+
53
+ // added for boleto
54
+ public $shopperName;
55
+ public $socialSecurityNumber;
56
+
57
+ public function __construct() {
58
+ $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
59
+ $this->card = new Adyen_Payment_Model_Adyen_Data_Card();
60
+ $this->amount = new Adyen_Payment_Model_Adyen_Data_Amount();
61
+ $this->elv = new Adyen_Payment_Model_Adyen_Data_Elv();
62
+ $this->additionalData = new Adyen_Payment_Model_Adyen_Data_AdditionalData();
63
+ $this->shopperName = new Adyen_Payment_Model_Adyen_Data_ShopperName(); // for boleto
64
+ }
65
+
66
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
67
+ $incrementId = $order->getIncrementId();
68
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
69
+ $customerId = $order->getCustomerId();
70
+
71
+ $this->reference = $incrementId;
72
+ $this->merchantAccount = $merchantAccount;
73
+ $this->amount->currency = $orderCurrencyCode;
74
+ $this->amount->value = $this->_formatAmount($amount);
75
+
76
+ //shopper data
77
+ $customerEmail = $order->getCustomerEmail();
78
+ $this->shopperEmail = $customerEmail;
79
+ $this->shopperIP = $order->getRemoteIp();
80
+ $this->shopperReference = $customerId;
81
+
82
+
83
+ /**
84
+ * Browser info
85
+ * @var unknown_type
86
+ */
87
+ $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
88
+ $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
89
+
90
+ switch ($paymentMethod) {
91
+ case "elv":
92
+ $elv = unserialize($payment->getPoNumber());
93
+ $this->card = null;
94
+ $this->shopperName = null;
95
+ $this->elv->accountHolderName = $elv['account_owner'];
96
+ $this->elv->bankAccountNumber = $elv['account_number'];
97
+ $this->elv->bankLocation = $elv['bank_location'];
98
+ $this->elv->bankLocationId = $elv['bank_location'];
99
+ $this->elv->bankName = $elv['bank_name'];
100
+ break;
101
+ case "cc":
102
+ $this->shopperName = null;
103
+ $this->elv = null;
104
+
105
+ if (Mage::getModel('adyen/adyen_cc')->isCseEnabled()) {
106
+ $this->card = null;
107
+ $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
108
+ $kv->key = new SoapVar("card.encrypted.json", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
109
+ $kv->value = new SoapVar($payment->getAdditionalInformation("encrypted_data"), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
110
+ $this->additionalData->entry = $kv;
111
+ }
112
+ else {
113
+ $this->card->cvc = $payment->getCcCid();
114
+ $this->card->expiryMonth = $payment->getCcExpMonth();
115
+ $this->card->expiryYear = $payment->getCcExpYear();
116
+ $this->card->holderName = $payment->getCcOwner();
117
+ $this->card->number = $payment->getCcNumber();
118
+ }
119
+
120
+ // installments
121
+ if(Mage::helper('adyen/installments')->isInstallmentsEnabled()){
122
+ $kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
123
+ $kv->key = new SoapVar("installments", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
124
+ $kv->value = new SoapVar($payment->getPoNumber(), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
125
+ $this->additionalData->entry = $kv;
126
+ }
127
+ break;
128
+ case "boleto":
129
+ $boleto = unserialize($payment->getPoNumber());
130
+ $this->card = null;
131
+ $this->elv = null;
132
+ $this->socialSecurityNumber = $boleto['social_security_number'];
133
+ $this->selectedBrand = $boleto['selected_brand'];
134
+ $this->shopperName->firstName = $boleto['firstname'];
135
+ $this->shopperName->lastName = $boleto['lastname'];
136
+ $this->deliveryDate = $boleto['delivery_date'];
137
+ break;
138
+ }
139
+
140
+ return $this;
141
+ }
142
+
143
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest3d.php CHANGED
@@ -1,51 +1,51 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Data_PaymentRequest3d extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
-
30
- public $merchantAccount;
31
- public $browserInfo;
32
- public $md;
33
- public $paResponse;
34
- public $shopperIP;
35
-
36
- public function __construct() {
37
- $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
38
- }
39
-
40
- public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
41
- $this->merchantAccount = $merchantAccount;
42
-
43
- $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
44
- $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
45
- $this->shopperIP = $_SERVER['REMOTE_ADDR'];
46
-
47
- $this->md = $payment->getAdditionalInformation('md');
48
- $this->paResponse = $payment->getAdditionalInformation('paResponse');
49
- return $this;
50
- }
51
  }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Data_PaymentRequest3d extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
+
30
+ public $merchantAccount;
31
+ public $browserInfo;
32
+ public $md;
33
+ public $paResponse;
34
+ public $shopperIP;
35
+
36
+ public function __construct() {
37
+ $this->browserInfo = new Adyen_Payment_Model_Adyen_Data_BrowserInfo();
38
+ }
39
+
40
+ public function create(Varien_Object $payment, $amount, $order, $paymentMethod = null, $merchantAccount = null) {
41
+ $this->merchantAccount = $merchantAccount;
42
+
43
+ $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
44
+ $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
45
+ $this->shopperIP = $_SERVER['REMOTE_ADDR'];
46
+
47
+ $this->md = $payment->getAdditionalInformation('md');
48
+ $this->paResponse = $payment->getAdditionalInformation('paResponse');
49
+ return $this;
50
+ }
51
  }
app/code/community/Adyen/Payment/Model/Adyen/Debug.php CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Debug extends Mage_Core_Model_Abstract {
29
-
30
- protected function _construct() {
31
- $this->_init('adyen/api_debug');
32
- }
33
-
34
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Debug extends Mage_Core_Model_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/api_debug');
32
+ }
33
+
34
+ }
app/code/community/Adyen/Payment/Model/Adyen/Hpp.php CHANGED
@@ -59,7 +59,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
59
  $info = $this->getInfoInstance();
60
  $hppType = $data->getHppType();
61
  $info->setCcType($hppType)
62
- ->setPoNumber($data->getData('hpp_ideal_type')); /* @note misused field */
63
  $config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
64
  if (empty($hppType) && empty($config)) {
65
  Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
@@ -108,13 +108,13 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
108
  $shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : Mage::app()->getLocale()->getLocaleCode();
109
  $countryCode = trim($this->_getConfigData('countryCode'));
110
  $countryCode = (!empty($countryCode)) ? $countryCode : false;
111
-
112
-
113
  // if directory lookup is enabled use the billingadress as countrycode
114
  if($countryCode == false) {
115
- if(is_object($order->getBillingAddress()) && $order->getBillingAddress()->getCountry() != "") {
116
- $countryCode = $order->getBillingAddress()->getCountry();
117
- }
118
  }
119
 
120
  $adyFields = array();
@@ -157,52 +157,52 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
157
  //blocked methods
158
  $adyFields['blockedMethods'] = "";
159
 
160
- $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
161
- // if($this->_code == "adyen_openinvoice" && $openinvoiceType == "klarna") {
162
- // $adyFields['billingAddressType'] = "1";
163
- // $adyFields['deliveryAddressType'] = "1";
164
- // $adyFields['shopperType'] = "1";
165
- // } else {
166
- // $adyFields['billingAddressType'] = "";
167
- // $adyFields['deliveryAddressType'] = "";
168
- // $adyFields['shopperType'] = "";
169
- // }
170
-
171
  //the data that needs to be signed is a concatenated string of the form data
172
  $sign = $adyFields['paymentAmount'] .
173
- $adyFields['currencyCode'] .
174
- $adyFields['shipBeforeDate'] .
175
- $adyFields['merchantReference'] .
176
- $adyFields['skinCode'] .
177
- $adyFields['merchantAccount'] .
178
- $adyFields['sessionValidity'] .
179
- $adyFields['shopperEmail'] .
180
- $adyFields['shopperReference'] .
181
- $adyFields['recurringContract'] .
182
- $adyFields['blockedMethods'];// .
183
- // $adyFields['billingAddressType'] .
184
- // $adyFields['deliveryAddressType'] .
185
- // $adyFields['shopperType'];
186
-
187
  //Generate HMAC encrypted merchant signature
188
  $secretWord = $this->_getSecretWord();
189
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
190
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
191
-
192
- // get extra fields
193
  $adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields,$this->_order);
194
-
195
  //IDEAL
196
  if (strpos($this->getInfoInstance()->getCcType(),"ideal") !== false) {
197
  $bankData = $this->getInfoInstance()->getPoNumber();
198
- if (!empty($bankData)) {
199
  $id = explode(DS, $bankData);
200
  $adyFields['skipSelection'] = 'true';
201
  $adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
202
- $adyFields['idealIssuerId'] = $id['0'];
203
- }
204
  }
205
-
206
  // pos over hpp
207
  // disable this because no one using this and it will always show POS payment method
208
  // $terminalcode = 'redirect';
@@ -211,18 +211,18 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
211
  // $strsign = "merchantSig:pos.serial_number|" . $adyFields['merchantSig'] . ":" . $terminalcode;
212
  // $signPOS = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $strsign);
213
  // $adyFields['pos.sig'] = base64_encode(pack('H*', $signPOS));
214
-
215
  Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
216
-
217
  return $adyFields;
218
  }
219
 
220
  protected function _getSecretWord($options = null) {
221
  switch ($this->getConfigDataDemoMode()) {
222
- case true:
223
  $secretWord = trim($this->_getConfigData('secret_wordt', 'adyen_hpp'));
224
  break;
225
- default:
226
  $secretWord = trim($this->_getConfigData('secret_wordp', 'adyen_hpp'));
227
  break;
228
  }
@@ -231,7 +231,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
231
 
232
  /**
233
  * @desc Get url of Adyen payment
234
- * @return string
235
  * @todo add brandCode here
236
  */
237
  public function getFormUrl() {
@@ -243,37 +243,37 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
243
  if ($paymentRoutine == 'single' && empty($brandCode)) {
244
  $url = 'https://test.adyen.com/hpp/pay.shtml';
245
  } else {
246
- $url = (empty($brandCode)) ?
247
- 'https://test.adyen.com/hpp/select.shtml' :
248
- "https://test.adyen.com/hpp/details.shtml?brandCode=$brandCode";
249
  }
250
  break;
251
  default:
252
  if ($paymentRoutine == 'single' && empty($brandCode)) {
253
  $url = 'https://live.adyen.com/hpp/pay.shtml';
254
  } else {
255
- $url = (empty($brandCode)) ?
256
- 'https://live.adyen.com/hpp/select.shtml' :
257
- "https://live.adyen.com/hpp/details.shtml?brandCode=$brandCode";
258
  }
259
  break;
260
  }
261
-
262
  //IDEAL
263
  $idealBankUrl = false;
264
  $bankData = $this->getInfoInstance()->getPoNumber();
265
  if ($brandCode == 'ideal' && !empty($bankData)) {
266
- $idealBankUrl = ($isConfigDemoMode == true) ?
267
- 'https://test.adyen.com/hpp/redirectIdeal.shtml' :
268
- 'https://live.adyen.com/hpp/redirectIdeal.shtml';
269
- }
270
-
271
-
272
  return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
273
  }
274
 
275
  public function getFormName() {
276
- return "Adyen HPP";
277
  }
278
 
279
  /**
@@ -301,137 +301,137 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
301
 
302
 
303
  public function getAvailableHPPTypes() {
304
-
305
  $orderCurrencyCode = Mage::helper('checkout/cart')->getQuote()->getQuoteCurrencyCode();
306
  $skinCode = trim($this->_getConfigData('skinCode', 'adyen_hpp'));
307
  $merchantAccount = trim($this->_getConfigData('merchantAccount'));
308
  $amount = $this->_formatAmount(Mage::helper('checkout/cart')->getQuote()->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
309
  $sessionValidity = date(DATE_ATOM, mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y")));
310
-
311
-
312
  $countryCode = trim($this->_getConfigData('countryCode'));
313
-
314
  if(empty($countryCode)) {
315
-
316
- // check if billingcountry is filled in
317
- if(is_object(Mage::helper('checkout/cart')->getQuote()->getBillingAddress()) && Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry() != "") {
318
- $countryCode = Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry();
319
- } else {
320
- $countryCode = ""; // don't set countryCode so you get all the payment methods
321
- // You could do ip lookup but availability and performace is not guaranteed
322
  // $ip = $this->getClientIp();
323
  // $countryCode = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);
324
- }
325
  }
326
-
327
  // directory lookup to search for available payment methods
328
  $adyFields = array(
329
- "paymentAmount" => $amount,
330
- "currencyCode" => $orderCurrencyCode,
331
- "merchantReference" => "Get Payment methods",
332
- "skinCode" => $skinCode,
333
- "merchantAccount" => $merchantAccount,
334
- "sessionValidity" => $sessionValidity,
335
- "countryCode" => $countryCode,
336
- "merchantSig" => "",
337
  );
338
-
339
  $sign = $adyFields['paymentAmount'] .
340
- $adyFields['currencyCode'] .
341
- $adyFields['merchantReference'] .
342
- $adyFields['skinCode'] .
343
- $adyFields['merchantAccount'] .
344
- $adyFields['sessionValidity'];
345
-
346
  //Generate HMAC encrypted merchant signature
347
  $secretWord = $this->_getSecretWord();
348
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
349
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
350
 
351
  $ch = curl_init();
352
-
353
  $isConfigDemoMode = $this->getConfigDataDemoMode();
354
  if ($isConfigDemoMode)
355
- curl_setopt($ch, CURLOPT_URL, "https://test.adyen.com/hpp/directory.shtml");
356
- else
357
- curl_setopt($ch, CURLOPT_URL, "https://live.adyen.com/hpp/directory.shtml");
358
-
359
- curl_setopt($ch, CURLOPT_HEADER, false);
360
  curl_setopt($ch, CURLOPT_POST,count($adyFields));
361
  curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($adyFields));
362
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // do not print results if you do curl_exec
363
-
364
  $results = curl_exec($ch);
365
-
366
  if($results === false) {
367
- echo "Error: " . curl_error($ch);
368
- Mage::log("Payment methods are not available on this merchantaccount\skin result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
369
- Mage::throwException(Mage::helper('adyen')->__('Payment methods are not available on this merchantaccount\skin'));
370
  } else{
371
- /**
372
- * The $result contains a JSON array containing
373
- * the available payment methods for the merchant account.
374
- */
375
- $results_json = json_decode($results);
376
-
377
- if($results_json == null) {
378
- // no valid json so show the error
379
- echo $results;
380
- Mage::log("Payment methods are empty on this merchantaccount\skin. results_json is incorrect result is:" . $results_json, self::DEBUG_LEVEL, 'http-request.log',true);
381
- Mage::throwException(Mage::helper('adyen')->__('Payment methods are empty on this merchantaccount\skin'));
382
- }
383
-
384
- $payment_methods = $results_json->paymentMethods;
385
-
386
- $result_array = array();
387
- foreach($payment_methods as $payment_method) {
388
-
389
- // if openinvoice is activated don't show this in HPP options
390
- if(Mage::getStoreConfig("payment/adyen_openinvoice/active")) {
391
- if(Mage::getStoreConfig("payment/adyen_openinvoice/openinvoicetypes") == $payment_method->brandCode) {
392
- continue;
393
- }
394
- }
395
-
396
- $result_array[$payment_method->brandCode]['name'] = $payment_method->name;
397
-
398
- if(isset($payment_method->issuers)) {
399
- // for ideal go through the issuers
400
- if(count($payment_method->issuers) > 0)
401
- {
402
- foreach($payment_method->issuers as $issuer) {
403
- $result_array[$payment_method->brandCode]['issuers'][$issuer->issuerId] = $issuer->name;
404
- }
405
- }
406
- ksort($result_array[$payment_method->brandCode]['issuers']); // sort on key
407
- }
408
- }
409
  }
410
  return $result_array;
411
  }
412
-
413
  // Function to get the client ip address
414
- public function getClientIp() {
415
-
416
- $ipaddress = '';
417
-
418
- if (isset($_SERVER['HTTP_CLIENT_IP']))
419
- $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
420
- else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
421
- $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
422
- else if(isset($_SERVER['HTTP_X_FORWARDED']))
423
- $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
424
- else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
425
- $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
426
- else if(isset($_SERVER['HTTP_FORWARDED']))
427
- $ipaddress = $_SERVER['HTTP_FORWARDED'];
428
- else if(isset($_SERVER['REMOTE_ADDR']))
429
- $ipaddress = $_SERVER['REMOTE_ADDR'];
430
- else
431
- $ipaddress = '';
432
-
433
- return $ipaddress;
434
- }
435
 
436
 
437
  }
59
  $info = $this->getInfoInstance();
60
  $hppType = $data->getHppType();
61
  $info->setCcType($hppType)
62
+ ->setPoNumber($data->getData('hpp_ideal_type')); /* @note misused field */
63
  $config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
64
  if (empty($hppType) && empty($config)) {
65
  Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
108
  $shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : Mage::app()->getLocale()->getLocaleCode();
109
  $countryCode = trim($this->_getConfigData('countryCode'));
110
  $countryCode = (!empty($countryCode)) ? $countryCode : false;
111
+
112
+
113
  // if directory lookup is enabled use the billingadress as countrycode
114
  if($countryCode == false) {
115
+ if(is_object($order->getBillingAddress()) && $order->getBillingAddress()->getCountry() != "") {
116
+ $countryCode = $order->getBillingAddress()->getCountry();
117
+ }
118
  }
119
 
120
  $adyFields = array();
157
  //blocked methods
158
  $adyFields['blockedMethods'] = "";
159
 
160
+ $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
161
+ if($this->_code == "adyen_openinvoice" && $openinvoiceType == "klarna") {
162
+ $adyFields['billingAddressType'] = "1";
163
+ $adyFields['deliveryAddressType'] = "1";
164
+ $adyFields['shopperType'] = "1";
165
+ } else {
166
+ $adyFields['billingAddressType'] = "";
167
+ $adyFields['deliveryAddressType'] = "";
168
+ $adyFields['shopperType'] = "";
169
+ }
170
+
171
  //the data that needs to be signed is a concatenated string of the form data
172
  $sign = $adyFields['paymentAmount'] .
173
+ $adyFields['currencyCode'] .
174
+ $adyFields['shipBeforeDate'] .
175
+ $adyFields['merchantReference'] .
176
+ $adyFields['skinCode'] .
177
+ $adyFields['merchantAccount'] .
178
+ $adyFields['sessionValidity'] .
179
+ $adyFields['shopperEmail'] .
180
+ $adyFields['shopperReference'] .
181
+ $adyFields['recurringContract'] .
182
+ $adyFields['blockedMethods'] .
183
+ $adyFields['billingAddressType'] .
184
+ $adyFields['deliveryAddressType'] .
185
+ $adyFields['shopperType'];
186
+
187
  //Generate HMAC encrypted merchant signature
188
  $secretWord = $this->_getSecretWord();
189
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
190
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
191
+
192
+ // get extra fields
193
  $adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields,$this->_order);
194
+
195
  //IDEAL
196
  if (strpos($this->getInfoInstance()->getCcType(),"ideal") !== false) {
197
  $bankData = $this->getInfoInstance()->getPoNumber();
198
+ if (!empty($bankData)) {
199
  $id = explode(DS, $bankData);
200
  $adyFields['skipSelection'] = 'true';
201
  $adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
202
+ $adyFields['idealIssuerId'] = $id['0'];
203
+ }
204
  }
205
+
206
  // pos over hpp
207
  // disable this because no one using this and it will always show POS payment method
208
  // $terminalcode = 'redirect';
211
  // $strsign = "merchantSig:pos.serial_number|" . $adyFields['merchantSig'] . ":" . $terminalcode;
212
  // $signPOS = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $strsign);
213
  // $adyFields['pos.sig'] = base64_encode(pack('H*', $signPOS));
214
+
215
  Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
216
+
217
  return $adyFields;
218
  }
219
 
220
  protected function _getSecretWord($options = null) {
221
  switch ($this->getConfigDataDemoMode()) {
222
+ case true:
223
  $secretWord = trim($this->_getConfigData('secret_wordt', 'adyen_hpp'));
224
  break;
225
+ default:
226
  $secretWord = trim($this->_getConfigData('secret_wordp', 'adyen_hpp'));
227
  break;
228
  }
231
 
232
  /**
233
  * @desc Get url of Adyen payment
234
+ * @return string
235
  * @todo add brandCode here
236
  */
237
  public function getFormUrl() {
243
  if ($paymentRoutine == 'single' && empty($brandCode)) {
244
  $url = 'https://test.adyen.com/hpp/pay.shtml';
245
  } else {
246
+ $url = (empty($brandCode)) ?
247
+ 'https://test.adyen.com/hpp/select.shtml' :
248
+ "https://test.adyen.com/hpp/details.shtml?brandCode=$brandCode";
249
  }
250
  break;
251
  default:
252
  if ($paymentRoutine == 'single' && empty($brandCode)) {
253
  $url = 'https://live.adyen.com/hpp/pay.shtml';
254
  } else {
255
+ $url = (empty($brandCode)) ?
256
+ 'https://live.adyen.com/hpp/select.shtml' :
257
+ "https://live.adyen.com/hpp/details.shtml?brandCode=$brandCode";
258
  }
259
  break;
260
  }
261
+
262
  //IDEAL
263
  $idealBankUrl = false;
264
  $bankData = $this->getInfoInstance()->getPoNumber();
265
  if ($brandCode == 'ideal' && !empty($bankData)) {
266
+ $idealBankUrl = ($isConfigDemoMode == true) ?
267
+ 'https://test.adyen.com/hpp/redirectIdeal.shtml' :
268
+ 'https://live.adyen.com/hpp/redirectIdeal.shtml';
269
+ }
270
+
271
+
272
  return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
273
  }
274
 
275
  public function getFormName() {
276
+ return "Adyen HPP";
277
  }
278
 
279
  /**
301
 
302
 
303
  public function getAvailableHPPTypes() {
304
+
305
  $orderCurrencyCode = Mage::helper('checkout/cart')->getQuote()->getQuoteCurrencyCode();
306
  $skinCode = trim($this->_getConfigData('skinCode', 'adyen_hpp'));
307
  $merchantAccount = trim($this->_getConfigData('merchantAccount'));
308
  $amount = $this->_formatAmount(Mage::helper('checkout/cart')->getQuote()->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
309
  $sessionValidity = date(DATE_ATOM, mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y")));
310
+
311
+
312
  $countryCode = trim($this->_getConfigData('countryCode'));
313
+
314
  if(empty($countryCode)) {
315
+
316
+ // check if billingcountry is filled in
317
+ if(is_object(Mage::helper('checkout/cart')->getQuote()->getBillingAddress()) && Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry() != "") {
318
+ $countryCode = Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry();
319
+ } else {
320
+ $countryCode = ""; // don't set countryCode so you get all the payment methods
321
+ // You could do ip lookup but availability and performace is not guaranteed
322
  // $ip = $this->getClientIp();
323
  // $countryCode = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);
324
+ }
325
  }
326
+
327
  // directory lookup to search for available payment methods
328
  $adyFields = array(
329
+ "paymentAmount" => $amount,
330
+ "currencyCode" => $orderCurrencyCode,
331
+ "merchantReference" => "Get Payment methods",
332
+ "skinCode" => $skinCode,
333
+ "merchantAccount" => $merchantAccount,
334
+ "sessionValidity" => $sessionValidity,
335
+ "countryCode" => $countryCode,
336
+ "merchantSig" => "",
337
  );
338
+
339
  $sign = $adyFields['paymentAmount'] .
340
+ $adyFields['currencyCode'] .
341
+ $adyFields['merchantReference'] .
342
+ $adyFields['skinCode'] .
343
+ $adyFields['merchantAccount'] .
344
+ $adyFields['sessionValidity'];
345
+
346
  //Generate HMAC encrypted merchant signature
347
  $secretWord = $this->_getSecretWord();
348
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
349
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
350
 
351
  $ch = curl_init();
352
+
353
  $isConfigDemoMode = $this->getConfigDataDemoMode();
354
  if ($isConfigDemoMode)
355
+ curl_setopt($ch, CURLOPT_URL, "https://test.adyen.com/hpp/directory.shtml");
356
+ else
357
+ curl_setopt($ch, CURLOPT_URL, "https://live.adyen.com/hpp/directory.shtml");
358
+
359
+ curl_setopt($ch, CURLOPT_HEADER, false);
360
  curl_setopt($ch, CURLOPT_POST,count($adyFields));
361
  curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($adyFields));
362
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // do not print results if you do curl_exec
363
+
364
  $results = curl_exec($ch);
365
+
366
  if($results === false) {
367
+ echo "Error: " . curl_error($ch);
368
+ Mage::log("Payment methods are not available on this merchantaccount\skin result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
369
+ Mage::throwException(Mage::helper('adyen')->__('Payment methods are not available on this merchantaccount\skin'));
370
  } else{
371
+ /**
372
+ * The $result contains a JSON array containing
373
+ * the available payment methods for the merchant account.
374
+ */
375
+ $results_json = json_decode($results);
376
+
377
+ if($results_json == null) {
378
+ // no valid json so show the error
379
+ echo $results;
380
+ Mage::log("Payment methods are empty on this merchantaccount\skin. results_json is incorrect result is:" . $results_json, self::DEBUG_LEVEL, 'http-request.log',true);
381
+ Mage::throwException(Mage::helper('adyen')->__('Payment methods are empty on this merchantaccount\skin'));
382
+ }
383
+
384
+ $payment_methods = $results_json->paymentMethods;
385
+
386
+ $result_array = array();
387
+ foreach($payment_methods as $payment_method) {
388
+
389
+ // if openinvoice is activated don't show this in HPP options
390
+ if(Mage::getStoreConfig("payment/adyen_openinvoice/active")) {
391
+ if(Mage::getStoreConfig("payment/adyen_openinvoice/openinvoicetypes") == $payment_method->brandCode) {
392
+ continue;
393
+ }
394
+ }
395
+
396
+ $result_array[$payment_method->brandCode]['name'] = $payment_method->name;
397
+
398
+ if(isset($payment_method->issuers)) {
399
+ // for ideal go through the issuers
400
+ if(count($payment_method->issuers) > 0)
401
+ {
402
+ foreach($payment_method->issuers as $issuer) {
403
+ $result_array[$payment_method->brandCode]['issuers'][$issuer->issuerId] = $issuer->name;
404
+ }
405
+ }
406
+ ksort($result_array[$payment_method->brandCode]['issuers']); // sort on key
407
+ }
408
+ }
409
  }
410
  return $result_array;
411
  }
412
+
413
  // Function to get the client ip address
414
+ public function getClientIp() {
415
+
416
+ $ipaddress = '';
417
+
418
+ if (isset($_SERVER['HTTP_CLIENT_IP']))
419
+ $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
420
+ else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
421
+ $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
422
+ else if(isset($_SERVER['HTTP_X_FORWARDED']))
423
+ $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
424
+ else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
425
+ $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
426
+ else if(isset($_SERVER['HTTP_FORWARDED']))
427
+ $ipaddress = $_SERVER['HTTP_FORWARDED'];
428
+ else if(isset($_SERVER['REMOTE_ADDR']))
429
+ $ipaddress = $_SERVER['REMOTE_ADDR'];
430
+ else
431
+ $ipaddress = '';
432
+
433
+ return $ipaddress;
434
+ }
435
 
436
 
437
  }
app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php CHANGED
@@ -27,7 +27,7 @@
27
  */
28
  class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hpp {
29
 
30
- protected $_canUseInternal = false;
31
  protected $_code = 'adyen_openinvoice';
32
  protected $_formBlockType = 'adyen/form_openinvoice';
33
  protected $_infoBlockType = 'adyen/info_openinvoice';
@@ -44,23 +44,23 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
44
 
45
  /**
46
  * @desc Get url of Adyen payment
47
- * @return string
48
  * @todo add brandCode here
49
  */
50
  public function getFormUrl() {
51
- $paymentRoutine = $this->_getConfigData('payment_routines', 'adyen_hpp');
52
- $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
53
 
54
  switch ($this->getConfigDataDemoMode()) {
55
  case true:
56
- if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
57
  $url = 'https://test.adyen.com/hpp/pay.shtml';
58
  } else {
59
  $url = "https://test.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
60
  }
61
  break;
62
  default:
63
- if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
64
  $url = 'https://live.adyen.com/hpp/pay.shtml';
65
  } else {
66
  $url = "https://live.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
@@ -69,9 +69,9 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
69
  }
70
  return $url;
71
  }
72
-
73
  public function getFormName() {
74
- return "Adyen HPP";
75
  }
76
 
77
  /**
@@ -84,12 +84,12 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
84
  $adyFields = $this->getOptionalFormFields($adyFields,$this->_order);
85
  return $adyFields;
86
  }
87
-
88
  public function getOptionalFormFields($adyFields,$order) {
89
  if (empty($order)) return $adyFields;
90
-
91
  $secretWord = $this->_getSecretWord();
92
-
93
  $billingAddress = $order->getBillingAddress();
94
  $adyFields['shopper.firstName'] = $billingAddress->getFirstname();
95
  $adyFields['shopper.lastName'] = $billingAddress->getLastname();
@@ -100,122 +100,133 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
100
  $adyFields['billingAddress.stateOrProvince'] = $billingAddress->getRegion();
101
  $adyFields['billingAddress.country'] = $billingAddress->getCountryId();
102
  $sign = $adyFields['billingAddress.street'] .
103
- $adyFields['billingAddress.houseNumberOrName'] .
104
- $adyFields['billingAddress.city'] .
105
- $adyFields['billingAddress.postalCode'] .
106
- $adyFields['billingAddress.stateOrProvince'] .
107
- $adyFields['billingAddress.country']
108
  ;
109
  //Generate HMAC encrypted merchant signature
110
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
111
  $adyFields['billingAddressSig'] = base64_encode(pack('H*', $signMac));
112
 
113
-
114
  $deliveryAddress = $order->getShippingAddress();
115
  if($deliveryAddress != null)
116
- {
117
- $adyFields['deliveryAddress.street'] = $this->getStreet($deliveryAddress)->getName();
118
- $adyFields['deliveryAddress.houseNumberOrName'] = $this->getStreet($deliveryAddress)->getHouseNumber();
119
- $adyFields['deliveryAddress.city'] = $deliveryAddress->getCity();
120
- $adyFields['deliveryAddress.postalCode'] = $deliveryAddress->getPostcode();
121
- $adyFields['deliveryAddress.stateOrProvince'] = $deliveryAddress->getRegion();
122
- $adyFields['deliveryAddress.country'] = $deliveryAddress->getCountryId();
123
- $sign = $adyFields['deliveryAddress.street'] .
124
- $adyFields['deliveryAddress.houseNumberOrName'] .
125
- $adyFields['deliveryAddress.city'] .
126
- $adyFields['deliveryAddress.postalCode'] .
127
- $adyFields['deliveryAddress.stateOrProvince'] .
128
- $adyFields['deliveryAddress.country']
129
- ;
130
- //Generate HMAC encrypted merchant signature
131
- $secretWord = $this->_getSecretWord();
132
- $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
133
- $adyFields['deliveryAddressSig'] = base64_encode(pack('H*', $signMac));
134
- }
135
-
136
-
137
  if ($adyFields['shopperReference'] != self::GUEST_ID) {
138
  $customer = Mage::getModel('customer/customer')->load($adyFields['shopperReference']);
139
  $adyFields['shopper.gender'] = strtoupper($this->getCustomerAttributeText($customer, 'gender'));
140
  $adyFields['shopper.infix'] = $customer->getPrefix();
141
  $dob = $customer->getDob();
142
-
143
  if (!empty($dob)) {
144
  $adyFields['shopper.dateOfBirthDayOfMonth'] = $this->getDate($dob, 'd');
145
  $adyFields['shopper.dateOfBirthMonth'] = $this->getDate($dob, 'm');
146
  $adyFields['shopper.dateOfBirthYear'] = $this->getDate($dob, 'Y');
147
  }
148
  }
 
 
 
 
149
  $adyFields['shopper.telephoneNumber'] = $billingAddress->getTelephone();
150
-
151
  $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
152
-
153
- // if($this->_code == "adyen_openinvoice" && $openinvoiceType == "klarna") {
154
- // // initialize values if they are empty
155
- // (isset($adyFields['shopper.gender'])) ? $adyFields['shopper.gender'] : "";
156
- // (isset($adyFields['shopper.infix'])) ? $adyFields['shopper.infix'] : "";
157
- // (isset($adyFields['shopper.dateOfBirthDayOfMonth'])) ? $adyFields['shopper.dateOfBirthDayOfMonth'] : "";
158
- // (isset($adyFields['shopper.dateOfBirthMonth'])) ? $adyFields['shopper.dateOfBirthMonth'] : "";
159
- // (isset($adyFields['shopper.dateOfBirthYear'])) ? $adyFields['shopper.dateOfBirthYear'] : "";
160
-
161
- // $shoppperSign = $adyFields['shopper.firstName'] . $adyFields['shopper.infix'] . $adyFields['shopper.lastName'] . $adyFields['shopper.gender'] . $adyFields['shopper.dateOfBirthDayOfMonth'] . $adyFields['shopper.dateOfBirthMonth'] . $adyFields['shopper.dateOfBirthYear'] . $adyFields['shopper.telephoneNumber'];
162
- // $shopperSignMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $shoppperSign);
163
- // $adyFields['shopperSig'] = base64_encode(pack('H*', $shopperSignMac));
164
- // }
165
-
166
 
167
  $count = 0;
168
  $currency = $order->getOrderCurrencyCode();
169
  $additional_data_sign = array();
170
-
171
  foreach ($order->getItemsCollection() as $item) {
172
- //skip dummies
173
- if ($item->isDummy()) continue;
174
-
175
- ++$count;
176
- $linename = "line".$count;
177
- $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
178
- $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
179
- $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($item->getPrice());
180
- $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount(($item->getTaxAmount()>0 && $item->getPriceInclTax()>0)?$item->getPriceInclTax() - $item->getPrice():$item->getTaxAmount());
181
- $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
182
- $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
183
  }
184
-
185
  //discount cost
186
- $linename = "line".++$count;
187
- $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
188
- $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Total Discount');
189
- $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getDiscountAmount());
190
- $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
191
- $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
192
- $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
193
-
 
 
 
 
194
  //shipping cost
195
- $linename = "line".++$count;
196
- $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
197
- $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $order->getShippingDescription();
198
- $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getShippingAmount());
199
- $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount($order->getShippingTaxAmount());
200
- $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
201
- $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
202
-
203
- //tax costs
204
- $linename = "line".++$count;
205
- $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
206
- $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Tax');
207
- $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getTaxAmount());
208
- $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
209
- $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
210
- $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
211
-
 
 
 
212
  // general for invoicelines
213
  $additional_data_sign['openinvoicedata.refundDescription'] = "Refund / Correction for ".$adyFields['merchantReference'];
214
  $additional_data_sign['openinvoicedata.numberOfLines'] = $count;
215
-
216
  // add merchantsignature in additional signature
217
  $additional_data_sign['merchantSig'] = $adyFields['merchantSig'];
218
-
219
  // generate signature
220
  ksort($additional_data_sign);
221
 
@@ -223,37 +234,37 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
223
  $sign_additional_data_keys = "";
224
  $sign_additional_data_values = "";
225
  foreach($additional_data_sign as $key => $value) {
226
-
227
- // add to fields
228
- $adyFields[$key] = $value;
229
-
230
- // create sign
231
- $sign_additional_data_keys .= $key;
232
- $sign_additional_data_values .= $value;
233
-
234
- $keys = array_keys($additional_data_sign);
235
- if(end($keys) != $key) {
236
- $sign_additional_data_keys .= ":";
237
- $sign_additional_data_values .= ":";
238
- }
239
  }
240
-
241
  $sign_additional_data = $sign_additional_data_keys . "|" . $sign_additional_data_values;
242
-
243
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign_additional_data);
244
  $adyFields['openinvoicedata.sig'] = base64_encode(pack('H*', $signMac));
245
-
246
-
247
  Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log');
248
-
249
  return $adyFields;
250
- }
251
 
252
  /**
253
  * Get Attribute label
254
  * @param type $customer
255
  * @param type $code
256
- * @return type
257
  */
258
  public function getCustomerAttributeText($customer, $code='gender') {
259
  $helper = Mage::helper('adyen');
@@ -273,21 +284,21 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
273
  $timeStamp = new DateTime($date);
274
  return $timeStamp->format($format);
275
  }
276
-
277
- /**
278
  * Street format
279
  * @param type $address
280
- * @return Varien_Object
281
  */
282
  public function getStreet($address) {
283
  if (empty($address)) return false;
284
  $street = self::formatStreet($address->getStreet());
285
  $streetName = $street['0'];
286
  unset($street['0']);
287
- $streetNr = implode('',$street);
288
  return new Varien_Object(array('name' => $streetName, 'house_number' => $streetNr));
289
  }
290
-
291
  /**
292
  * Fix this one string street + number
293
  * @example street + number
@@ -297,13 +308,13 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
297
  static public function formatStreet($street) {
298
  if (count($street) != 1) {
299
  return $street;
300
- }
301
  preg_match('/((\s\d{0,10})|(\s\d{0,10}\w{1,3}))$/i', $street['0'], $houseNumber, PREG_OFFSET_CAPTURE);
302
  if(!empty($houseNumber['0'])) {
303
- $_houseNumber = trim($houseNumber['0']['0']);
304
- $position = $houseNumber['0']['1'];
305
- $streeName = trim(substr($street['0'], 0, $position));
306
- $street = array($streeName,$_houseNumber);
307
  }
308
  return $street;
309
  }
27
  */
28
  class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hpp {
29
 
30
+ protected $_canUseInternal = false;
31
  protected $_code = 'adyen_openinvoice';
32
  protected $_formBlockType = 'adyen/form_openinvoice';
33
  protected $_infoBlockType = 'adyen/info_openinvoice';
44
 
45
  /**
46
  * @desc Get url of Adyen payment
47
+ * @return string
48
  * @todo add brandCode here
49
  */
50
  public function getFormUrl() {
51
+ $paymentRoutine = $this->_getConfigData('payment_routines', 'adyen_hpp');
52
+ $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
53
 
54
  switch ($this->getConfigDataDemoMode()) {
55
  case true:
56
+ if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
57
  $url = 'https://test.adyen.com/hpp/pay.shtml';
58
  } else {
59
  $url = "https://test.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
60
  }
61
  break;
62
  default:
63
+ if ($paymentRoutine == 'single' && empty($openinvoiceType)) {
64
  $url = 'https://live.adyen.com/hpp/pay.shtml';
65
  } else {
66
  $url = "https://live.adyen.com/hpp/details.shtml?brandCode=".$openinvoiceType;
69
  }
70
  return $url;
71
  }
72
+
73
  public function getFormName() {
74
+ return "Adyen HPP";
75
  }
76
 
77
  /**
84
  $adyFields = $this->getOptionalFormFields($adyFields,$this->_order);
85
  return $adyFields;
86
  }
87
+
88
  public function getOptionalFormFields($adyFields,$order) {
89
  if (empty($order)) return $adyFields;
90
+
91
  $secretWord = $this->_getSecretWord();
92
+
93
  $billingAddress = $order->getBillingAddress();
94
  $adyFields['shopper.firstName'] = $billingAddress->getFirstname();
95
  $adyFields['shopper.lastName'] = $billingAddress->getLastname();
100
  $adyFields['billingAddress.stateOrProvince'] = $billingAddress->getRegion();
101
  $adyFields['billingAddress.country'] = $billingAddress->getCountryId();
102
  $sign = $adyFields['billingAddress.street'] .
103
+ $adyFields['billingAddress.houseNumberOrName'] .
104
+ $adyFields['billingAddress.city'] .
105
+ $adyFields['billingAddress.postalCode'] .
106
+ $adyFields['billingAddress.stateOrProvince'] .
107
+ $adyFields['billingAddress.country']
108
  ;
109
  //Generate HMAC encrypted merchant signature
110
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
111
  $adyFields['billingAddressSig'] = base64_encode(pack('H*', $signMac));
112
 
113
+
114
  $deliveryAddress = $order->getShippingAddress();
115
  if($deliveryAddress != null)
116
+ {
117
+ $adyFields['deliveryAddress.street'] = $this->getStreet($deliveryAddress)->getName();
118
+ $adyFields['deliveryAddress.houseNumberOrName'] = $this->getStreet($deliveryAddress)->getHouseNumber();
119
+ $adyFields['deliveryAddress.city'] = $deliveryAddress->getCity();
120
+ $adyFields['deliveryAddress.postalCode'] = $deliveryAddress->getPostcode();
121
+ $adyFields['deliveryAddress.stateOrProvince'] = $deliveryAddress->getRegion();
122
+ $adyFields['deliveryAddress.country'] = $deliveryAddress->getCountryId();
123
+ $sign = $adyFields['deliveryAddress.street'] .
124
+ $adyFields['deliveryAddress.houseNumberOrName'] .
125
+ $adyFields['deliveryAddress.city'] .
126
+ $adyFields['deliveryAddress.postalCode'] .
127
+ $adyFields['deliveryAddress.stateOrProvince'] .
128
+ $adyFields['deliveryAddress.country']
129
+ ;
130
+ //Generate HMAC encrypted merchant signature
131
+ $secretWord = $this->_getSecretWord();
132
+ $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
133
+ $adyFields['deliveryAddressSig'] = base64_encode(pack('H*', $signMac));
134
+ }
135
+
136
+
137
  if ($adyFields['shopperReference'] != self::GUEST_ID) {
138
  $customer = Mage::getModel('customer/customer')->load($adyFields['shopperReference']);
139
  $adyFields['shopper.gender'] = strtoupper($this->getCustomerAttributeText($customer, 'gender'));
140
  $adyFields['shopper.infix'] = $customer->getPrefix();
141
  $dob = $customer->getDob();
142
+
143
  if (!empty($dob)) {
144
  $adyFields['shopper.dateOfBirthDayOfMonth'] = $this->getDate($dob, 'd');
145
  $adyFields['shopper.dateOfBirthMonth'] = $this->getDate($dob, 'm');
146
  $adyFields['shopper.dateOfBirthYear'] = $this->getDate($dob, 'Y');
147
  }
148
  }
149
+
150
+ // for sweden add here your socialSecurityNumber
151
+ // $adyFields['shopper.socialSecurityNumber'] = "Result of your custom input field";
152
+
153
  $adyFields['shopper.telephoneNumber'] = $billingAddress->getTelephone();
154
+
155
  $openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
156
+
157
+ if($this->_code == "adyen_openinvoice" && $openinvoiceType == "klarna") {
158
+ // initialize values if they are empty
159
+ (isset($adyFields['shopper.gender'])) ? $adyFields['shopper.gender'] : "";
160
+ (isset($adyFields['shopper.infix'])) ? $adyFields['shopper.infix'] : "";
161
+ (isset($adyFields['shopper.dateOfBirthDayOfMonth'])) ? $adyFields['shopper.dateOfBirthDayOfMonth'] : "";
162
+ (isset($adyFields['shopper.dateOfBirthMonth'])) ? $adyFields['shopper.dateOfBirthMonth'] : "";
163
+ (isset($adyFields['shopper.dateOfBirthYear'])) ? $adyFields['shopper.dateOfBirthYear'] : "";
164
+
165
+ $shoppperSign = $adyFields['shopper.firstName'] . $adyFields['shopper.infix'] . $adyFields['shopper.lastName'] . $adyFields['shopper.gender'] . $adyFields['shopper.dateOfBirthDayOfMonth'] . $adyFields['shopper.dateOfBirthMonth'] . $adyFields['shopper.dateOfBirthYear'] . $adyFields['shopper.telephoneNumber'];
166
+ $shopperSignMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $shoppperSign);
167
+ $adyFields['shopperSig'] = base64_encode(pack('H*', $shopperSignMac));
168
+ }
169
+
170
 
171
  $count = 0;
172
  $currency = $order->getOrderCurrencyCode();
173
  $additional_data_sign = array();
174
+
175
  foreach ($order->getItemsCollection() as $item) {
176
+ //skip dummies
177
+ if ($item->isDummy()) continue;
178
+
179
+ ++$count;
180
+ $linename = "line".$count;
181
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
182
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
183
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($item->getPrice());
184
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount(($item->getTaxAmount()>0 && $item->getPriceInclTax()>0)?$item->getPriceInclTax() - $item->getPrice():$item->getTaxAmount());
185
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
186
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
187
  }
188
+
189
  //discount cost
190
+
191
+ if($order->getDiscountAmount() > 0)
192
+ {
193
+ $linename = "line".++$count;
194
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
195
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Total Discount');
196
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getDiscountAmount());
197
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
198
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
199
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
200
+ }
201
+
202
  //shipping cost
203
+ if($order->getShippingAmount() > 0 || $order->getShippingTaxAmount() > 0)
204
+ {
205
+ $linename = "line".++$count;
206
+ $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
207
+ $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $order->getShippingDescription();
208
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getShippingAmount());
209
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $this->_formatAmount($order->getShippingTaxAmount());
210
+ $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
211
+ $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
212
+ }
213
+
214
+ // Klarna wants tax cost provided in the lines of the products so overal tax cost is not needed anymore
215
+ // $linename = "line".++$count;
216
+ // $additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
217
+ // $additional_data_sign['openinvoicedata.' . $linename . '.description'] = Mage::helper('adyen')->__('Tax');
218
+ // $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $this->_formatAmount($order->getTaxAmount());
219
+ // $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
220
+ // $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
221
+ // $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
222
+
223
  // general for invoicelines
224
  $additional_data_sign['openinvoicedata.refundDescription'] = "Refund / Correction for ".$adyFields['merchantReference'];
225
  $additional_data_sign['openinvoicedata.numberOfLines'] = $count;
226
+
227
  // add merchantsignature in additional signature
228
  $additional_data_sign['merchantSig'] = $adyFields['merchantSig'];
229
+
230
  // generate signature
231
  ksort($additional_data_sign);
232
 
234
  $sign_additional_data_keys = "";
235
  $sign_additional_data_values = "";
236
  foreach($additional_data_sign as $key => $value) {
237
+
238
+ // add to fields
239
+ $adyFields[$key] = $value;
240
+
241
+ // create sign
242
+ $sign_additional_data_keys .= $key;
243
+ $sign_additional_data_values .= $value;
244
+
245
+ $keys = array_keys($additional_data_sign);
246
+ if(end($keys) != $key) {
247
+ $sign_additional_data_keys .= ":";
248
+ $sign_additional_data_values .= ":";
249
+ }
250
  }
251
+
252
  $sign_additional_data = $sign_additional_data_keys . "|" . $sign_additional_data_values;
253
+
254
  $signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign_additional_data);
255
  $adyFields['openinvoicedata.sig'] = base64_encode(pack('H*', $signMac));
256
+
257
+
258
  Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log');
259
+
260
  return $adyFields;
261
+ }
262
 
263
  /**
264
  * Get Attribute label
265
  * @param type $customer
266
  * @param type $code
267
+ * @return type
268
  */
269
  public function getCustomerAttributeText($customer, $code='gender') {
270
  $helper = Mage::helper('adyen');
284
  $timeStamp = new DateTime($date);
285
  return $timeStamp->format($format);
286
  }
287
+
288
+ /**
289
  * Street format
290
  * @param type $address
291
+ * @return Varien_Object
292
  */
293
  public function getStreet($address) {
294
  if (empty($address)) return false;
295
  $street = self::formatStreet($address->getStreet());
296
  $streetName = $street['0'];
297
  unset($street['0']);
298
+ $streetNr = implode('',$street);
299
  return new Varien_Object(array('name' => $streetName, 'house_number' => $streetNr));
300
  }
301
+
302
  /**
303
  * Fix this one string street + number
304
  * @example street + number
308
  static public function formatStreet($street) {
309
  if (count($street) != 1) {
310
  return $street;
311
+ }
312
  preg_match('/((\s\d{0,10})|(\s\d{0,10}\w{1,3}))$/i', $street['0'], $houseNumber, PREG_OFFSET_CAPTURE);
313
  if(!empty($houseNumber['0'])) {
314
+ $_houseNumber = trim($houseNumber['0']['0']);
315
+ $position = $houseNumber['0']['1'];
316
+ $streeName = trim(substr($street['0'], 0, $position));
317
+ $street = array($streeName,$_houseNumber);
318
  }
319
  return $street;
320
  }
app/code/community/Adyen/Payment/Model/Adyen/Pos.php CHANGED
@@ -1,135 +1,135 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Adyen_Pos extends Adyen_Payment_Model_Adyen_Abstract {
29
-
30
- protected $_canUseInternal = false;
31
- protected $_code = 'adyen_pos';
32
- protected $_formBlockType = 'adyen/form_pos';
33
- protected $_infoBlockType = 'adyen/info_pos';
34
- protected $_paymentMethod = 'pos';
35
-
36
- /**
37
- * @var GUEST_ID , used when order is placed by guests
38
- */
39
- const GUEST_ID = 'customer_';
40
-
41
- /**
42
- * @desc Get checkout session namespace
43
- *
44
- * @return Mage_Checkout_Model_Session
45
- */
46
- public function getCheckout() {
47
- return Mage::getSingleton('checkout/session');
48
- }
49
-
50
- public function assignData($data) {
51
- if (!($data instanceof Varien_Object)) {
52
- $data = new Varien_Object($data);
53
- }
54
- $info = $this->getInfoInstance();
55
-
56
- return $this;
57
- }
58
-
59
- /**
60
- * @desc Called just after asssign data
61
- */
62
- public function prepareSave() {
63
- parent::prepareSave();
64
- }
65
-
66
- /**
67
- * @desc Get current quote
68
- *
69
- * @return Mage_Sales_Model_Quote
70
- */
71
- public function getQuote() {
72
- return $this->getCheckout()->getQuote();
73
- }
74
-
75
- public function getOrderPlaceRedirectUrl() {
76
- return Mage::getUrl('adyen/process/redirect');
77
- }
78
-
79
- /**
80
- * @desc prepare params array to send it to gateway page via POST
81
- * @return array
82
- */
83
- public function getFormFields() {
84
- $this->_initOrder();
85
- $order = $this->_order;
86
- $realOrderId = $order->getRealOrderId();
87
- $orderCurrencyCode = $order->getOrderCurrencyCode();
88
- $amount = $this->_formatAmount($order->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
89
- $customerId = $order->getCustomerId();
90
- $customerEmail = $order->getCustomerEmail();
91
-
92
- $adyFields = array();
93
- $adyFields['currencyCode'] = $orderCurrencyCode;
94
- $adyFields['paymentAmount'] = $amount;
95
- $adyFields['merchantReference'] = $realOrderId;
96
- $adyFields['paymentAmountGrandTotal'] = $order->formatPrice($order->getGrandTotal()); // for showing only
97
-
98
- // for recurring payments
99
- $recurringType = $this->_getConfigData('recurringtypes', 'adyen_pos');
100
- $adyFields['recurringContract'] = $recurringType;
101
- $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
102
- $adyFields['shopperEmail'] = $customerEmail;
103
-
104
- Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
105
 
106
- return $adyFields;
107
- }
108
-
109
- public function getFormName() {
110
- return "Adyen POS";
111
- }
112
-
113
- /**
114
- * Return redirect block type
115
- *
116
- * @return string
117
- */
118
- public function getRedirectBlockType() {
119
- return $this->_redirectBlockType;
120
- }
121
-
122
- public function isInitializeNeeded() {
123
- return true;
124
- }
125
-
126
- public function initialize($paymentAction, $stateObject) {
127
- $state = Mage_Sales_Model_Order::STATE_NEW;
128
- $stateObject->setState($state);
129
- $stateObject->setStatus($this->_getConfigData('order_status'));
130
- }
131
-
132
- public function getConfigPaymentAction() {
133
- return true;
134
- }
135
- }
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Adyen_Pos extends Adyen_Payment_Model_Adyen_Abstract {
29
+
30
+ protected $_canUseInternal = false;
31
+ protected $_code = 'adyen_pos';
32
+ protected $_formBlockType = 'adyen/form_pos';
33
+ protected $_infoBlockType = 'adyen/info_pos';
34
+ protected $_paymentMethod = 'pos';
35
+
36
+ /**
37
+ * @var GUEST_ID , used when order is placed by guests
38
+ */
39
+ const GUEST_ID = 'customer_';
40
+
41
+ /**
42
+ * @desc Get checkout session namespace
43
+ *
44
+ * @return Mage_Checkout_Model_Session
45
+ */
46
+ public function getCheckout() {
47
+ return Mage::getSingleton('checkout/session');
48
+ }
49
+
50
+ public function assignData($data) {
51
+ if (!($data instanceof Varien_Object)) {
52
+ $data = new Varien_Object($data);
53
+ }
54
+ $info = $this->getInfoInstance();
55
+
56
+ return $this;
57
+ }
58
+
59
+ /**
60
+ * @desc Called just after asssign data
61
+ */
62
+ public function prepareSave() {
63
+ parent::prepareSave();
64
+ }
65
+
66
+ /**
67
+ * @desc Get current quote
68
+ *
69
+ * @return Mage_Sales_Model_Quote
70
+ */
71
+ public function getQuote() {
72
+ return $this->getCheckout()->getQuote();
73
+ }
74
+
75
+ public function getOrderPlaceRedirectUrl() {
76
+ return Mage::getUrl('adyen/process/redirect');
77
+ }
78
+
79
+ /**
80
+ * @desc prepare params array to send it to gateway page via POST
81
+ * @return array
82
+ */
83
+ public function getFormFields() {
84
+ $this->_initOrder();
85
+ $order = $this->_order;
86
+ $realOrderId = $order->getRealOrderId();
87
+ $orderCurrencyCode = $order->getOrderCurrencyCode();
88
+ $amount = $this->_formatAmount($order->getGrandTotal(),(($orderCurrencyCode=='IDR')?0:2));
89
+ $customerId = $order->getCustomerId();
90
+ $customerEmail = $order->getCustomerEmail();
91
+
92
+ $adyFields = array();
93
+ $adyFields['currencyCode'] = $orderCurrencyCode;
94
+ $adyFields['paymentAmount'] = $amount;
95
+ $adyFields['merchantReference'] = $realOrderId;
96
+ $adyFields['paymentAmountGrandTotal'] = $order->formatPrice($order->getGrandTotal()); // for showing only
 
 
 
 
 
 
 
 
97
 
98
+ // for recurring payments
99
+ $recurringType = $this->_getConfigData('recurringtypes', 'adyen_pos');
100
+ $adyFields['recurringContract'] = $recurringType;
101
+ $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
102
+ $adyFields['shopperEmail'] = $customerEmail;
103
+
104
+ Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log',true);
105
+
106
+ return $adyFields;
107
+ }
108
+
109
+ public function getFormName() {
110
+ return "Adyen POS";
111
+ }
112
+
113
+ /**
114
+ * Return redirect block type
115
+ *
116
+ * @return string
117
+ */
118
+ public function getRedirectBlockType() {
119
+ return $this->_redirectBlockType;
120
+ }
121
+
122
+ public function isInitializeNeeded() {
123
+ return true;
124
+ }
125
+
126
+ public function initialize($paymentAction, $stateObject) {
127
+ $state = Mage_Sales_Model_Order::STATE_NEW;
128
+ $stateObject->setState($state);
129
+ $stateObject->setStatus($this->_getConfigData('order_status'));
130
+ }
131
+
132
+ public function getConfigPaymentAction() {
133
+ return true;
134
+ }
135
+ }
app/code/community/Adyen/Payment/Model/Authenticate.php CHANGED
@@ -42,7 +42,7 @@ class Adyen_Payment_Model_Authenticate extends Mage_Core_Model_Abstract {
42
  $authStatus = $this->_httpAuthenticate($varienObj);
43
  if($authStatus === false){
44
  header('HTTP/1.1 401 Unauthorized',true,401);
45
- header('WWW-Authenticate: Basic realm="Notifications"');
46
  echo "";
47
  exit();
48
  }
42
  $authStatus = $this->_httpAuthenticate($varienObj);
43
  if($authStatus === false){
44
  header('HTTP/1.1 401 Unauthorized',true,401);
45
+ header('WWW-Authenticate: Basic realm="Notifications"');
46
  echo "";
47
  exit();
48
  }
app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug.php CHANGED
@@ -1,43 +1,43 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Mysql4_Adyen_Debug extends Mage_Core_Model_Mysql4_Abstract {
29
-
30
- protected function _construct() {
31
- $this->_init('adyen/api_debug', 'debug_id');
32
- }
33
-
34
- /**
35
- * @since 0.0.2
36
- * @param array $response
37
- */
38
- public function assignData($response) {
39
- $db = $this->_getWriteAdapter();
40
- $db->insert($this->getMainTable(), array('adyen_response' => serialize($response)));
41
- }
42
-
43
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Adyen_Debug extends Mage_Core_Model_Mysql4_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/api_debug', 'debug_id');
32
+ }
33
+
34
+ /**
35
+ * @since 0.0.2
36
+ * @param array $response
37
+ */
38
+ public function assignData($response) {
39
+ $db = $this->_getWriteAdapter();
40
+ $db->insert($this->getMainTable(), array('adyen_response' => serialize($response)));
41
+ }
42
+
43
+ }
app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug/Collection.php CHANGED
@@ -1,34 +1,34 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- class Adyen_Payment_Model_Mysql4_Adyen_Debug_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
29
-
30
- protected function _construct() {
31
- $this->_init('adyen/adyen_api_debug');
32
- }
33
-
34
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_Model_Mysql4_Adyen_Debug_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
29
+
30
+ protected function _construct() {
31
+ $this->_init('adyen/adyen_api_debug');
32
+ }
33
+
34
+ }
app/code/community/Adyen/Payment/controllers/ProcessController.php CHANGED
@@ -1,372 +1,372 @@
1
- <?php
2
-
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
-
29
- class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action {
30
- /**
31
- * @var Adyen_Payment_Model_Adyen_Data_Server
32
- */
33
- const SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Notification';
34
-
35
- const OPENINVOICE_SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Openinvoice';
36
-
37
- /**
38
- * Redirect Block
39
- * need to be redeclared
40
- */
41
- protected $_redirectBlockType = 'adyen/redirect';
42
-
43
- /**
44
- * @desc Soap Interface/Webservice
45
- * @since 0.0.9.9r2
46
- */
47
- public function soapAction() {
48
- $classmap = Mage::getModel('adyen/adyen_data_notificationClassmap');
49
- $server = new SoapServer($this->_getWsdl(), array('classmap' => $classmap));
50
- $server->setClass(self::SOAP_SERVER);
51
- $server->addFunction(SOAP_FUNCTIONS_ALL);
52
- $server->handle();
53
-
54
- //get soap request
55
- $request = Mage::registry('soap-request');
56
-
57
-
58
- if (empty($request)) {
59
- return false;
60
- }
61
-
62
- if (is_array($request->notification->notificationItems->NotificationRequestItem)) {
63
- foreach ($request->notification->notificationItems->NotificationRequestItem as $item) {
64
- $this->processResponse($item);
65
- }
66
- } else {
67
- $item = $request->notification->notificationItems->NotificationRequestItem;
68
- $this->processResponse($item);
69
- }
70
- exit();
71
- }
72
-
73
- public function openinvoiceAction() {
74
- $_mode = $this->_getConfigData('demoMode');
75
- $wsdl = ($_mode == 'Y') ?
76
- 'https://ca-test.adyen.com/ca/services/OpenInvoiceDetail?wsdl' :
77
- 'https://ca-live.adyen.com/ca/services/OpenInvoiceDetail?wsdl';
78
- $server = new SoapServer($wsdl);
79
- $server->setClass(self::OPENINVOICE_SOAP_SERVER);
80
- $server->addFunction(SOAP_FUNCTIONS_ALL);
81
- $server->handle();
82
- exit();
83
- }
84
-
85
- /**
86
- * @desc Get Wsdl
87
- * @since 0.0.9.9r2
88
- * @return string
89
- */
90
- protected function _getWsdl() {
91
- return Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Notification.wsdl';
92
- }
93
-
94
- protected function _expireAjax() {
95
- if (!$this->getCheckout()->getQuote()->hasItems()) {
96
- $this->getResponse()->setHeader('HTTP/1.1', '403 Session Expired');
97
- exit;
98
- }
99
- }
100
-
101
- public function redirectAction() {
102
- try {
103
- $session = $this->_getCheckout();
104
- $order = $this->_getOrder();
105
- $session->setAdyenQuoteId($session->getQuoteId());
106
- $session->setAdyenRealOrderId($session->getLastRealOrderId());
107
- $order->loadByIncrementId($session->getLastRealOrderId());
108
-
109
- //redirect only if this order is never recorded
110
- $hasEvent = Mage::getResourceModel('adyen/adyen_event')
111
- ->getLatestStatus($session->getLastRealOrderId());
112
- if (!empty($hasEvent) || !$order->getId()) {
113
- $this->_redirect('/');
114
- return $this;
115
- }
116
-
117
- //redirect to adyen
118
- if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
119
- (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_NEW) === 0)) {
120
- $_status = $this->_getConfigData('order_status');
121
- // FIXME this status won't be added because order is not saved $order->save() missing
122
- $order->addStatusHistoryComment(Mage::helper('adyen')->__('Customer was redirected to Adyen.'), $_status);
123
- $this->getResponse()->setBody(
124
- $this->getLayout()
125
- ->createBlock($this->_redirectBlockType)
126
- ->setOrder($order)
127
- ->toHtml()
128
- );
129
- $session->unsQuoteId();
130
- }
131
- //continue shopping
132
- else {
133
- $this->_redirect('/');
134
- return $this;
135
- }
136
- } catch (Exception $e) {
137
- $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
138
- $this->cancel();
139
- }
140
- }
141
-
142
- public function validate3dAction() {
143
- try {
144
- // get current order
145
- $session = $this->_getCheckout();
146
- $order = $this->_getOrder();
147
- $session->setAdyenQuoteId($session->getQuoteId());
148
- $session->setAdyenRealOrderId($session->getLastRealOrderId());
149
- $order->loadByIncrementId($session->getLastRealOrderId());
150
- $adyenStatus = $order->getAdyenEventCode();
151
-
152
- // get payment details
153
- $payment = $order->getPayment();
154
- $paRequest = $payment->getAdditionalInformation('paRequest');
155
- $md = $payment->getAdditionalInformation('md');
156
- $issuerUrl = $payment->getAdditionalInformation('issuerUrl');
157
-
158
- $infoAvailable = $payment && !empty($paRequest) && !empty($md) && !empty($issuerUrl);
159
-
160
- // check adyen status and check if all information is available
161
- if (!empty($adyenStatus) && $adyenStatus == 'RedirectShopper' && $infoAvailable) {
162
-
163
- $request = $this->getRequest();
164
- $requestMD = $request->getPost('MD');
165
- $requestPaRes = $request->getPost('PaRes');
166
-
167
- // authorise the payment if the user is back from the external URL
168
- if ($request->isPost() && !empty($requestMD) && !empty($requestPaRes)) {
169
- if ($requestMD == $md) {
170
- $payment->setAdditionalInformation('paResponse', $requestPaRes);
171
- // send autorise3d request, catch exception in case of 'Refused'
172
- try {
173
- $result = $payment->getMethodInstance()->authorise3d($payment, $order->getGrandTotal());
174
- } catch (Exception $e) {
175
- $result = 'Refused';
176
- $order->setAdyenEventCode($result)->save();
177
- }
178
-
179
- // check if authorise3d was successful
180
- if ($result == 'Authorised') {
181
- $order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true,
182
- Mage::helper('adyen')->__('3D-secure validation was successful.'))->save();
183
- $this->_redirect('checkout/onepage/success');
184
- }
185
- else {
186
- $order->addStatusHistoryComment(Mage::helper('adyen')->__('3D-secure validation was unsuccessful.'))->save();
187
- $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
188
- $this->cancel();
189
- }
190
- }
191
- else {
192
- $this->_redirect('/');
193
- return $this;
194
- }
195
-
196
- }
197
-
198
- // otherwise, redirect to the external URL
199
- else {
200
- $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true,
201
- Mage::helper('adyen')->__('Customer was redirected to bank for 3D-secure validation.'))->save();
202
- $this->getResponse()->setBody(
203
- $this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
204
- );
205
- }
206
-
207
- }
208
- else {
209
- $this->_redirect('/');
210
- return $this;
211
- }
212
- } catch (Exception $e) {
213
- $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
214
- $this->cancel();
215
- }
216
- }
217
-
218
- /**
219
- * Adyen returns POST variables to this action
220
- */
221
- public function successAction() {
222
- $status = $this->processResponse();
223
- $session = $this->_getCheckout();
224
- $session->unsAdyenRealOrderId();
225
- $session->setQuoteId($session->getAdyenQuoteId(true));
226
- $session->getQuote()->setIsActive(false)->save();
227
- if ($status) {
228
- $this->_redirect('checkout/onepage/success');
229
- } else {
230
- $this->cancel();
231
- }
232
- }
233
-
234
- /**
235
- * @desc reloads the items in the cart && cancel the order
236
- * @since v009
237
- */
238
- public function cancel() {
239
- $cart = Mage::getSingleton('checkout/cart');
240
- $session = $this->_getCheckout();
241
- $order = Mage::getModel('sales/order');
242
- $incrementId = $session->getLastRealOrderId();
243
- $session->getQuote()->setIsActive(false)->save();
244
- $session->clear();
245
- if (empty($incrementId)) {
246
- $session->addError($this->__('Your payment failed, Please try again later'));
247
- $this->_redirect('checkout/cart');
248
- return;
249
- }
250
-
251
- $order->loadByIncrementId($incrementId);
252
-
253
- //handle the old order here
254
- try {
255
- $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
256
- $order->cancel()->save();
257
- } catch (Mage_Core_Exception $e) {
258
- Mage::logException($e);
259
- }
260
- $items = $order->getItemsCollection();
261
- foreach ($items as $item) {
262
- try {
263
- $cart->addOrderItem($item);
264
- } catch (Mage_Core_Exception $e) {
265
- $session->addError($this->__($e->getMessage()));
266
- Mage::logException($e);
267
- continue;
268
- }
269
- }
270
- $cart->save();
271
- $session->addError($this->__('Your payment failed. Please try again later'));
272
- $this->_redirect('checkout/cart');
273
- }
274
-
275
- public function insAction() {
276
- try {
277
-
278
- $status = $this->processResponse();
279
-
280
- if($status == "401"){
281
- $this->_return401();
282
- } else {
283
- echo "[accepted]";
284
- }
285
- } catch (Exception $e) {
286
- Mage::logException($e);
287
- }
288
-
289
- exit();
290
- }
291
-
292
- public function cashAction() {
293
-
294
- $status = $this->processCashResponse();
295
-
296
- $session = $this->_getCheckout();
297
- $session->unsAdyenRealOrderId();
298
- $session->setQuoteId($session->getAdyenQuoteId(true));
299
- $session->getQuote()->setIsActive(false)->save();
300
- if ($status) {
301
- $this->_redirect('checkout/onepage/success');
302
- } else {
303
- $this->cancel();
304
- }
305
- }
306
-
307
- /* START actions for POS */
308
- public function successPosAction() {
309
-
310
- echo $this->processPosResponse();
311
- return $this;
312
- }
313
-
314
- public function getOrderStatusAction()
315
- {
316
- if($_POST['merchantReference'] != "") {
317
- // get the order
318
- $order = Mage::getModel('sales/order')->loadByIncrementId($_POST['merchantReference']);
319
- // if order is not cancelled then order is success
320
- if($order->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING || $order->getAdyenEventCode() == Adyen_Payment_Model_Event::ADYEN_EVENT_POSAPPROVED) {
321
- echo 'true';
322
- }
323
- }
324
- return;
325
- }
326
-
327
- public function cancelAction()
328
- {
329
- $this->cancel();
330
- }
331
-
332
-
333
- public function processPosResponse() {
334
- return Mage::getModel('adyen/process')->processPosResponse();
335
- }
336
- /* END actions for POS */
337
-
338
- public function processCashResponse() {
339
- return Mage::getModel('adyen/process')->processCashResponse();
340
- }
341
-
342
- protected function _return401(){
343
- header('HTTP/1.1 401 Unauthorized',true,401);
344
- }
345
-
346
- /**
347
- * @since v008
348
- * @desc Update order status accordingly
349
- * @throws Exception
350
- */
351
- public function processResponse($soapItem = null) {
352
- return Mage::getModel('adyen/process')->processResponse($soapItem);
353
- }
354
-
355
- protected function _getCheckout() {
356
- return Mage::getSingleton('checkout/session');
357
- }
358
-
359
- protected function _getOrder() {
360
- return Mage::getModel('sales/order');
361
- }
362
-
363
- /**
364
- * @desc Give Default settings
365
- * @example $this->_getConfigData('demoMode','adyen_abstract')
366
- * @since 0.0.2
367
- * @param string $code
368
- */
369
- protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
370
- return Mage::getModel('adyen/process')->getConfigData($code, $paymentMethodCode, $storeId);
371
- }
372
- }
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+
29
+ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action {
30
+ /**
31
+ * @var Adyen_Payment_Model_Adyen_Data_Server
32
+ */
33
+ const SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Notification';
34
+
35
+ const OPENINVOICE_SOAP_SERVER = 'Adyen_Payment_Model_Adyen_Data_Server_Openinvoice';
36
+
37
+ /**
38
+ * Redirect Block
39
+ * need to be redeclared
40
+ */
41
+ protected $_redirectBlockType = 'adyen/redirect';
42
+
43
+ /**
44
+ * @desc Soap Interface/Webservice
45
+ * @since 0.0.9.9r2
46
+ */
47
+ public function soapAction() {
48
+ $classmap = Mage::getModel('adyen/adyen_data_notificationClassmap');
49
+ $server = new SoapServer($this->_getWsdl(), array('classmap' => $classmap));
50
+ $server->setClass(self::SOAP_SERVER);
51
+ $server->addFunction(SOAP_FUNCTIONS_ALL);
52
+ $server->handle();
53
+
54
+ //get soap request
55
+ $request = Mage::registry('soap-request');
56
+
57
+
58
+ if (empty($request)) {
59
+ return false;
60
+ }
61
+
62
+ if (is_array($request->notification->notificationItems->NotificationRequestItem)) {
63
+ foreach ($request->notification->notificationItems->NotificationRequestItem as $item) {
64
+ $this->processResponse($item);
65
+ }
66
+ } else {
67
+ $item = $request->notification->notificationItems->NotificationRequestItem;
68
+ $this->processResponse($item);
69
+ }
70
+ exit();
71
+ }
72
+
73
+ public function openinvoiceAction() {
74
+ $_mode = $this->_getConfigData('demoMode');
75
+ $wsdl = ($_mode == 'Y') ?
76
+ 'https://ca-test.adyen.com/ca/services/OpenInvoiceDetail?wsdl' :
77
+ 'https://ca-live.adyen.com/ca/services/OpenInvoiceDetail?wsdl';
78
+ $server = new SoapServer($wsdl);
79
+ $server->setClass(self::OPENINVOICE_SOAP_SERVER);
80
+ $server->addFunction(SOAP_FUNCTIONS_ALL);
81
+ $server->handle();
82
+ exit();
83
+ }
84
+
85
+ /**
86
+ * @desc Get Wsdl
87
+ * @since 0.0.9.9r2
88
+ * @return string
89
+ */
90
+ protected function _getWsdl() {
91
+ return Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Notification.wsdl';
92
+ }
93
+
94
+ protected function _expireAjax() {
95
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
96
+ $this->getResponse()->setHeader('HTTP/1.1', '403 Session Expired');
97
+ exit;
98
+ }
99
+ }
100
+
101
+ public function redirectAction() {
102
+ try {
103
+ $session = $this->_getCheckout();
104
+ $order = $this->_getOrder();
105
+ $session->setAdyenQuoteId($session->getQuoteId());
106
+ $session->setAdyenRealOrderId($session->getLastRealOrderId());
107
+ $order->loadByIncrementId($session->getLastRealOrderId());
108
+
109
+ //redirect only if this order is never recorded
110
+ $hasEvent = Mage::getResourceModel('adyen/adyen_event')
111
+ ->getLatestStatus($session->getLastRealOrderId());
112
+ if (!empty($hasEvent) || !$order->getId()) {
113
+ $this->_redirect('/');
114
+ return $this;
115
+ }
116
+
117
+ //redirect to adyen
118
+ if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
119
+ (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_NEW) === 0)) {
120
+ $_status = $this->_getConfigData('order_status');
121
+ // FIXME this status won't be added because order is not saved $order->save() missing
122
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('Customer was redirected to Adyen.'), $_status);
123
+ $this->getResponse()->setBody(
124
+ $this->getLayout()
125
+ ->createBlock($this->_redirectBlockType)
126
+ ->setOrder($order)
127
+ ->toHtml()
128
+ );
129
+ $session->unsQuoteId();
130
+ }
131
+ //continue shopping
132
+ else {
133
+ $this->_redirect('/');
134
+ return $this;
135
+ }
136
+ } catch (Exception $e) {
137
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
138
+ $this->cancel();
139
+ }
140
+ }
141
+
142
+ public function validate3dAction() {
143
+ try {
144
+ // get current order
145
+ $session = $this->_getCheckout();
146
+ $order = $this->_getOrder();
147
+ $session->setAdyenQuoteId($session->getQuoteId());
148
+ $session->setAdyenRealOrderId($session->getLastRealOrderId());
149
+ $order->loadByIncrementId($session->getLastRealOrderId());
150
+ $adyenStatus = $order->getAdyenEventCode();
151
+
152
+ // get payment details
153
+ $payment = $order->getPayment();
154
+ $paRequest = $payment->getAdditionalInformation('paRequest');
155
+ $md = $payment->getAdditionalInformation('md');
156
+ $issuerUrl = $payment->getAdditionalInformation('issuerUrl');
157
+
158
+ $infoAvailable = $payment && !empty($paRequest) && !empty($md) && !empty($issuerUrl);
159
+
160
+ // check adyen status and check if all information is available
161
+ if (!empty($adyenStatus) && $adyenStatus == 'RedirectShopper' && $infoAvailable) {
162
+
163
+ $request = $this->getRequest();
164
+ $requestMD = $request->getPost('MD');
165
+ $requestPaRes = $request->getPost('PaRes');
166
+
167
+ // authorise the payment if the user is back from the external URL
168
+ if ($request->isPost() && !empty($requestMD) && !empty($requestPaRes)) {
169
+ if ($requestMD == $md) {
170
+ $payment->setAdditionalInformation('paResponse', $requestPaRes);
171
+ // send autorise3d request, catch exception in case of 'Refused'
172
+ try {
173
+ $result = $payment->getMethodInstance()->authorise3d($payment, $order->getGrandTotal());
174
+ } catch (Exception $e) {
175
+ $result = 'Refused';
176
+ $order->setAdyenEventCode($result)->save();
177
+ }
178
+
179
+ // check if authorise3d was successful
180
+ if ($result == 'Authorised') {
181
+ $order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true,
182
+ Mage::helper('adyen')->__('3D-secure validation was successful.'))->save();
183
+ $this->_redirect('checkout/onepage/success');
184
+ }
185
+ else {
186
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('3D-secure validation was unsuccessful.'))->save();
187
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
188
+ $this->cancel();
189
+ }
190
+ }
191
+ else {
192
+ $this->_redirect('/');
193
+ return $this;
194
+ }
195
+
196
+ }
197
+
198
+ // otherwise, redirect to the external URL
199
+ else {
200
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true,
201
+ Mage::helper('adyen')->__('Customer was redirected to bank for 3D-secure validation.'))->save();
202
+ $this->getResponse()->setBody(
203
+ $this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
204
+ );
205
+ }
206
+
207
+ }
208
+ else {
209
+ $this->_redirect('/');
210
+ return $this;
211
+ }
212
+ } catch (Exception $e) {
213
+ $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
214
+ $this->cancel();
215
+ }
216
+ }
217
+
218
+ /**
219
+ * Adyen returns POST variables to this action
220
+ */
221
+ public function successAction() {
222
+ $status = $this->processResponse();
223
+ $session = $this->_getCheckout();
224
+ $session->unsAdyenRealOrderId();
225
+ $session->setQuoteId($session->getAdyenQuoteId(true));
226
+ $session->getQuote()->setIsActive(false)->save();
227
+ if ($status) {
228
+ $this->_redirect('checkout/onepage/success');
229
+ } else {
230
+ $this->cancel();
231
+ }
232
+ }
233
+
234
+ /**
235
+ * @desc reloads the items in the cart && cancel the order
236
+ * @since v009
237
+ */
238
+ public function cancel() {
239
+ $cart = Mage::getSingleton('checkout/cart');
240
+ $session = $this->_getCheckout();
241
+ $order = Mage::getModel('sales/order');
242
+ $incrementId = $session->getLastRealOrderId();
243
+ $session->getQuote()->setIsActive(false)->save();
244
+ $session->clear();
245
+ if (empty($incrementId)) {
246
+ $session->addError($this->__('Your payment failed, Please try again later'));
247
+ $this->_redirect('checkout/cart');
248
+ return;
249
+ }
250
+
251
+ $order->loadByIncrementId($incrementId);
252
+
253
+ //handle the old order here
254
+ try {
255
+ $order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
256
+ $order->cancel()->save();
257
+ } catch (Mage_Core_Exception $e) {
258
+ Mage::logException($e);
259
+ }
260
+ $items = $order->getItemsCollection();
261
+ foreach ($items as $item) {
262
+ try {
263
+ $cart->addOrderItem($item);
264
+ } catch (Mage_Core_Exception $e) {
265
+ $session->addError($this->__($e->getMessage()));
266
+ Mage::logException($e);
267
+ continue;
268
+ }
269
+ }
270
+ $cart->save();
271
+ $session->addError($this->__('Your payment failed. Please try again later'));
272
+ $this->_redirect('checkout/cart');
273
+ }
274
+
275
+ public function insAction() {
276
+ try {
277
+
278
+ $status = $this->processResponse();
279
+
280
+ if($status == "401"){
281
+ $this->_return401();
282
+ } else {
283
+ echo "[accepted]";
284
+ }
285
+ } catch (Exception $e) {
286
+ Mage::logException($e);
287
+ }
288
+
289
+ exit();
290
+ }
291
+
292
+ public function cashAction() {
293
+
294
+ $status = $this->processCashResponse();
295
+
296
+ $session = $this->_getCheckout();
297
+ $session->unsAdyenRealOrderId();
298
+ $session->setQuoteId($session->getAdyenQuoteId(true));
299
+ $session->getQuote()->setIsActive(false)->save();
300
+ if ($status) {
301
+ $this->_redirect('checkout/onepage/success');
302
+ } else {
303
+ $this->cancel();
304
+ }
305
+ }
306
+
307
+ /* START actions for POS */
308
+ public function successPosAction() {
309
+
310
+ echo $this->processPosResponse();
311
+ return $this;
312
+ }
313
+
314
+ public function getOrderStatusAction()
315
+ {
316
+ if($_POST['merchantReference'] != "") {
317
+ // get the order
318
+ $order = Mage::getModel('sales/order')->loadByIncrementId($_POST['merchantReference']);
319
+ // if order is not cancelled then order is success
320
+ if($order->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING || $order->getAdyenEventCode() == Adyen_Payment_Model_Event::ADYEN_EVENT_POSAPPROVED) {
321
+ echo 'true';
322
+ }
323
+ }
324
+ return;
325
+ }
326
+
327
+ public function cancelAction()
328
+ {
329
+ $this->cancel();
330
+ }
331
+
332
+
333
+ public function processPosResponse() {
334
+ return Mage::getModel('adyen/process')->processPosResponse();
335
+ }
336
+ /* END actions for POS */
337
+
338
+ public function processCashResponse() {
339
+ return Mage::getModel('adyen/process')->processCashResponse();
340
+ }
341
+
342
+ protected function _return401(){
343
+ header('HTTP/1.1 401 Unauthorized',true,401);
344
+ }
345
+
346
+ /**
347
+ * @since v008
348
+ * @desc Update order status accordingly
349
+ * @throws Exception
350
+ */
351
+ public function processResponse($soapItem = null) {
352
+ return Mage::getModel('adyen/process')->processResponse($soapItem);
353
+ }
354
+
355
+ protected function _getCheckout() {
356
+ return Mage::getSingleton('checkout/session');
357
+ }
358
+
359
+ protected function _getOrder() {
360
+ return Mage::getModel('sales/order');
361
+ }
362
+
363
+ /**
364
+ * @desc Give Default settings
365
+ * @example $this->_getConfigData('demoMode','adyen_abstract')
366
+ * @since 0.0.2
367
+ * @param string $code
368
+ */
369
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
370
+ return Mage::getModel('adyen/process')->getConfigData($code, $paymentMethodCode, $storeId);
371
+ }
372
+ }
app/code/community/Adyen/Payment/etc/config.xml CHANGED
@@ -1,366 +1,366 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- -->
29
- <config>
30
- <modules>
31
- <Adyen_Payment>
32
- <version>2.0.0</version>
33
- </Adyen_Payment>
34
- </modules>
35
- <global>
36
- <models>
37
- <adyen>
38
- <class>Adyen_Payment_Model</class>
39
- <resourceModel>adyen_mysql4</resourceModel>
40
- </adyen>
41
- <adyen_mysql4>
42
- <class>Adyen_Payment_Model_Mysql4</class>
43
- <entities>
44
- <api_debug>
45
- <table>adyen_api_debug</table>
46
- </api_debug>
47
- <event>
48
- <table>adyen_event_data</table>
49
- </event>
50
- </entities>
51
- </adyen_mysql4>
52
- </models>
53
- <helpers>
54
- <adyen>
55
- <class>Adyen_Payment_Helper</class>
56
- </adyen>
57
- </helpers>
58
- <resources>
59
- <adyen_setup>
60
- <setup>
61
- <module>Adyen_Payment</module>
62
- <class>Adyen_Payment_Model_Mysql4_Setup</class>
63
- </setup>
64
- <connection>
65
- <use>core_setup</use>
66
- </connection>
67
- </adyen_setup>
68
- <adyen_write>
69
- <connection>
70
- <use>core_write</use>
71
- </connection>
72
- </adyen_write>
73
- <adyen_read>
74
- <connection>
75
- <use>core_read</use>
76
- </connection>
77
- </adyen_read>
78
- </resources>
79
- <blocks>
80
- <adyen>
81
- <class>Adyen_Payment_Block</class>
82
- </adyen>
83
- </blocks>
84
- <payment>
85
- <groups>
86
- <adyen>Adyen</adyen>
87
- </groups>
88
- </payment>
89
- </global>
90
-
91
- <frontend>
92
- <secure_url>
93
- <adyen_process>/adyen/process</adyen_process>
94
- </secure_url>
95
- <routers>
96
- <adyen>
97
- <use>standard</use>
98
- <args>
99
- <module>Adyen_Payment</module>
100
- <frontName>adyen</frontName>
101
- </args>
102
- </adyen>
103
- </routers>
104
- <translate>
105
- <modules>
106
- <Adyen_Payment>
107
- <files>
108
- <default>Adyen_Payment.csv</default>
109
- </files>
110
- </Adyen_Payment>
111
- </modules>
112
- </translate>
113
- <layout>
114
- <updates>
115
- <adyen>
116
- <file>adyen.xml</file>
117
- </adyen>
118
- </updates>
119
- </layout>
120
- </frontend>
121
-
122
- <adminhtml>
123
- <layout>
124
- <updates>
125
- <adyen>
126
- <file>adyen.xml</file>
127
- </adyen>
128
- </updates>
129
- </layout>
130
- <translate>
131
- <modules>
132
- <Adyen_Payment>
133
- <files>
134
- <default>Adyen_Payment.csv</default>
135
- </files>
136
- </Adyen_Payment>
137
- </modules>
138
- </translate>
139
- <events>
140
- <sales_order_invoice_pay>
141
- <observers>
142
- <adyen_manual_online_capture>
143
- <class>adyen/observer</class>
144
- <method>capture</method>
145
- </adyen_manual_online_capture>
146
- </observers>
147
- </sales_order_invoice_pay>
148
- <sales_order_creditmemo_refund>
149
- <observers>
150
- <adyen_online_refund>
151
- <class>adyen/observer</class>
152
- <method>refund</method>
153
- </adyen_online_refund>
154
- </observers>
155
- </sales_order_creditmemo_refund>
156
- </events>
157
- </adminhtml>
158
- <default>
159
- <payment>
160
- <adyen_abstract>
161
- <active>0</active>
162
- <model>adyen/adyen_dummy</model>
163
- <currency>EUR</currency>
164
- <secret_wordt></secret_wordt>
165
- <secret_wordp></secret_wordp>
166
- <delivery_days>14</delivery_days>
167
- <ws_username_test></ws_username_test>
168
- <ws_password_test></ws_password_test>
169
- <ws_username_live></ws_username_live>
170
- <ws_password_live></ws_password_live>
171
- <demoMode>N</demoMode>
172
- <order_status>processing</order_status>
173
- <payment_pending>pending</payment_pending>
174
- <payment_authorized>processing</payment_authorized>
175
- <capture_mode>auto</capture_mode>
176
- <recurringtypes>ONECLICK</recurringtypes>
177
- </adyen_abstract>
178
- <adyen_hpp>
179
- <customer_id backend_model="adminhtml/system_config_backend_encrypted"/>
180
- <currency>EUR</currency>
181
- <model>adyen/adyen_hpp</model>
182
- <title>Adyen HPP</title>
183
- <secret_wordt></secret_wordt>
184
- <secret_wordp></secret_wordp>
185
- <delivery_days>14</delivery_days>
186
- <ws_username_test></ws_username_test>
187
- <ws_password_test></ws_password_test>
188
- <ws_username_live></ws_username_live>
189
- <ws_password_live></ws_password_live>
190
- <order_status>processing</order_status>
191
- <payment_pending>pending</payment_pending>
192
- <payment_authorized>processing</payment_authorized>
193
- <allowspecific>0</allowspecific>
194
- <disable_hpptypes>0</disable_hpptypes>
195
- </adyen_hpp>
196
- <adyen_pos>
197
- <active>0</active>
198
- <model>adyen/adyen_pos</model>
199
- <title>Adyen POS</title>
200
- <recurringtypes>ONECLICK</recurringtypes>
201
- <comment>sdf</comment>
202
- <allowspecific>0</allowspecific>
203
- </adyen_pos>
204
- <adyen_openinvoice translate="title" module="adyen">
205
- <active>0</active>
206
- <model>adyen/adyen_openinvoice</model>
207
- <group>adyen</group>
208
- <order_status>pending</order_status>
209
- <title>Adyen Open Invoice</title>
210
- <openinvoicetypes>openinvoice</openinvoicetypes>
211
- </adyen_openinvoice>
212
- <adyen_cc translate="title" module="adyen">
213
- <active>0</active>
214
- <model>adyen/adyen_cc</model>
215
- <group>adyen</group>
216
- <order_status>processing</order_status>
217
- <title>Adyen Credit Card</title>
218
- <debug>0</debug>
219
- <enable_installments>0</enable_installments>
220
- <cse_enabled>0</cse_enabled>
221
- <cse_public_key></cse_public_key>
222
- <account_id>99999</account_id>
223
- <trxuser_id>99999</trxuser_id>
224
- <trxuser_password>0</trxuser_password>
225
- <adminaction_password>5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminaction_password>
226
- <wsdl>https://pal-test.adyen.com/pal/Payment.wsdl</wsdl>
227
- </adyen_cc>
228
- <adyen_elv translate="title" module="adyen">
229
- <active>0</active>
230
- <model>adyen/adyen_elv</model>
231
- <group>adyen</group>
232
- <order_status>processing</order_status>
233
- <title>Adyen ELV</title>
234
- </adyen_elv>
235
- <adyen_boleto translate="title" module="adyen">
236
- <active>0</active>
237
- <model>adyen/adyen_boleto</model>
238
- <group>adyen</group>
239
- <order_status>processing</order_status>
240
- <title>Adyen Boleto</title>
241
- <delivery_days>5</delivery_days>
242
- </adyen_boleto>
243
- </payment>
244
- <adyen>
245
- <payment>
246
- <cctypes>
247
- <AE>
248
- <code>AE</code>
249
- <name>American Express</name>
250
- <order>0</order>
251
- <is_cvv_required>1</is_cvv_required>
252
- </AE>
253
- <VI>
254
- <code>VI</code>
255
- <name>Visa</name>
256
- <order>10</order>
257
- <is_cvv_required>1</is_cvv_required>
258
- </VI>
259
- <MC>
260
- <code>MC</code>
261
- <name>Master Card</name>
262
- <order>20</order>
263
- <is_cvv_required>1</is_cvv_required>
264
- </MC>
265
- <DI>
266
- <code>DI</code>
267
- <name>Discover</name>
268
- <order>30</order>
269
- <is_cvv_required>1</is_cvv_required>
270
- </DI>
271
- <DC>
272
- <code>DC</code>
273
- <name>Diners Club</name>
274
- <order>40</order>
275
- <is_cvv_required>1</is_cvv_required>
276
- </DC>
277
- <SS>
278
- <code>SS</code>
279
- <name>Switch/Solo</name>
280
- <order>50</order>
281
- <is_cvv_required>1</is_cvv_required>
282
- </SS>
283
- <MO>
284
- <code>MO</code>
285
- <name>Maestro</name>
286
- <order>60</order>
287
- <is_cvv_required>0</is_cvv_required>
288
- </MO>
289
- <JC>
290
- <code>JC</code>
291
- <name>JCB</name>
292
- <order>70</order>
293
- <is_cvv_required>0</is_cvv_required>
294
- </JC>
295
- <CB>
296
- <code>CB</code>
297
- <name>CarteBleue</name>
298
- <order>80</order>
299
- <is_cvv_required>0</is_cvv_required>
300
- </CB>
301
- </cctypes>
302
- <boletotypes>
303
- <boletobancario_hsbc>
304
- <code>boletobancario_hsbc</code>
305
- <name>boletobancario_hsbc</name>
306
- <order>0</order>
307
- </boletobancario_hsbc>
308
- <boletobancario_itau>
309
- <code>boletobancario_itau</code>
310
- <name>boletobancario_itau</name>
311
- <order>0</order>
312
- </boletobancario_itau>
313
- <boletobancario_santander>
314
- <code>boletobancario_santander</code>
315
- <name>boletobancario_santander</name>
316
- <order>0</order>
317
- </boletobancario_santander>
318
- <boletobancario_bradesco>
319
- <code>boletobancario_bradesco</code>
320
- <name>boletobancario_bradesco</name>
321
- <order>0</order>
322
- </boletobancario_bradesco>
323
- <boletobancario_bancodobrasil>
324
- <code>boletobancario_bancodobrasil</code>
325
- <name>boletobancario_bancodobrasil</name>
326
- <order>0</order>
327
- </boletobancario_bancodobrasil>
328
- </boletotypes>
329
- <openinvoicetypes>
330
- <afterpay>
331
- <code>openinvoice</code>
332
- <name>AfterPay</name>
333
- <order>10</order>
334
- </afterpay>
335
- <klarna>
336
- <code>klarna</code>
337
- <name>Klarna</name>
338
- <order>20</order>
339
- </klarna>
340
- </openinvoicetypes>
341
- <recurringtypes>
342
- <none>
343
- <code></code>
344
- <name>NONE</name>
345
- <order>10</order>
346
- </none>
347
- <oneclick>
348
- <code>ONECLICK</code>
349
- <name>ONECLICK</name>
350
- <order>20</order>
351
- </oneclick>
352
- <recurring>
353
- <code>RECURRING</code>
354
- <name>RECURRING</name>
355
- <order>30</order>
356
- </recurring>
357
- <oneclickrecurring>
358
- <code>ONECLICK,RECURRING</code>
359
- <name>ONECLICK,RECURRING</name>
360
- <order>40</order>
361
- </oneclickrecurring>
362
- </recurringtypes>
363
- </payment>
364
- </adyen>
365
- </default>
366
- </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <config>
30
+ <modules>
31
+ <Adyen_Payment>
32
+ <version>2.0.2</version>
33
+ </Adyen_Payment>
34
+ </modules>
35
+ <global>
36
+ <models>
37
+ <adyen>
38
+ <class>Adyen_Payment_Model</class>
39
+ <resourceModel>adyen_mysql4</resourceModel>
40
+ </adyen>
41
+ <adyen_mysql4>
42
+ <class>Adyen_Payment_Model_Mysql4</class>
43
+ <entities>
44
+ <api_debug>
45
+ <table>adyen_api_debug</table>
46
+ </api_debug>
47
+ <event>
48
+ <table>adyen_event_data</table>
49
+ </event>
50
+ </entities>
51
+ </adyen_mysql4>
52
+ </models>
53
+ <helpers>
54
+ <adyen>
55
+ <class>Adyen_Payment_Helper</class>
56
+ </adyen>
57
+ </helpers>
58
+ <resources>
59
+ <adyen_setup>
60
+ <setup>
61
+ <module>Adyen_Payment</module>
62
+ <class>Adyen_Payment_Model_Mysql4_Setup</class>
63
+ </setup>
64
+ <connection>
65
+ <use>core_setup</use>
66
+ </connection>
67
+ </adyen_setup>
68
+ <adyen_write>
69
+ <connection>
70
+ <use>core_write</use>
71
+ </connection>
72
+ </adyen_write>
73
+ <adyen_read>
74
+ <connection>
75
+ <use>core_read</use>
76
+ </connection>
77
+ </adyen_read>
78
+ </resources>
79
+ <blocks>
80
+ <adyen>
81
+ <class>Adyen_Payment_Block</class>
82
+ </adyen>
83
+ </blocks>
84
+ <payment>
85
+ <groups>
86
+ <adyen>Adyen</adyen>
87
+ </groups>
88
+ </payment>
89
+ </global>
90
+
91
+ <frontend>
92
+ <secure_url>
93
+ <adyen_process>/adyen/process</adyen_process>
94
+ </secure_url>
95
+ <routers>
96
+ <adyen>
97
+ <use>standard</use>
98
+ <args>
99
+ <module>Adyen_Payment</module>
100
+ <frontName>adyen</frontName>
101
+ </args>
102
+ </adyen>
103
+ </routers>
104
+ <translate>
105
+ <modules>
106
+ <Adyen_Payment>
107
+ <files>
108
+ <default>Adyen_Payment.csv</default>
109
+ </files>
110
+ </Adyen_Payment>
111
+ </modules>
112
+ </translate>
113
+ <layout>
114
+ <updates>
115
+ <adyen>
116
+ <file>adyen.xml</file>
117
+ </adyen>
118
+ </updates>
119
+ </layout>
120
+ </frontend>
121
+
122
+ <adminhtml>
123
+ <layout>
124
+ <updates>
125
+ <adyen>
126
+ <file>adyen.xml</file>
127
+ </adyen>
128
+ </updates>
129
+ </layout>
130
+ <translate>
131
+ <modules>
132
+ <Adyen_Payment>
133
+ <files>
134
+ <default>Adyen_Payment.csv</default>
135
+ </files>
136
+ </Adyen_Payment>
137
+ </modules>
138
+ </translate>
139
+ <events>
140
+ <sales_order_invoice_pay>
141
+ <observers>
142
+ <adyen_manual_online_capture>
143
+ <class>adyen/observer</class>
144
+ <method>capture</method>
145
+ </adyen_manual_online_capture>
146
+ </observers>
147
+ </sales_order_invoice_pay>
148
+ <sales_order_creditmemo_refund>
149
+ <observers>
150
+ <adyen_online_refund>
151
+ <class>adyen/observer</class>
152
+ <method>refund</method>
153
+ </adyen_online_refund>
154
+ </observers>
155
+ </sales_order_creditmemo_refund>
156
+ </events>
157
+ </adminhtml>
158
+ <default>
159
+ <payment>
160
+ <adyen_abstract>
161
+ <active>0</active>
162
+ <model>adyen/adyen_dummy</model>
163
+ <currency>EUR</currency>
164
+ <secret_wordt></secret_wordt>
165
+ <secret_wordp></secret_wordp>
166
+ <delivery_days>14</delivery_days>
167
+ <ws_username_test></ws_username_test>
168
+ <ws_password_test></ws_password_test>
169
+ <ws_username_live></ws_username_live>
170
+ <ws_password_live></ws_password_live>
171
+ <demoMode>N</demoMode>
172
+ <order_status>processing</order_status>
173
+ <payment_pending>pending</payment_pending>
174
+ <payment_authorized>processing</payment_authorized>
175
+ <capture_mode>auto</capture_mode>
176
+ <recurringtypes>ONECLICK</recurringtypes>
177
+ </adyen_abstract>
178
+ <adyen_hpp>
179
+ <customer_id backend_model="adminhtml/system_config_backend_encrypted"/>
180
+ <currency>EUR</currency>
181
+ <model>adyen/adyen_hpp</model>
182
+ <title>Adyen HPP</title>
183
+ <secret_wordt></secret_wordt>
184
+ <secret_wordp></secret_wordp>
185
+ <delivery_days>14</delivery_days>
186
+ <ws_username_test></ws_username_test>
187
+ <ws_password_test></ws_password_test>
188
+ <ws_username_live></ws_username_live>
189
+ <ws_password_live></ws_password_live>
190
+ <order_status>processing</order_status>
191
+ <payment_pending>pending</payment_pending>
192
+ <payment_authorized>processing</payment_authorized>
193
+ <allowspecific>0</allowspecific>
194
+ <disable_hpptypes>0</disable_hpptypes>
195
+ </adyen_hpp>
196
+ <adyen_pos>
197
+ <active>0</active>
198
+ <model>adyen/adyen_pos</model>
199
+ <title>Adyen POS</title>
200
+ <recurringtypes>ONECLICK</recurringtypes>
201
+ <comment>sdf</comment>
202
+ <allowspecific>0</allowspecific>
203
+ </adyen_pos>
204
+ <adyen_openinvoice translate="title" module="adyen">
205
+ <active>0</active>
206
+ <model>adyen/adyen_openinvoice</model>
207
+ <group>adyen</group>
208
+ <order_status>pending</order_status>
209
+ <title>Adyen Open Invoice</title>
210
+ <openinvoicetypes>openinvoice</openinvoicetypes>
211
+ </adyen_openinvoice>
212
+ <adyen_cc translate="title" module="adyen">
213
+ <active>0</active>
214
+ <model>adyen/adyen_cc</model>
215
+ <group>adyen</group>
216
+ <order_status>processing</order_status>
217
+ <title>Adyen Credit Card</title>
218
+ <debug>0</debug>
219
+ <enable_installments>0</enable_installments>
220
+ <cse_enabled>0</cse_enabled>
221
+ <cse_public_key></cse_public_key>
222
+ <account_id>99999</account_id>
223
+ <trxuser_id>99999</trxuser_id>
224
+ <trxuser_password>0</trxuser_password>
225
+ <adminaction_password>5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminaction_password>
226
+ <wsdl>https://pal-test.adyen.com/pal/Payment.wsdl</wsdl>
227
+ </adyen_cc>
228
+ <adyen_elv translate="title" module="adyen">
229
+ <active>0</active>
230
+ <model>adyen/adyen_elv</model>
231
+ <group>adyen</group>
232
+ <order_status>processing</order_status>
233
+ <title>Adyen ELV</title>
234
+ </adyen_elv>
235
+ <adyen_boleto translate="title" module="adyen">
236
+ <active>0</active>
237
+ <model>adyen/adyen_boleto</model>
238
+ <group>adyen</group>
239
+ <order_status>processing</order_status>
240
+ <title>Adyen Boleto</title>
241
+ <delivery_days>5</delivery_days>
242
+ </adyen_boleto>
243
+ </payment>
244
+ <adyen>
245
+ <payment>
246
+ <cctypes>
247
+ <AE>
248
+ <code>AE</code>
249
+ <name>American Express</name>
250
+ <order>0</order>
251
+ <is_cvv_required>1</is_cvv_required>
252
+ </AE>
253
+ <VI>
254
+ <code>VI</code>
255
+ <name>Visa</name>
256
+ <order>10</order>
257
+ <is_cvv_required>1</is_cvv_required>
258
+ </VI>
259
+ <MC>
260
+ <code>MC</code>
261
+ <name>Master Card</name>
262
+ <order>20</order>
263
+ <is_cvv_required>1</is_cvv_required>
264
+ </MC>
265
+ <DI>
266
+ <code>DI</code>
267
+ <name>Discover</name>
268
+ <order>30</order>
269
+ <is_cvv_required>1</is_cvv_required>
270
+ </DI>
271
+ <DC>
272
+ <code>DC</code>
273
+ <name>Diners Club</name>
274
+ <order>40</order>
275
+ <is_cvv_required>1</is_cvv_required>
276
+ </DC>
277
+ <SS>
278
+ <code>SS</code>
279
+ <name>Switch/Solo</name>
280
+ <order>50</order>
281
+ <is_cvv_required>1</is_cvv_required>
282
+ </SS>
283
+ <MO>
284
+ <code>MO</code>
285
+ <name>Maestro</name>
286
+ <order>60</order>
287
+ <is_cvv_required>0</is_cvv_required>
288
+ </MO>
289
+ <JC>
290
+ <code>JC</code>
291
+ <name>JCB</name>
292
+ <order>70</order>
293
+ <is_cvv_required>0</is_cvv_required>
294
+ </JC>
295
+ <CB>
296
+ <code>CB</code>
297
+ <name>CarteBleue</name>
298
+ <order>80</order>
299
+ <is_cvv_required>0</is_cvv_required>
300
+ </CB>
301
+ </cctypes>
302
+ <boletotypes>
303
+ <boletobancario_hsbc>
304
+ <code>boletobancario_hsbc</code>
305
+ <name>boletobancario_hsbc</name>
306
+ <order>0</order>
307
+ </boletobancario_hsbc>
308
+ <boletobancario_itau>
309
+ <code>boletobancario_itau</code>
310
+ <name>boletobancario_itau</name>
311
+ <order>0</order>
312
+ </boletobancario_itau>
313
+ <boletobancario_santander>
314
+ <code>boletobancario_santander</code>
315
+ <name>boletobancario_santander</name>
316
+ <order>0</order>
317
+ </boletobancario_santander>
318
+ <boletobancario_bradesco>
319
+ <code>boletobancario_bradesco</code>
320
+ <name>boletobancario_bradesco</name>
321
+ <order>0</order>
322
+ </boletobancario_bradesco>
323
+ <boletobancario_bancodobrasil>
324
+ <code>boletobancario_bancodobrasil</code>
325
+ <name>boletobancario_bancodobrasil</name>
326
+ <order>0</order>
327
+ </boletobancario_bancodobrasil>
328
+ </boletotypes>
329
+ <openinvoicetypes>
330
+ <afterpay>
331
+ <code>openinvoice</code>
332
+ <name>AfterPay</name>
333
+ <order>10</order>
334
+ </afterpay>
335
+ <klarna>
336
+ <code>klarna</code>
337
+ <name>Klarna</name>
338
+ <order>20</order>
339
+ </klarna>
340
+ </openinvoicetypes>
341
+ <recurringtypes>
342
+ <none>
343
+ <code></code>
344
+ <name>NONE</name>
345
+ <order>10</order>
346
+ </none>
347
+ <oneclick>
348
+ <code>ONECLICK</code>
349
+ <name>ONECLICK</name>
350
+ <order>20</order>
351
+ </oneclick>
352
+ <recurring>
353
+ <code>RECURRING</code>
354
+ <name>RECURRING</name>
355
+ <order>30</order>
356
+ </recurring>
357
+ <oneclickrecurring>
358
+ <code>ONECLICK,RECURRING</code>
359
+ <name>ONECLICK,RECURRING</name>
360
+ <order>40</order>
361
+ </oneclickrecurring>
362
+ </recurringtypes>
363
+ </payment>
364
+ </adyen>
365
+ </default>
366
+ </config>
app/code/community/Adyen/Payment/etc/system.xml CHANGED
@@ -1,580 +1,580 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- -->
29
- <config>
30
- <sections>
31
- <payment>
32
- <groups>
33
- <!-- @default -->
34
- <adyen_abstract translate="label" module="adyen">
35
- <label>Adyen Default Settings</label>
36
- <frontend_type>text</frontend_type>
37
- <sort_order>300</sort_order>
38
- <show_in_default>1</show_in_default>
39
- <show_in_website>1</show_in_website>
40
- <show_in_store>1</show_in_store>
41
- <fields>
42
- <merchantAccount translate="label">
43
- <label>Merchant Account</label>
44
- <comment>You can find this in the Adyen backoffice.</comment>
45
- <frontend_type>text</frontend_type>
46
- <sort_order>10</sort_order>
47
- <show_in_default>1</show_in_default>
48
- <show_in_website>1</show_in_website>
49
- <show_in_store>1</show_in_store>
50
- </merchantAccount>
51
- <demoMode translate="label">
52
- <label>Test/Production Mode</label>
53
- <frontend_type>select</frontend_type>
54
- <source_model>adyen/source_DemoModes</source_model>
55
- <sort_order>20</sort_order>
56
- <show_in_default>1</show_in_default>
57
- <show_in_website>1</show_in_website>
58
- <show_in_store>1</show_in_store>
59
- </demoMode>
60
- <order_status translate="label">
61
- <label>New order status</label>
62
- <comment>Select only status assigned to state new</comment>
63
- <frontend_type>select</frontend_type>
64
- <source_model>adminhtml/system_config_source_order_status_new</source_model>
65
- <sort_order>30</sort_order>
66
- <show_in_default>1</show_in_default>
67
- <show_in_website>1</show_in_website>
68
- <show_in_store>0</show_in_store>
69
- </order_status>
70
- <payment_authorized translate="label">
71
- <label>Order status authorised payment</label>
72
- <comment>(optional)Select only status assigned to state processing.Leave empty if you are not sure</comment>
73
- <frontend_type>select</frontend_type>
74
- <source_model>adminhtml/system_config_source_order_status_processing</source_model>
75
- <sort_order>40</sort_order>
76
- <show_in_default>1</show_in_default>
77
- <show_in_website>1</show_in_website>
78
- <show_in_store>0</show_in_store>
79
- </payment_authorized>
80
- <payment_pre_authorized>
81
- <label>Order status pre-authorised payment</label>
82
- <comment>(optional)Only affecting manual work flow.Leave empty if you are not sure</comment>
83
- <frontend_type>select</frontend_type>
84
- <source_model>adminhtml/system_config_source_order_status_newprocessing</source_model>
85
- <sort_order>50</sort_order>
86
- <show_in_default>1</show_in_default>
87
- <show_in_website>1</show_in_website>
88
- <show_in_store>0</show_in_store>
89
- </payment_pre_authorized>
90
- <payment_cancelled translate="label">
91
- <label>Order status cancelled payment</label>
92
- <comment>Action to be attempted incase of failed notifications from Adyen.Notice orders with invoices can not be cancelled, will just get status change.</comment>
93
- <frontend_type>select</frontend_type>
94
- <source_model>adyen/source_cancelModes</source_model>
95
- <sort_order>60</sort_order>
96
- <show_in_default>1</show_in_default>
97
- <show_in_website>1</show_in_website>
98
- <show_in_store>0</show_in_store>
99
- </payment_cancelled>
100
- <refund_authorized translate="label">
101
- <label>Refund authorise (refund success)</label>
102
- <comment>(optional) leave empty if you are not sure</comment>
103
- <frontend_type>select</frontend_type>
104
- <source_model>adyen/source_status_refund</source_model>
105
- <sort_order>70</sort_order>
106
- <show_in_default>1</show_in_default>
107
- <show_in_website>1</show_in_website>
108
- <show_in_store>0</show_in_store>
109
- </refund_authorized>
110
- <notification_username translate="label">
111
- <label>Notification Username</label>
112
- <comment>Should match your "notifications settings" in your Adyen account.</comment>
113
- <frontend_type>text</frontend_type>
114
- <sort_order>75</sort_order>
115
- <show_in_default>1</show_in_default>
116
- <show_in_website>1</show_in_website>
117
- <show_in_store>0</show_in_store>
118
- </notification_username>
119
- <notification_password translate="label">
120
- <label>Notification Password</label>
121
- <comment>Should match your "notifications settings" in your Adyen account.</comment>
122
- <frontend_type>text</frontend_type>
123
- <sort_order>76</sort_order>
124
- <show_in_default>1</show_in_default>
125
- <show_in_website>1</show_in_website>
126
- <show_in_store>0</show_in_store>
127
- </notification_password>
128
- <capture_mode translate="label">
129
- <label>Capture Mode</label>
130
- <frontend_type>select</frontend_type>
131
- <comment>If you are using "The manual capture in Adyen" set this to manual and you will get a chance to capture it by creating the invoice and select "capture online".If not sure select auto.Notice:Ideal and Cash are always Auto Capture!</comment>
132
- <source_model>adyen/source_captureModes</source_model>
133
- <sort_order>77</sort_order>
134
- <show_in_default>1</show_in_default>
135
- <show_in_website>1</show_in_website>
136
- <show_in_store>0</show_in_store>
137
- </capture_mode>
138
- <recurringtypes translate="label">
139
- <label>Recurring Type</label>
140
- <frontend_type>select</frontend_type>
141
- <source_model>adyen/source_recurringType</source_model>
142
- <sort_order>78</sort_order>
143
- <show_in_default>1</show_in_default>
144
- <show_in_website>1</show_in_website>
145
- <show_in_store>1</show_in_store>
146
- </recurringtypes>
147
- <ws_username_test translate="label">
148
- <label>Adyen ws username for Test</label>
149
- <comment>Normally this will be ws@Company.YourCompanyCode</comment>
150
- <frontend_type>text</frontend_type>
151
- <sort_order>80</sort_order>
152
- <show_in_default>1</show_in_default>
153
- <show_in_website>1</show_in_website>
154
- <show_in_store>0</show_in_store>
155
- </ws_username_test>
156
- <ws_password_test translate="label">
157
- <label>Adyen ws password for Test</label>
158
- <comment>The password of the ws user for Test</comment>
159
- <frontend_type>text</frontend_type>
160
- <sort_order>90</sort_order>
161
- <show_in_default>1</show_in_default>
162
- <show_in_website>1</show_in_website>
163
- <show_in_store>0</show_in_store>
164
- </ws_password_test>
165
- <ws_username_live translate="label">
166
- <label>Adyen ws username for Live</label>
167
- <comment>Normally this will be ws@Company.YourCompanyCode</comment>
168
- <frontend_type>text</frontend_type>
169
- <sort_order>100</sort_order>
170
- <show_in_default>1</show_in_default>
171
- <show_in_website>1</show_in_website>
172
- <show_in_store>0</show_in_store>
173
- </ws_username_live>
174
- <ws_password_live translate="label">
175
- <label>Adyen ws password for Live</label>
176
- <comment>The password of the ws user for Live</comment>
177
- <frontend_type>text</frontend_type>
178
- <sort_order>110</sort_order>
179
- <show_in_default>1</show_in_default>
180
- <show_in_website>1</show_in_website>
181
- <show_in_store>0</show_in_store>
182
- </ws_password_live>
183
- <shopperlocale translate="label">
184
- <label>Language locale (optional)</label>
185
- <comment>Leave empty to let Magento decide (Ex: nl_NL)</comment>
186
- <frontend_type>text</frontend_type>
187
- <sort_order>180</sort_order>
188
- <show_in_default>1</show_in_default>
189
- <show_in_website>1</show_in_website>
190
- <show_in_store>1</show_in_store>
191
- </shopperlocale>
192
- <countryCode translate="label">
193
- <label>Country Code ISO (optional)</label>
194
- <comment>Leave empty to let Adyen decide on IP-address (Ex: NL)</comment>
195
- <frontend_type>text</frontend_type>
196
- <sort_order>190</sort_order>
197
- <show_in_default>1</show_in_default>
198
- <show_in_website>1</show_in_website>
199
- <show_in_store>1</show_in_store>
200
- </countryCode>
201
- <send_update_mail translate="label">
202
- <label>Mail update</label>
203
- <frontend_type>select</frontend_type>
204
- <comment>Enable/Disable update mails</comment>
205
- <source_model>adminhtml/system_config_source_yesno</source_model>
206
- <sort_order>200</sort_order>
207
- <show_in_default>1</show_in_default>
208
- <show_in_website>1</show_in_website>
209
- <show_in_store>0</show_in_store>
210
- </send_update_mail>
211
- <send_invoice_update_mail translate="label">
212
- <label>Mail update (Invoice Mail)</label>
213
- <frontend_type>select</frontend_type>
214
- <comment>Enable/Disable update mails</comment>
215
- <source_model>adminhtml/system_config_source_yesno</source_model>
216
- <sort_order>210</sort_order>
217
- <show_in_default>1</show_in_default>
218
- <show_in_website>1</show_in_website>
219
- <show_in_store>0</show_in_store>
220
- </send_invoice_update_mail>
221
- </fields>
222
- </adyen_abstract>
223
- <!-- @Hpp only -->
224
- <adyen_hpp translate="label" module="adyen">
225
- <label>Adyen HPP</label>
226
- <frontend_type>text</frontend_type>
227
- <sort_order>301</sort_order>
228
- <show_in_default>1</show_in_default>
229
- <show_in_website>1</show_in_website>
230
- <show_in_store>1</show_in_store>
231
- <fields>
232
- <active translate="label">
233
- <label>Enabled</label>
234
- <frontend_type>select</frontend_type>
235
- <source_model>adminhtml/system_config_source_yesno</source_model>
236
- <sort_order>1</sort_order>
237
- <show_in_default>1</show_in_default>
238
- <show_in_website>1</show_in_website>
239
- <show_in_store>1</show_in_store>
240
- </active>
241
- <title translate="label">
242
- <label>Title</label>
243
- <frontend_type>text</frontend_type>
244
- <sort_order>2</sort_order>
245
- <show_in_default>1</show_in_default>
246
- <show_in_website>1</show_in_website>
247
- <show_in_store>1</show_in_store>
248
- </title>
249
- <skinCode translate="label">
250
- <label>Skin Code</label>
251
- <comment>The skin code you want to use (You can find this in the admin are of your Adyen account)</comment>
252
- <frontend_type>text</frontend_type>
253
- <sort_order>3</sort_order>
254
- <show_in_default>1</show_in_default>
255
- <show_in_website>1</show_in_website>
256
- <show_in_store>1</show_in_store>
257
- </skinCode>
258
- <secret_wordt translate="label">
259
- <label>HMAC Key for Test</label>
260
- <comment>Should match with the HMAC test key in the Adyen backoffice.</comment>
261
- <frontend_type>text</frontend_type>
262
- <sort_order>4</sort_order>
263
- <show_in_default>1</show_in_default>
264
- <show_in_website>1</show_in_website>
265
- <show_in_store>1</show_in_store>
266
- </secret_wordt>
267
- <secret_wordp translate="label">
268
- <label>HMAC Key for Live</label>
269
- <comment>Should match with the HMAC live key in the Adyen backoffice.</comment>
270
- <frontend_type>text</frontend_type>
271
- <sort_order>5</sort_order>
272
- <show_in_default>1</show_in_default>
273
- <show_in_website>1</show_in_website>
274
- <show_in_store>1</show_in_store>
275
- </secret_wordp>
276
- <payment_routines translate="label">
277
- <label>Payment Flow Selection</label>
278
- <comment>Adyen provide you with 2 types of payment routines. Multi-page and Single Page</comment>
279
- <frontend_type>select</frontend_type>
280
- <source_model>adyen/source_PaymentRoutines</source_model>
281
- <sort_order>6</sort_order>
282
- <show_in_default>1</show_in_default>
283
- <show_in_website>1</show_in_website>
284
- <show_in_store>0</show_in_store>
285
- </payment_routines>
286
- <delivery_days translate="label">
287
- <label>Days for Delivery</label>
288
- <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
289
- <frontend_type>text</frontend_type>
290
- <sort_order>7</sort_order>
291
- <show_in_default>1</show_in_default>
292
- <show_in_website>1</show_in_website>
293
- <show_in_store>0</show_in_store>
294
- </delivery_days>
295
- <disable_hpptypes translate="label">
296
- <label>Leave payment method selection on HPP</label>
297
- <comment>If you say yes here, payment methods in the checkout won't be displayed and you will be redirected to the Adyen HPP to make the selection.</comment>
298
- <frontend_type>select</frontend_type>
299
- <source_model>adminhtml/system_config_source_yesno</source_model>
300
- <sort_order>9</sort_order>
301
- <show_in_default>1</show_in_default>
302
- <show_in_website>0</show_in_website>
303
- <show_in_store>0</show_in_store>
304
- </disable_hpptypes>
305
- <allowspecific translate="label">
306
- <label>Payment to applicable countries</label>
307
- <frontend_type>allowspecific</frontend_type>
308
- <sort_order>12</sort_order>
309
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
310
- <show_in_default>1</show_in_default>
311
- <show_in_website>1</show_in_website>
312
- <show_in_store>1</show_in_store>
313
- </allowspecific>
314
- <specificcountry translate="label">
315
- <label>Payment to Specific countries</label>
316
- <frontend_type>multiselect</frontend_type>
317
- <sort_order>13</sort_order>
318
- <source_model>adminhtml/system_config_source_country</source_model>
319
- <show_in_default>1</show_in_default>
320
- <show_in_website>1</show_in_website>
321
- <show_in_store>1</show_in_store>
322
- <depends><allowspecific>1</allowspecific></depends>
323
- </specificcountry>
324
- </fields>
325
- </adyen_hpp>
326
- <!-- @Pos only -->
327
- <adyen_pos translate="label" module="adyen">
328
- <label>Adyen POS</label>
329
- <frontend_type>text</frontend_type>
330
- <sort_order>302</sort_order>
331
- <show_in_default>1</show_in_default>
332
- <show_in_website>1</show_in_website>
333
- <show_in_store>1</show_in_store>
334
- <fields>
335
- <active translate="label">
336
- <label>Enabled</label>
337
- <frontend_type>select</frontend_type>
338
- <source_model>adminhtml/system_config_source_yesno</source_model>
339
- <sort_order>10</sort_order>
340
- <show_in_default>1</show_in_default>
341
- <show_in_website>1</show_in_website>
342
- <show_in_store>1</show_in_store>
343
- </active>
344
- <title translate="label">
345
- <label>Title</label>
346
- <frontend_type>text</frontend_type>
347
- <sort_order>20</sort_order>
348
- <show_in_default>1</show_in_default>
349
- <show_in_website>1</show_in_website>
350
- <show_in_store>1</show_in_store>
351
- </title>
352
- <recurringtypes translate="label">
353
- <label>Recurring Type</label>
354
- <comment>You can set different value for POS because you have to have the permission of the customer</comment>
355
- <frontend_type>select</frontend_type>
356
- <source_model>adyen/source_recurringType</source_model>
357
- <sort_order>30</sort_order>
358
- <show_in_default>1</show_in_default>
359
- <show_in_website>1</show_in_website>
360
- <show_in_store>1</show_in_store>
361
- </recurringtypes>
362
- <allowspecific translate="label">
363
- <label>Payment to applicable countries</label>
364
- <frontend_type>allowspecific</frontend_type>
365
- <sort_order>40</sort_order>
366
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
367
- <show_in_default>1</show_in_default>
368
- <show_in_website>1</show_in_website>
369
- <show_in_store>1</show_in_store>
370
- </allowspecific>
371
- <specificcountry translate="label">
372
- <label>Payment to Specific countries</label>
373
- <frontend_type>multiselect</frontend_type>
374
- <sort_order>50</sort_order>
375
- <source_model>adminhtml/system_config_source_country</source_model>
376
- <show_in_default>1</show_in_default>
377
- <show_in_website>1</show_in_website>
378
- <show_in_store>1</show_in_store>
379
- <depends><allowspecific>1</allowspecific></depends>
380
- </specificcountry>
381
- </fields>
382
- </adyen_pos>
383
- <!-- @Openinvoice only -->
384
- <adyen_openinvoice translate="label" module="adyen">
385
- <label>Adyen OpenInvoice</label>
386
- <frontend_type>text</frontend_type>
387
- <sort_order>303</sort_order>
388
- <show_in_default>1</show_in_default>
389
- <show_in_website>1</show_in_website>
390
- <show_in_store>1</show_in_store>
391
- <fields>
392
- <active translate="label">
393
- <label>Enabled</label>
394
- <frontend_type>select</frontend_type>
395
- <source_model>adminhtml/system_config_source_yesno</source_model>
396
- <sort_order>1</sort_order>
397
- <show_in_default>1</show_in_default>
398
- <show_in_website>1</show_in_website>
399
- <show_in_store>1</show_in_store>
400
- </active>
401
- <title translate="label">
402
- <label>Title</label>
403
- <frontend_type>text</frontend_type>
404
- <sort_order>2</sort_order>
405
- <show_in_default>1</show_in_default>
406
- <show_in_website>1</show_in_website>
407
- <show_in_store>1</show_in_store>
408
- </title>
409
- <openinvoicetypes translate="label">
410
- <label>OpenInvoice Type</label>
411
- <frontend_type>select</frontend_type>
412
- <source_model>adyen/source_openinvoiceType</source_model>
413
- <sort_order>3</sort_order>
414
- <show_in_default>1</show_in_default>
415
- <show_in_website>1</show_in_website>
416
- <show_in_store>1</show_in_store>
417
- </openinvoicetypes>
418
- <allowspecific translate="label">
419
- <label>Payment to applicable countries</label>
420
- <frontend_type>allowspecific</frontend_type>
421
- <sort_order>4</sort_order>
422
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
423
- <show_in_default>1</show_in_default>
424
- <show_in_website>1</show_in_website>
425
- <show_in_store>1</show_in_store>
426
- </allowspecific>
427
- <specificcountry translate="label">
428
- <label>Payment to Specific countries</label>
429
- <frontend_type>multiselect</frontend_type>
430
- <sort_order>5</sort_order>
431
- <source_model>adminhtml/system_config_source_country</source_model>
432
- <show_in_default>1</show_in_default>
433
- <show_in_website>1</show_in_website>
434
- <show_in_store>1</show_in_store>
435
- <depends><allowspecific>1</allowspecific></depends>
436
- </specificcountry>
437
- </fields>
438
- </adyen_openinvoice>
439
- <!-- @CC only -->
440
- <adyen_cc translate="label" module="adyen">
441
- <label>Adyen CC</label>
442
- <frontend_type>text</frontend_type>
443
- <sort_order>304</sort_order>
444
- <show_in_default>1</show_in_default>
445
- <show_in_website>1</show_in_website>
446
- <show_in_store>1</show_in_store>
447
- <fields>
448
- <active translate="label">
449
- <label>Enabled</label>
450
- <frontend_type>select</frontend_type>
451
- <source_model>adminhtml/system_config_source_yesno</source_model>
452
- <sort_order>1</sort_order>
453
- <show_in_default>1</show_in_default>
454
- <show_in_website>1</show_in_website>
455
- <show_in_store>1</show_in_store>
456
- </active>
457
- <title translate="label">
458
- <label>Title</label>
459
- <frontend_type>text</frontend_type>
460
- <sort_order>2</sort_order>
461
- <show_in_default>1</show_in_default>
462
- <show_in_website>1</show_in_website>
463
- <show_in_store>1</show_in_store>
464
- </title>
465
- <cctypes translate="label">
466
- <label>Credit Card Types</label>
467
- <frontend_type>multiselect</frontend_type>
468
- <source_model>adyen/source_ccType</source_model>
469
- <sort_order>4</sort_order>
470
- <show_in_default>1</show_in_default>
471
- <show_in_website>1</show_in_website>
472
- <show_in_store>1</show_in_store>
473
- </cctypes>
474
- <cse_enabled translate="label">
475
- <label>Enable Client-Side Encryption</label>
476
- <frontend_type>select</frontend_type>
477
- <source_model>adminhtml/system_config_source_yesno</source_model>
478
- <sort_order>6</sort_order>
479
- <show_in_default>1</show_in_default>
480
- <show_in_website>1</show_in_website>
481
- <show_in_store>1</show_in_store>
482
- </cse_enabled>
483
- <cse_publickey translate="label">
484
- <label>Client-Side Encryption Public Key</label>
485
- <frontend_type>textarea</frontend_type>
486
- <sort_order>7</sort_order>
487
- <show_in_default>1</show_in_default>
488
- <show_in_website>1</show_in_website>
489
- <show_in_store>1</show_in_store>
490
- <depends><cse_enabled>1</cse_enabled></depends>
491
- </cse_publickey>
492
- <allowspecific translate="label">
493
- <label>Payment to applicable countries</label>
494
- <frontend_type>allowspecific</frontend_type>
495
- <sort_order>9</sort_order>
496
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
497
- <show_in_default>1</show_in_default>
498
- <show_in_website>1</show_in_website>
499
- <show_in_store>1</show_in_store>
500
- </allowspecific>
501
- <specificcountry translate="label">
502
- <label>Payment to Specific countries</label>
503
- <frontend_type>multiselect</frontend_type>
504
- <sort_order>10</sort_order>
505
- <source_model>adminhtml/system_config_source_country</source_model>
506
- <show_in_default>1</show_in_default>
507
- <show_in_website>1</show_in_website>
508
- <show_in_store>1</show_in_store>
509
- <depends><allowspecific>1</allowspecific></depends>
510
- </specificcountry>
511
- <enable_installments translate="label">
512
- <label>Enable Installments</label>
513
- <frontend_type>select</frontend_type>
514
- <source_model>adminhtml/system_config_source_yesno</source_model>
515
- <sort_order>11</sort_order>
516
- <show_in_default>1</show_in_default>
517
- <show_in_website>1</show_in_website>
518
- <show_in_store>1</show_in_store>
519
- </enable_installments>
520
- <installments translate="label">
521
- <label>Installments</label>
522
- <frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
523
- <backend_model>adyen/system_config_backend_installments</backend_model>
524
- <sort_order>12</sort_order>
525
- <show_in_default>1</show_in_default>
526
- <show_in_website>1</show_in_website>
527
- <show_in_store>1</show_in_store>
528
- </installments>
529
- </fields>
530
- </adyen_cc>
531
- <!-- @Elv only -->
532
- <adyen_elv translate="label" module="adyen">
533
- <label>Adyen ELV</label>
534
- <frontend_type>text</frontend_type>
535
- <sort_order>305</sort_order>
536
- <show_in_default>1</show_in_default>
537
- <show_in_website>1</show_in_website>
538
- <show_in_store>1</show_in_store>
539
- <fields>
540
- <active translate="label">
541
- <label>Enabled</label>
542
- <frontend_type>select</frontend_type>
543
- <source_model>adminhtml/system_config_source_yesno</source_model>
544
- <sort_order>1</sort_order>
545
- <show_in_default>1</show_in_default>
546
- <show_in_website>1</show_in_website>
547
- <show_in_store>1</show_in_store>
548
- </active>
549
- <title translate="label">
550
- <label>Title</label>
551
- <frontend_type>text</frontend_type>
552
- <sort_order>2</sort_order>
553
- <show_in_default>1</show_in_default>
554
- <show_in_website>1</show_in_website>
555
- <show_in_store>1</show_in_store>
556
- </title>
557
- <allowspecific translate="label">
558
- <label>Payment to applicable countries</label>
559
- <frontend_type>allowspecific</frontend_type>
560
- <sort_order>5</sort_order>
561
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
562
- <show_in_default>1</show_in_default>
563
- <show_in_website>1</show_in_website>
564
- <show_in_store>1</show_in_store>
565
- </allowspecific>
566
- <specificcountry translate="label">
567
- <label>Payment to Specific countries</label>
568
- <frontend_type>multiselect</frontend_type>
569
- <sort_order>6</sort_order>
570
- <source_model>adminhtml/system_config_source_country</source_model>
571
- <show_in_default>1</show_in_default>
572
- <show_in_website>1</show_in_website>
573
- <show_in_store>1</show_in_store>
574
- <depends><allowspecific>1</allowspecific></depends>
575
- </specificcountry>
576
- </fields>
577
- </adyen_elv>
578
  <!-- @boleto only -->
579
  <adyen_boleto translate="label" module="adyen">
580
  <label>Adyen Boleto</label>
@@ -600,15 +600,15 @@
600
  <show_in_default>1</show_in_default>
601
  <show_in_website>1</show_in_website>
602
  <show_in_store>1</show_in_store>
603
- </title>
604
- <delivery_days translate="label">
605
- <label>Days for Delivery</label>
606
- <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
607
- <frontend_type>text</frontend_type>
608
- <sort_order>3</sort_order>
609
- <show_in_default>1</show_in_default>
610
- <show_in_website>1</show_in_website>
611
- <show_in_store>0</show_in_store>
612
  </delivery_days>
613
  <boletotypes translate="label">
614
  <label>Boleto Types</label>
@@ -635,12 +635,12 @@
635
  <source_model>adminhtml/system_config_source_country</source_model>
636
  <show_in_default>1</show_in_default>
637
  <show_in_website>1</show_in_website>
638
- <show_in_store>1</show_in_store>
639
  <depends><allowspecific>1</allowspecific></depends>
640
  </specificcountry>
641
  </fields>
642
  </adyen_boleto>
643
- </groups>
644
- </payment>
645
- </sections>
646
  </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <config>
30
+ <sections>
31
+ <payment>
32
+ <groups>
33
+ <!-- @default -->
34
+ <adyen_abstract translate="label" module="adyen">
35
+ <label>Adyen Default Settings</label>
36
+ <frontend_type>text</frontend_type>
37
+ <sort_order>300</sort_order>
38
+ <show_in_default>1</show_in_default>
39
+ <show_in_website>1</show_in_website>
40
+ <show_in_store>1</show_in_store>
41
+ <fields>
42
+ <merchantAccount translate="label">
43
+ <label>Merchant Account</label>
44
+ <comment>You can find this in the Adyen backoffice.</comment>
45
+ <frontend_type>text</frontend_type>
46
+ <sort_order>10</sort_order>
47
+ <show_in_default>1</show_in_default>
48
+ <show_in_website>1</show_in_website>
49
+ <show_in_store>1</show_in_store>
50
+ </merchantAccount>
51
+ <demoMode translate="label">
52
+ <label>Test/Production Mode</label>
53
+ <frontend_type>select</frontend_type>
54
+ <source_model>adyen/source_DemoModes</source_model>
55
+ <sort_order>20</sort_order>
56
+ <show_in_default>1</show_in_default>
57
+ <show_in_website>1</show_in_website>
58
+ <show_in_store>1</show_in_store>
59
+ </demoMode>
60
+ <order_status translate="label">
61
+ <label>New order status</label>
62
+ <comment>Select only status assigned to state new</comment>
63
+ <frontend_type>select</frontend_type>
64
+ <source_model>adminhtml/system_config_source_order_status_new</source_model>
65
+ <sort_order>30</sort_order>
66
+ <show_in_default>1</show_in_default>
67
+ <show_in_website>1</show_in_website>
68
+ <show_in_store>0</show_in_store>
69
+ </order_status>
70
+ <payment_authorized translate="label">
71
+ <label>Order status authorised payment</label>
72
+ <comment>(optional)Select only status assigned to state processing.Leave empty if you are not sure</comment>
73
+ <frontend_type>select</frontend_type>
74
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
75
+ <sort_order>40</sort_order>
76
+ <show_in_default>1</show_in_default>
77
+ <show_in_website>1</show_in_website>
78
+ <show_in_store>0</show_in_store>
79
+ </payment_authorized>
80
+ <payment_pre_authorized>
81
+ <label>Order status pre-authorised payment</label>
82
+ <comment>(optional)Only affecting manual work flow.Leave empty if you are not sure</comment>
83
+ <frontend_type>select</frontend_type>
84
+ <source_model>adminhtml/system_config_source_order_status_newprocessing</source_model>
85
+ <sort_order>50</sort_order>
86
+ <show_in_default>1</show_in_default>
87
+ <show_in_website>1</show_in_website>
88
+ <show_in_store>0</show_in_store>
89
+ </payment_pre_authorized>
90
+ <payment_cancelled translate="label">
91
+ <label>Order status cancelled payment</label>
92
+ <comment>Action to be attempted incase of failed notifications from Adyen.Notice orders with invoices can not be cancelled, will just get status change.</comment>
93
+ <frontend_type>select</frontend_type>
94
+ <source_model>adyen/source_cancelModes</source_model>
95
+ <sort_order>60</sort_order>
96
+ <show_in_default>1</show_in_default>
97
+ <show_in_website>1</show_in_website>
98
+ <show_in_store>0</show_in_store>
99
+ </payment_cancelled>
100
+ <refund_authorized translate="label">
101
+ <label>Refund authorise (refund success)</label>
102
+ <comment>(optional) leave empty if you are not sure</comment>
103
+ <frontend_type>select</frontend_type>
104
+ <source_model>adyen/source_status_refund</source_model>
105
+ <sort_order>70</sort_order>
106
+ <show_in_default>1</show_in_default>
107
+ <show_in_website>1</show_in_website>
108
+ <show_in_store>0</show_in_store>
109
+ </refund_authorized>
110
+ <notification_username translate="label">
111
+ <label>Notification Username</label>
112
+ <comment>Should match your "notifications settings" in your Adyen account.</comment>
113
+ <frontend_type>text</frontend_type>
114
+ <sort_order>75</sort_order>
115
+ <show_in_default>1</show_in_default>
116
+ <show_in_website>1</show_in_website>
117
+ <show_in_store>0</show_in_store>
118
+ </notification_username>
119
+ <notification_password translate="label">
120
+ <label>Notification Password</label>
121
+ <comment>Should match your "notifications settings" in your Adyen account.</comment>
122
+ <frontend_type>text</frontend_type>
123
+ <sort_order>76</sort_order>
124
+ <show_in_default>1</show_in_default>
125
+ <show_in_website>1</show_in_website>
126
+ <show_in_store>0</show_in_store>
127
+ </notification_password>
128
+ <capture_mode translate="label">
129
+ <label>Capture Mode</label>
130
+ <frontend_type>select</frontend_type>
131
+ <comment>If you are using "The manual capture in Adyen" set this to manual and you will get a chance to capture it by creating the invoice and select "capture online".If not sure select auto.Notice:Ideal and Cash are always Auto Capture!</comment>
132
+ <source_model>adyen/source_captureModes</source_model>
133
+ <sort_order>77</sort_order>
134
+ <show_in_default>1</show_in_default>
135
+ <show_in_website>1</show_in_website>
136
+ <show_in_store>0</show_in_store>
137
+ </capture_mode>
138
+ <recurringtypes translate="label">
139
+ <label>Recurring Type</label>
140
+ <frontend_type>select</frontend_type>
141
+ <source_model>adyen/source_recurringType</source_model>
142
+ <sort_order>78</sort_order>
143
+ <show_in_default>1</show_in_default>
144
+ <show_in_website>1</show_in_website>
145
+ <show_in_store>1</show_in_store>
146
+ </recurringtypes>
147
+ <ws_username_test translate="label">
148
+ <label>Adyen ws username for Test</label>
149
+ <comment>Normally this will be ws@Company.YourCompanyCode</comment>
150
+ <frontend_type>text</frontend_type>
151
+ <sort_order>80</sort_order>
152
+ <show_in_default>1</show_in_default>
153
+ <show_in_website>1</show_in_website>
154
+ <show_in_store>0</show_in_store>
155
+ </ws_username_test>
156
+ <ws_password_test translate="label">
157
+ <label>Adyen ws password for Test</label>
158
+ <comment>The password of the ws user for Test</comment>
159
+ <frontend_type>text</frontend_type>
160
+ <sort_order>90</sort_order>
161
+ <show_in_default>1</show_in_default>
162
+ <show_in_website>1</show_in_website>
163
+ <show_in_store>0</show_in_store>
164
+ </ws_password_test>
165
+ <ws_username_live translate="label">
166
+ <label>Adyen ws username for Live</label>
167
+ <comment>Normally this will be ws@Company.YourCompanyCode</comment>
168
+ <frontend_type>text</frontend_type>
169
+ <sort_order>100</sort_order>
170
+ <show_in_default>1</show_in_default>
171
+ <show_in_website>1</show_in_website>
172
+ <show_in_store>0</show_in_store>
173
+ </ws_username_live>
174
+ <ws_password_live translate="label">
175
+ <label>Adyen ws password for Live</label>
176
+ <comment>The password of the ws user for Live</comment>
177
+ <frontend_type>text</frontend_type>
178
+ <sort_order>110</sort_order>
179
+ <show_in_default>1</show_in_default>
180
+ <show_in_website>1</show_in_website>
181
+ <show_in_store>0</show_in_store>
182
+ </ws_password_live>
183
+ <shopperlocale translate="label">
184
+ <label>Language locale (optional)</label>
185
+ <comment>Leave empty to let Magento decide (Ex: nl_NL)</comment>
186
+ <frontend_type>text</frontend_type>
187
+ <sort_order>180</sort_order>
188
+ <show_in_default>1</show_in_default>
189
+ <show_in_website>1</show_in_website>
190
+ <show_in_store>1</show_in_store>
191
+ </shopperlocale>
192
+ <countryCode translate="label">
193
+ <label>Country Code ISO (optional)</label>
194
+ <comment>Leave empty to let Adyen decide on IP-address (Ex: NL)</comment>
195
+ <frontend_type>text</frontend_type>
196
+ <sort_order>190</sort_order>
197
+ <show_in_default>1</show_in_default>
198
+ <show_in_website>1</show_in_website>
199
+ <show_in_store>1</show_in_store>
200
+ </countryCode>
201
+ <send_update_mail translate="label">
202
+ <label>Mail update</label>
203
+ <frontend_type>select</frontend_type>
204
+ <comment>Enable/Disable update mails</comment>
205
+ <source_model>adminhtml/system_config_source_yesno</source_model>
206
+ <sort_order>200</sort_order>
207
+ <show_in_default>1</show_in_default>
208
+ <show_in_website>1</show_in_website>
209
+ <show_in_store>0</show_in_store>
210
+ </send_update_mail>
211
+ <send_invoice_update_mail translate="label">
212
+ <label>Mail update (Invoice Mail)</label>
213
+ <frontend_type>select</frontend_type>
214
+ <comment>Enable/Disable update mails</comment>
215
+ <source_model>adminhtml/system_config_source_yesno</source_model>
216
+ <sort_order>210</sort_order>
217
+ <show_in_default>1</show_in_default>
218
+ <show_in_website>1</show_in_website>
219
+ <show_in_store>0</show_in_store>
220
+ </send_invoice_update_mail>
221
+ </fields>
222
+ </adyen_abstract>
223
+ <!-- @Hpp only -->
224
+ <adyen_hpp translate="label" module="adyen">
225
+ <label>Adyen HPP</label>
226
+ <frontend_type>text</frontend_type>
227
+ <sort_order>301</sort_order>
228
+ <show_in_default>1</show_in_default>
229
+ <show_in_website>1</show_in_website>
230
+ <show_in_store>1</show_in_store>
231
+ <fields>
232
+ <active translate="label">
233
+ <label>Enabled</label>
234
+ <frontend_type>select</frontend_type>
235
+ <source_model>adminhtml/system_config_source_yesno</source_model>
236
+ <sort_order>1</sort_order>
237
+ <show_in_default>1</show_in_default>
238
+ <show_in_website>1</show_in_website>
239
+ <show_in_store>1</show_in_store>
240
+ </active>
241
+ <title translate="label">
242
+ <label>Title</label>
243
+ <frontend_type>text</frontend_type>
244
+ <sort_order>2</sort_order>
245
+ <show_in_default>1</show_in_default>
246
+ <show_in_website>1</show_in_website>
247
+ <show_in_store>1</show_in_store>
248
+ </title>
249
+ <skinCode translate="label">
250
+ <label>Skin Code</label>
251
+ <comment>The skin code you want to use (You can find this in the admin are of your Adyen account)</comment>
252
+ <frontend_type>text</frontend_type>
253
+ <sort_order>3</sort_order>
254
+ <show_in_default>1</show_in_default>
255
+ <show_in_website>1</show_in_website>
256
+ <show_in_store>1</show_in_store>
257
+ </skinCode>
258
+ <secret_wordt translate="label">
259
+ <label>HMAC Key for Test</label>
260
+ <comment>Should match with the HMAC test key in the Adyen backoffice.</comment>
261
+ <frontend_type>text</frontend_type>
262
+ <sort_order>4</sort_order>
263
+ <show_in_default>1</show_in_default>
264
+ <show_in_website>1</show_in_website>
265
+ <show_in_store>1</show_in_store>
266
+ </secret_wordt>
267
+ <secret_wordp translate="label">
268
+ <label>HMAC Key for Live</label>
269
+ <comment>Should match with the HMAC live key in the Adyen backoffice.</comment>
270
+ <frontend_type>text</frontend_type>
271
+ <sort_order>5</sort_order>
272
+ <show_in_default>1</show_in_default>
273
+ <show_in_website>1</show_in_website>
274
+ <show_in_store>1</show_in_store>
275
+ </secret_wordp>
276
+ <payment_routines translate="label">
277
+ <label>Payment Flow Selection</label>
278
+ <comment>Adyen provide you with 2 types of payment routines. Multi-page and Single Page</comment>
279
+ <frontend_type>select</frontend_type>
280
+ <source_model>adyen/source_PaymentRoutines</source_model>
281
+ <sort_order>6</sort_order>
282
+ <show_in_default>1</show_in_default>
283
+ <show_in_website>1</show_in_website>
284
+ <show_in_store>0</show_in_store>
285
+ </payment_routines>
286
+ <delivery_days translate="label">
287
+ <label>Days for Delivery</label>
288
+ <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
289
+ <frontend_type>text</frontend_type>
290
+ <sort_order>7</sort_order>
291
+ <show_in_default>1</show_in_default>
292
+ <show_in_website>1</show_in_website>
293
+ <show_in_store>0</show_in_store>
294
+ </delivery_days>
295
+ <disable_hpptypes translate="label">
296
+ <label>Leave payment method selection on HPP</label>
297
+ <comment>If you say yes here, payment methods in the checkout won't be displayed and you will be redirected to the Adyen HPP to make the selection.</comment>
298
+ <frontend_type>select</frontend_type>
299
+ <source_model>adminhtml/system_config_source_yesno</source_model>
300
+ <sort_order>9</sort_order>
301
+ <show_in_default>1</show_in_default>
302
+ <show_in_website>0</show_in_website>
303
+ <show_in_store>0</show_in_store>
304
+ </disable_hpptypes>
305
+ <allowspecific translate="label">
306
+ <label>Payment to applicable countries</label>
307
+ <frontend_type>allowspecific</frontend_type>
308
+ <sort_order>12</sort_order>
309
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
310
+ <show_in_default>1</show_in_default>
311
+ <show_in_website>1</show_in_website>
312
+ <show_in_store>1</show_in_store>
313
+ </allowspecific>
314
+ <specificcountry translate="label">
315
+ <label>Payment to Specific countries</label>
316
+ <frontend_type>multiselect</frontend_type>
317
+ <sort_order>13</sort_order>
318
+ <source_model>adminhtml/system_config_source_country</source_model>
319
+ <show_in_default>1</show_in_default>
320
+ <show_in_website>1</show_in_website>
321
+ <show_in_store>1</show_in_store>
322
+ <depends><allowspecific>1</allowspecific></depends>
323
+ </specificcountry>
324
+ </fields>
325
+ </adyen_hpp>
326
+ <!-- @Pos only -->
327
+ <adyen_pos translate="label" module="adyen">
328
+ <label>Adyen POS</label>
329
+ <frontend_type>text</frontend_type>
330
+ <sort_order>302</sort_order>
331
+ <show_in_default>1</show_in_default>
332
+ <show_in_website>1</show_in_website>
333
+ <show_in_store>1</show_in_store>
334
+ <fields>
335
+ <active translate="label">
336
+ <label>Enabled</label>
337
+ <frontend_type>select</frontend_type>
338
+ <source_model>adminhtml/system_config_source_yesno</source_model>
339
+ <sort_order>10</sort_order>
340
+ <show_in_default>1</show_in_default>
341
+ <show_in_website>1</show_in_website>
342
+ <show_in_store>1</show_in_store>
343
+ </active>
344
+ <title translate="label">
345
+ <label>Title</label>
346
+ <frontend_type>text</frontend_type>
347
+ <sort_order>20</sort_order>
348
+ <show_in_default>1</show_in_default>
349
+ <show_in_website>1</show_in_website>
350
+ <show_in_store>1</show_in_store>
351
+ </title>
352
+ <recurringtypes translate="label">
353
+ <label>Recurring Type</label>
354
+ <comment>You can set different value for POS because you have to have the permission of the customer</comment>
355
+ <frontend_type>select</frontend_type>
356
+ <source_model>adyen/source_recurringType</source_model>
357
+ <sort_order>30</sort_order>
358
+ <show_in_default>1</show_in_default>
359
+ <show_in_website>1</show_in_website>
360
+ <show_in_store>1</show_in_store>
361
+ </recurringtypes>
362
+ <allowspecific translate="label">
363
+ <label>Payment to applicable countries</label>
364
+ <frontend_type>allowspecific</frontend_type>
365
+ <sort_order>40</sort_order>
366
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
367
+ <show_in_default>1</show_in_default>
368
+ <show_in_website>1</show_in_website>
369
+ <show_in_store>1</show_in_store>
370
+ </allowspecific>
371
+ <specificcountry translate="label">
372
+ <label>Payment to Specific countries</label>
373
+ <frontend_type>multiselect</frontend_type>
374
+ <sort_order>50</sort_order>
375
+ <source_model>adminhtml/system_config_source_country</source_model>
376
+ <show_in_default>1</show_in_default>
377
+ <show_in_website>1</show_in_website>
378
+ <show_in_store>1</show_in_store>
379
+ <depends><allowspecific>1</allowspecific></depends>
380
+ </specificcountry>
381
+ </fields>
382
+ </adyen_pos>
383
+ <!-- @Openinvoice only -->
384
+ <adyen_openinvoice translate="label" module="adyen">
385
+ <label>Adyen OpenInvoice</label>
386
+ <frontend_type>text</frontend_type>
387
+ <sort_order>303</sort_order>
388
+ <show_in_default>1</show_in_default>
389
+ <show_in_website>1</show_in_website>
390
+ <show_in_store>1</show_in_store>
391
+ <fields>
392
+ <active translate="label">
393
+ <label>Enabled</label>
394
+ <frontend_type>select</frontend_type>
395
+ <source_model>adminhtml/system_config_source_yesno</source_model>
396
+ <sort_order>1</sort_order>
397
+ <show_in_default>1</show_in_default>
398
+ <show_in_website>1</show_in_website>
399
+ <show_in_store>1</show_in_store>
400
+ </active>
401
+ <title translate="label">
402
+ <label>Title</label>
403
+ <frontend_type>text</frontend_type>
404
+ <sort_order>2</sort_order>
405
+ <show_in_default>1</show_in_default>
406
+ <show_in_website>1</show_in_website>
407
+ <show_in_store>1</show_in_store>
408
+ </title>
409
+ <openinvoicetypes translate="label">
410
+ <label>OpenInvoice Type</label>
411
+ <frontend_type>select</frontend_type>
412
+ <source_model>adyen/source_openinvoiceType</source_model>
413
+ <sort_order>3</sort_order>
414
+ <show_in_default>1</show_in_default>
415
+ <show_in_website>1</show_in_website>
416
+ <show_in_store>1</show_in_store>
417
+ </openinvoicetypes>
418
+ <allowspecific translate="label">
419
+ <label>Payment to applicable countries</label>
420
+ <frontend_type>allowspecific</frontend_type>
421
+ <sort_order>4</sort_order>
422
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
423
+ <show_in_default>1</show_in_default>
424
+ <show_in_website>1</show_in_website>
425
+ <show_in_store>1</show_in_store>
426
+ </allowspecific>
427
+ <specificcountry translate="label">
428
+ <label>Payment to Specific countries</label>
429
+ <frontend_type>multiselect</frontend_type>
430
+ <sort_order>5</sort_order>
431
+ <source_model>adminhtml/system_config_source_country</source_model>
432
+ <show_in_default>1</show_in_default>
433
+ <show_in_website>1</show_in_website>
434
+ <show_in_store>1</show_in_store>
435
+ <depends><allowspecific>1</allowspecific></depends>
436
+ </specificcountry>
437
+ </fields>
438
+ </adyen_openinvoice>
439
+ <!-- @CC only -->
440
+ <adyen_cc translate="label" module="adyen">
441
+ <label>Adyen CC</label>
442
+ <frontend_type>text</frontend_type>
443
+ <sort_order>304</sort_order>
444
+ <show_in_default>1</show_in_default>
445
+ <show_in_website>1</show_in_website>
446
+ <show_in_store>1</show_in_store>
447
+ <fields>
448
+ <active translate="label">
449
+ <label>Enabled</label>
450
+ <frontend_type>select</frontend_type>
451
+ <source_model>adminhtml/system_config_source_yesno</source_model>
452
+ <sort_order>1</sort_order>
453
+ <show_in_default>1</show_in_default>
454
+ <show_in_website>1</show_in_website>
455
+ <show_in_store>1</show_in_store>
456
+ </active>
457
+ <title translate="label">
458
+ <label>Title</label>
459
+ <frontend_type>text</frontend_type>
460
+ <sort_order>2</sort_order>
461
+ <show_in_default>1</show_in_default>
462
+ <show_in_website>1</show_in_website>
463
+ <show_in_store>1</show_in_store>
464
+ </title>
465
+ <cctypes translate="label">
466
+ <label>Credit Card Types</label>
467
+ <frontend_type>multiselect</frontend_type>
468
+ <source_model>adyen/source_ccType</source_model>
469
+ <sort_order>4</sort_order>
470
+ <show_in_default>1</show_in_default>
471
+ <show_in_website>1</show_in_website>
472
+ <show_in_store>1</show_in_store>
473
+ </cctypes>
474
+ <cse_enabled translate="label">
475
+ <label>Enable Client-Side Encryption</label>
476
+ <frontend_type>select</frontend_type>
477
+ <source_model>adminhtml/system_config_source_yesno</source_model>
478
+ <sort_order>6</sort_order>
479
+ <show_in_default>1</show_in_default>
480
+ <show_in_website>1</show_in_website>
481
+ <show_in_store>1</show_in_store>
482
+ </cse_enabled>
483
+ <cse_publickey translate="label">
484
+ <label>Client-Side Encryption Public Key</label>
485
+ <frontend_type>textarea</frontend_type>
486
+ <sort_order>7</sort_order>
487
+ <show_in_default>1</show_in_default>
488
+ <show_in_website>1</show_in_website>
489
+ <show_in_store>1</show_in_store>
490
+ <depends><cse_enabled>1</cse_enabled></depends>
491
+ </cse_publickey>
492
+ <allowspecific translate="label">
493
+ <label>Payment to applicable countries</label>
494
+ <frontend_type>allowspecific</frontend_type>
495
+ <sort_order>9</sort_order>
496
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
497
+ <show_in_default>1</show_in_default>
498
+ <show_in_website>1</show_in_website>
499
+ <show_in_store>1</show_in_store>
500
+ </allowspecific>
501
+ <specificcountry translate="label">
502
+ <label>Payment to Specific countries</label>
503
+ <frontend_type>multiselect</frontend_type>
504
+ <sort_order>10</sort_order>
505
+ <source_model>adminhtml/system_config_source_country</source_model>
506
+ <show_in_default>1</show_in_default>
507
+ <show_in_website>1</show_in_website>
508
+ <show_in_store>1</show_in_store>
509
+ <depends><allowspecific>1</allowspecific></depends>
510
+ </specificcountry>
511
+ <enable_installments translate="label">
512
+ <label>Enable Installments</label>
513
+ <frontend_type>select</frontend_type>
514
+ <source_model>adminhtml/system_config_source_yesno</source_model>
515
+ <sort_order>11</sort_order>
516
+ <show_in_default>1</show_in_default>
517
+ <show_in_website>1</show_in_website>
518
+ <show_in_store>1</show_in_store>
519
+ </enable_installments>
520
+ <installments translate="label">
521
+ <label>Installments</label>
522
+ <frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
523
+ <backend_model>adyen/system_config_backend_installments</backend_model>
524
+ <sort_order>12</sort_order>
525
+ <show_in_default>1</show_in_default>
526
+ <show_in_website>1</show_in_website>
527
+ <show_in_store>1</show_in_store>
528
+ </installments>
529
+ </fields>
530
+ </adyen_cc>
531
+ <!-- @Elv only -->
532
+ <adyen_elv translate="label" module="adyen">
533
+ <label>Adyen ELV</label>
534
+ <frontend_type>text</frontend_type>
535
+ <sort_order>305</sort_order>
536
+ <show_in_default>1</show_in_default>
537
+ <show_in_website>1</show_in_website>
538
+ <show_in_store>1</show_in_store>
539
+ <fields>
540
+ <active translate="label">
541
+ <label>Enabled</label>
542
+ <frontend_type>select</frontend_type>
543
+ <source_model>adminhtml/system_config_source_yesno</source_model>
544
+ <sort_order>1</sort_order>
545
+ <show_in_default>1</show_in_default>
546
+ <show_in_website>1</show_in_website>
547
+ <show_in_store>1</show_in_store>
548
+ </active>
549
+ <title translate="label">
550
+ <label>Title</label>
551
+ <frontend_type>text</frontend_type>
552
+ <sort_order>2</sort_order>
553
+ <show_in_default>1</show_in_default>
554
+ <show_in_website>1</show_in_website>
555
+ <show_in_store>1</show_in_store>
556
+ </title>
557
+ <allowspecific translate="label">
558
+ <label>Payment to applicable countries</label>
559
+ <frontend_type>allowspecific</frontend_type>
560
+ <sort_order>5</sort_order>
561
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
562
+ <show_in_default>1</show_in_default>
563
+ <show_in_website>1</show_in_website>
564
+ <show_in_store>1</show_in_store>
565
+ </allowspecific>
566
+ <specificcountry translate="label">
567
+ <label>Payment to Specific countries</label>
568
+ <frontend_type>multiselect</frontend_type>
569
+ <sort_order>6</sort_order>
570
+ <source_model>adminhtml/system_config_source_country</source_model>
571
+ <show_in_default>1</show_in_default>
572
+ <show_in_website>1</show_in_website>
573
+ <show_in_store>1</show_in_store>
574
+ <depends><allowspecific>1</allowspecific></depends>
575
+ </specificcountry>
576
+ </fields>
577
+ </adyen_elv>
578
  <!-- @boleto only -->
579
  <adyen_boleto translate="label" module="adyen">
580
  <label>Adyen Boleto</label>
600
  <show_in_default>1</show_in_default>
601
  <show_in_website>1</show_in_website>
602
  <show_in_store>1</show_in_store>
603
+ </title>
604
+ <delivery_days translate="label">
605
+ <label>Days for Delivery</label>
606
+ <comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
607
+ <frontend_type>text</frontend_type>
608
+ <sort_order>3</sort_order>
609
+ <show_in_default>1</show_in_default>
610
+ <show_in_website>1</show_in_website>
611
+ <show_in_store>0</show_in_store>
612
  </delivery_days>
613
  <boletotypes translate="label">
614
  <label>Boleto Types</label>
635
  <source_model>adminhtml/system_config_source_country</source_model>
636
  <show_in_default>1</show_in_default>
637
  <show_in_website>1</show_in_website>
638
+ <show_in_store>1</show_in_store>
639
  <depends><allowspecific>1</allowspecific></depends>
640
  </specificcountry>
641
  </fields>
642
  </adyen_boleto>
643
+ </groups>
644
+ </payment>
645
+ </sections>
646
  </config>
app/design/adminhtml/default/default/template/adyen/form/cc.phtml CHANGED
@@ -1,151 +1,151 @@
1
- <?php
2
- /**
3
- * Adyen Payment Module
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Adyen
16
- * @package Adyen_Payment
17
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
- /**
21
- * @category Payment Gateway
22
- * @package Adyen_Payment
23
- * @author Adyen
24
- * @property Adyen B.V
25
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
- */
27
- ?>
28
- <?php $_code=$this->getMethodCode() ?>
29
- <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
30
- <li>
31
- <div class="input-box">
32
- <label for="<?php echo $_code ?>_cc_owner"><?php echo Mage::helper('payment')->__('Name on Card') ?> <span class="required">*</span></label><br/>
33
- <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
- </div>
35
- </li>
36
- <li>
37
- <div class="input-box">
38
- <label for="<?php echo $_code ?>_cc_type"><?php echo Mage::helper('payment')->__('Credit Card Type') ?> <span class="required">*</span></label><br/>
39
- <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
- <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
- <?php $_ccType = $this->getInfoData('cc_type') ?>
42
- <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
- <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
- <?php endforeach ?>
45
- </select>
46
- </div>
47
- </li>
48
- <li>
49
- <div class="input-box">
50
- <label for="<?php echo $_code ?>_cc_number"><?php echo Mage::helper('payment')->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
51
- <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
- </div>
53
- </li>
54
- <li>
55
- <div class="input-box">
56
- <label for="<?php echo $_code ?>_expiration"><?php echo Mage::helper('payment')->__('Expiration Date') ?> <span class="required">*</span></label><br/>
57
-
58
- <div class="v-fix">
59
- <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
60
- <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
61
- <?php foreach ($this->getCcMonths() as $k=>$v): ?>
62
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
63
- <?php endforeach ?>
64
- </select>
65
- </div>
66
- <div class="v-fix">
67
- <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
68
- <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
69
- <?php foreach ($this->getCcYears() as $k=>$v): ?>
70
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
71
- <?php endforeach ?>
72
- </select>
73
- </div>
74
- </div>
75
- </li>
76
- <?php echo $this->getChildHtml() ?>
77
- <?php if($this->hasVerification()): ?>
78
- <li>
79
- <div class="input-box">
80
- <label for="<?php echo $_code ?>_cc_cid"><?php echo Mage::helper('payment')->__('Card Verification Number') ?> <span class="required">*</span></label><br/>
81
-
82
- <div class="v-fix">
83
- <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
84
- </div>
85
- <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
86
- </div>
87
- </li>
88
- <?php endif; ?>
89
- <?php if($this->hasInstallments()): ?>
90
- <li>
91
- <div class="input-box">
92
- <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
93
- <div class="v-fix">
94
- <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
95
- <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
96
- <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
97
- <?php endforeach ?>
98
- </select>
99
- </div>
100
- </div>
101
- </li>
102
- <?php endif;?>
103
- </ul>
104
- <?php if ($this->isCseEnabled()): ?>
105
- <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
106
- <input type="hidden" id="adyen-cse-form" />
107
- <script type="text/javascript">
108
- //<![CDATA[
109
- var cse_form = document.getElementById('adyen-cse-form').form;
110
- var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
111
- var cse_options = {
112
- name: 'payment[encrypted_data]',
113
- force: true
114
- };
115
- var cse = function() {
116
-
117
- if (order.paymentMethod && order.paymentMethod == '<?php echo $_code ?>') {
118
- try {
119
- adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
120
- } catch (e) {
121
- var encryptionFailed = true;
122
- }
123
- var encryptedForm = document.getElementById(cse_options.name);
124
- if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
125
- alert("Warning: Adyen Client Side Encryption cannot succeed.");
126
- }
127
- }
128
- }
129
- var cse_initialize = function() {
130
- if (typeof adyen === 'undefined') {
131
- js = document.createElement("script");
132
- js.type = "text/javascript";
133
- js.src = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>adyen/payment/adyen.encrypt.js";
134
- document.body.appendChild(js);
135
- }
136
-
137
- order.submit = order.submit.wrap(function(originalSaveMethod) {
138
- cse.call(this);
139
- originalSaveMethod();
140
- });
141
- }
142
-
143
- if (document.readyState === "complete") {
144
- cse_initialize();
145
- }
146
- else {
147
- Event.observe(window, 'load', cse_initialize);
148
- }
149
- //]]>
150
- </script>
151
- <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code=$this->getMethodCode() ?>
29
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
30
+ <li>
31
+ <div class="input-box">
32
+ <label for="<?php echo $_code ?>_cc_owner"><?php echo Mage::helper('payment')->__('Name on Card') ?> <span class="required">*</span></label><br/>
33
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
+ </div>
35
+ </li>
36
+ <li>
37
+ <div class="input-box">
38
+ <label for="<?php echo $_code ?>_cc_type"><?php echo Mage::helper('payment')->__('Credit Card Type') ?> <span class="required">*</span></label><br/>
39
+ <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
+ <?php $_ccType = $this->getInfoData('cc_type') ?>
42
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
+ <?php endforeach ?>
45
+ </select>
46
+ </div>
47
+ </li>
48
+ <li>
49
+ <div class="input-box">
50
+ <label for="<?php echo $_code ?>_cc_number"><?php echo Mage::helper('payment')->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
51
+ <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
+ </div>
53
+ </li>
54
+ <li>
55
+ <div class="input-box">
56
+ <label for="<?php echo $_code ?>_expiration"><?php echo Mage::helper('payment')->__('Expiration Date') ?> <span class="required">*</span></label><br/>
57
+
58
+ <div class="v-fix">
59
+ <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
60
+ <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
61
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
62
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
63
+ <?php endforeach ?>
64
+ </select>
65
+ </div>
66
+ <div class="v-fix">
67
+ <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
68
+ <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
69
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
70
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
71
+ <?php endforeach ?>
72
+ </select>
73
+ </div>
74
+ </div>
75
+ </li>
76
+ <?php echo $this->getChildHtml() ?>
77
+ <?php if($this->hasVerification()): ?>
78
+ <li>
79
+ <div class="input-box">
80
+ <label for="<?php echo $_code ?>_cc_cid"><?php echo Mage::helper('payment')->__('Card Verification Number') ?> <span class="required">*</span></label><br/>
81
+
82
+ <div class="v-fix">
83
+ <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
84
+ </div>
85
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
86
+ </div>
87
+ </li>
88
+ <?php endif; ?>
89
+ <?php if($this->hasInstallments()): ?>
90
+ <li>
91
+ <div class="input-box">
92
+ <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
93
+ <div class="v-fix">
94
+ <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
95
+ <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
96
+ <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
97
+ <?php endforeach ?>
98
+ </select>
99
+ </div>
100
+ </div>
101
+ </li>
102
+ <?php endif;?>
103
+ </ul>
104
+ <?php if ($this->isCseEnabled()): ?>
105
+ <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
106
+ <input type="hidden" id="adyen-cse-form" />
107
+ <script type="text/javascript">
108
+ //<![CDATA[
109
+ var cse_form = document.getElementById('adyen-cse-form').form;
110
+ var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
111
+ var cse_options = {
112
+ name: 'payment[encrypted_data]',
113
+ force: true
114
+ };
115
+ var cse = function() {
116
+
117
+ if (order.paymentMethod && order.paymentMethod == '<?php echo $_code ?>') {
118
+ try {
119
+ adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
120
+ } catch (e) {
121
+ var encryptionFailed = true;
122
+ }
123
+ var encryptedForm = document.getElementById(cse_options.name);
124
+ if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
125
+ alert("Warning: Adyen Client Side Encryption cannot succeed.");
126
+ }
127
+ }
128
+ }
129
+ var cse_initialize = function() {
130
+ if (typeof adyen === 'undefined') {
131
+ js = document.createElement("script");
132
+ js.type = "text/javascript";
133
+ js.src = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>adyen/payment/adyen.encrypt.js";
134
+ document.body.appendChild(js);
135
+ }
136
+
137
+ order.submit = order.submit.wrap(function(originalSaveMethod) {
138
+ cse.call(this);
139
+ originalSaveMethod();
140
+ });
141
+ }
142
+
143
+ if (document.readyState === "complete") {
144
+ cse_initialize();
145
+ }
146
+ else {
147
+ Event.observe(window, 'load', cse_initialize);
148
+ }
149
+ //]]>
150
+ </script>
151
+ <?php endif;?>
app/design/adminhtml/default/default/template/adyen/info/cc.phtml CHANGED
@@ -1,54 +1,54 @@
1
- <?php
2
- /**
3
- * Adyen Payment Module
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Adyen
16
- * @package Adyen_Payment
17
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
- /**
21
- * @category Payment Gateway
22
- * @package Adyen_Payment
23
- * @author Adyen
24
- * @property Adyen B.V
25
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
- */
27
- ?>
28
- <?php
29
- $ownerInformation = $this->getInfo()->getCcOwner();
30
- $cseEnabled = empty($ownerInformation);
31
- echo $this->htmlEscape($this->getMethod()->getTitle());
32
- echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
33
- ?><br/>
34
- <?php if ($_info = $this->getInfo()): ?>
35
- <?php if ($_info->getAdyenPspReference() == ''): ?>
36
- <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
37
- <?php else :?>
38
- <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
39
- <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
40
- <?php else : ?>
41
- <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
42
- <?php endif; ?>
43
- <?php endif;?>
44
- <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
45
- <?php if (!empty($paymentMethod)): ?>
46
- <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
47
- <?php endif; ?>
48
- <?php if (!$cseEnabled): ?>
49
- <?php echo Mage::helper('adyen')->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br/>
50
- <?php echo Mage::helper('adyen')->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br/>
51
- <?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
52
- <?php echo Mage::helper('adyen')->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br/>
53
- <?php endif;?>
54
  <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php
29
+ $ownerInformation = $this->getInfo()->getCcOwner();
30
+ $cseEnabled = empty($ownerInformation);
31
+ echo $this->htmlEscape($this->getMethod()->getTitle());
32
+ echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
33
+ ?><br/>
34
+ <?php if ($_info = $this->getInfo()): ?>
35
+ <?php if ($_info->getAdyenPspReference() == ''): ?>
36
+ <?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
37
+ <?php else :?>
38
+ <?php if($this->getMethod()->getConfigDataDemoMode()): ?>
39
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
40
+ <?php else : ?>
41
+ <?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
42
+ <?php endif; ?>
43
+ <?php endif;?>
44
+ <?php $paymentMethod = $_info->getAdyenPaymentMethod() ?>
45
+ <?php if (!empty($paymentMethod)): ?>
46
+ <?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
47
+ <?php endif; ?>
48
+ <?php if (!$cseEnabled): ?>
49
+ <?php echo Mage::helper('adyen')->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br/>
50
+ <?php echo Mage::helper('adyen')->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br/>
51
+ <?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
52
+ <?php echo Mage::helper('adyen')->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br/>
53
+ <?php endif;?>
54
  <?php endif;?>
app/design/frontend/base/default/layout/adyen.xml CHANGED
@@ -1,52 +1,52 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Adyen Payment Module
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * @category Adyen
17
- * @package Adyen_Payment
18
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
- */
21
- /**
22
- * @category Payment Gateway
23
- * @package Adyen_Payment
24
- * @author Adyen
25
- * @property Adyen B.V
26
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
- */
28
- -->
29
- <layout version="0.1.0">
30
- <checkout_onepage_index>
31
- <reference name="head">
32
- <action method="addJs"><script>adyen/payment/elv.js</script></action>
33
- <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
34
- </reference>
35
- </checkout_onepage_index>
36
- <checkout_multishipping_billing>
37
- <reference name="head">
38
- <action method="addJs"><script>adyen/payment/elv.js</script></action>
39
- <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
40
- </reference>
41
- </checkout_multishipping_billing>
42
- <checkout_onepage_success>
43
- <reference name="content">
44
- <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
45
- </reference>
46
- </checkout_onepage_success>
47
- <checkout_multishipping_success translate="label">
48
- <reference name="content">
49
- <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
50
- </reference>
51
- </checkout_multishipping_success>
52
  </layout>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ -->
29
+ <layout version="0.1.0">
30
+ <checkout_onepage_index>
31
+ <reference name="head">
32
+ <action method="addJs"><script>adyen/payment/elv.js</script></action>
33
+ <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
34
+ </reference>
35
+ </checkout_onepage_index>
36
+ <checkout_multishipping_billing>
37
+ <reference name="head">
38
+ <action method="addJs"><script>adyen/payment/elv.js</script></action>
39
+ <action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
40
+ </reference>
41
+ </checkout_multishipping_billing>
42
+ <checkout_onepage_success>
43
+ <reference name="content">
44
+ <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
45
+ </reference>
46
+ </checkout_onepage_success>
47
+ <checkout_multishipping_success translate="label">
48
+ <reference name="content">
49
+ <block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
50
+ </reference>
51
+ </checkout_multishipping_success>
52
  </layout>
app/design/frontend/base/default/template/adyen/form/cc.phtml CHANGED
@@ -1,155 +1,155 @@
1
- <?php
2
- /**
3
- * Adyen Payment Module
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Adyen
16
- * @package Adyen_Payment
17
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
- /**
21
- * @category Payment Gateway
22
- * @package Adyen_Payment
23
- * @author Adyen
24
- * @property Adyen B.V
25
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
- */
27
- ?>
28
- <?php $_code=$this->getMethodCode() ?>
29
- <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
30
- <li>
31
- <label for="<?php echo $_code ?>_cc_owner" class="required"><em>*</em><?php echo $this->__('Name on Card') ?></label>
32
- <div class="input-box">
33
- <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
- </div>
35
- </li>
36
- <li>
37
- <label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
38
- <div class="input-box">
39
- <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
- <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
- <?php $_ccType = $this->getInfoData('cc_type') ?>
42
- <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
- <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
- <?php endforeach ?>
45
- </select>
46
- </div>
47
- </li>
48
- <li>
49
- <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
50
- <div class="input-box">
51
- <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
- </div>
53
- </li>
54
- <li>
55
- <label for="<?php echo $_code ?>_expiration" class="required"><em>*</em><?php echo $this->__('Expiration Date') ?></label>
56
- <div class="input-box">
57
- <div class="v-fix">
58
- <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
59
- <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
60
- <?php foreach ($this->getCcMonths() as $k=>$v): ?>
61
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
62
- <?php endforeach ?>
63
- </select>
64
- </div>
65
- <div class="v-fix">
66
- <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
67
- <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
68
- <?php foreach ($this->getCcYears() as $k=>$v): ?>
69
- <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
70
- <?php endforeach ?>
71
- </select>
72
- </div>
73
- </div>
74
- </li>
75
- <?php echo $this->getChildHtml() ?>
76
- <?php if($this->hasVerification()): ?>
77
- <li>
78
- <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
79
- <div class="input-box">
80
- <div class="v-fix">
81
- <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
82
- </div>
83
- <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
84
- </div>
85
- </li>
86
- <?php endif; ?>
87
- <?php if($this->hasInstallments()): ?>
88
- <li>
89
- <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
90
- <div class="input-box">
91
- <div class="v-fix">
92
- <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
93
- <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
94
- <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
95
- <?php endforeach ?>
96
- </select>
97
- </div>
98
- </div>
99
- </li>
100
- <?php endif;?>
101
- </ul>
102
- <?php if ($this->isCseEnabled()): ?>
103
- <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
104
- <input type="hidden" id="adyen-cse-form" />
105
- <script type="text/javascript">
106
- //<![CDATA[
107
- var cse_form = document.getElementById('adyen-cse-form').form;
108
- var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
109
- var cse_options = {
110
- name: 'payment[encrypted_data]',
111
- force: true
112
- };
113
- var cse = function() {
114
- if (payment.currentMethod && payment.currentMethod == '<?php echo $_code ?>') {
115
- try {
116
- adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
117
- } catch (e) {
118
- var encryptionFailed = true;
119
- }
120
- var encryptedForm = document.getElementById(cse_options.name);
121
- if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
122
- alert("Warning: Adyen Client Side Encryption cannot succeed.");
123
- }
124
- }
125
- }
126
- var cse_initialize = function() {
127
- if (typeof adyen === 'undefined') {
128
- js = document.createElement("script");
129
- js.type = "text/javascript";
130
- js.src = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>adyen/payment/adyen.encrypt.js";
131
- document.body.appendChild(js);
132
- }
133
- if (typeof payment.save !== 'undefined') {
134
- payment.save = payment.save.wrap(function(originalSaveMethod) {
135
- cse.call(this);
136
- originalSaveMethod();
137
- });
138
- }
139
- if (typeof checkout.save !== 'undefined') {
140
- checkout.save = checkout.save.wrap(function(originalSaveMethod) {
141
- cse.call(this);
142
- originalSaveMethod();
143
- });
144
- }
145
- }
146
-
147
- if (document.readyState === "complete") {
148
- cse_initialize();
149
- }
150
- else {
151
- Event.observe(window, 'load', cse_initialize);
152
- }
153
- //]]>
154
- </script>
155
- <?php endif;?>
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php $_code=$this->getMethodCode() ?>
29
+ <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
30
+ <li>
31
+ <label for="<?php echo $_code ?>_cc_owner" class="required"><em>*</em><?php echo $this->__('Name on Card') ?></label>
32
+ <div class="input-box">
33
+ <input type="text" title="<?php echo $this->__('Name on Card') ?>" class="input-text required-entry" id="<?php echo $_code ?>_cc_owner" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_owner]\"" : "data-encrypted-name=\"holderName\""); ?> value="<?php echo $this->htmlEscape($this->getInfoData('cc_owner')) ?>" />
34
+ </div>
35
+ </li>
36
+ <li>
37
+ <label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
38
+ <div class="input-box">
39
+ <select id="<?php echo $_code ?>_cc_type" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_type]\"" : ""); ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
40
+ <option value=""><?php echo $this->__('--Please Select--') ?></option>
41
+ <?php $_ccType = $this->getInfoData('cc_type') ?>
42
+ <?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
43
+ <option value="<?php echo $_typeCode ?>"<?php if($_typeCode==$_ccType): ?> selected="selected"<?php endif ?>><?php echo $_typeName ?></option>
44
+ <?php endforeach ?>
45
+ </select>
46
+ </div>
47
+ </li>
48
+ <li>
49
+ <label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
50
+ <div class="input-box">
51
+ <input type="text" id="<?php echo $_code ?>_cc_number" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_number]\"" : " data-encrypted-name=\"number\""); ?> title="<?php echo $this->__('Credit Card Number') ?>" class="input-text validate-cc-number validate-cc-type" value="" />
52
+ </div>
53
+ </li>
54
+ <li>
55
+ <label for="<?php echo $_code ?>_expiration" class="required"><em>*</em><?php echo $this->__('Expiration Date') ?></label>
56
+ <div class="input-box">
57
+ <div class="v-fix">
58
+ <select id="<?php echo $_code ?>_expiration" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_month]\"" : "data-encrypted-name=\"expiryMonth\""); ?> class="month validate-cc-exp required-entry">
59
+ <?php $_ccExpMonth = $this->getInfoData('cc_exp_month') ?>
60
+ <?php foreach ($this->getCcMonths() as $k=>$v): ?>
61
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpMonth): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
62
+ <?php endforeach ?>
63
+ </select>
64
+ </div>
65
+ <div class="v-fix">
66
+ <?php $_ccExpYear = $this->getInfoData('cc_exp_year') ?>
67
+ <select id="<?php echo $_code ?>_expiration_yr" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_exp_year]\"" : "data-encrypted-name=\"expiryYear\""); ?> class="year required-entry">
68
+ <?php foreach ($this->getCcYears() as $k=>$v): ?>
69
+ <option value="<?php echo $k?$k:'' ?>"<?php if($k==$_ccExpYear): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
70
+ <?php endforeach ?>
71
+ </select>
72
+ </div>
73
+ </div>
74
+ </li>
75
+ <?php echo $this->getChildHtml() ?>
76
+ <?php if($this->hasVerification()): ?>
77
+ <li>
78
+ <label for="<?php echo $_code ?>_cc_cid" class="required"><em>*</em><?php echo $this->__('Card Verification Number') ?></label>
79
+ <div class="input-box">
80
+ <div class="v-fix">
81
+ <input type="text" title="<?php echo $this->__('Card Verification Number') ?>" class="input-text cvv required-entry" id="<?php echo $_code ?>_cc_cid" <?php echo (!$this->isCseEnabled() ? "name=\"payment[cc_cid]\"" : "data-encrypted-name=\"cvc\""); ?> value="" />
82
+ </div>
83
+ <a href="#" class="cvv-what-is-this"><?php echo $this->__('What is this?') ?></a>
84
+ </div>
85
+ </li>
86
+ <?php endif; ?>
87
+ <?php if($this->hasInstallments()): ?>
88
+ <li>
89
+ <label for="<?php echo $_code ?>_installments" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
90
+ <div class="input-box">
91
+ <div class="v-fix">
92
+ <select id="<?php echo $_code ?>_installments" name="payment[additional_data]" class="number required-entry">
93
+ <?php foreach ($this->getPossibleInstallments() as $k=>$v): ?>
94
+ <option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
95
+ <?php endforeach ?>
96
+ </select>
97
+ </div>
98
+ </div>
99
+ </li>
100
+ <?php endif;?>
101
+ </ul>
102
+ <?php if ($this->isCseEnabled()): ?>
103
+ <input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
104
+ <input type="hidden" id="adyen-cse-form" />
105
+ <script type="text/javascript">
106
+ //<![CDATA[
107
+ var cse_form = document.getElementById('adyen-cse-form').form;
108
+ var cse_key = <?php echo json_encode($this->getCsePublicKey()); ?>;
109
+ var cse_options = {
110
+ name: 'payment[encrypted_data]',
111
+ force: true
112
+ };
113
+ var cse = function() {
114
+ if (payment.currentMethod && payment.currentMethod == '<?php echo $_code ?>') {
115
+ try {
116
+ adyen.encrypt.createEncryptedForm(cse_form, cse_key, cse_options);
117
+ } catch (e) {
118
+ var encryptionFailed = true;
119
+ }
120
+ var encryptedForm = document.getElementById(cse_options.name);
121
+ if (encryptionFailed || !encryptedForm || encryptedForm.value.length == 0) {
122
+ alert("Warning: Adyen Client Side Encryption cannot succeed.");
123
+ }
124
+ }
125
+ }
126
+ var cse_initialize = function() {
127
+ if (typeof adyen === 'undefined') {
128
+ js = document.createElement("script");
129
+ js.type = "text/javascript";
130
+ js.src = "<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS); ?>adyen/payment/adyen.encrypt.js";
131
+ document.body.appendChild(js);
132
+ }
133
+ if (typeof payment.save !== 'undefined') {
134
+ payment.save = payment.save.wrap(function(originalSaveMethod) {
135
+ cse.call(this);
136
+ originalSaveMethod();
137
+ });
138
+ }
139
+ if (typeof checkout.save !== 'undefined') {
140
+ checkout.save = checkout.save.wrap(function(originalSaveMethod) {
141
+ cse.call(this);
142
+ originalSaveMethod();
143
+ });
144
+ }
145
+ }
146
+
147
+ if (document.readyState === "complete") {
148
+ cse_initialize();
149
+ }
150
+ else {
151
+ Event.observe(window, 'load', cse_initialize);
152
+ }
153
+ //]]>
154
+ </script>
155
+ <?php endif;?>
app/design/frontend/base/default/template/adyen/info/cc.phtml CHANGED
@@ -1,40 +1,40 @@
1
- <?php
2
- /**
3
- * Adyen Payment Module
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Adyen
16
- * @package Adyen_Payment
17
- * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
- /**
21
- * @category Payment Gateway
22
- * @package Adyen_Payment
23
- * @author Adyen
24
- * @property Adyen B.V
25
- * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
- */
27
- ?>
28
- <?php
29
- if ($_info = $this->getInfo()) {
30
- if ($this->isCseEnabled()) {
31
- echo "Adyen Credit Card";
32
- }
33
- else {
34
- echo $this->__('Name on the Card: %s', $this->htmlEscape($_info->getCcOwner()))."<br/>";
35
- echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName()))."<br/>";
36
- echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($_info->getCcLast4()))."<br/>";
37
- echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($_info->getCcExpYear()));
38
- }
39
- }
40
  ?>
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ ?>
28
+ <?php
29
+ if ($_info = $this->getInfo()) {
30
+ if ($this->isCseEnabled()) {
31
+ echo "Adyen Credit Card";
32
+ }
33
+ else {
34
+ echo $this->__('Name on the Card: %s', $this->htmlEscape($_info->getCcOwner()))."<br/>";
35
+ echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName()))."<br/>";
36
+ echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($_info->getCcLast4()))."<br/>";
37
+ echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($_info->getCcExpYear()));
38
+ }
39
+ }
40
  ?>
app/locale/nl_NL/Adyen_Payment.csv DELETED
@@ -1,56 +0,0 @@
1
- "You will be redirected to Adyen website when you place an order.","U wordt doorverwezen naar de Adyen website na het plaatsen van de order."
2
- "%s ( Qty: %s ) (Price: %s %s ) <br />","%s ( Aantal: %s ) (Prijs: %s %s ) <br />"
3
- "Adyen %s <br /> authResult: %s <br /> pspReference: %s","Adyen %s <br /> authResult: %s <br /> pspReference: %s"
4
- "Adyen %s <br /> eventCode: %s <br /> pspReference: %s <br /> success: %s","Adyen %s <br /> eventCode: %s <br /> pspReference: %s <br /> success: %s"
5
- "Adyen response(s): %s <br /> pspReference: %s","Adyen response(s): %s <br /> pspReference: %s"
6
- "Authorize Only","Alleen autoriseren"
7
- "Authorize and Capture","Autoriseren en innen"
8
- "Can not connect payment service. Please try again later.","Kan geen contact maken met de betaalservice, probeer het later nog eens."
9
- "Capture Mode set to Manual","Capture Mode is ingesteld op Handmatig"
10
- "Customer was redirected to Adyen.","De klant werd doorgestuurd naar Adyen"
11
- "Order can not Hold","Order kan niet worden vastgehouden"
12
- "Order can not be canceled","Order kan niet worden geannuleerd"
13
- "Order rows: <br />","Order regels: <br />"
14
- "Shipment cost: %s %s <br />","Verzendkosten: %s %s <br />"
15
- "System error, please try again later","Systeemfout, probeer het later nog eens"
16
- "System error, please try again later: %s","Systeemfout, probeer het later nog eens: %s"
17
- "The payment is REFUSED by Adyen.","Uw betaling is geweigerd door Adyen"
18
- "You will be redirected to Adyen in a few seconds.","U wordt binnen een paar seconden doorgestuurd naar Adyen"
19
- "Your payment failed, Please try again later","Uw betaling is mislukt, probeer het later nog eens"
20
- "--Please Select--","--Maak een keuze--"
21
- "Account Number","Rekeningnummer"
22
- "Account holder name","Rekeninghouder"
23
- "Account holder: %s","Rekeninghouder: %s"
24
- "Account number: xxx%s","Rekeningnummer: xxx%s"
25
- "Bank Location","Locatie bank"
26
- "Bank Location (City)","Locatie bank (Plaats)"
27
- "Bank Location ID","Locatie bank ID"
28
- "Bank Name","Naam van de bank"
29
- "Bank code: %s","Bank code: %s"
30
- "Bank name: %s","Naam van de bank: %s"
31
- "Card Verification Number","Verificatie nummer van de creditcard"
32
- "Credit Card Number","Creditcard nummer"
33
- "Credit Card Number: xxxx-%s","Creditcard nummer: xxx-%s"
34
- "Credit Card Type","Creditcard type"
35
- "Credit Card Type: %s", "Creditcard Type: %s"
36
- "Expiration Date","Vervaldatum"
37
- "Expiration Date: %s/%s","Vervaldatum: %s/%s"
38
- "Name on Card","Naam zoals weergegeven op de creditcard"
39
- "Name on the Card: %s","Naam zoals weergegeven op de creditcard: %s"
40
- "Payment Method: %s","Betaal methode: %s"
41
- "Submitting payment information...","Verzenden betaal informatie..."
42
- "What is this?","Wat is dit?"
43
- "Order email sent to shopper.","Order-email is naar de klant verzonden."
44
- "The payment is PENDING by Adyen.","U heeft nog niet betaald volgens Adyen."
45
- "The payment is AUTHORIZED by Adyen.","Uw betaling is geautoriseerd door Adyen."
46
- "There has an error occurred with your Adyen payment.","Er is een fout opgetreden bij uw Adyen betaling."
47
- "There was an error with your payment.","Er is een fout opgetreden bij uw betaling."
48
- "You will be redirected to Adyen website when you place an order.","U wordt doorgestuurd naar Adyen na het plaatsen van de order."
49
- "Your payment is cancelled.","Uw betaling is geannuleerd."
50
- "Your payment is CANCELLED","Uw betaling is GEANNULEERD"
51
- "Your payment is pending.","U heeft nog niet betaald."
52
- "Your payment is refused.","Uw betaling is geweigerd."
53
- "Your payment is authorized.","Uw betaling is geautoriseerd."
54
- "Installments","Periodes"
55
- "Year","Jaar"
56
- "Month","Maand"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Adyen_Payment</name>
4
- <version>2.0.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/OSL-3.0">Open Software License (OSL-3.0)</license>
7
  <channel>community</channel>
@@ -10,14 +10,13 @@
10
  <description>Magento Plugin for Payment Service Provider Adyen. The integration guide for this Plugin is available on the Adyen Support website: support.adyen.com, type in 'Magento'&#xD;
11
  &#xD;
12
  support@adyen.com</description>
13
- <notes>Fixes:&#xD;
14
- &#xD;
15
- Bugfix for CSE checkout&#xD;
16
- </notes>
17
  <authors><author><name>Adyen</name><user>adyen</user><email>support@adyen.com</email></author></authors>
18
- <date>2014-05-19</date>
19
- <time>08:47:58</time>
20
- <contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="5ea94a9cd82c136be1daa4298397f17c"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Filter"><file name="Adyen.php" hash="d5e828a9621eda18cf3404c6d294cf18"/></dir><dir name="Renderer"><file name="Adyen.php" hash="44bc7f403e35ce4711101f8b93192190"/></dir></dir></dir></dir><dir name="Checkout"><file name="Success.php" hash="8edb224af51fb76d111807168268f67c"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="29aa8c90287d37979fc5eb35554fc630"/><file name="Cc.php" hash="c8044cfc9312970a40db5bd20cf56622"/><file name="Elv.php" hash="c3de45c9161b1564209b79a80140fec3"/><file name="Hpp.php" hash="1ad9ac1b1f4f847101edd37341d03ec6"/><file name="Openinvoice.php" hash="86994b120bfdff14854194be5cb530bf"/><file name="Pos.php" hash="7a93f39cd4c30d5be1b56218a4e04a7f"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="720913657cb3aad5706aaff9e73ff65c"/><file name="Cc.php" hash="c5436974b75cc518cb54ca67697737cf"/><file name="Elv.php" hash="d35cfabffa923a7c0345a1dacde38a52"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/></dir><file name="Redirect.php" hash="4775ad8e9b35613c2d7e10cbe7fdfaa5"/></dir><dir name="Helper"><file name="Data.php" hash="cd50d08a820784ba7f5bf2d6784ad732"/><file name="Installments.php" hash="17939cc8c1dee41816f082b9c0c31e3b"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="adbfa5cf619e0a190bdf9eebdc972d2b"/><file name="Boleto.php" hash="e92f38062af2dcc766161ce2e92d9fac"/><file name="Cc.php" hash="b0f2d58a9f484a541412e51eef1c1aa4"/><dir name="Data"><file name="Abstract.php" hash="dcdd899bd0595af98886ff752a67e21a"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BrowserInfo.php" hash="a6fde03f1d22b32918a5846ffff40ebf"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="IdealPaymentRequest.php" hash="8281d9276cdf4fa65a4a451a4096a979"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="a3f423014bd18a35d4e7e65a1a12fa79"/><file name="ModificationRequest.php" hash="81ea8b3a849f8fccba2c55c4832b0cc8"/><file name="ModificationResult.php" hash="eec37eba3849baa4ad52b194e31ac362"/><file name="NotificationClassmap.php" hash="31166e4ef9ea728c107f5ee501d67fc5"/><file name="NotificationRequest.php" hash="4647bfc558308e8f7795ae97fbf2c066"/><file name="NotificationRequestItem.php" hash="ef0794de69076f4accc5035b3f659808"/><file name="OpenInvoiceDetailResult.php" hash="624ecf8f5aca811cf6662c35ab0b38cb"/><file name="PaymentRequest.php" hash="a334c727fd667297a6bd5d5335a61ec2"/><file name="PaymentRequest3d.php" hash="627e7f75dbe5030d0b599c632df8ad9b"/><file name="Recurring.php" hash="bad9acc8370eff0008ebbc0a6a32a75b"/><file name="RecurringRequest.php" hash="aed77050f296df4f48c88038ef3ac547"/><dir name="Server"><file name="Notification.php" hash="51ed88aa2c2035e4cb7b4e992e7c8e4a"/><file name="Openinvoice.php" hash="d94166e3c8337e213061655ab7e48e68"/></dir><file name="ShopperName.php" hash="91bfea9ade01d29fa9053de87ce01560"/></dir><file name="Debug.php" hash="74602c79f2f9d9d5478bd8f0126fabf2"/><file name="Dummy.php" hash="a72ccc6e8c5268cf6786db289de4e3d9"/><file name="Elv.php" hash="f3e6067e8bb235d037c7cd78aaa703b6"/><file name="Hpp.php" hash="dd1eb2b1bb3af21ba3cb4d408b3056b7"/><file name="Ideal.php" hash="8359f4eb5c28363680c08ecbc88a28a5"/><file name="Openinvoice.php" hash="20b40289b83c7b0c0ace4d79baac989c"/><file name="Pos.php" hash="e83076843d3797fcee7cce2c271f3b80"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/></dir><file name="Authenticate.php" hash="bd6e5aab728cfe3874fbe43ca1213f99"/><file name="Event.php" hash="52184be6de80f9835a93de826ca1b65f"/><dir name="Mysql4"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="529ea415b928a606699f6db6ccb5682f"/></dir><file name="Debug.php" hash="b14f485dee343c6c597ff37307616ea4"/><file name="Event.php" hash="0cb65021f52c84f0f567098bd90db4e6"/></dir><file name="Order.php" hash="05c5ce3b68f877b23d1396d13db18517"/><file name="Setup.php" hash="45997ed47c197cb302d6fbb684489201"/></dir><file name="Observer.php" hash="7494dc549d07127865a8557c9b06f59a"/><file name="Process.php" hash="d9039c5c3189abf5f4363a31eeb47d6a"/><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="97d4e2549bec42b8282636f1e98e853a"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><dir name="Status"><file name="Refund.php" hash="bb700fa537f3a7c27c43691846777ef4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir></dir><dir name="controllers"><file name="ProcessController.php" hash="44816034ef925a08f2103f939259721f"/></dir><dir name="docs"><dir name="httpauthentication"><file name="cgihtaccess.patch" hash="b1ca6c18002d1c22f53c8dd55aee1845"/><file name="howto" hash="31677f6b34fca607f8751c9eb5bdcac2"/></dir><file name="readme" hash="aae2884b18ed35ab74c7e73f4baec6e3"/><file name="test-cards" hash="d7a4a41bc2bb17f74dcbcfbc41156675"/><dir name="translation"><file name="Adyen_Payment.csv" hash="0094e6a70aca120e94cc395f139f1687"/><file name="Mage_Checkout.csv" hash="7d3bcce1ce01d189d113d02b949b73ca"/><file name="howto" hash="00a8a321b06b7235c6e6ca39cfcef80f"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="f7166d125a3f8ba355b8b9fc923abc88"/><file name="config.xml" hash="7a8e4de3918607671d4aa94b0ab70f5b"/><file name="system.xml" hash="39dff4e41d3354d561e71688c1d4e662"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="3c304ff04d461bc0bfa6205c03dceea0"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="3d687c555ed52be5eeb4eaba126abb2b"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="27b202258c2bd16ee64902df7985862e"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="85d3de753b99b541a4547c39b7713905"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="8b43e357cf7a365b1e099b130db51b20"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="0ba22acbe3f48fc1ae1e76212a11dc2a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="2b029ba94cea8dd9b6d82a0de265234f"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="c087b4bbc48cf47e954b6cfbd1f2c5bb"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="a963acf4938f60fde0672bb6177399f1"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="68eece17c2f42e5c9830d1b9d1462a12"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="4a91ca20deb8e5dd083d8f4d68102812"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/></dir><dir name="info"><file name="boleto.phtml" hash="fd3d6d83a26d1584b9c7912011465f26"/><file name="cc.phtml" hash="efc3b6b152112f869029cf88fccbf17a"/><file name="elv.phtml" hash="7a6b627e0c6acd04497d52f5047e930a"/><file name="hpp.phtml" hash="55005919f39ca07650aca6039d423081"/><file name="openinvoice.phtml" hash="14f889a7cc056538629ca9963e4052f0"/><file name="pos.phtml" hash="a5b175023f0670409122876074d6f050"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><file name="pdf.tar.bz2" hash="d4b4edd908e7784efc8ac45fe1ce73cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><file name="blank.phtml" hash="03d788d9ec2aa70de7eb66015b2c4da1"/><dir name="checkout"><file name="success.phtml" hash="56c5bdd54f9cbed22be7afe0deedead4"/></dir><dir name="form"><file name="boleto.phtml" hash="3598286ebd678277681160eaa1c842e3"/><file name="cc.phtml" hash="09d2b29179fe51214dfac4fa8f065dd3"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="86fe103d87159f5cd18065f5d0b673c8"/><file name="openinvoice.phtml" hash="7e749cb508d84e1c065a0048f6cf616b"/><file name="pos.phtml" hash="674097ccf62f13c969d39c2f6a6824b8"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="34d54b945ae0f0eb398221ffde621963"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="4d91b5d0729eafc220268d204b514cae"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/></dir></dir></dir><dir name="layout"><file name="adyen.xml" hash="b0ada29d53ebe692ce7ad795a717a347"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="magelocale"><dir><dir name="nl_NL"><file name="Adyen_Payment.csv" hash="e49ec0639bf93cc861abfcd77a121442"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="alipay.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="alipay_small_grey.png" hash="e5ffe7ff272ce2814b7808fd047a9c6b"/><file name="alipay_tiny.png" hash="1a7867dd958ddcdd90ad2400e5be23de"/><file name="amex.png" hash="8e3b962f9ef18e08cf16b77934607d28"/><file name="amex_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="amex_small_grey.png" hash="0f6aabd8dfcbf48dbb555b9191d7795e"/><file name="amex_tiny.png" hash="b7016f4efb163c985d6f1d99a8433d2a"/><file name="asiapay.png" hash="44626dc317e547fb40010498c1096407"/><file name="asiapay_small.png" hash="cca4d86b5abc510f20ca9563d7215c3d"/><file name="asiapay_small_grey.png" hash="00e20b2b2eb0d2ad51c15d8ccc558dc5"/><file name="asiapay_tiny.png" hash="ba0d613d94a64918c0338504fed20ee7"/><file name="autopay.png" hash="4251763c71239e7b1b421e4bc7f5b70a"/><file name="autopay_small.png" hash="ca6941b80b6157bae2411b5620149d2d"/><file name="autopay_small_grey.png" hash="f69d143b4f1fc16a9138ccfacec808a4"/><file name="autopay_tiny.png" hash="4c0c91402daafc63bdb5979dbbd963db"/><file name="babygiftcard.png" hash="91bcbb6604b26565b89898c9a8e1e117"/><file name="babygiftcard_small.png" hash="2558bbdd4d9528b37ba93a8c4af536a4"/><file name="babygiftcard_tiny.png" hash="393a192fab9874e3b167c3bc5d568db7"/><file name="baloto.png" hash="1c172c628f79837c83196b243c636ff5"/><file name="baloto_small.png" hash="c66db84ac7fed6f81010e8058fa39a74"/><file name="baloto_small_grey.png" hash="bdc5eac76e02a658b348a0722fca9ba9"/><file name="baloto_tiny.png" hash="5e10ee14c8a44c3b4c28571664fa045f"/><file name="bancnet.png" hash="a2b687ef27244e448b85635cc1d3ec60"/><file name="bancnet_small.png" hash="4473bc16badc29200ffd09021778b1e3"/><file name="bancnet_small_grey.png" hash="6b108ea906b6d6a5ad51e4de6db732eb"/><file name="bancnet_tiny.png" hash="0ac28b35fd4e09954debcd2eb42e89ce"/><file name="bank24.png" hash="9a921572d6bae73604e1122ec3e5bf7e"/><file name="bankTransfer_AE.png" hash="a6f29729723fa65c732ffc9267b3f8be"/><file name="bankTransfer_AE_small.png" hash="a3322805ab1c40c4e6237943185284ab"/><file name="bankTransfer_AE_tiny.png" hash="dfcf50c97c3b832fd3c17efb2864335c"/><file name="bankTransfer_AT.png" hash="7fa4204d1426a64a4cd26af06af44d41"/><file name="bankTransfer_AT_small.png" hash="31037dcf034d1e9d28254d1962b2ca16"/><file name="bankTransfer_AT_tiny.png" hash="4ee9964118e05d2a81335f3033ec5bf1"/><file name="bankTransfer_AU.png" hash="05716c67579fcf3574037ce69c9e4229"/><file name="bankTransfer_AU_small.png" hash="acd23b8e3ccf3c9d28960fde63c22e85"/><file name="bankTransfer_AU_tiny.png" hash="4a3ee62afdac23a00a0675c763e93470"/><file name="bankTransfer_BE.png" hash="5547426f07e0562ba9b605f1f04a9ad7"/><file name="bankTransfer_BE_small.png" hash="007dbd9f27115b601eb94db09a10b8f3"/><file name="bankTransfer_BE_tiny.png" hash="cf0285a691339efad52d82d40c7aa9f1"/><file name="bankTransfer_BG.png" hash="be209415f5bec0a45bd2bd9cd3c41d0a"/><file name="bankTransfer_BG_small.png" hash="6249144aa579c494988b5bbecb22eb69"/><file name="bankTransfer_BG_tiny.png" hash="7c11956844dbf7cc76db038b32fc7ab1"/><file name="bankTransfer_CH.png" hash="9b20d62386085ac2c9da1227abec5d58"/><file name="bankTransfer_CH_small.png" hash="2887bcf97901ed7ed6bc4fb5d8a00876"/><file name="bankTransfer_CH_tiny.png" hash="c0218d075bbb503689f40007a331ba85"/><file name="bankTransfer_CZ.png" hash="78f7aac275e10af77b3bbab28ba1aa23"/><file name="bankTransfer_CZ_small.png" hash="7bf17799b64aa618945981eb7fa00cce"/><file name="bankTransfer_CZ_tiny.png" hash="7f2a7e2fde701bff21fa388776e73632"/><file name="bankTransfer_DE.png" hash="989d5e1cc2547504b0fbc7aa88e08713"/><file name="bankTransfer_DE_small.png" hash="fb50048c4acfdebf85c4c8f90d8b08d9"/><file name="bankTransfer_DE_small.xcf" hash="cfbc9a47bc116e97a121771c0aa6fe83"/><file name="bankTransfer_DE_tiny.png" hash="d4d68f1068df68f61cb828005c9c0ac9"/><file name="bankTransfer_DK.png" hash="a2e9a409144a8ef18747faafa2937609"/><file name="bankTransfer_DK_small.png" hash="71e75c357b475fe236b633ac8a2a76cd"/><file name="bankTransfer_DK_tiny.png" hash="0103bbe5b8a803aad990bd4ad53c88c0"/><file name="bankTransfer_EE.png" hash="9caa3e1ac3558e9ec372c45df045bae6"/><file name="bankTransfer_EE_small.png" hash="91ffe550444bac13ac29ac1696ffdfac"/><file name="bankTransfer_EE_tiny.png" hash="59ea293d7ba58cd6dd9a9a2b43088093"/><file name="bankTransfer_ES.png" hash="7d0051c7ee32eddca94b89368bb5afbe"/><file name="bankTransfer_ES_small.png" hash="2dc1519510ef7bea726e0bca70859c06"/><file name="bankTransfer_ES_tiny.png" hash="a2338a0d60b2585ac34269daf794d189"/><file name="bankTransfer_FI.png" hash="ffbe8dfa936a4628e3c029bd957f367d"/><file name="bankTransfer_FI_small.png" hash="1db5d45d947502483a2e8c40aab3734d"/><file name="bankTransfer_FI_tiny.png" hash="b9f26cef0fc7f051b6d79ada14c902ba"/><file name="bankTransfer_FR.png" hash="572f77cf0f22103300682c5f89e9d9e9"/><file name="bankTransfer_FR_small.png" hash="58a268c927e4d19858ed3241ceac05f8"/><file name="bankTransfer_FR_tiny.png" hash="dee4c0c47d94fb0e2ab032264c4d1543"/><file name="bankTransfer_GB.png" hash="5a7eee2f31bec7bf422425f31aea2d5a"/><file name="bankTransfer_GB_small.png" hash="17d3c0ca20cee2250e3b6d0f5f080ba9"/><file name="bankTransfer_GB_tiny.png" hash="24d7d3ce5dc62ef776f3f36f24ff78b1"/><file name="bankTransfer_GI.png" hash="e9035b335bd8dc809c7e4afc7d775cc0"/><file name="bankTransfer_GI_small.png" hash="e51bd2f8333a8d8b2163c777c5b12b48"/><file name="bankTransfer_GI_tiny.png" hash="d158401d4dd73a057adac68f3f23ad89"/><file name="bankTransfer_GR.png" hash="aefe60c85d74d77d1c1327538617f297"/><file name="bankTransfer_GR_small.png" hash="b9a0a5d6ec52c80d72d8e8cf903f37f3"/><file name="bankTransfer_GR_tiny.png" hash="1dc0912afd646785eade5d8785baa12c"/><file name="bankTransfer_IBAN.png" hash="f636fcae0c128e08baaef26dacaa078d"/><file name="bankTransfer_IBAN_small.png" hash="ffc0073f2fe405de05206cdfc1565daa"/><file name="bankTransfer_IBAN_tiny.png" hash="4a4f64cb62ca9cfec99d117d0169bb83"/><file name="bankTransfer_IE.png" hash="eb6efba5502d54571022feaef9a9ded3"/><file name="bankTransfer_IE_small.png" hash="d9359e8a2bf8c04d4d43acdcc8b30a5e"/><file name="bankTransfer_IE_tiny.png" hash="b3a0f75656b535960c362baaabc45ce3"/><file name="bankTransfer_IT.png" hash="cd56062b943e4ec6716bc72ebe4b62a9"/><file name="bankTransfer_IT_small.png" hash="29ac58a26ae12dc26dd2d501262ed361"/><file name="bankTransfer_IT_tiny.png" hash="c45892a3e2ae81bb9b4508d79164e556"/><file name="bankTransfer_JP.png" hash="20023e2e93afc881740ea74e89251d86"/><file name="bankTransfer_LU.png" hash="b3dbdeea3429de5280c3a6d911930e9a"/><file name="bankTransfer_LU_small.png" hash="ebb919c647653075be4d9bfaeec8c00c"/><file name="bankTransfer_LU_tiny.png" hash="ec058289aef35f481077c56cdf758032"/><file name="bankTransfer_MT.png" hash="8955bc706cf66307ba69e58d8006af2d"/><file name="bankTransfer_MT_small.png" hash="13ce68bbda83c39b8719d356705da6d2"/><file name="bankTransfer_MT_tiny.png" hash="b05aa11e844f09fa797a3540534e5155"/><file name="bankTransfer_NL.png" hash="ccffd7131f791f7eb44e21b42fd66cc4"/><file name="bankTransfer_NL_small.png" hash="90f18f3784ec4c4733891aafd2e83958"/><file name="bankTransfer_NL_small.xcf" hash="ac17edd9804089820e9d73c76441abfc"/><file name="bankTransfer_NL_tiny.png" hash="61e9d461381aa1fb7e9dbcc8012686e0"/><file name="bankTransfer_NO.png" hash="ffcb1204470ff94a7cf2025e000e4978"/><file name="bankTransfer_NO_small.png" hash="daab5aceaf8e4dd59dfcf29fa69cdc24"/><file name="bankTransfer_NO_tiny.png" hash="3fbbf9e381d8d0d9ada61a54778655cb"/><file name="bankTransfer_PL.png" hash="cd25fefef6bce86a97ab7242138360e2"/><file name="bankTransfer_PL_small.png" hash="880b17d7d090c7bd21965e9b78894851"/><file name="bankTransfer_PL_tiny.png" hash="9579393e3dbb3c2aeb7ebf35e54ef4e7"/><file name="bankTransfer_PT.png" hash="c3c652523d77b5d085da97111c96ef9e"/><file name="bankTransfer_PT_small.png" hash="9d3a979ef52298bcc1545b131bd4a3db"/><file name="bankTransfer_PT_tiny.png" hash="cf2be093140773d75d8993fab7aa347c"/><file name="bankTransfer_SE.png" hash="e5608461fa8bdbac771449f30cde91ec"/><file name="bankTransfer_SE_small.png" hash="0f57f6092f8bef25c9973a140a2d85ad"/><file name="bankTransfer_SE_tiny.png" hash="79f3a00608bf18d686d89562af80a72f"/><file name="bankTransfer_SK.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bankTransfer_SK_small.png" hash="50adde906c3a965992bbfb04554a5371"/><file name="bankTransfer_SK_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="bankTransfer_US.png" hash="9013561099b618aa954f5a3e1352a6ce"/><file name="bankTransfer_US_small.png" hash="191e204c1216a199229da9d75ed1a2a5"/><file name="bankTransfer_US_tiny.png" hash="9d9e942b93d13a18e38aac0ee932fe15"/><file name="bank_ru.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bank_ru_small.png" hash="01c263789dd7e38ac4078f55161ec19b"/><file name="bank_ru_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="barras.png" hash="389f5242e23cc5b386392d5d21459f21"/><file name="barras_small.png" hash="9e657657b963a1434e88d4289acf9448"/><file name="barras_small_grey.png" hash="d14dbd53e9a52706bf736525a90d8f63"/><file name="barras_tiny.png" hash="e46d37c7e69ef3722876a0205431f1c8"/><file name="bcmc.png" hash="28dca1b34022f2c653c13556c452fce3"/><file name="bcmc_small.png" hash="49698208e5b73f80773260c3fdb3e5a3"/><file name="bcmc_small_grey.png" hash="5069f14bff23c074af6fe2092a2e482a"/><file name="bcmc_tiny.png" hash="3b4221516dc0d1ace3432a473903991e"/><file name="beelinesms.png" hash="a559096cb240aaf7696be7563498b18b"/><file name="bijcard.png" hash="c93da8e22fac6869d729e961df24b593"/><file name="bijcard_small.png" hash="f188b92b77af1613a91c00450d3eb168"/><file name="bijcard_small_grey.png" hash="08eb4420ac9f7a7f691d688e9550f651"/><file name="bijcard_tiny.png" hash="b88eeed8f7318514f849e3ed3a9a2ce8"/><file name="bill99.png" hash="461213bcf10fb394ef524d3a0ad92ee0"/><file name="bill99_small.png" hash="d6e30f7d3da5ce34af3aa7e2353b4809"/><file name="bill99_small_grey.png" hash="a66c49f3556fa99301f4288341eaa014"/><file name="bill99_tiny.png" hash="d10dbbf6512e15252ad6d1337670a7fd"/><file name="boleto.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_hsbc.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_itau.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_santander.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="c_cash.png" hash="1b9d5b0c9ece2eaff0be71b4082e0655"/><file name="c_factuur.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_factuur_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_factuur_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_invoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_invoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_invoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_oprekening.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_oprekening_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_oprekening_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_paypal.png" hash="fe5fd0065e4a84e967095f082b329d7f"/><file name="c_paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="c_rembours.png" hash="fb2da23375ce5ba67380dc0fb60e7669"/><file name="c_rembours_small.png" hash="0d0f244c1820921db3a6635552cf8129"/><file name="c_rembours_tiny.png" hash="c15d78de45389d475f2786fed3e81c4b"/><file name="card.png" hash="adfe3d9fe45c3f94b9edca852e2cb38c"/><file name="cashticket.png" hash="0dba12beffb7c5ebf47ae1e5701426f3"/><file name="cashticket_small.png" hash="ade5518971a871dd48b0628af6f6cf89"/><file name="cashticket_small_grey.png" hash="348c3721fbedfb2a7121f57db435f43e"/><file name="cashticket_tiny.png" hash="95248971eb69c150748b9acf27f68fb5"/><file name="cashticket_tiny2.png" hash="16ab15f5263fe81ab5233d02ce2cd715"/><file name="cashu.png" hash="1b6d79438ad686cdff44866a66445dca"/><file name="ccavenue.png" hash="aee563b4c9c77d8a881db1e79ad8758d"/><file name="ccavenue_small.png" hash="ffa7390808c679e8d6c580fcf14054fb"/><file name="ccavenue_small_grey.png" hash="9a6c58e88230fb6a167e597752a533ab"/><file name="ccavenue_tiny.png" hash="994d56725d095d107fb33c6f3abf7653"/><file name="cellpaypoint.png" hash="c676483390c0c7e932a320b6326593da"/><file name="cellpaypoint_small.png" hash="f720447e73325b922568a00d0effe75c"/><file name="cellpaypoint_small_grey.png" hash="c6deea99f2099ade43b2b75dcb62f273"/><file name="cellpaypoint_tiny.png" hash="5c00501360e94b3020ff54bccbc2e531"/><file name="ciberpay.png" hash="625d300997f331918e912dc266e1a3a4"/><file name="contact_ru.png" hash="5f70b79ee4232a81a9f7eb0224b0ba3c"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="77d39df20e43da4dc5ff1e749ed60afa"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="c2b680f6077b829b0129e2bfd53cf22f"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/></dir></dir></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Adyen_Payment</name>
4
+ <version>2.0.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/OSL-3.0">Open Software License (OSL-3.0)</license>
7
  <channel>community</channel>
10
  <description>Magento Plugin for Payment Service Provider Adyen. The integration guide for this Plugin is available on the Adyen Support website: support.adyen.com, type in 'Magento'&#xD;
11
  &#xD;
12
  support@adyen.com</description>
13
+ <notes>Hotfix disable fields on HPP for Klarna&#xD;
14
+ Hotfix delete unused ifelse statement&#xD;
15
+ Hotfix only add lines for discount costs and shipping cost for openinvoice\klarna if this is the case. Removed the overall tax costs line because all product already have tax costs defined</notes>
 
16
  <authors><author><name>Adyen</name><user>adyen</user><email>support@adyen.com</email></author></authors>
17
+ <date>2014-06-17</date>
18
+ <time>09:05:03</time>
19
+ <contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="f316d311c9e1c876fb18896d85734cf8"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Filter"><file name="Adyen.php" hash="d5e828a9621eda18cf3404c6d294cf18"/></dir><dir name="Renderer"><file name="Adyen.php" hash="44bc7f403e35ce4711101f8b93192190"/></dir></dir></dir></dir><dir name="Checkout"><file name="Success.php" hash="8edb224af51fb76d111807168268f67c"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="29aa8c90287d37979fc5eb35554fc630"/><file name="Cc.php" hash="9e9f2b2fb861e39133635ce7adc40bb1"/><file name="Elv.php" hash="c3de45c9161b1564209b79a80140fec3"/><file name="Hpp.php" hash="1ad9ac1b1f4f847101edd37341d03ec6"/><file name="Openinvoice.php" hash="86994b120bfdff14854194be5cb530bf"/><file name="Pos.php" hash="7a93f39cd4c30d5be1b56218a4e04a7f"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="720913657cb3aad5706aaff9e73ff65c"/><file name="Cc.php" hash="fda6af2c2c9a6988095b5f4eee3b6711"/><file name="Elv.php" hash="d35cfabffa923a7c0345a1dacde38a52"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/></dir><file name="Redirect.php" hash="66f82378a6c73c349098a8c5b35341ab"/></dir><dir name="Helper"><file name="Data.php" hash="cd50d08a820784ba7f5bf2d6784ad732"/><file name="Installments.php" hash="a2e3baac6ab0af239d048a0f7a9e5368"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="ff2e0015cba8cf06c5e2a50760ab5c24"/><file name="Boleto.php" hash="e92f38062af2dcc766161ce2e92d9fac"/><file name="Cc.php" hash="fc6ba72e489362de7ccfd734830677b4"/><dir name="Data"><file name="Abstract.php" hash="dcdd899bd0595af98886ff752a67e21a"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="IdealPaymentRequest.php" hash="8281d9276cdf4fa65a4a451a4096a979"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="a3f423014bd18a35d4e7e65a1a12fa79"/><file name="ModificationRequest.php" hash="81ea8b3a849f8fccba2c55c4832b0cc8"/><file name="ModificationResult.php" hash="eec37eba3849baa4ad52b194e31ac362"/><file name="NotificationClassmap.php" hash="31166e4ef9ea728c107f5ee501d67fc5"/><file name="NotificationRequest.php" hash="4647bfc558308e8f7795ae97fbf2c066"/><file name="NotificationRequestItem.php" hash="ef0794de69076f4accc5035b3f659808"/><file name="OpenInvoiceDetailResult.php" hash="cfdb5c3b03944556bc3931428339347e"/><file name="PaymentRequest.php" hash="d105a1c9445ef810083ac5d04e6d825f"/><file name="PaymentRequest3d.php" hash="505731df1bb63d6426a11e5d3036552f"/><file name="Recurring.php" hash="bad9acc8370eff0008ebbc0a6a32a75b"/><file name="RecurringRequest.php" hash="aed77050f296df4f48c88038ef3ac547"/><dir name="Server"><file name="Notification.php" hash="51ed88aa2c2035e4cb7b4e992e7c8e4a"/><file name="Openinvoice.php" hash="d94166e3c8337e213061655ab7e48e68"/></dir><file name="ShopperName.php" hash="91bfea9ade01d29fa9053de87ce01560"/></dir><file name="Debug.php" hash="8044ccae24d83db38d9430cf125ada83"/><file name="Dummy.php" hash="a72ccc6e8c5268cf6786db289de4e3d9"/><file name="Elv.php" hash="f3e6067e8bb235d037c7cd78aaa703b6"/><file name="Hpp.php" hash="354ece4d6ddfea544a0067a649093877"/><file name="Ideal.php" hash="8359f4eb5c28363680c08ecbc88a28a5"/><file name="Openinvoice.php" hash="53a3cb1ab35a7a8a539a10cd9928e925"/><file name="Pos.php" hash="b471260f8bfa2f8cd67ead83500095ae"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/></dir><file name="Authenticate.php" hash="9de42d073756d2f1dfaa09a3af83cea9"/><file name="Event.php" hash="52184be6de80f9835a93de826ca1b65f"/><dir name="Mysql4"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="dee84aa1c2b370a72d79031a09b9bba4"/></dir><file name="Debug.php" hash="123808b460f70ad416ed9bb92e6a1d60"/><file name="Event.php" hash="0cb65021f52c84f0f567098bd90db4e6"/></dir><file name="Order.php" hash="05c5ce3b68f877b23d1396d13db18517"/><file name="Setup.php" hash="45997ed47c197cb302d6fbb684489201"/></dir><file name="Observer.php" hash="7494dc549d07127865a8557c9b06f59a"/><file name="Process.php" hash="d9039c5c3189abf5f4363a31eeb47d6a"/><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="97d4e2549bec42b8282636f1e98e853a"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><dir name="Status"><file name="Refund.php" hash="bb700fa537f3a7c27c43691846777ef4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir></dir><dir name="controllers"><file name="ProcessController.php" hash="f13bf04ac2e5ddb6ede00eeced522860"/></dir><dir name="docs"><dir name="httpauthentication"><file name="cgihtaccess.patch" hash="b1ca6c18002d1c22f53c8dd55aee1845"/><file name="howto" hash="31677f6b34fca607f8751c9eb5bdcac2"/></dir><file name="readme" hash="aae2884b18ed35ab74c7e73f4baec6e3"/><file name="test-cards" hash="d7a4a41bc2bb17f74dcbcfbc41156675"/><dir name="translation"><file name="Adyen_Payment.csv" hash="0094e6a70aca120e94cc395f139f1687"/><file name="Mage_Checkout.csv" hash="7d3bcce1ce01d189d113d02b949b73ca"/><file name="howto" hash="00a8a321b06b7235c6e6ca39cfcef80f"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="f7166d125a3f8ba355b8b9fc923abc88"/><file name="config.xml" hash="c276d5a3460770e08f08a389012d1174"/><file name="system.xml" hash="402e1b494490f786940d3744d840aee3"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="3c304ff04d461bc0bfa6205c03dceea0"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="3d687c555ed52be5eeb4eaba126abb2b"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="27b202258c2bd16ee64902df7985862e"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="85d3de753b99b541a4547c39b7713905"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="8b43e357cf7a365b1e099b130db51b20"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="0ba22acbe3f48fc1ae1e76212a11dc2a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="2b029ba94cea8dd9b6d82a0de265234f"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="c087b4bbc48cf47e954b6cfbd1f2c5bb"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="a963acf4938f60fde0672bb6177399f1"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="054ab1e3fa2b3901973a76e4f7547c10"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="4a91ca20deb8e5dd083d8f4d68102812"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/></dir><dir name="info"><file name="boleto.phtml" hash="fd3d6d83a26d1584b9c7912011465f26"/><file name="cc.phtml" hash="232556a362df5d3a88cd7975f7434b1e"/><file name="elv.phtml" hash="7a6b627e0c6acd04497d52f5047e930a"/><file name="hpp.phtml" hash="55005919f39ca07650aca6039d423081"/><file name="openinvoice.phtml" hash="14f889a7cc056538629ca9963e4052f0"/><file name="pos.phtml" hash="a5b175023f0670409122876074d6f050"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><file name="pdf.tar.bz2" hash="d4b4edd908e7784efc8ac45fe1ce73cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><file name="blank.phtml" hash="03d788d9ec2aa70de7eb66015b2c4da1"/><dir name="checkout"><file name="success.phtml" hash="56c5bdd54f9cbed22be7afe0deedead4"/></dir><dir name="form"><file name="boleto.phtml" hash="3598286ebd678277681160eaa1c842e3"/><file name="cc.phtml" hash="02f7b3cdd935db88b560af4fccace63b"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="86fe103d87159f5cd18065f5d0b673c8"/><file name="openinvoice.phtml" hash="7e749cb508d84e1c065a0048f6cf616b"/><file name="pos.phtml" hash="674097ccf62f13c969d39c2f6a6824b8"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="cda685b7c94fc401158bf5901e66c8b6"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="4d91b5d0729eafc220268d204b514cae"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/></dir></dir></dir><dir name="layout"><file name="adyen.xml" hash="93a4b160747bcc918d09944cc7328fab"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="alipay.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="alipay_small_grey.png" hash="e5ffe7ff272ce2814b7808fd047a9c6b"/><file name="alipay_tiny.png" hash="1a7867dd958ddcdd90ad2400e5be23de"/><file name="amex.png" hash="8e3b962f9ef18e08cf16b77934607d28"/><file name="amex_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="amex_small_grey.png" hash="0f6aabd8dfcbf48dbb555b9191d7795e"/><file name="amex_tiny.png" hash="b7016f4efb163c985d6f1d99a8433d2a"/><file name="asiapay.png" hash="44626dc317e547fb40010498c1096407"/><file name="asiapay_small.png" hash="cca4d86b5abc510f20ca9563d7215c3d"/><file name="asiapay_small_grey.png" hash="00e20b2b2eb0d2ad51c15d8ccc558dc5"/><file name="asiapay_tiny.png" hash="ba0d613d94a64918c0338504fed20ee7"/><file name="autopay.png" hash="4251763c71239e7b1b421e4bc7f5b70a"/><file name="autopay_small.png" hash="ca6941b80b6157bae2411b5620149d2d"/><file name="autopay_small_grey.png" hash="f69d143b4f1fc16a9138ccfacec808a4"/><file name="autopay_tiny.png" hash="4c0c91402daafc63bdb5979dbbd963db"/><file name="babygiftcard.png" hash="91bcbb6604b26565b89898c9a8e1e117"/><file name="babygiftcard_small.png" hash="2558bbdd4d9528b37ba93a8c4af536a4"/><file name="babygiftcard_tiny.png" hash="393a192fab9874e3b167c3bc5d568db7"/><file name="baloto.png" hash="1c172c628f79837c83196b243c636ff5"/><file name="baloto_small.png" hash="c66db84ac7fed6f81010e8058fa39a74"/><file name="baloto_small_grey.png" hash="bdc5eac76e02a658b348a0722fca9ba9"/><file name="baloto_tiny.png" hash="5e10ee14c8a44c3b4c28571664fa045f"/><file name="bancnet.png" hash="a2b687ef27244e448b85635cc1d3ec60"/><file name="bancnet_small.png" hash="4473bc16badc29200ffd09021778b1e3"/><file name="bancnet_small_grey.png" hash="6b108ea906b6d6a5ad51e4de6db732eb"/><file name="bancnet_tiny.png" hash="0ac28b35fd4e09954debcd2eb42e89ce"/><file name="bank24.png" hash="9a921572d6bae73604e1122ec3e5bf7e"/><file name="bankTransfer_AE.png" hash="a6f29729723fa65c732ffc9267b3f8be"/><file name="bankTransfer_AE_small.png" hash="a3322805ab1c40c4e6237943185284ab"/><file name="bankTransfer_AE_tiny.png" hash="dfcf50c97c3b832fd3c17efb2864335c"/><file name="bankTransfer_AT.png" hash="7fa4204d1426a64a4cd26af06af44d41"/><file name="bankTransfer_AT_small.png" hash="31037dcf034d1e9d28254d1962b2ca16"/><file name="bankTransfer_AT_tiny.png" hash="4ee9964118e05d2a81335f3033ec5bf1"/><file name="bankTransfer_AU.png" hash="05716c67579fcf3574037ce69c9e4229"/><file name="bankTransfer_AU_small.png" hash="acd23b8e3ccf3c9d28960fde63c22e85"/><file name="bankTransfer_AU_tiny.png" hash="4a3ee62afdac23a00a0675c763e93470"/><file name="bankTransfer_BE.png" hash="5547426f07e0562ba9b605f1f04a9ad7"/><file name="bankTransfer_BE_small.png" hash="007dbd9f27115b601eb94db09a10b8f3"/><file name="bankTransfer_BE_tiny.png" hash="cf0285a691339efad52d82d40c7aa9f1"/><file name="bankTransfer_BG.png" hash="be209415f5bec0a45bd2bd9cd3c41d0a"/><file name="bankTransfer_BG_small.png" hash="6249144aa579c494988b5bbecb22eb69"/><file name="bankTransfer_BG_tiny.png" hash="7c11956844dbf7cc76db038b32fc7ab1"/><file name="bankTransfer_CH.png" hash="9b20d62386085ac2c9da1227abec5d58"/><file name="bankTransfer_CH_small.png" hash="2887bcf97901ed7ed6bc4fb5d8a00876"/><file name="bankTransfer_CH_tiny.png" hash="c0218d075bbb503689f40007a331ba85"/><file name="bankTransfer_CZ.png" hash="78f7aac275e10af77b3bbab28ba1aa23"/><file name="bankTransfer_CZ_small.png" hash="7bf17799b64aa618945981eb7fa00cce"/><file name="bankTransfer_CZ_tiny.png" hash="7f2a7e2fde701bff21fa388776e73632"/><file name="bankTransfer_DE.png" hash="989d5e1cc2547504b0fbc7aa88e08713"/><file name="bankTransfer_DE_small.png" hash="fb50048c4acfdebf85c4c8f90d8b08d9"/><file name="bankTransfer_DE_small.xcf" hash="cfbc9a47bc116e97a121771c0aa6fe83"/><file name="bankTransfer_DE_tiny.png" hash="d4d68f1068df68f61cb828005c9c0ac9"/><file name="bankTransfer_DK.png" hash="a2e9a409144a8ef18747faafa2937609"/><file name="bankTransfer_DK_small.png" hash="71e75c357b475fe236b633ac8a2a76cd"/><file name="bankTransfer_DK_tiny.png" hash="0103bbe5b8a803aad990bd4ad53c88c0"/><file name="bankTransfer_EE.png" hash="9caa3e1ac3558e9ec372c45df045bae6"/><file name="bankTransfer_EE_small.png" hash="91ffe550444bac13ac29ac1696ffdfac"/><file name="bankTransfer_EE_tiny.png" hash="59ea293d7ba58cd6dd9a9a2b43088093"/><file name="bankTransfer_ES.png" hash="7d0051c7ee32eddca94b89368bb5afbe"/><file name="bankTransfer_ES_small.png" hash="2dc1519510ef7bea726e0bca70859c06"/><file name="bankTransfer_ES_tiny.png" hash="a2338a0d60b2585ac34269daf794d189"/><file name="bankTransfer_FI.png" hash="ffbe8dfa936a4628e3c029bd957f367d"/><file name="bankTransfer_FI_small.png" hash="1db5d45d947502483a2e8c40aab3734d"/><file name="bankTransfer_FI_tiny.png" hash="b9f26cef0fc7f051b6d79ada14c902ba"/><file name="bankTransfer_FR.png" hash="572f77cf0f22103300682c5f89e9d9e9"/><file name="bankTransfer_FR_small.png" hash="58a268c927e4d19858ed3241ceac05f8"/><file name="bankTransfer_FR_tiny.png" hash="dee4c0c47d94fb0e2ab032264c4d1543"/><file name="bankTransfer_GB.png" hash="5a7eee2f31bec7bf422425f31aea2d5a"/><file name="bankTransfer_GB_small.png" hash="17d3c0ca20cee2250e3b6d0f5f080ba9"/><file name="bankTransfer_GB_tiny.png" hash="24d7d3ce5dc62ef776f3f36f24ff78b1"/><file name="bankTransfer_GI.png" hash="e9035b335bd8dc809c7e4afc7d775cc0"/><file name="bankTransfer_GI_small.png" hash="e51bd2f8333a8d8b2163c777c5b12b48"/><file name="bankTransfer_GI_tiny.png" hash="d158401d4dd73a057adac68f3f23ad89"/><file name="bankTransfer_GR.png" hash="aefe60c85d74d77d1c1327538617f297"/><file name="bankTransfer_GR_small.png" hash="b9a0a5d6ec52c80d72d8e8cf903f37f3"/><file name="bankTransfer_GR_tiny.png" hash="1dc0912afd646785eade5d8785baa12c"/><file name="bankTransfer_IBAN.png" hash="f636fcae0c128e08baaef26dacaa078d"/><file name="bankTransfer_IBAN_small.png" hash="ffc0073f2fe405de05206cdfc1565daa"/><file name="bankTransfer_IBAN_tiny.png" hash="4a4f64cb62ca9cfec99d117d0169bb83"/><file name="bankTransfer_IE.png" hash="eb6efba5502d54571022feaef9a9ded3"/><file name="bankTransfer_IE_small.png" hash="d9359e8a2bf8c04d4d43acdcc8b30a5e"/><file name="bankTransfer_IE_tiny.png" hash="b3a0f75656b535960c362baaabc45ce3"/><file name="bankTransfer_IT.png" hash="cd56062b943e4ec6716bc72ebe4b62a9"/><file name="bankTransfer_IT_small.png" hash="29ac58a26ae12dc26dd2d501262ed361"/><file name="bankTransfer_IT_tiny.png" hash="c45892a3e2ae81bb9b4508d79164e556"/><file name="bankTransfer_JP.png" hash="20023e2e93afc881740ea74e89251d86"/><file name="bankTransfer_LU.png" hash="b3dbdeea3429de5280c3a6d911930e9a"/><file name="bankTransfer_LU_small.png" hash="ebb919c647653075be4d9bfaeec8c00c"/><file name="bankTransfer_LU_tiny.png" hash="ec058289aef35f481077c56cdf758032"/><file name="bankTransfer_MT.png" hash="8955bc706cf66307ba69e58d8006af2d"/><file name="bankTransfer_MT_small.png" hash="13ce68bbda83c39b8719d356705da6d2"/><file name="bankTransfer_MT_tiny.png" hash="b05aa11e844f09fa797a3540534e5155"/><file name="bankTransfer_NL.png" hash="ccffd7131f791f7eb44e21b42fd66cc4"/><file name="bankTransfer_NL_small.png" hash="90f18f3784ec4c4733891aafd2e83958"/><file name="bankTransfer_NL_small.xcf" hash="ac17edd9804089820e9d73c76441abfc"/><file name="bankTransfer_NL_tiny.png" hash="61e9d461381aa1fb7e9dbcc8012686e0"/><file name="bankTransfer_NO.png" hash="ffcb1204470ff94a7cf2025e000e4978"/><file name="bankTransfer_NO_small.png" hash="daab5aceaf8e4dd59dfcf29fa69cdc24"/><file name="bankTransfer_NO_tiny.png" hash="3fbbf9e381d8d0d9ada61a54778655cb"/><file name="bankTransfer_PL.png" hash="cd25fefef6bce86a97ab7242138360e2"/><file name="bankTransfer_PL_small.png" hash="880b17d7d090c7bd21965e9b78894851"/><file name="bankTransfer_PL_tiny.png" hash="9579393e3dbb3c2aeb7ebf35e54ef4e7"/><file name="bankTransfer_PT.png" hash="c3c652523d77b5d085da97111c96ef9e"/><file name="bankTransfer_PT_small.png" hash="9d3a979ef52298bcc1545b131bd4a3db"/><file name="bankTransfer_PT_tiny.png" hash="cf2be093140773d75d8993fab7aa347c"/><file name="bankTransfer_SE.png" hash="e5608461fa8bdbac771449f30cde91ec"/><file name="bankTransfer_SE_small.png" hash="0f57f6092f8bef25c9973a140a2d85ad"/><file name="bankTransfer_SE_tiny.png" hash="79f3a00608bf18d686d89562af80a72f"/><file name="bankTransfer_SK.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bankTransfer_SK_small.png" hash="50adde906c3a965992bbfb04554a5371"/><file name="bankTransfer_SK_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="bankTransfer_US.png" hash="9013561099b618aa954f5a3e1352a6ce"/><file name="bankTransfer_US_small.png" hash="191e204c1216a199229da9d75ed1a2a5"/><file name="bankTransfer_US_tiny.png" hash="9d9e942b93d13a18e38aac0ee932fe15"/><file name="bank_ru.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bank_ru_small.png" hash="01c263789dd7e38ac4078f55161ec19b"/><file name="bank_ru_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="barras.png" hash="389f5242e23cc5b386392d5d21459f21"/><file name="barras_small.png" hash="9e657657b963a1434e88d4289acf9448"/><file name="barras_small_grey.png" hash="d14dbd53e9a52706bf736525a90d8f63"/><file name="barras_tiny.png" hash="e46d37c7e69ef3722876a0205431f1c8"/><file name="bcmc.png" hash="28dca1b34022f2c653c13556c452fce3"/><file name="bcmc_small.png" hash="49698208e5b73f80773260c3fdb3e5a3"/><file name="bcmc_small_grey.png" hash="5069f14bff23c074af6fe2092a2e482a"/><file name="bcmc_tiny.png" hash="3b4221516dc0d1ace3432a473903991e"/><file name="beelinesms.png" hash="a559096cb240aaf7696be7563498b18b"/><file name="bijcard.png" hash="c93da8e22fac6869d729e961df24b593"/><file name="bijcard_small.png" hash="f188b92b77af1613a91c00450d3eb168"/><file name="bijcard_small_grey.png" hash="08eb4420ac9f7a7f691d688e9550f651"/><file name="bijcard_tiny.png" hash="b88eeed8f7318514f849e3ed3a9a2ce8"/><file name="bill99.png" hash="461213bcf10fb394ef524d3a0ad92ee0"/><file name="bill99_small.png" hash="d6e30f7d3da5ce34af3aa7e2353b4809"/><file name="bill99_small_grey.png" hash="a66c49f3556fa99301f4288341eaa014"/><file name="bill99_tiny.png" hash="d10dbbf6512e15252ad6d1337670a7fd"/><file name="boleto.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_hsbc.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_itau.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_santander.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="c_cash.png" hash="1b9d5b0c9ece2eaff0be71b4082e0655"/><file name="c_factuur.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_factuur_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_factuur_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_invoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_invoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_invoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_oprekening.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_oprekening_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_oprekening_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_paypal.png" hash="fe5fd0065e4a84e967095f082b329d7f"/><file name="c_paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="c_rembours.png" hash="fb2da23375ce5ba67380dc0fb60e7669"/><file name="c_rembours_small.png" hash="0d0f244c1820921db3a6635552cf8129"/><file name="c_rembours_tiny.png" hash="c15d78de45389d475f2786fed3e81c4b"/><file name="card.png" hash="adfe3d9fe45c3f94b9edca852e2cb38c"/><file name="cashticket.png" hash="0dba12beffb7c5ebf47ae1e5701426f3"/><file name="cashticket_small.png" hash="ade5518971a871dd48b0628af6f6cf89"/><file name="cashticket_small_grey.png" hash="348c3721fbedfb2a7121f57db435f43e"/><file name="cashticket_tiny.png" hash="95248971eb69c150748b9acf27f68fb5"/><file name="cashticket_tiny2.png" hash="16ab15f5263fe81ab5233d02ce2cd715"/><file name="cashu.png" hash="1b6d79438ad686cdff44866a66445dca"/><file name="ccavenue.png" hash="aee563b4c9c77d8a881db1e79ad8758d"/><file name="ccavenue_small.png" hash="ffa7390808c679e8d6c580fcf14054fb"/><file name="ccavenue_small_grey.png" hash="9a6c58e88230fb6a167e597752a533ab"/><file name="ccavenue_tiny.png" hash="994d56725d095d107fb33c6f3abf7653"/><file name="cellpaypoint.png" hash="c676483390c0c7e932a320b6326593da"/><file name="cellpaypoint_small.png" hash="f720447e73325b922568a00d0effe75c"/><file name="cellpaypoint_small_grey.png" hash="c6deea99f2099ade43b2b75dcb62f273"/><file name="cellpaypoint_tiny.png" hash="5c00501360e94b3020ff54bccbc2e531"/><file name="ciberpay.png" hash="625d300997f331918e912dc266e1a3a4"/><file name="contact_ru.png" hash="5f70b79ee4232a81a9f7eb0224b0ba3c"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="77d39df20e43da4dc5ff1e749ed60afa"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="c2b680f6077b829b0129e2bfd53cf22f"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/></dir></dir></dir></target></contents>
20
  <compatible/>
21
  <dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
22
  </package>