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
- app/code/community/Adyen/Payment/Block/Adminhtml/Form/Field/Installments.php +3 -3
- app/code/community/Adyen/Payment/Block/Form/Cc.php +54 -54
- app/code/community/Adyen/Payment/Block/Info/Cc.php +46 -46
- app/code/community/Adyen/Payment/Block/Redirect.php +135 -135
- app/code/community/Adyen/Payment/Helper/Installments.php +1 -1
- app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +571 -571
- app/code/community/Adyen/Payment/Model/Adyen/Cc.php +140 -140
- app/code/community/Adyen/Payment/Model/Adyen/Data/BrowserInfo.php +32 -32
- app/code/community/Adyen/Payment/Model/Adyen/Data/OpenInvoiceDetailResult.php +43 -37
- app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +143 -143
- app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest3d.php +50 -50
- app/code/community/Adyen/Payment/Model/Adyen/Debug.php +34 -34
- app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +156 -156
- app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php +135 -124
- app/code/community/Adyen/Payment/Model/Adyen/Pos.php +134 -134
- app/code/community/Adyen/Payment/Model/Authenticate.php +1 -1
- app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug.php +43 -43
- app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Debug/Collection.php +34 -34
- app/code/community/Adyen/Payment/controllers/ProcessController.php +372 -372
- app/code/community/Adyen/Payment/etc/config.xml +366 -366
- app/code/community/Adyen/Payment/etc/system.xml +590 -590
- app/design/adminhtml/default/default/template/adyen/form/cc.phtml +151 -151
- app/design/adminhtml/default/default/template/adyen/info/cc.phtml +53 -53
- app/design/frontend/base/default/layout/adyen.xml +51 -51
- app/design/frontend/base/default/template/adyen/form/cc.phtml +155 -155
- app/design/frontend/base/default/template/adyen/info/cc.phtml +39 -39
- app/locale/nl_NL/Adyen_Payment.csv +0 -56
- 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 |
-
}
|
38 |
-
|
39 |
-
|
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 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
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']."¤cy=".$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']."¤cy=".$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
|
254 |
-
$
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
$
|
259 |
-
break;
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
->
|
268 |
-
->
|
269 |
-
->
|
270 |
-
->
|
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 |
-
$
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
60 |
//shipping cost
|
61 |
-
$
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
$cost
|
74 |
-
$
|
75 |
-
$
|
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 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
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 |
-
|
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 |
-
|
116 |
-
|
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 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
//the data that needs to be signed is a concatenated string of the form data
|
172 |
$sign = $adyFields['paymentAmount'] .
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
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 |
-
|
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 |
-
|
248 |
-
|
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 |
-
|
257 |
-
|
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 |
-
|
268 |
-
|
269 |
-
}
|
270 |
-
|
271 |
-
|
272 |
return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
|
273 |
}
|
274 |
|
275 |
public function getFormName() {
|
276 |
-
|
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 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
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 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
);
|
338 |
-
|
339 |
$sign = $adyFields['paymentAmount'] .
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
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 |
-
|
356 |
-
else
|
357 |
-
|
358 |
-
|
359 |
-
|
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 |
-
|
368 |
-
|
369 |
-
|
370 |
} else{
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
}
|
410 |
return $result_array;
|
411 |
}
|
412 |
-
|
413 |
// Function to get the client ip address
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
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 |
-
|
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 |
-
|
52 |
-
|
53 |
|
54 |
switch ($this->getConfigDataDemoMode()) {
|
55 |
case true:
|
56 |
-
|
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 |
-
|
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 |
-
|
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 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
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 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
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 |
-
|
154 |
-
//
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
|
167 |
$count = 0;
|
168 |
$currency = $order->getOrderCurrencyCode();
|
169 |
$additional_data_sign = array();
|
170 |
-
|
171 |
foreach ($order->getItemsCollection() as $item) {
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
}
|
184 |
-
|
185 |
//discount cost
|
186 |
-
|
187 |
-
$
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
|
|
|
|
194 |
//shipping cost
|
195 |
-
$
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
$
|
208 |
-
$additional_data_sign['openinvoicedata.' . $linename . '.
|
209 |
-
$additional_data_sign['openinvoicedata.' . $linename . '.
|
210 |
-
$additional_data_sign['openinvoicedata.' . $linename . '.
|
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 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
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 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
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 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
public function
|
127 |
-
$
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
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_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.
|
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 |
-
|
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 |
-
|
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 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
</select>
|
46 |
-
</div>
|
47 |
-
</li>
|
48 |
-
<li>
|
49 |
-
|
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 |
-
|
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 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
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 |
-
|
70 |
-
|
71 |
-
|
72 |
-
</select>
|
73 |
-
</div>
|
74 |
-
</div>
|
75 |
-
</li>
|
76 |
-
<?php echo $this->getChildHtml() ?>
|
77 |
-
<?php if($this->hasVerification()): ?>
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
<?php endif; ?>
|
89 |
-
<?php if($this->hasInstallments()): ?>
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
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 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
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 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
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 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
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 |
-
|
69 |
-
|
70 |
-
|
71 |
-
</select>
|
72 |
-
</div>
|
73 |
-
</div>
|
74 |
-
</li>
|
75 |
-
<?php echo $this->getChildHtml() ?>
|
76 |
-
<?php if($this->hasVerification()): ?>
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
<?php endif; ?>
|
87 |
-
<?php if($this->hasInstallments()): ?>
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
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 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
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.
|
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'
|
11 |

|
12 |
support@adyen.com</description>
|
13 |
-
<notes>
|
14 |
-

|
15 |
-
|
16 |
-
</notes>
|
17 |
<authors><author><name>Adyen</name><user>adyen</user><email>support@adyen.com</email></author></authors>
|
18 |
-
<date>2014-
|
19 |
-
<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'
|
11 |

|
12 |
support@adyen.com</description>
|
13 |
+
<notes>Hotfix disable fields on HPP for Klarna
|
14 |
+
Hotfix delete unused ifelse statement
|
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>
|