Version Notes
Adyen Payment 2.4.0
See release note:
https://github.com/Adyen/magento/releases/tag/2.4.0
Download this release
Release Info
Developer | Adyen |
Extension | Adyen_Payment |
Version | 2.4.0 |
Comparing to | |
See all releases |
Code changes from version 2.3.1 to 2.4.0
- app/code/community/Adyen/Payment/Block/Adminhtml/Adyen/Event/Queue/Grid.php +18 -0
- app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Billing/Agreement/Grid.php +109 -0
- app/code/community/Adyen/Payment/Block/{SavedCards.php → Adminhtml/System/Config/Fieldset/Expanded.php} +19 -25
- app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/{Payment.php → Fieldset.php} +26 -17
- app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Gettingstarted.php +56 -0
- app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Method.php +77 -0
- app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/HppPaymentMethodFee.php +38 -0
- app/code/community/Adyen/Payment/Block/Form/Abstract.php +102 -0
- app/code/community/Adyen/Payment/Block/Form/Boleto.php +1 -0
- app/code/community/Adyen/Payment/Block/Form/Cc.php +3 -2
- app/code/community/Adyen/Payment/Block/Form/Elv.php +1 -0
- app/code/community/Adyen/Payment/Block/Form/Hpp.php +1 -0
- app/code/community/Adyen/Payment/Block/Form/Ideal.php +1 -1
- app/code/community/Adyen/Payment/Block/Form/Oneclick.php +31 -19
- app/code/community/Adyen/Payment/Block/Form/Openinvoice.php +1 -0
- app/code/community/Adyen/Payment/Block/Form/Pos.php +1 -0
- app/code/community/Adyen/Payment/Block/Form/Sepa.php +36 -42
- app/code/community/Adyen/Payment/Block/Info/Sepa.php +0 -5
- app/code/community/Adyen/Payment/Exception.php +57 -0
- app/code/community/Adyen/Payment/Helper/Billing/Agreement.php +83 -0
- app/code/community/Adyen/Payment/Helper/Data.php +204 -205
- app/code/community/Adyen/Payment/Helper/Payment/Data.php +13 -7
- app/code/community/Adyen/Payment/Helper/Pci.php +1 -1
- app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +179 -46
- app/code/community/Adyen/Payment/Model/Adyen/Boleto.php +0 -16
- app/code/community/Adyen/Payment/Model/Adyen/Cc.php +42 -32
- app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +47 -21
- app/code/community/Adyen/Payment/Model/Adyen/Elv.php +0 -16
- app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +10 -0
- app/code/community/Adyen/Payment/Model/Adyen/Ideal.php +16 -10
- app/code/community/Adyen/Payment/Model/Adyen/Oneclick.php +168 -10
- app/code/community/Adyen/Payment/Model/Adyen/Sepa.php +21 -111
- app/code/community/Adyen/Payment/Model/Api.php +275 -0
- app/code/community/Adyen/Payment/Model/Authenticate.php +4 -2
- app/code/community/Adyen/Payment/Model/Billing/Agreement.php +132 -0
- app/code/community/Adyen/Payment/Model/Billing/Agreement/Observer.php +134 -0
- app/code/community/Adyen/Payment/Model/Observer.php +91 -103
- app/code/community/Adyen/Payment/Model/ProcessNotification.php +156 -61
- app/code/community/Adyen/Payment/Model/Resource/Billing/Agreement.php +48 -0
- app/code/community/Adyen/Payment/Model/Resource/Billing/Agreement/Collection.php +156 -0
- app/code/community/Adyen/Payment/Model/Sales/Quote/Address/Total/PaymentFee.php +3 -6
- app/code/community/Adyen/Payment/Model/Source/CaptureModes.php +2 -2
- app/code/community/Adyen/Payment/Model/Source/DemoModes.php +12 -3
- app/code/community/Adyen/Payment/Model/Source/PayPalCaptureModes.php +2 -3
- app/code/community/Adyen/Payment/Model/Source/RecurringPaymentType.php +44 -0
- app/code/community/Adyen/Payment/Model/Source/Rendermode.php +1 -1
- app/code/community/Adyen/Payment/Model/Source/SepaFlow.php +1 -1
- app/code/community/Adyen/Payment/Model/Source/Status/Refund.php +3 -1
- app/code/community/Adyen/Payment/controllers/Adminhtml/Adyen/Event/QueueController.php +68 -4
- app/code/community/Adyen/Payment/controllers/Adminhtml/ExportAdyenSettingsController.php +8 -0
- app/code/community/Adyen/Payment/controllers/Adminhtml/ValidateWebserverSettingsController.php +8 -0
- app/code/community/Adyen/Payment/controllers/ProcessController.php +10 -7
- app/code/community/Adyen/Payment/controllers/SavedCardController.php +0 -117
- app/code/community/Adyen/Payment/controllers/UpdateCartController.php +1 -1
- app/code/community/Adyen/Payment/etc/config.xml +53 -7
- app/code/community/Adyen/Payment/etc/system.xml +1238 -946
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-install-0.0.1.php +2 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.1-0.0.2.php +2 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.7-0.0.8.php +2 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.8-0.0.9.php +6 -9
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.3-0.1.0.4.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.8-0.1.0.9.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.9-0.1.0.10.php +3 -2
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-1.0.0.3-1.0.0.7.php +3 -7
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.0.3-2.1.0.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.1-2.1.2.1.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.2.1-2.1.2.2.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.2.2-2.1.2.3.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.2.0-2.2.0.1.php +1 -1
- app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.3.1.1-2.3.1.2.php +70 -0
- app/design/adminhtml/default/default/layout/adyen.xml +8 -1
- app/design/adminhtml/default/default/template/adyen/form/cc.phtml +26 -0
- app/design/adminhtml/default/default/template/adyen/form/hpp.phtml +2 -2
- app/design/adminhtml/default/default/template/adyen/form/oneclick.phtml +2 -1
- app/design/adminhtml/default/default/template/adyen/form/sepa.phtml +12 -5
- app/design/adminhtml/default/default/template/adyen/system/config/test_webserver_configuration.phtml +4 -4
- app/design/frontend/base/default/layout/adyen.xml +3 -20
- app/design/frontend/base/default/template/adyen/form/cc.phtml +179 -173
- app/design/frontend/base/default/template/adyen/form/oneclick.phtml +26 -27
- app/design/frontend/base/default/template/adyen/form/sepa.phtml +13 -5
- app/design/frontend/base/default/template/adyen/saved_cards.phtml +0 -157
- app/design/frontend/base/default/template/adyen/scan_product.phtml +9 -7
- app/locale/de_DE/Adyen_Payment.csv +1 -1
- app/locale/es_ES/Adyen_Payment.csv +1 -1
- app/locale/fr_FR/Adyen_Payment.csv +1 -1
- app/locale/nl_NL/Adyen_Payment.csv +4 -1
- js/adyen/payment/iban.js +28 -0
- package.xml +7 -12
- shell/adyen.php +179 -0
- skin/frontend/base/default/css/adyenstyle.css +5 -0
- skin/frontend/base/default/images/adyen/alipay_wap.png +0 -0
- skin/frontend/base/default/images/adyen/alipay_wap_small.png +0 -0
app/code/community/Adyen/Payment/Block/Adminhtml/Adyen/Event/Queue/Grid.php
CHANGED
@@ -124,8 +124,26 @@ class Adyen_Payment_Block_Adminhtml_Adyen_Event_Queue_Grid extends Mage_Adminhtm
|
|
124 |
|
125 |
|
126 |
return parent::_prepareColumns();
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
|
|
|
129 |
}
|
130 |
|
131 |
public function getGridUrl()
|
124 |
|
125 |
|
126 |
return parent::_prepareColumns();
|
127 |
+
}
|
128 |
+
|
129 |
+
protected function _prepareMassaction()
|
130 |
+
{
|
131 |
+
$this->setMassactionIdField('event_queue_id');
|
132 |
+
$this->getMassactionBlock()->setFormFieldName('queue_id');
|
133 |
|
134 |
+
$this->getMassactionBlock()->addItem('delete', array(
|
135 |
+
'label'=> Mage::helper('adyen')->__('Delete'),
|
136 |
+
'url' => $this->getUrl('*/*/massDelete', array('' => '')), // public function massDeleteAction() in Adyen_Payment_Adminhtml_Adyen_Event_QueueController
|
137 |
+
'confirm' => Mage::helper('adyen')->__('Are you sure?')
|
138 |
+
));
|
139 |
+
|
140 |
+
$this->getMassactionBlock()->addItem('excecute', array(
|
141 |
+
'label'=> Mage::helper('adyen')->__('Excecute'),
|
142 |
+
'url' => $this->getUrl('*/*/massExecute', array('' => '')), // public function massDeleteAction() in Adyen_Payment_Adminhtml_Adyen_Event_QueueController
|
143 |
+
'confirm' => Mage::helper('adyen')->__('Are you sure?')
|
144 |
+
));
|
145 |
|
146 |
+
return $this;
|
147 |
}
|
148 |
|
149 |
public function getGridUrl()
|
app/code/community/Adyen/Payment/Block/Adminhtml/Sales/Billing/Agreement/Grid.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Block_Adminhtml_Sales_Billing_Agreement_Grid
|
29 |
+
extends Mage_Sales_Block_Adminhtml_Billing_Agreement_Grid {
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Prepare collection for grid
|
33 |
+
*
|
34 |
+
* @return Mage_Adminhtml_Block_Widget_Grid
|
35 |
+
*/
|
36 |
+
protected function _prepareCollection()
|
37 |
+
{
|
38 |
+
|
39 |
+
/** @var Adyen_Payment_Model_Resource_Billing_Agreement_Collection $collection */
|
40 |
+
$collection = Mage::getResourceModel('adyen/billing_agreement_collection')
|
41 |
+
->addCustomerDetails();
|
42 |
+
$collection->addNameToSelect();
|
43 |
+
$this->setCollection($collection);
|
44 |
+
|
45 |
+
call_user_func(array(get_parent_class(get_parent_class($this)), __FUNCTION__));
|
46 |
+
return $this;
|
47 |
+
}
|
48 |
+
/**
|
49 |
+
* Add columns to grid
|
50 |
+
*
|
51 |
+
* @return Mage_Adminhtml_Block_Widget_Grid
|
52 |
+
*/
|
53 |
+
protected function _prepareColumns()
|
54 |
+
{
|
55 |
+
parent::_prepareColumns();
|
56 |
+
|
57 |
+
$this->removeColumn('customer_firstname');
|
58 |
+
$this->removeColumn('customer_lastname');
|
59 |
+
$this->addColumnAfter('agreement_label', array(
|
60 |
+
'header' => Mage::helper('sales')->__('Agreement Label'),
|
61 |
+
'index' => 'agreement_label',
|
62 |
+
'type' => 'text',
|
63 |
+
), 'status');
|
64 |
+
|
65 |
+
$this->addColumnAfter('name', array(
|
66 |
+
'header' => Mage::helper('customer')->__('Name'),
|
67 |
+
'index' => 'name',
|
68 |
+
'type' => 'text',
|
69 |
+
), 'customer_email');
|
70 |
+
|
71 |
+
// $status = $this->getColumn('status');
|
72 |
+
// $status->setData('frame_callback', [$this, 'decorateStatus']);
|
73 |
+
|
74 |
+
$createdAt = $this->getColumn('created_at');
|
75 |
+
$createdAt->setData('index', 'created_at');
|
76 |
+
|
77 |
+
$createdAt = $this->getColumn('updated_at');
|
78 |
+
$createdAt->setData('index', 'updated_at');
|
79 |
+
|
80 |
+
$this->sortColumnsByOrder();
|
81 |
+
|
82 |
+
|
83 |
+
return $this;
|
84 |
+
}
|
85 |
+
|
86 |
+
// /**
|
87 |
+
// * Decorate status column values
|
88 |
+
// *
|
89 |
+
// * @param string $value
|
90 |
+
// * @param Mage_Index_Model_Process $row
|
91 |
+
// * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
|
92 |
+
// * @param bool $isExport
|
93 |
+
// *
|
94 |
+
// * @return string
|
95 |
+
// */
|
96 |
+
// public function decorateStatus($value, $row, $column, $isExport)
|
97 |
+
// {
|
98 |
+
// $class = '';
|
99 |
+
// switch ($row->getStatus()) {
|
100 |
+
// case Adyen_Payment_Model_Billing_Agreement::STATUS_CANCELED :
|
101 |
+
// $class = 'grid-severity-notice';
|
102 |
+
// break;
|
103 |
+
// case Adyen_Payment_Model_Billing_Agreement::STATUS_ACTIVE :
|
104 |
+
// $class = 'grid-severity-notice';
|
105 |
+
// break;
|
106 |
+
// }
|
107 |
+
// return '<span class="'.$class.'"><span>'.$value.'</span></span>';
|
108 |
+
// }
|
109 |
+
}
|
app/code/community/Adyen/Payment/Block/{SavedCards.php → Adminhtml/System/Config/Fieldset/Expanded.php}
RENAMED
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
* Adyen Payment Module
|
5 |
*
|
@@ -26,30 +25,25 @@
|
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
}
|
44 |
-
|
45 |
-
public function getBackUrl()
|
46 |
{
|
47 |
-
|
48 |
-
|
|
|
49 |
}
|
50 |
-
return $this->getUrl('customer/account/', array('_secure'=>true));
|
51 |
-
}
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
}
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* Adyen Payment Module
|
4 |
*
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
|
28 |
+
/**
|
29 |
+
* Fielset renderer which expanded by default
|
30 |
+
*/
|
31 |
+
class Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Expanded
|
32 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
|
33 |
+
{
|
34 |
+
/**
|
35 |
+
* Return collapse state
|
36 |
+
*
|
37 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
38 |
+
* @return bool
|
39 |
+
*/
|
40 |
+
protected function _getCollapseState($element)
|
|
|
|
|
|
|
|
|
41 |
{
|
42 |
+
$extra = Mage::getSingleton('admin/session')->getUser()->getExtra();
|
43 |
+
if (isset($extra['configState'][$element->getId()])) {
|
44 |
+
return $extra['configState'][$element->getId()];
|
45 |
}
|
|
|
|
|
46 |
|
47 |
+
return true;
|
48 |
+
}
|
49 |
+
}
|
app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/{Payment.php → Fieldset.php}
RENAMED
@@ -26,29 +26,38 @@
|
|
26 |
*/
|
27 |
/**
|
28 |
* Fieldset renderer for Adyen export settings button
|
29 |
-
*
|
30 |
-
* @category Mage
|
31 |
-
* @package Mage_Paypal
|
32 |
-
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
*/
|
34 |
-
class
|
35 |
extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
|
36 |
{
|
37 |
|
38 |
-
|
39 |
-
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
-
$
|
43 |
-
|
44 |
-
$header .= '<div class="button-container"><button type="button"'
|
45 |
-
. ' class="button'
|
46 |
-
. '" id="' . $element->getHtmlId()
|
47 |
-
. '-head" onclick="location.href = \''.$url.'\' "'
|
48 |
-
. $this->getUrl('*/*/state') . '\'); return false;"><span class="state-closed">'
|
49 |
-
. $this->__('Export Settings') . '</span><span class="state-opened">';
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
-
return
|
53 |
}
|
54 |
}
|
26 |
*/
|
27 |
/**
|
28 |
* Fieldset renderer for Adyen export settings button
|
|
|
|
|
|
|
|
|
29 |
*/
|
30 |
+
class Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Fieldset
|
31 |
extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
|
32 |
{
|
33 |
|
34 |
+
/**
|
35 |
+
* Get config data model
|
36 |
+
*
|
37 |
+
* @return Mage_Adminhtml_Model_Config_Data
|
38 |
+
*/
|
39 |
+
protected function _getConfigDataModel()
|
40 |
+
{
|
41 |
+
if (!$this->hasConfigDataModel()) {
|
42 |
+
$this->setConfigDataModel(Mage::getSingleton('adminhtml/config_data'));
|
43 |
+
}
|
44 |
|
45 |
+
return $this->getConfigDataModel();
|
46 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
+
/**
|
49 |
+
* Return collapse state
|
50 |
+
*
|
51 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
52 |
+
* @return bool
|
53 |
+
*/
|
54 |
+
protected function _getCollapseState($element)
|
55 |
+
{
|
56 |
+
$extra = Mage::getSingleton('admin/session')->getUser()->getExtra();
|
57 |
+
if (isset($extra['configState'][$element->getId()])) {
|
58 |
+
return $extra['configState'][$element->getId()];
|
59 |
+
}
|
60 |
|
61 |
+
return false;
|
62 |
}
|
63 |
}
|
app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Gettingstarted.php
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Gettingstarted
|
29 |
+
extends Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Fieldset
|
30 |
+
{
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Return header comment part of html for fieldset
|
34 |
+
* Add the Export Settings button
|
35 |
+
*
|
36 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
37 |
+
* @return string
|
38 |
+
*/
|
39 |
+
protected function _getHeaderCommentHtml($element)
|
40 |
+
{
|
41 |
+
$html = $element->getComment()
|
42 |
+
? '<div class="comment">' . $element->getComment() . '</div>'
|
43 |
+
: '';
|
44 |
+
$url = Mage::helper('adminhtml')->getUrl('adminhtml/ExportAdyenSettings');
|
45 |
+
$html .= <<<HTML
|
46 |
+
<div class="button-container">
|
47 |
+
<button type="button" class="button" id="{$element->getHtmlId()}-export" onclick="location.href='{$url}'">
|
48 |
+
{$this->__('Export Settings')}
|
49 |
+
</button>
|
50 |
+
</div>
|
51 |
+
HTML;
|
52 |
+
|
53 |
+
return $html;
|
54 |
+
}
|
55 |
+
|
56 |
+
}
|
app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Method.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Method
|
29 |
+
extends Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Fieldset
|
30 |
+
{
|
31 |
+
/**
|
32 |
+
* Check whether current payment method is enabled
|
33 |
+
*
|
34 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
35 |
+
* @param callback|null $configCallback
|
36 |
+
* @return bool
|
37 |
+
*/
|
38 |
+
protected function _isPaymentEnabled($element, $configCallback = null)
|
39 |
+
{
|
40 |
+
$groupConfig = $this->getGroup($element)->asArray();
|
41 |
+
$activityPath = isset($groupConfig['activity_path']) ? $groupConfig['activity_path'] : '';
|
42 |
+
|
43 |
+
if (empty($activityPath)) {
|
44 |
+
return false;
|
45 |
+
}
|
46 |
+
|
47 |
+
if ($configCallback && is_callable($configCallback)) {
|
48 |
+
$isPaymentEnabled = call_user_func($configCallback, $activityPath);
|
49 |
+
} else {
|
50 |
+
$isPaymentEnabled = (bool)(string)$this->_getConfigDataModel()->getConfigDataValue($activityPath);
|
51 |
+
}
|
52 |
+
|
53 |
+
return (bool)$isPaymentEnabled;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Return header title part of html for payment solution
|
58 |
+
*
|
59 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
60 |
+
* @return string
|
61 |
+
*/
|
62 |
+
protected function _getHeaderTitleHtml($element)
|
63 |
+
{
|
64 |
+
$html = '<div class="entry-edit-head collapseable" ><a id="' . $element->getHtmlId()
|
65 |
+
. '-head" href="#" onclick="Fieldset.toggleCollapse(\'' . $element->getHtmlId() . '\', \''
|
66 |
+
. $this->getUrl('*/*/state') . '\'); return false;">';
|
67 |
+
|
68 |
+
$html .= ' <img src="'.$this->getSkinUrl('images/adyen/logo.png').'" height="20" style="vertical-align: text-bottom; margin-right: 5px;"/> ';
|
69 |
+
$html .= $element->getLegend();
|
70 |
+
if ($this->_isPaymentEnabled($element)) {
|
71 |
+
$html .= ' <img src="'.$this->getSkinUrl('images/icon-enabled.png').'" style="vertical-align: middle"/> ';
|
72 |
+
}
|
73 |
+
|
74 |
+
$html .= '</a></div>';
|
75 |
+
return $html;
|
76 |
+
}
|
77 |
+
}
|
app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/HppPaymentMethodFee.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* _
|
4 |
+
* | |
|
5 |
+
* __ _ _ | | _ _ ___ _ __
|
6 |
+
* / _` | / || || || | / _ \| ' \
|
7 |
+
* | (_| || || || || || __/| || |
|
8 |
+
* \__,_| \__,_|\__, | \___||_||_|
|
9 |
+
* |___/
|
10 |
+
*
|
11 |
+
* Adyen Subscription module (https://www.adyen.com/)
|
12 |
+
*
|
13 |
+
* Copyright (c) 2015 H&O (http://www.h-o.nl/)
|
14 |
+
* See LICENSE.txt for license details.
|
15 |
+
*
|
16 |
+
* Author: Adyen <magento@adyen.com>, H&O <info@h-o.nl>
|
17 |
+
*/
|
18 |
+
|
19 |
+
class Adyen_Payment_Block_Adminhtml_System_Config_HppPaymentMethodFee
|
20 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
21 |
+
{
|
22 |
+
public function __construct()
|
23 |
+
{
|
24 |
+
$this->addColumn('code', array(
|
25 |
+
'label' => Mage::helper('adyen')->__('Payment Method Code'),
|
26 |
+
'style' => 'width:250px',
|
27 |
+
));
|
28 |
+
$this->addColumn('amount', array(
|
29 |
+
'label' => Mage::helper('core')->__('Fee amount'),
|
30 |
+
'style' => 'width:100px',
|
31 |
+
));
|
32 |
+
|
33 |
+
$this->_addAfter = false;
|
34 |
+
$this->_addButtonLabel = Mage::helper('core')->__('Add Fee');
|
35 |
+
|
36 |
+
parent::__construct();
|
37 |
+
}
|
38 |
+
}
|
app/code/community/Adyen/Payment/Block/Form/Abstract.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
|
23 |
+
|
24 |
+
/**
|
25 |
+
* @category Payment Gateway
|
26 |
+
* @package Adyen_Payment
|
27 |
+
* @author Adyen
|
28 |
+
* @property Adyen B.V
|
29 |
+
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
30 |
+
*/
|
31 |
+
abstract class Adyen_Payment_Block_Form_Abstract extends Mage_Payment_Block_Form
|
32 |
+
{
|
33 |
+
|
34 |
+
protected $_paymentData;
|
35 |
+
|
36 |
+
protected function _construct()
|
37 |
+
{
|
38 |
+
parent::_construct();
|
39 |
+
|
40 |
+
if (Mage::getStoreConfig('payment/adyen_abstract/title_renderer')
|
41 |
+
== Adyen_Payment_Model_Source_Rendermode::MODE_TITLE_IMAGE) {
|
42 |
+
$this->setMethodTitle('');
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
public function getMethodLabelAfterHtml()
|
47 |
+
{
|
48 |
+
if (Mage::getStoreConfig('payment/adyen_abstract/title_renderer')
|
49 |
+
== Adyen_Payment_Model_Source_Rendermode::MODE_TITLE) {
|
50 |
+
return '';
|
51 |
+
}
|
52 |
+
|
53 |
+
if (! $this->hasData('_method_label_html')) {
|
54 |
+
$labelBlock = Mage::app()->getLayout()->createBlock('core/template', null, array(
|
55 |
+
'template' => 'adyen/payment/payment_method_label.phtml',
|
56 |
+
'payment_method_icon' => $this->getSkinUrl('images/adyen/img_trans.gif'),
|
57 |
+
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
58 |
+
'payment_method_class' => $this->getMethod()->getCode()
|
59 |
+
));
|
60 |
+
$labelBlock->setParentBlock($this);
|
61 |
+
|
62 |
+
$this->setData('_method_label_html', $labelBlock->toHtml());
|
63 |
+
}
|
64 |
+
|
65 |
+
return $this->getData('_method_label_html');
|
66 |
+
}
|
67 |
+
|
68 |
+
|
69 |
+
|
70 |
+
protected function _getPaymentData($key = null)
|
71 |
+
{
|
72 |
+
if (is_null($this->_paymentData)) {
|
73 |
+
$payment = $this->_getQuote()->getPayment();
|
74 |
+
try {
|
75 |
+
$this->_paymentData = unserialize($payment->getPoNumber());
|
76 |
+
} catch (Exception $e) {
|
77 |
+
$this->_paymentData = array();
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
if (is_null($key)) {
|
82 |
+
return $this->_paymentData;
|
83 |
+
}
|
84 |
+
|
85 |
+
if (isset($this->_paymentData[$key])) {
|
86 |
+
return $this->_paymentData[$key];
|
87 |
+
}
|
88 |
+
|
89 |
+
return null;
|
90 |
+
}
|
91 |
+
/**
|
92 |
+
* @return Mage_Sales_Model_Quote|null
|
93 |
+
*/
|
94 |
+
protected function _getQuote()
|
95 |
+
{
|
96 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
97 |
+
return Mage::getSingleton('adminhtml/session_quote')->getQuote();
|
98 |
+
}
|
99 |
+
|
100 |
+
return Mage::helper('checkout/cart')->getQuote();
|
101 |
+
}
|
102 |
+
}
|
app/code/community/Adyen/Payment/Block/Form/Boleto.php
CHANGED
@@ -52,6 +52,7 @@ class Adyen_Payment_Block_Form_Boleto extends Mage_Payment_Block_Form {
|
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
|
|
55 |
|
56 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
57 |
}
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
55 |
+
$labelBlock->setParentBlock($this);
|
56 |
|
57 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
58 |
}
|
app/code/community/Adyen/Payment/Block/Form/Cc.php
CHANGED
@@ -60,6 +60,7 @@ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc
|
|
60 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
61 |
'payment_method_class' => $this->getMethod()->getCode()
|
62 |
));
|
|
|
63 |
|
64 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
65 |
}
|
@@ -91,8 +92,8 @@ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc
|
|
91 |
return Mage::helper('adyen/installments')->isInstallmentsEnabled();
|
92 |
}
|
93 |
|
94 |
-
public function
|
95 |
-
return $this->getMethod()->
|
96 |
}
|
97 |
|
98 |
/**
|
60 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
61 |
'payment_method_class' => $this->getMethod()->getCode()
|
62 |
));
|
63 |
+
$labelBlock->setParentBlock($this);
|
64 |
|
65 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
66 |
}
|
92 |
return Mage::helper('adyen/installments')->isInstallmentsEnabled();
|
93 |
}
|
94 |
|
95 |
+
public function canCreateBillingAgreement() {
|
96 |
+
return $this->getMethod()->canCreateBillingAgreement();
|
97 |
}
|
98 |
|
99 |
/**
|
app/code/community/Adyen/Payment/Block/Form/Elv.php
CHANGED
@@ -52,6 +52,7 @@ class Adyen_Payment_Block_Form_Elv extends Mage_Payment_Block_Form {
|
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
|
|
55 |
|
56 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
57 |
}
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
55 |
+
$labelBlock->setParentBlock($this);
|
56 |
|
57 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
58 |
}
|
app/code/community/Adyen/Payment/Block/Form/Hpp.php
CHANGED
@@ -58,6 +58,7 @@ class Adyen_Payment_Block_Form_Hpp extends Mage_Payment_Block_Form {
|
|
58 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
59 |
'payment_method_class' => $this->getMethod()->getCode()
|
60 |
));
|
|
|
61 |
|
62 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
63 |
}
|
58 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
59 |
'payment_method_class' => $this->getMethod()->getCode()
|
60 |
));
|
61 |
+
$labelBlock->setParentBlock($this);
|
62 |
|
63 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
64 |
}
|
app/code/community/Adyen/Payment/Block/Form/Ideal.php
CHANGED
@@ -52,6 +52,6 @@ class Adyen_Payment_Block_Form_Ideal extends Adyen_Payment_Block_Form_Hpp {
|
|
52 |
|
53 |
public function getIssuerImageUrl($issuer) {
|
54 |
$_bankFile = strtoupper(str_replace(" ", '', $issuer['label']));
|
55 |
-
return $this->getSkinUrl(
|
56 |
}
|
57 |
}
|
52 |
|
53 |
public function getIssuerImageUrl($issuer) {
|
54 |
$_bankFile = strtoupper(str_replace(" ", '', $issuer['label']));
|
55 |
+
return $this->getSkinUrl("images/adyen/$_bankFile.png");
|
56 |
}
|
57 |
}
|
app/code/community/Adyen/Payment/Block/Form/Oneclick.php
CHANGED
@@ -25,6 +25,10 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
|
|
|
|
|
|
28 |
class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
29 |
|
30 |
protected function _construct() {
|
@@ -32,6 +36,10 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
32 |
$this->setTemplate('adyen/form/oneclick.phtml');
|
33 |
}
|
34 |
|
|
|
|
|
|
|
|
|
35 |
public function getMethodLabelAfterHtml()
|
36 |
{
|
37 |
$adyenHelper = Mage::helper('adyen');
|
@@ -42,18 +50,16 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
42 |
}
|
43 |
|
44 |
if (! $this->hasData('_method_label_html')) {
|
45 |
-
$imgFileName = substr($this->getMethod()->getCode(), 10);
|
46 |
|
47 |
// get configuration of this specific payment method
|
48 |
$methodCode = $this->getMethodCode();
|
49 |
|
50 |
-
$
|
51 |
-
$last4digits = $adyenHelper->_getConfigData('card_number', $methodCode);
|
52 |
|
53 |
-
$result = Mage::getDesign()->getFilename("images/adyen/{$
|
54 |
|
55 |
$imageUrl = file_exists($result)
|
56 |
-
? $this->getSkinUrl("images/adyen/{$
|
57 |
: $this->getSkinUrl("images/adyen/img_trans.gif");
|
58 |
|
59 |
|
@@ -63,6 +69,7 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
63 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
64 |
'payment_method_class' => $this->getMethod()->getCode()
|
65 |
));
|
|
|
66 |
|
67 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
68 |
}
|
@@ -70,15 +77,21 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
70 |
return $this->getData('_method_label_html');
|
71 |
}
|
72 |
|
73 |
-
public function getlistRecurringDetails() {
|
74 |
-
return $this->getMethod()->getlistRecurringDetails();
|
75 |
-
}
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
82 |
$adyenHelper = Mage::helper('adyen');
|
83 |
$methodCode = $this->getMethodCode();
|
84 |
$ccType = $adyenHelper->_getConfigData('variant', $methodCode);
|
@@ -87,13 +100,12 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
87 |
return $result;
|
88 |
}
|
89 |
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
$
|
97 |
-
return $recurringDetails;
|
98 |
}
|
99 |
}
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @method Adyen_Payment_Model_Adyen_Oneclick getMethod()
|
31 |
+
*/
|
32 |
class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
33 |
|
34 |
protected function _construct() {
|
36 |
$this->setTemplate('adyen/form/oneclick.phtml');
|
37 |
}
|
38 |
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @return mixed|string
|
42 |
+
*/
|
43 |
public function getMethodLabelAfterHtml()
|
44 |
{
|
45 |
$adyenHelper = Mage::helper('adyen');
|
50 |
}
|
51 |
|
52 |
if (! $this->hasData('_method_label_html')) {
|
|
|
53 |
|
54 |
// get configuration of this specific payment method
|
55 |
$methodCode = $this->getMethodCode();
|
56 |
|
57 |
+
$variant = $adyenHelper->_getConfigData('variant', $methodCode);
|
|
|
58 |
|
59 |
+
$result = Mage::getDesign()->getFilename("images/adyen/{$variant}.png", array('_type' => 'skin'));
|
60 |
|
61 |
$imageUrl = file_exists($result)
|
62 |
+
? $this->getSkinUrl("images/adyen/{$variant}.png")
|
63 |
: $this->getSkinUrl("images/adyen/img_trans.gif");
|
64 |
|
65 |
|
69 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
70 |
'payment_method_class' => $this->getMethod()->getCode()
|
71 |
));
|
72 |
+
$labelBlock->setParentBlock($this);
|
73 |
|
74 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
75 |
}
|
77 |
return $this->getData('_method_label_html');
|
78 |
}
|
79 |
|
|
|
|
|
|
|
80 |
|
81 |
+
/**
|
82 |
+
* @return mixed
|
83 |
+
*/
|
84 |
+
public function showCvc()
|
85 |
+
{
|
86 |
+
return $this->getMethod()->hasCustomerInteraction();
|
87 |
}
|
88 |
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @return mixed
|
92 |
+
*/
|
93 |
+
public function getInstallments()
|
94 |
+
{
|
95 |
$adyenHelper = Mage::helper('adyen');
|
96 |
$methodCode = $this->getMethodCode();
|
97 |
$ccType = $adyenHelper->_getConfigData('variant', $methodCode);
|
100 |
return $result;
|
101 |
}
|
102 |
|
103 |
+
|
104 |
+
/**
|
105 |
+
* @return mixed
|
106 |
+
*/
|
107 |
+
public function getRecurringDetails()
|
108 |
+
{
|
109 |
+
return $this->getMethod()->getRecurringDetails();
|
|
|
110 |
}
|
111 |
}
|
app/code/community/Adyen/Payment/Block/Form/Openinvoice.php
CHANGED
@@ -74,6 +74,7 @@ class Adyen_Payment_Block_Form_Openinvoice extends Mage_Payment_Block_Form {
|
|
74 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
75 |
'payment_method_class' => 'adyen_openinvoice_' . $openinvoiceType
|
76 |
));
|
|
|
77 |
|
78 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
79 |
}
|
74 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
75 |
'payment_method_class' => 'adyen_openinvoice_' . $openinvoiceType
|
76 |
));
|
77 |
+
$labelBlock->setParentBlock($this);
|
78 |
|
79 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
80 |
}
|
app/code/community/Adyen/Payment/Block/Form/Pos.php
CHANGED
@@ -52,6 +52,7 @@ class Adyen_Payment_Block_Form_Pos extends Mage_Payment_Block_Form {
|
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
|
|
55 |
|
56 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
57 |
}
|
52 |
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
53 |
'payment_method_class' => $this->getMethod()->getCode()
|
54 |
));
|
55 |
+
$labelBlock->setParentBlock($this);
|
56 |
|
57 |
$this->setData('_method_label_html', $labelBlock->toHtml());
|
58 |
}
|
app/code/community/Adyen/Payment/Block/Form/Sepa.php
CHANGED
@@ -28,39 +28,12 @@
|
|
28 |
* @property Adyen B.V
|
29 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
30 |
*/
|
31 |
-
class Adyen_Payment_Block_Form_Sepa extends
|
32 |
{
|
33 |
-
|
34 |
protected function _construct()
|
35 |
{
|
36 |
parent::_construct();
|
37 |
$this->setTemplate('adyen/form/sepa.phtml');
|
38 |
-
|
39 |
-
if (Mage::getStoreConfig('payment/adyen_abstract/title_renderer')
|
40 |
-
== Adyen_Payment_Model_Source_Rendermode::MODE_TITLE_IMAGE) {
|
41 |
-
$this->setMethodTitle('');
|
42 |
-
}
|
43 |
-
}
|
44 |
-
|
45 |
-
public function getMethodLabelAfterHtml()
|
46 |
-
{
|
47 |
-
if (Mage::getStoreConfig('payment/adyen_abstract/title_renderer')
|
48 |
-
== Adyen_Payment_Model_Source_Rendermode::MODE_TITLE) {
|
49 |
-
return '';
|
50 |
-
}
|
51 |
-
|
52 |
-
if (! $this->hasData('_method_label_html')) {
|
53 |
-
$labelBlock = Mage::app()->getLayout()->createBlock('core/template', null, array(
|
54 |
-
'template' => 'adyen/payment/payment_method_label.phtml',
|
55 |
-
'payment_method_icon' => $this->getSkinUrl('images/adyen/img_trans.gif'),
|
56 |
-
'payment_method_label' => Mage::helper('adyen')->getConfigData('title', $this->getMethod()->getCode()),
|
57 |
-
'payment_method_class' => $this->getMethod()->getCode()
|
58 |
-
));
|
59 |
-
|
60 |
-
$this->setData('_method_label_html', $labelBlock->toHtml());
|
61 |
-
}
|
62 |
-
|
63 |
-
return $this->getData('_method_label_html');
|
64 |
}
|
65 |
|
66 |
|
@@ -120,26 +93,47 @@ class Adyen_Payment_Block_Form_Sepa extends Mage_Payment_Block_Form
|
|
120 |
}
|
121 |
|
122 |
|
123 |
-
|
|
|
|
|
|
|
124 |
{
|
125 |
-
$country =
|
126 |
-
|
127 |
-
$quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
|
128 |
-
} else {
|
129 |
-
$quote = Mage::helper('checkout/cart')->getQuote();
|
130 |
}
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
}
|
137 |
-
|
|
|
138 |
}
|
139 |
|
140 |
|
141 |
-
|
|
|
|
|
|
|
142 |
{
|
143 |
-
return $this->
|
144 |
}
|
145 |
}
|
28 |
* @property Adyen B.V
|
29 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
30 |
*/
|
31 |
+
class Adyen_Payment_Block_Form_Sepa extends Adyen_Payment_Block_Form_Abstract
|
32 |
{
|
|
|
33 |
protected function _construct()
|
34 |
{
|
35 |
parent::_construct();
|
36 |
$this->setTemplate('adyen/form/sepa.phtml');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
}
|
38 |
|
39 |
|
93 |
}
|
94 |
|
95 |
|
96 |
+
/**
|
97 |
+
* @return string
|
98 |
+
*/
|
99 |
+
public function getCountryValue()
|
100 |
{
|
101 |
+
if ($country = $this->_getPaymentData('country')) {
|
102 |
+
return $country;
|
|
|
|
|
|
|
103 |
}
|
104 |
+
|
105 |
+
$quote = $this->_getQuote();
|
106 |
+
if (! $quote || ! $quote->getBillingAddress()) {
|
107 |
+
return '';
|
108 |
+
}
|
109 |
+
|
110 |
+
return $quote->getBillingAddress()->getCountryId();
|
111 |
+
}
|
112 |
+
|
113 |
+
|
114 |
+
/**
|
115 |
+
* @return string
|
116 |
+
*/
|
117 |
+
public function getBankHolderValue()
|
118 |
+
{
|
119 |
+
if ($accountName = $this->_getPaymentData('account_name')) {
|
120 |
+
return $accountName;
|
121 |
+
}
|
122 |
+
|
123 |
+
$quote = $this->_getQuote();
|
124 |
+
if (! $quote || ! $quote->getBillingAddress()) {
|
125 |
+
return '';
|
126 |
}
|
127 |
+
|
128 |
+
return $quote->getBillingAddress()->getName();
|
129 |
}
|
130 |
|
131 |
|
132 |
+
/**
|
133 |
+
* @return string
|
134 |
+
*/
|
135 |
+
public function getIbanValue()
|
136 |
{
|
137 |
+
return $this->_getPaymentData('iban');
|
138 |
}
|
139 |
}
|
app/code/community/Adyen/Payment/Block/Info/Sepa.php
CHANGED
@@ -35,9 +35,4 @@ class Adyen_Payment_Block_Info_Sepa extends Mage_Payment_Block_Info {
|
|
35 |
$this->setTemplate('adyen/info/sepa.phtml');
|
36 |
}
|
37 |
|
38 |
-
public function toPdf() {
|
39 |
-
$this->setTemplate('adyen/pdf/sepa.phtml');
|
40 |
-
return $this->toHtml();
|
41 |
-
}
|
42 |
-
|
43 |
}
|
35 |
$this->setTemplate('adyen/info/sepa.phtml');
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
38 |
}
|
app/code/community/Adyen/Payment/Exception.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Exception extends Mage_Payment_Exception
|
29 |
+
{
|
30 |
+
/**
|
31 |
+
* Throw an Adyen_Payment_Exception and log it.
|
32 |
+
* @param $message
|
33 |
+
* @param null $messageStorage
|
34 |
+
*
|
35 |
+
* @throws Adyen_Payment_Exception
|
36 |
+
*/
|
37 |
+
public static function throwException($message, $messageStorage = null)
|
38 |
+
{
|
39 |
+
if ($messageStorage && ($storage = Mage::getSingleton($messageStorage))) {
|
40 |
+
$storage->addError($message);
|
41 |
+
}
|
42 |
+
$exception = new Adyen_Payment_Exception($message);
|
43 |
+
self::logException($exception);
|
44 |
+
|
45 |
+
throw $exception;
|
46 |
+
}
|
47 |
+
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Log an Adyen_Payment_Exception
|
51 |
+
* @param Exception $e
|
52 |
+
*/
|
53 |
+
public static function logException(Exception $e)
|
54 |
+
{
|
55 |
+
Mage::log("\n" . $e->__toString(), Zend_Log::ERR, 'adyen_exception.log');
|
56 |
+
}
|
57 |
+
}
|
app/code/community/Adyen/Payment/Helper/Billing/Agreement.php
ADDED
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Helper_Billing_Agreement extends Mage_Core_Helper_Abstract
|
29 |
+
{
|
30 |
+
|
31 |
+
public function getCustomerReference(Mage_Customer_Model_Customer $customer)
|
32 |
+
{
|
33 |
+
var_dump($customer);exit;
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @return Mage_Customer_Model_Customer|null
|
38 |
+
*/
|
39 |
+
public function getCurrentCustomer()
|
40 |
+
{
|
41 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
42 |
+
return Mage::getSingleton('adminhtml/session_quote')->getCustomer();
|
43 |
+
}
|
44 |
+
|
45 |
+
if($customer = Mage::getSingleton('customer/session')->isLoggedIn()) {
|
46 |
+
return Mage::getSingleton('customer/session')->getCustomer();
|
47 |
+
}
|
48 |
+
|
49 |
+
if ($this->_isPersistent()) {
|
50 |
+
return $this->_getPersistentHelper()->getCustomer();
|
51 |
+
}
|
52 |
+
|
53 |
+
return null;
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Retrieve persistent helper
|
58 |
+
*
|
59 |
+
* @return Mage_Persistent_Helper_Session
|
60 |
+
*/
|
61 |
+
protected function _getPersistentHelper()
|
62 |
+
{
|
63 |
+
return Mage::helper('persistent/session');
|
64 |
+
}
|
65 |
+
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @return bool
|
69 |
+
*/
|
70 |
+
protected function _isPersistent()
|
71 |
+
{
|
72 |
+
if(! Mage::helper('core')->isModuleEnabled('Mage_Persistent')
|
73 |
+
|| Mage::getSingleton('customer/session')->isLoggedIn()) {
|
74 |
+
return false;
|
75 |
+
}
|
76 |
+
|
77 |
+
if ($this->_getPersistentHelper()->isPersistent()) {
|
78 |
+
return true;
|
79 |
+
}
|
80 |
+
|
81 |
+
return false;
|
82 |
+
}
|
83 |
+
}
|
app/code/community/Adyen/Payment/Helper/Data.php
CHANGED
@@ -25,25 +25,47 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
-
class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
|
29 |
-
|
|
|
30 |
/**
|
31 |
-
*
|
32 |
-
* @var unknown_type
|
33 |
*/
|
34 |
-
|
35 |
-
|
36 |
-
public function getCcTypes() {
|
37 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
|
38 |
uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
|
39 |
$types = array();
|
40 |
foreach ($_types as $data) {
|
|
|
|
|
|
|
41 |
$types[$data['code']] = $data['name'];
|
42 |
}
|
43 |
return $types;
|
44 |
}
|
45 |
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/boletotypes')->asArray();
|
48 |
$types = array();
|
49 |
foreach ($_types as $data) {
|
@@ -52,7 +74,12 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
52 |
return $types;
|
53 |
}
|
54 |
|
55 |
-
|
|
|
|
|
|
|
|
|
|
|
56 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/openinvoicetypes')->asArray();
|
57 |
$types = array();
|
58 |
foreach ($_types as $data) {
|
@@ -61,7 +88,12 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
61 |
return $types;
|
62 |
}
|
63 |
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
65 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/recurringtypes')->asArray();
|
66 |
$types = array();
|
67 |
foreach ($_types as $data) {
|
@@ -70,22 +102,42 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
70 |
return $types;
|
71 |
}
|
72 |
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
}
|
76 |
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
78 |
if(Mage::getStoreConfig('payment/adyen_pos/active')) {
|
79 |
return (int) Mage::getStoreConfig('payment/adyen_pos/enable_scanner');
|
80 |
}
|
81 |
return false;
|
82 |
}
|
83 |
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
85 |
return (int) Mage::getStoreConfig('payment/adyen_pos/auto_submit_scanner');
|
86 |
}
|
87 |
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
89 |
if(Mage::getStoreConfig('payment/adyen_pos/active')) {
|
90 |
// check if metmethod is available
|
91 |
$methodModel = Mage::getModel('adyen/adyen_pos');
|
@@ -98,9 +150,13 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
98 |
return false;
|
99 |
}
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
|
|
|
|
104 |
// check if metmethod is available
|
105 |
$methodModel = Mage::getModel('adyen/adyen_cash');
|
106 |
if ($methodModel) {
|
@@ -112,36 +168,103 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
112 |
return false;
|
113 |
}
|
114 |
|
115 |
-
|
|
|
|
|
|
|
|
|
116 |
return Mage::getStoreConfig('payment/adyen_abstract/order_status');
|
117 |
}
|
118 |
|
|
|
119 |
/**
|
120 |
* @param Mage_Sales_Model_Quote | Mage_Sales_Model_Order $object
|
|
|
121 |
*/
|
122 |
public function isPaymentFeeEnabled($object)
|
123 |
{
|
124 |
-
$
|
125 |
-
|
126 |
-
if
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
|
|
|
|
132 |
}
|
133 |
|
|
|
134 |
/**
|
135 |
* @param Mage_Sales_Model_Quote | Mage_Sales_Model_Order $object
|
|
|
136 |
*/
|
137 |
public function getPaymentFeeAmount($object)
|
138 |
{
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
141 |
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
switch($currency) {
|
146 |
case "JPY":
|
147 |
case "IDR":
|
@@ -181,7 +304,8 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
181 |
return number_format($amount, $format, '', '');
|
182 |
}
|
183 |
|
184 |
-
public function originalAmount($amount, $currency)
|
|
|
185 |
// check the format
|
186 |
switch($currency) {
|
187 |
case "JPY":
|
@@ -222,177 +346,24 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
222 |
return ($amount / $format);
|
223 |
}
|
224 |
|
225 |
-
|
226 |
-
*
|
227 |
-
*
|
|
|
|
|
228 |
*/
|
229 |
-
public function getMagentoCreditCartType($ccType)
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
"mastercard" => "MC",
|
234 |
-
"discover" => "DI",
|
235 |
-
"diners" => "DC",
|
236 |
-
"maestro" => "SM",
|
237 |
-
"jcb" => "JCB",
|
238 |
-
"elo" => "ELO",
|
239 |
-
"hipercard" => "hipercard"
|
240 |
-
);
|
241 |
|
242 |
if(isset($ccTypesMapper[$ccType])) {
|
243 |
-
$ccType = $ccTypesMapper[$ccType];
|
244 |
}
|
245 |
|
246 |
return $ccType;
|
247 |
}
|
248 |
|
249 |
-
public function getRecurringCards($merchantAccount, $customerId, $recurringType) {
|
250 |
-
|
251 |
-
$cacheKey = $merchantAccount . "|" . $customerId . "|" . $recurringType;
|
252 |
-
|
253 |
-
// Load response from cache.
|
254 |
-
if ($recurringCards = Mage::app()->getCache()->load($cacheKey)) {
|
255 |
-
return unserialize($recurringCards);
|
256 |
-
}
|
257 |
-
|
258 |
-
// create a arraylist with the cards
|
259 |
-
$recurringCards = array();
|
260 |
-
|
261 |
-
// do not show the oneclick if recurring type is empty or recurring
|
262 |
-
if($recurringType == "ONECLICK" || $recurringType == "ONECLICK,RECURRING" || $recurringType == "RECURRING")
|
263 |
-
{
|
264 |
-
// recurring type is always ONECLICK
|
265 |
-
if($recurringType == "ONECLICK,RECURRING") {
|
266 |
-
$recurringType = "ONECLICK";
|
267 |
-
}
|
268 |
-
|
269 |
-
// rest call to get listrecurring details
|
270 |
-
$request = array(
|
271 |
-
"action" => "Recurring.listRecurringDetails",
|
272 |
-
"recurringDetailsRequest.merchantAccount" => $merchantAccount,
|
273 |
-
"recurringDetailsRequest.shopperReference" => $customerId,
|
274 |
-
"recurringDetailsRequest.recurring.contract" => $recurringType, // i.e.: "ONECLICK" Or "RECURRING"
|
275 |
-
);
|
276 |
-
|
277 |
-
$ch = curl_init();
|
278 |
-
|
279 |
-
$isConfigDemoMode = $this->getConfigDataDemoMode($storeId = null);
|
280 |
-
$wsUsername = $this->getConfigDataWsUserName($storeId);
|
281 |
-
$wsPassword = $this->getConfigDataWsPassword($storeId);
|
282 |
-
|
283 |
-
if ($isConfigDemoMode)
|
284 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/adapter/httppost");
|
285 |
-
else
|
286 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-live.adyen.com/pal/adapter/httppost");
|
287 |
-
|
288 |
-
curl_setopt($ch, CURLOPT_HEADER, false);
|
289 |
-
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
|
290 |
-
curl_setopt($ch, CURLOPT_USERPWD,$wsUsername.":".$wsPassword);
|
291 |
-
curl_setopt($ch, CURLOPT_POST,count($request));
|
292 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($request));
|
293 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
294 |
-
|
295 |
-
$results = curl_exec($ch);
|
296 |
-
$httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
297 |
-
|
298 |
-
if ($httpStatus != 200) {
|
299 |
-
Mage::throwException(
|
300 |
-
Mage::helper('adyen')->__('HTTP Status code %s received, data %s', $httpStatus, $results)
|
301 |
-
);
|
302 |
-
}
|
303 |
-
|
304 |
-
if ($results === false) {
|
305 |
-
Mage::throwException(
|
306 |
-
Mage::helper('adyen')->__('Got an empty response, status code %s', $httpStatus)
|
307 |
-
);
|
308 |
-
}else{
|
309 |
-
/**
|
310 |
-
* The $result contains a JSON array containing
|
311 |
-
* the available payment methods for the merchant account.
|
312 |
-
*/
|
313 |
-
|
314 |
-
// convert result to utf8 characters
|
315 |
-
$result = utf8_encode(urldecode($results));
|
316 |
-
// convert to array
|
317 |
-
parse_str($result,$result);
|
318 |
-
|
319 |
-
foreach($result as $key => $value) {
|
320 |
-
// strip the key
|
321 |
-
$key = str_replace("recurringDetailsResult_details_", "", $key);
|
322 |
-
$key2 = strstr($key, '_');
|
323 |
-
$keyNumber = str_replace($key2, "", $key);
|
324 |
-
$keyAttribute = substr($key2, 1);
|
325 |
-
|
326 |
-
// set ideal to sepadirectdebit because it is and we want to show sepadirectdebit logo
|
327 |
-
if($keyAttribute == "variant" && $value == "ideal") {
|
328 |
-
$value = 'sepadirectdebit';
|
329 |
-
}
|
330 |
-
|
331 |
-
$recurringCards[$keyNumber][$keyAttribute] = $value;
|
332 |
-
}
|
333 |
-
// unset the recurringDetailsResult because this is not a card
|
334 |
-
unset($recurringCards["recurringDetailsResult"]);
|
335 |
-
}
|
336 |
-
}
|
337 |
-
|
338 |
-
// Save response to cache.
|
339 |
-
Mage::app()->getCache()->save(
|
340 |
-
serialize($recurringCards),
|
341 |
-
$cacheKey,
|
342 |
-
array(Mage_Core_Model_Config::CACHE_TAG),
|
343 |
-
60 * 5 // save for 5 minutes ( and will be removed if payment is done)
|
344 |
-
);
|
345 |
-
return $recurringCards;
|
346 |
-
}
|
347 |
-
|
348 |
-
public function removeRecurringCard($merchantAccount, $shopperReference, $recurringDetailReference) {
|
349 |
-
|
350 |
-
// rest call to disable cart
|
351 |
-
$request = array(
|
352 |
-
"action" => "Recurring.disable",
|
353 |
-
"disableRequest.merchantAccount" => $merchantAccount,
|
354 |
-
"disableRequest.shopperReference" => $shopperReference,
|
355 |
-
"disableRequest.recurringDetailReference" => $recurringDetailReference
|
356 |
-
);
|
357 |
-
|
358 |
-
$ch = curl_init();
|
359 |
-
|
360 |
-
$isConfigDemoMode = $this->getConfigDataDemoMode();
|
361 |
-
$wsUsername = $this->getConfigDataWsUserName();
|
362 |
-
$wsPassword = $this->getConfigDataWsPassword();
|
363 |
-
|
364 |
-
if ($isConfigDemoMode)
|
365 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/adapter/httppost");
|
366 |
-
else
|
367 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-live.adyen.com/pal/adapter/httppost");
|
368 |
-
|
369 |
-
curl_setopt($ch, CURLOPT_HEADER, false);
|
370 |
-
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
|
371 |
-
curl_setopt($ch, CURLOPT_USERPWD,$wsUsername.":".$wsPassword);
|
372 |
-
curl_setopt($ch, CURLOPT_POST,count($request));
|
373 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($request));
|
374 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
375 |
-
|
376 |
-
$result = curl_exec($ch);
|
377 |
-
|
378 |
-
if($result === false) {
|
379 |
-
Mage::log("Disable recurring contract is failing, error is: " . curl_error($ch), self::DEBUG_LEVEL, 'adyen_http-request.log',true);
|
380 |
-
Mage::throwException(Mage::helper('adyen')->__('Disable recurring contract is generating the error see the log'));
|
381 |
-
} else{
|
382 |
-
|
383 |
-
// convert result to utf8 characters
|
384 |
-
$result = utf8_encode(urldecode($result));
|
385 |
-
|
386 |
-
if($result != "disableResult.response=[detail-successfully-disabled]") {
|
387 |
-
Mage::log("Disable contract is not succeeded the response is: " . $result, self::DEBUG_LEVEL, 'adyen_http-request.log',true);
|
388 |
-
return false;
|
389 |
-
}
|
390 |
-
return true;
|
391 |
-
}
|
392 |
-
return false;
|
393 |
-
}
|
394 |
-
|
395 |
-
|
396 |
/**
|
397 |
* Used via Payment method.Notice via configuration ofcourse Y or N
|
398 |
* @return boolean true on demo, else false
|
@@ -405,6 +376,12 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
405 |
return false;
|
406 |
}
|
407 |
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
public function getConfigDataWsUserName($storeId = null)
|
409 |
{
|
410 |
if ($this->getConfigDataDemoMode($storeId)) {
|
@@ -413,6 +390,12 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
413 |
return $this->getConfigData('ws_username_live', null, $storeId);
|
414 |
}
|
415 |
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
public function getConfigDataWsPassword($storeId = null)
|
417 |
{
|
418 |
if ($this->getConfigDataDemoMode($storeId)) {
|
@@ -444,7 +427,8 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
444 |
*
|
445 |
* @return mixed
|
446 |
*/
|
447 |
-
public function getConfigData($code, $paymentMethodCode = null, $storeId = null)
|
|
|
448 |
if (null === $storeId) {
|
449 |
$storeId = Mage::app()->getStore()->getStoreId();
|
450 |
}
|
@@ -454,21 +438,24 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
454 |
return trim(Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId));
|
455 |
}
|
456 |
|
457 |
-
// Function to get the client ip address
|
458 |
-
public function getClientIp() {
|
459 |
-
$ipaddress = '';
|
460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
461 |
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
|
462 |
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
|
463 |
-
}
|
464 |
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
465 |
-
}
|
466 |
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
|
467 |
-
}
|
468 |
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
|
469 |
-
}
|
470 |
$ipaddress = $_SERVER['HTTP_FORWARDED'];
|
471 |
-
}
|
472 |
$ipaddress = $_SERVER['REMOTE_ADDR'];
|
473 |
} else {
|
474 |
$ipaddress = '';
|
@@ -477,7 +464,17 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
477 |
return $ipaddress;
|
478 |
}
|
479 |
|
480 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
$ip = ip2long($ip);
|
482 |
$lowIp = ip2long($from);
|
483 |
$highIp = ip2long($to);
|
@@ -494,7 +491,8 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
494 |
* @param type $address
|
495 |
* @return Varien_Object
|
496 |
*/
|
497 |
-
public function getStreet($address)
|
|
|
498 |
if (empty($address)) return false;
|
499 |
$street = self::formatStreet($address->getStreet());
|
500 |
$streetName = $street['0'];
|
@@ -511,7 +509,8 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
511 |
* @param type $street
|
512 |
* @return type $street
|
513 |
*/
|
514 |
-
static public function formatStreet($street)
|
|
|
515 |
if (count($street) != 1) {
|
516 |
return $street;
|
517 |
}
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
|
29 |
+
{
|
30 |
+
const XML_PATH_HPP_PAYMENT_METHOD_FEE = 'payment/adyen_hpp/fee';
|
31 |
/**
|
32 |
+
* @return array
|
|
|
33 |
*/
|
34 |
+
public function getCcTypes()
|
35 |
+
{
|
|
|
36 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
|
37 |
uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
|
38 |
$types = array();
|
39 |
foreach ($_types as $data) {
|
40 |
+
if (! $data['is_checkout']) {
|
41 |
+
continue;
|
42 |
+
}
|
43 |
$types[$data['code']] = $data['name'];
|
44 |
}
|
45 |
return $types;
|
46 |
}
|
47 |
|
48 |
+
|
49 |
+
/**
|
50 |
+
*
|
51 |
+
*/
|
52 |
+
public function getCcTypesAltData()
|
53 |
+
{
|
54 |
+
$_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
|
55 |
+
uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
|
56 |
+
$types = array();
|
57 |
+
foreach ($_types as $data) {
|
58 |
+
$types[$data['code_alt']] = $data;
|
59 |
+
}
|
60 |
+
return $types;
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @return array
|
66 |
+
*/
|
67 |
+
public function getBoletoTypes()
|
68 |
+
{
|
69 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/boletotypes')->asArray();
|
70 |
$types = array();
|
71 |
foreach ($_types as $data) {
|
74 |
return $types;
|
75 |
}
|
76 |
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @return array
|
80 |
+
*/
|
81 |
+
public function getOpenInvoiceTypes()
|
82 |
+
{
|
83 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/openinvoicetypes')->asArray();
|
84 |
$types = array();
|
85 |
foreach ($_types as $data) {
|
88 |
return $types;
|
89 |
}
|
90 |
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @return array
|
94 |
+
*/
|
95 |
+
public function getRecurringTypes()
|
96 |
+
{
|
97 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/recurringtypes')->asArray();
|
98 |
$types = array();
|
99 |
foreach ($_types as $data) {
|
102 |
return $types;
|
103 |
}
|
104 |
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @return string
|
108 |
+
*/
|
109 |
+
public function getExtensionVersion()
|
110 |
+
{
|
111 |
+
return (string) Mage::getConfig()->getModuleConfig('Adyen_Payment')->version;
|
112 |
}
|
113 |
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @return bool|int
|
117 |
+
*/
|
118 |
+
public function hasEnableScanner()
|
119 |
+
{
|
120 |
if(Mage::getStoreConfig('payment/adyen_pos/active')) {
|
121 |
return (int) Mage::getStoreConfig('payment/adyen_pos/enable_scanner');
|
122 |
}
|
123 |
return false;
|
124 |
}
|
125 |
|
126 |
+
|
127 |
+
/**
|
128 |
+
* @return int
|
129 |
+
*/
|
130 |
+
public function hasAutoSubmitScanner()
|
131 |
+
{
|
132 |
return (int) Mage::getStoreConfig('payment/adyen_pos/auto_submit_scanner');
|
133 |
}
|
134 |
|
135 |
+
|
136 |
+
/**
|
137 |
+
* @return bool|int
|
138 |
+
*/
|
139 |
+
public function hasExpressCheckout()
|
140 |
+
{
|
141 |
if(Mage::getStoreConfig('payment/adyen_pos/active')) {
|
142 |
// check if metmethod is available
|
143 |
$methodModel = Mage::getModel('adyen/adyen_pos');
|
150 |
return false;
|
151 |
}
|
152 |
|
153 |
+
/**
|
154 |
+
* @return bool|int
|
155 |
+
*/
|
156 |
+
public function hasCashExpressCheckout()
|
157 |
+
{
|
158 |
+
if(Mage::getStoreConfig('payment/adyen_cash/active'))
|
159 |
+
{
|
160 |
// check if metmethod is available
|
161 |
$methodModel = Mage::getModel('adyen/adyen_cash');
|
162 |
if ($methodModel) {
|
168 |
return false;
|
169 |
}
|
170 |
|
171 |
+
/**
|
172 |
+
* @return mixed
|
173 |
+
*/
|
174 |
+
public function getOrderStatus()
|
175 |
+
{
|
176 |
return Mage::getStoreConfig('payment/adyen_abstract/order_status');
|
177 |
}
|
178 |
|
179 |
+
|
180 |
/**
|
181 |
* @param Mage_Sales_Model_Quote | Mage_Sales_Model_Order $object
|
182 |
+
* @return bool
|
183 |
*/
|
184 |
public function isPaymentFeeEnabled($object)
|
185 |
{
|
186 |
+
$paymentMethod = $object->getPayment()->getMethod();
|
187 |
+
|
188 |
+
if($paymentMethod == 'adyen_openinvoice')
|
189 |
+
{
|
190 |
+
$fee = Mage::getStoreConfig('payment/adyen_openinvoice/fee');
|
191 |
+
if($fee > 0) {
|
192 |
+
return true;
|
193 |
+
}
|
194 |
+
} elseif($paymentMethod == 'adyen_ideal') {
|
195 |
+
$fee = Mage::getStoreConfig('payment/adyen_ideal/fee');
|
196 |
+
if($fee > 0) {
|
197 |
+
return true;
|
198 |
+
}
|
199 |
+
} elseif(substr($paymentMethod,0, 10) == 'adyen_hpp_') {
|
200 |
+
|
201 |
+
$fee = $this->getHppPaymentMethodFee($paymentMethod);
|
202 |
+
if($fee) {
|
203 |
+
return true;
|
204 |
+
}
|
205 |
}
|
206 |
+
|
207 |
+
return false;
|
208 |
}
|
209 |
|
210 |
+
|
211 |
/**
|
212 |
* @param Mage_Sales_Model_Quote | Mage_Sales_Model_Order $object
|
213 |
+
* @return float
|
214 |
*/
|
215 |
public function getPaymentFeeAmount($object)
|
216 |
{
|
217 |
+
$paymentMethod = $object->getPayment()->getMethod() ;
|
218 |
+
if ($paymentMethod == 'adyen_openinvoice') {
|
219 |
+
return Mage::getStoreConfig('payment/adyen_openinvoice/fee');
|
220 |
+
} elseif($paymentMethod == 'adyen_ideal') {
|
221 |
+
return Mage::getStoreConfig('payment/adyen_ideal/fee');
|
222 |
+
} elseif(substr($paymentMethod,0, 10) == 'adyen_hpp_') {
|
223 |
+
return $this->getHppPaymentMethodFee($paymentMethod);
|
224 |
+
}
|
225 |
+
return 0;
|
226 |
}
|
227 |
|
228 |
+
/**
|
229 |
+
* @return array
|
230 |
+
*/
|
231 |
+
public function getHppPaymentMethodFees()
|
232 |
+
{
|
233 |
+
$config = Mage::getStoreConfig(self::XML_PATH_HPP_PAYMENT_METHOD_FEE);
|
234 |
|
235 |
+
return $config ? unserialize($config) : array();
|
236 |
+
}
|
237 |
+
|
238 |
+
public function getHppPaymentMethodFee($paymentMethod)
|
239 |
+
{
|
240 |
+
$paymentMethod = str_replace('adyen_hpp_', '', $paymentMethod);
|
241 |
+
|
242 |
+
$paymentFees = $this->getHppPaymentMethodFees();
|
243 |
+
|
244 |
+
if($paymentFees && is_array($paymentFees) && !empty($paymentFees)) {
|
245 |
+
|
246 |
+
foreach($paymentFees as $paymentFee) {
|
247 |
+
if(isset($paymentFee['code']) && $paymentFee['code'] == $paymentMethod) {
|
248 |
+
if(isset($paymentFee['amount']) && $paymentFee['amount'] > 0) {
|
249 |
+
return $paymentFee['amount'];
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
return null;
|
255 |
+
}
|
256 |
+
|
257 |
+
|
258 |
+
|
259 |
+
/**
|
260 |
+
* Return the formatted currency. Adyen accepts the currency in multiple formats.
|
261 |
+
* @param $amount
|
262 |
+
* @param $currency
|
263 |
+
*
|
264 |
+
* @return string
|
265 |
+
*/
|
266 |
+
public function formatAmount($amount, $currency)
|
267 |
+
{
|
268 |
switch($currency) {
|
269 |
case "JPY":
|
270 |
case "IDR":
|
304 |
return number_format($amount, $format, '', '');
|
305 |
}
|
306 |
|
307 |
+
public function originalAmount($amount, $currency)
|
308 |
+
{
|
309 |
// check the format
|
310 |
switch($currency) {
|
311 |
case "JPY":
|
346 |
return ($amount / $format);
|
347 |
}
|
348 |
|
349 |
+
/**
|
350 |
+
* Creditcard type that is selected is different from creditcard type that we get back from the request this
|
351 |
+
* function get the magento creditcard type this is needed for getting settings like installments
|
352 |
+
* @param $ccType
|
353 |
+
* @return mixed
|
354 |
*/
|
355 |
+
public function getMagentoCreditCartType($ccType)
|
356 |
+
{
|
357 |
+
|
358 |
+
$ccTypesMapper = Mage::helper('adyen')->getCcTypesAltData();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
|
360 |
if(isset($ccTypesMapper[$ccType])) {
|
361 |
+
$ccType = $ccTypesMapper[$ccType]['code'];
|
362 |
}
|
363 |
|
364 |
return $ccType;
|
365 |
}
|
366 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
/**
|
368 |
* Used via Payment method.Notice via configuration ofcourse Y or N
|
369 |
* @return boolean true on demo, else false
|
376 |
return false;
|
377 |
}
|
378 |
|
379 |
+
|
380 |
+
/**
|
381 |
+
* @param null $storeId
|
382 |
+
*
|
383 |
+
* @return mixed
|
384 |
+
*/
|
385 |
public function getConfigDataWsUserName($storeId = null)
|
386 |
{
|
387 |
if ($this->getConfigDataDemoMode($storeId)) {
|
390 |
return $this->getConfigData('ws_username_live', null, $storeId);
|
391 |
}
|
392 |
|
393 |
+
|
394 |
+
/**
|
395 |
+
* @param null $storeId
|
396 |
+
*
|
397 |
+
* @return string
|
398 |
+
*/
|
399 |
public function getConfigDataWsPassword($storeId = null)
|
400 |
{
|
401 |
if ($this->getConfigDataDemoMode($storeId)) {
|
427 |
*
|
428 |
* @return mixed
|
429 |
*/
|
430 |
+
public function getConfigData($code, $paymentMethodCode = null, $storeId = null)
|
431 |
+
{
|
432 |
if (null === $storeId) {
|
433 |
$storeId = Mage::app()->getStore()->getStoreId();
|
434 |
}
|
438 |
return trim(Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId));
|
439 |
}
|
440 |
|
|
|
|
|
|
|
441 |
|
442 |
+
/**
|
443 |
+
* Get the client ip address
|
444 |
+
* @return string
|
445 |
+
*/
|
446 |
+
public function getClientIp()
|
447 |
+
{
|
448 |
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
|
449 |
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
|
450 |
+
} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
451 |
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
452 |
+
} elseif(isset($_SERVER['HTTP_X_FORWARDED'])) {
|
453 |
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
|
454 |
+
}elseif(isset($_SERVER['HTTP_FORWARDED_FOR'])) {
|
455 |
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
|
456 |
+
} elseif(isset($_SERVER['HTTP_FORWARDED'])) {
|
457 |
$ipaddress = $_SERVER['HTTP_FORWARDED'];
|
458 |
+
} elseif(isset($_SERVER['REMOTE_ADDR'])) {
|
459 |
$ipaddress = $_SERVER['REMOTE_ADDR'];
|
460 |
} else {
|
461 |
$ipaddress = '';
|
464 |
return $ipaddress;
|
465 |
}
|
466 |
|
467 |
+
|
468 |
+
/**
|
469 |
+
* Is th IP in the given range
|
470 |
+
* @param $ip
|
471 |
+
* @param $from
|
472 |
+
* @param $to
|
473 |
+
*
|
474 |
+
* @return bool
|
475 |
+
*/
|
476 |
+
public function ipInRange($ip, $from, $to)
|
477 |
+
{
|
478 |
$ip = ip2long($ip);
|
479 |
$lowIp = ip2long($from);
|
480 |
$highIp = ip2long($to);
|
491 |
* @param type $address
|
492 |
* @return Varien_Object
|
493 |
*/
|
494 |
+
public function getStreet($address)
|
495 |
+
{
|
496 |
if (empty($address)) return false;
|
497 |
$street = self::formatStreet($address->getStreet());
|
498 |
$streetName = $street['0'];
|
509 |
* @param type $street
|
510 |
* @return type $street
|
511 |
*/
|
512 |
+
static public function formatStreet($street)
|
513 |
+
{
|
514 |
if (count($street) != 1) {
|
515 |
return $street;
|
516 |
}
|
app/code/community/Adyen/Payment/Helper/Payment/Data.php
CHANGED
@@ -17,7 +17,14 @@
|
|
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 |
class Adyen_Payment_Helper_Payment_Data extends Mage_Payment_Helper_Data {
|
22 |
|
23 |
/**
|
@@ -36,12 +43,10 @@ class Adyen_Payment_Helper_Payment_Data extends Mage_Payment_Helper_Data {
|
|
36 |
Mage::getSingleton('adyen/observer')->createPaymentMethodFromHpp($methodCode, array(), Mage::app()->getStore(), '0');
|
37 |
$class = Mage::getStoreConfig($key);
|
38 |
} elseif(! $class && strpos($code, 'adyen_oneclick') !== false) {
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
$class = Mage::getStoreConfig($key, $store->getId());
|
44 |
-
}
|
45 |
}
|
46 |
|
47 |
$methodInstance = Mage::getModel($class);
|
@@ -58,6 +63,7 @@ class Adyen_Payment_Helper_Payment_Data extends Mage_Payment_Helper_Data {
|
|
58 |
* array structure:
|
59 |
* $index => Varien_Simplexml_Element
|
60 |
*
|
|
|
61 |
* @param mixed $store
|
62 |
* @param Mage_Sales_Model_Quote $quote
|
63 |
* @return array
|
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 |
+
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Because of the dynamic payment methods used we rewrite the Payment helper so we always get the right payment methods
|
25 |
+
* back.
|
26 |
+
* Class Adyen_Payment_Helper_Payment_Data
|
27 |
+
*/
|
28 |
class Adyen_Payment_Helper_Payment_Data extends Mage_Payment_Helper_Data {
|
29 |
|
30 |
/**
|
43 |
Mage::getSingleton('adyen/observer')->createPaymentMethodFromHpp($methodCode, array(), Mage::app()->getStore(), '0');
|
44 |
$class = Mage::getStoreConfig($key);
|
45 |
} elseif(! $class && strpos($code, 'adyen_oneclick') !== false) {
|
46 |
+
$methodCode = substr($code, strlen('adyen_oneclick_'));
|
47 |
+
$store = Mage::getSingleton('adminhtml/session_quote')->getStore();
|
48 |
+
Mage::getSingleton('adyen/billing_agreement_observer')->createPaymentMethodFromOneClick($methodCode, array(), $store);
|
49 |
+
$class = Mage::getStoreConfig($key, $store->getId());
|
|
|
|
|
50 |
}
|
51 |
|
52 |
$methodInstance = Mage::getModel($class);
|
63 |
* array structure:
|
64 |
* $index => Varien_Simplexml_Element
|
65 |
*
|
66 |
+
* @todo maybe we can use this method instead of loading the payment methods on each pageload.
|
67 |
* @param mixed $store
|
68 |
* @param Mage_Sales_Model_Quote $quote
|
69 |
* @return array
|
app/code/community/Adyen/Payment/Helper/Pci.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
class Adyen_Payment_Helper_Pci
|
8 |
{
|
9 |
/** @var array */
|
10 |
-
protected static $_sensitiveDataKeys =
|
11 |
|
12 |
/** @var array */
|
13 |
protected static $_sensitiveElementPatterns;
|
7 |
class Adyen_Payment_Helper_Pci
|
8 |
{
|
9 |
/** @var array */
|
10 |
+
protected static $_sensitiveDataKeys = array('holdername', 'expiryyear', 'expirymonth', 'issuenumber', 'cvc', 'number');
|
11 |
|
12 |
/** @var array */
|
13 |
protected static $_sensitiveElementPatterns;
|
app/code/community/Adyen/Payment/Model/Adyen/Abstract.php
CHANGED
@@ -33,6 +33,10 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
33 |
*/
|
34 |
const DEBUG_LEVEL = 7;
|
35 |
|
|
|
|
|
|
|
|
|
36 |
protected $_isGateway = false;
|
37 |
protected $_canAuthorize = true;
|
38 |
protected $_canCapture = true;
|
@@ -73,16 +77,38 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
73 |
protected $_optionalData = NULL;
|
74 |
protected $_testModificationUrl = 'https://pal-test.adyen.com/pal/adapter/httppost';
|
75 |
protected $_liveModificationUrl = 'https://pal-live.adyen.com/pal/adapter/httppost';
|
76 |
-
|
77 |
protected $_paymentMethodType = 'api';
|
78 |
|
79 |
public function getPaymentMethodType() {
|
80 |
return $this->$_paymentMethodType;
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
* @param Varien_Object $payment
|
85 |
-
* @param
|
|
|
86 |
*/
|
87 |
public function refund(Varien_Object $payment, $amount) {
|
88 |
$this->writeLog('refund fx called');
|
@@ -105,19 +131,28 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
105 |
/**
|
106 |
* In the backend it means Authorize only
|
107 |
* @param Varien_Object $payment
|
108 |
-
* @param
|
|
|
109 |
*/
|
110 |
public function authorize(Varien_Object $payment, $amount) {
|
111 |
parent::authorize($payment, $amount);
|
112 |
$payment->setLastTransId($this->getTransactionId())->setIsTransactionPending(true);
|
113 |
|
114 |
$order = $payment->getOrder();
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
/*
|
116 |
* Do not send a email notification when order is created.
|
117 |
* Only do this on the AUHTORISATION notification.
|
118 |
-
*
|
119 |
*/
|
120 |
-
$
|
|
|
|
|
121 |
|
122 |
if ($this->getCode() == 'adyen_boleto' || $this->getCode() == 'adyen_cc' || substr($this->getCode(), 0, 14) == 'adyen_oneclick' || $this->getCode() == 'adyen_elv' || $this->getCode() == 'adyen_sepa') {
|
123 |
|
@@ -217,6 +252,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
217 |
$this->_initService($storeId);
|
218 |
$merchantAccount = trim($this->_getConfigData('merchantAccount', 'adyen_abstract', $storeId));
|
219 |
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract', $storeId);
|
|
|
220 |
$enableMoto = (int) $this->_getConfigData('enable_moto', 'adyen_cc', $storeId);
|
221 |
$modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
|
222 |
$requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
|
@@ -225,7 +261,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
225 |
switch ($request) {
|
226 |
case "authorise":
|
227 |
$requestData = Mage::getModel('adyen/adyen_data_paymentRequest')
|
228 |
-
->create($payment, $amount, $this->_paymentMethod, $merchantAccount,$recurringType, $enableMoto);
|
229 |
|
230 |
$response = $this->_service->authorise(array('paymentRequest' => $requestData));
|
231 |
break;
|
@@ -252,7 +288,18 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
252 |
break;
|
253 |
}
|
254 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
if (!empty($response)) {
|
|
|
|
|
|
|
|
|
256 |
$this->_processResponse($payment, $response, $request);
|
257 |
}
|
258 |
|
@@ -262,34 +309,19 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
262 |
$cacheKey = $merchantAccount . "|" . $payment->getOrder()->getCustomerId() . "|" . $recurringType;
|
263 |
Mage::app()->getCache()->remove($cacheKey);
|
264 |
|
265 |
-
//debug || log
|
266 |
-
Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
|
267 |
-
$this->_debugAdyen();
|
268 |
-
Mage::log($this->_pci()->obscureSensitiveData($requestData), self::DEBUG_LEVEL, "$request.log", true);
|
269 |
-
Mage::log("Response from Adyen:", self::DEBUG_LEVEL, "$request.log", true);
|
270 |
-
Mage::log($this->_pci()->obscureSensitiveData($response), self::DEBUG_LEVEL, "$request.log", true);
|
271 |
-
|
272 |
//return $this;
|
273 |
return $response;
|
274 |
}
|
275 |
|
276 |
-
protected function _processRecurringRequest($customerId) {
|
277 |
-
|
278 |
-
$this->_initService();
|
279 |
-
|
280 |
-
// customerId
|
281 |
-
$merchantAccount = trim($this->_getConfigData('merchantAccount'));
|
282 |
-
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
283 |
-
|
284 |
-
// call to helper
|
285 |
-
return Mage::helper('adyen')->getRecurringCards($merchantAccount, $customerId, $recurringType);
|
286 |
-
}
|
287 |
-
|
288 |
/**
|
289 |
* @desc authorise response
|
290 |
* Process the response of the soap
|
|
|
291 |
* @param Varien_Object $payment
|
292 |
-
* @param
|
|
|
|
|
|
|
293 |
* @todo Add comment with checkout Authorised
|
294 |
*/
|
295 |
protected function _processResponse(Varien_Object $payment, $response, $request = null) {
|
@@ -323,11 +355,11 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
323 |
$pspReference = $response->captureResult->pspReference;
|
324 |
break;
|
325 |
default:
|
|
|
326 |
$this->writeLog("Unknown data type by Adyen");
|
327 |
break;
|
328 |
}
|
329 |
switch ($responseCode) {
|
330 |
-
|
331 |
case "RedirectShopper":
|
332 |
$payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
|
333 |
$payment->setAdditionalInformation('md', $response->paymentResult->md);
|
@@ -350,6 +382,9 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
350 |
case "Restricted Card":
|
351 |
$errorMsg = Mage::helper('adyen')->__('The card is restricted.');
|
352 |
break;
|
|
|
|
|
|
|
353 |
default:
|
354 |
$errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
|
355 |
break;
|
@@ -358,7 +393,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
358 |
$errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
|
359 |
}
|
360 |
|
361 |
-
|
362 |
break;
|
363 |
case "Authorised":
|
364 |
$this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
|
@@ -380,7 +415,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
380 |
break;
|
381 |
case "Error":
|
382 |
$errorMsg = Mage::helper('adyen')->__('System error, please try again later');
|
383 |
-
|
384 |
break;
|
385 |
default:
|
386 |
$this->writeLog("Unknown data type by Adyen");
|
@@ -622,23 +657,6 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
622 |
return Mage::helper('adyen')->getConfigDataWsPassword($storeId);
|
623 |
}
|
624 |
|
625 |
-
/**
|
626 |
-
* @since 0.0.2
|
627 |
-
*/
|
628 |
-
public function getAvailableCCTypes() {
|
629 |
-
$types = Mage::helper('adyen')->getCcTypes();
|
630 |
-
$availableTypes = $this->_getConfigData('cctypes', 'adyen_cc');
|
631 |
-
if ($availableTypes) {
|
632 |
-
$availableTypes = explode(',', $availableTypes);
|
633 |
-
foreach ($types as $code => $name) {
|
634 |
-
if (!in_array($code, $availableTypes)) {
|
635 |
-
unset($types[$code]);
|
636 |
-
}
|
637 |
-
}
|
638 |
-
}
|
639 |
-
return $types;
|
640 |
-
}
|
641 |
-
|
642 |
public function getAvailableBoletoTypes() {
|
643 |
$types = Mage::helper('adyen')->getBoletoTypes();
|
644 |
$availableTypes = $this->_getConfigData('boletotypes', 'adyen_boleto');
|
@@ -665,4 +683,119 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
665 |
return $this;
|
666 |
}
|
667 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
668 |
}
|
33 |
*/
|
34 |
const DEBUG_LEVEL = 7;
|
35 |
|
36 |
+
const VISIBLE_INTERNAL = 'backend';
|
37 |
+
const VISIBLE_CHECKOUT = 'frontend';
|
38 |
+
const VISIBLE_BOTH = 'both';
|
39 |
+
|
40 |
protected $_isGateway = false;
|
41 |
protected $_canAuthorize = true;
|
42 |
protected $_canCapture = true;
|
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 |
protected $_paymentMethodType = 'api';
|
81 |
|
82 |
public function getPaymentMethodType() {
|
83 |
return $this->$_paymentMethodType;
|
84 |
}
|
85 |
|
86 |
+
public function __construct()
|
87 |
+
{
|
88 |
+
$visibleType = $this->getConfigData('visible_type');
|
89 |
+
switch ($visibleType) {
|
90 |
+
case self::VISIBLE_INTERNAL:
|
91 |
+
$this->_canUseCheckout = false;
|
92 |
+
$this->_canUseInternal = true;
|
93 |
+
break;
|
94 |
+
|
95 |
+
case self::VISIBLE_CHECKOUT:
|
96 |
+
$this->_canUseCheckout = true;
|
97 |
+
$this->_canUseInternal = false;
|
98 |
+
break;
|
99 |
+
|
100 |
+
case self::VISIBLE_BOTH:
|
101 |
+
$this->_canUseCheckout = true;
|
102 |
+
$this->_canUseInternal = true;
|
103 |
+
break;
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
|
108 |
/**
|
109 |
* @param Varien_Object $payment
|
110 |
+
* @param float $amount
|
111 |
+
* @return $this
|
112 |
*/
|
113 |
public function refund(Varien_Object $payment, $amount) {
|
114 |
$this->writeLog('refund fx called');
|
131 |
/**
|
132 |
* In the backend it means Authorize only
|
133 |
* @param Varien_Object $payment
|
134 |
+
* @param $amount
|
135 |
+
* @return $this
|
136 |
*/
|
137 |
public function authorize(Varien_Object $payment, $amount) {
|
138 |
parent::authorize($payment, $amount);
|
139 |
$payment->setLastTransId($this->getTransactionId())->setIsTransactionPending(true);
|
140 |
|
141 |
$order = $payment->getOrder();
|
142 |
+
|
143 |
+
// by zero authentication payment is authorised when api responds is succesfull
|
144 |
+
if($order->getGrandTotal() == 0) {
|
145 |
+
$payment->setIsTransactionPending(false);
|
146 |
+
}
|
147 |
+
|
148 |
/*
|
149 |
* Do not send a email notification when order is created.
|
150 |
* Only do this on the AUHTORISATION notification.
|
151 |
+
* For Boleto send it on order creation
|
152 |
*/
|
153 |
+
if($this->getCode() != 'adyen_boleto') {
|
154 |
+
$order->setCanSendNewEmailFlag(false);
|
155 |
+
}
|
156 |
|
157 |
if ($this->getCode() == 'adyen_boleto' || $this->getCode() == 'adyen_cc' || substr($this->getCode(), 0, 14) == 'adyen_oneclick' || $this->getCode() == 'adyen_elv' || $this->getCode() == 'adyen_sepa') {
|
158 |
|
252 |
$this->_initService($storeId);
|
253 |
$merchantAccount = trim($this->_getConfigData('merchantAccount', 'adyen_abstract', $storeId));
|
254 |
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract', $storeId);
|
255 |
+
$recurringPaymentType = $this->_getConfigData('recurring_payment_type', 'adyen_oneclick', $storeId);
|
256 |
$enableMoto = (int) $this->_getConfigData('enable_moto', 'adyen_cc', $storeId);
|
257 |
$modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
|
258 |
$requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
|
261 |
switch ($request) {
|
262 |
case "authorise":
|
263 |
$requestData = Mage::getModel('adyen/adyen_data_paymentRequest')
|
264 |
+
->create($payment, $amount, $this->_paymentMethod, $merchantAccount,$recurringType, $recurringPaymentType, $enableMoto);
|
265 |
|
266 |
$response = $this->_service->authorise(array('paymentRequest' => $requestData));
|
267 |
break;
|
288 |
break;
|
289 |
}
|
290 |
|
291 |
+
|
292 |
+
// log the request
|
293 |
+
Mage::getResourceModel('adyen/adyen_debug')->assignData($response);
|
294 |
+
$this->_debugAdyen();
|
295 |
+
Mage::log($this->_pci()->obscureSensitiveData($requestData), self::DEBUG_LEVEL, "$request.log", true);
|
296 |
+
|
297 |
+
|
298 |
if (!empty($response)) {
|
299 |
+
// log the result
|
300 |
+
Mage::log("Response from Adyen:", self::DEBUG_LEVEL, "$request.log", true);
|
301 |
+
Mage::log($this->_pci()->obscureSensitiveData($response), self::DEBUG_LEVEL, "$request.log", true);
|
302 |
+
|
303 |
$this->_processResponse($payment, $response, $request);
|
304 |
}
|
305 |
|
309 |
$cacheKey = $merchantAccount . "|" . $payment->getOrder()->getCustomerId() . "|" . $recurringType;
|
310 |
Mage::app()->getCache()->remove($cacheKey);
|
311 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
//return $this;
|
313 |
return $response;
|
314 |
}
|
315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
/**
|
317 |
* @desc authorise response
|
318 |
* Process the response of the soap
|
319 |
+
*
|
320 |
* @param Varien_Object $payment
|
321 |
+
* @param stdClass $response
|
322 |
+
* @param null $request
|
323 |
+
*
|
324 |
+
* @return $this
|
325 |
* @todo Add comment with checkout Authorised
|
326 |
*/
|
327 |
protected function _processResponse(Varien_Object $payment, $response, $request = null) {
|
355 |
$pspReference = $response->captureResult->pspReference;
|
356 |
break;
|
357 |
default:
|
358 |
+
$responseCode = null;
|
359 |
$this->writeLog("Unknown data type by Adyen");
|
360 |
break;
|
361 |
}
|
362 |
switch ($responseCode) {
|
|
|
363 |
case "RedirectShopper":
|
364 |
$payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
|
365 |
$payment->setAdditionalInformation('md', $response->paymentResult->md);
|
382 |
case "Restricted Card":
|
383 |
$errorMsg = Mage::helper('adyen')->__('The card is restricted.');
|
384 |
break;
|
385 |
+
case "803 PaymentDetail not found":
|
386 |
+
$errorMsg = Mage::helper('adyen')->__('The payment is REFUSED because the saved card is removed. Please try an other payment method.');
|
387 |
+
break;
|
388 |
default:
|
389 |
$errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
|
390 |
break;
|
393 |
$errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
|
394 |
}
|
395 |
|
396 |
+
Adyen_Payment_Exception::throwException($errorMsg);
|
397 |
break;
|
398 |
case "Authorised":
|
399 |
$this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
|
415 |
break;
|
416 |
case "Error":
|
417 |
$errorMsg = Mage::helper('adyen')->__('System error, please try again later');
|
418 |
+
Adyen_Payment_Exception::throwException($errorMsg);
|
419 |
break;
|
420 |
default:
|
421 |
$this->writeLog("Unknown data type by Adyen");
|
657 |
return Mage::helper('adyen')->getConfigDataWsPassword($storeId);
|
658 |
}
|
659 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
660 |
public function getAvailableBoletoTypes() {
|
661 |
$types = Mage::helper('adyen')->getBoletoTypes();
|
662 |
$availableTypes = $this->_getConfigData('boletotypes', 'adyen_boleto');
|
683 |
return $this;
|
684 |
}
|
685 |
|
686 |
+
public function canCreateBillingAgreement()
|
687 |
+
{
|
688 |
+
if (! $this->_canCreateBillingAgreement) {
|
689 |
+
return false;
|
690 |
+
}
|
691 |
+
$recurringType = $this->_getConfigData('recurringtypes');
|
692 |
+
if($recurringType == "ONECLICK" || $recurringType == "ONECLICK,RECURRING") {
|
693 |
+
return true;
|
694 |
+
}
|
695 |
+
return false;
|
696 |
+
}
|
697 |
+
|
698 |
+
|
699 |
+
public function getBillingAgreementCollection()
|
700 |
+
{
|
701 |
+
$customerId = $this->getInfoInstance()->getQuote()->getCustomerId();
|
702 |
+
return Mage::getModel('adyen/billing_agreement')
|
703 |
+
->getAvailableCustomerBillingAgreements($customerId)
|
704 |
+
->addFieldToFilter('method_code', $this->getCode());
|
705 |
+
}
|
706 |
+
|
707 |
+
|
708 |
+
/**
|
709 |
+
* @return Adyen_Payment_Model_Api
|
710 |
+
*/
|
711 |
+
protected function _api()
|
712 |
+
{
|
713 |
+
return Mage::getSingleton('adyen/api');
|
714 |
+
}
|
715 |
+
|
716 |
+
/**
|
717 |
+
* Create billing agreement by token specified in request
|
718 |
+
*
|
719 |
+
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
720 |
+
* @return Exception
|
721 |
+
*/
|
722 |
+
public function placeBillingAgreement(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
723 |
+
{
|
724 |
+
Mage::throwException('Not yet implemented.');
|
725 |
+
return $this;
|
726 |
+
}
|
727 |
+
|
728 |
+
|
729 |
+
/**
|
730 |
+
* Init billing agreement
|
731 |
+
*
|
732 |
+
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
733 |
+
* @return Exception
|
734 |
+
*/
|
735 |
+
public function initBillingAgreementToken(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
736 |
+
{
|
737 |
+
Mage::throwException('Not yet implemented.');
|
738 |
+
return $this;
|
739 |
+
}
|
740 |
+
|
741 |
+
/**
|
742 |
+
* Update billing agreement status
|
743 |
+
*
|
744 |
+
* @param Adyen_Payment_Model_Billing_Agreement|Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
745 |
+
*
|
746 |
+
* @return $this
|
747 |
+
* @throws Exception
|
748 |
+
* @throws Mage_Core_Exception
|
749 |
+
*/
|
750 |
+
public function updateBillingAgreementStatus(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
751 |
+
{
|
752 |
+
Mage::dispatchEvent('adyen_payment_update_billing_agreement_status', array('agreement' => $agreement));
|
753 |
+
|
754 |
+
$targetStatus = $agreement->getStatus();
|
755 |
+
$adyenHelper = Mage::helper('adyen');
|
756 |
+
|
757 |
+
if ($targetStatus == Mage_Sales_Model_Billing_Agreement::STATUS_CANCELED) {
|
758 |
+
try {
|
759 |
+
$this->_api()->disableRecurringContract(
|
760 |
+
$agreement->getReferenceId(),
|
761 |
+
$agreement->getCustomerReference(),
|
762 |
+
$agreement->getStoreId()
|
763 |
+
);
|
764 |
+
} catch (Adyen_Payment_Exception $e) {
|
765 |
+
Mage::throwException($adyenHelper->__(
|
766 |
+
"Error while disabling Billing Agreement #%s: %s", $agreement->getReferenceId(), $e->getMessage()
|
767 |
+
));
|
768 |
+
}
|
769 |
+
} else {
|
770 |
+
throw new Exception(Mage::helper('adyen')->__(
|
771 |
+
'Changing billing agreement status to "%s" not yet implemented.', $targetStatus
|
772 |
+
));
|
773 |
+
}
|
774 |
+
return $this;
|
775 |
+
}
|
776 |
+
|
777 |
+
|
778 |
+
/**
|
779 |
+
* Retrieve billing agreement customer details by token
|
780 |
+
*
|
781 |
+
* @param Adyen_Payment_Model_Billing_Agreement|Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
782 |
+
* @return array
|
783 |
+
*/
|
784 |
+
public function getBillingAgreementTokenInfo(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
785 |
+
{
|
786 |
+
$recurringContractDetail = $this->_api()->getRecurringContractDetail(
|
787 |
+
$agreement->getCustomerReference(),
|
788 |
+
$agreement->getReferenceId()
|
789 |
+
);
|
790 |
+
|
791 |
+
if (! $recurringContractDetail) {
|
792 |
+
Adyen_Payment_Exception::throwException(Mage::helper('adyen')->__(
|
793 |
+
'The recurring contract (%s) could not be retrieved', $agreement->getReferenceId()
|
794 |
+
));
|
795 |
+
}
|
796 |
+
|
797 |
+
$agreement->parseRecurringContractData($recurringContractDetail);
|
798 |
+
|
799 |
+
return $recurringContractDetail;
|
800 |
+
}
|
801 |
}
|
app/code/community/Adyen/Payment/Model/Adyen/Boleto.php
CHANGED
@@ -35,22 +35,6 @@ class Adyen_Payment_Model_Adyen_Boleto extends Adyen_Payment_Model_Adyen_Abstrac
|
|
35 |
protected $_canUseInternal = true;
|
36 |
protected $_canUseForMultishipping = true;
|
37 |
|
38 |
-
public function __construct()
|
39 |
-
{
|
40 |
-
$visible = Mage::getStoreConfig("payment/adyen_boleto/visible_type");
|
41 |
-
if($visible == "backend") {
|
42 |
-
$this->_canUseCheckout = false;
|
43 |
-
$this->_canUseInternal = true;
|
44 |
-
} else if($visible == "frontend") {
|
45 |
-
$this->_canUseCheckout = true;
|
46 |
-
$this->_canUseInternal = false;
|
47 |
-
} else {
|
48 |
-
$this->_canUseCheckout = true;
|
49 |
-
$this->_canUseInternal = true;
|
50 |
-
}
|
51 |
-
parent::__construct();
|
52 |
-
}
|
53 |
-
|
54 |
/**
|
55 |
* 1)Called everytime the adyen_boleto is called or used in checkout
|
56 |
* @descrition Assign data to info model instance
|
35 |
protected $_canUseInternal = true;
|
36 |
protected $_canUseForMultishipping = true;
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* 1)Called everytime the adyen_boleto is called or used in checkout
|
40 |
* @descrition Assign data to info model instance
|
app/code/community/Adyen/Payment/Model/Adyen/Cc.php
CHANGED
@@ -25,37 +25,18 @@
|
|
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 |
-
protected $
|
35 |
-
protected $
|
36 |
-
protected $_canUseForMultishipping = true;
|
37 |
-
|
38 |
-
public function __construct()
|
39 |
-
{
|
40 |
-
// check if this is adyen_cc payment method because this function is as well used for oneclick payments
|
41 |
-
if($this->getCode() == "adyen_cc") {
|
42 |
-
$visible = Mage::getStoreConfig("payment/adyen_cc/visible_type");
|
43 |
-
if($visible == "backend") {
|
44 |
-
$this->_canUseCheckout = false;
|
45 |
-
$this->_canUseInternal = true;
|
46 |
-
} else if($visible == "frontend") {
|
47 |
-
$this->_canUseCheckout = true;
|
48 |
-
$this->_canUseInternal = false;
|
49 |
-
} else {
|
50 |
-
$this->_canUseCheckout = true;
|
51 |
-
$this->_canUseInternal = true;
|
52 |
-
}
|
53 |
-
}
|
54 |
-
parent::__construct();
|
55 |
-
}
|
56 |
|
57 |
/**
|
58 |
-
* 1)Called everytime the adyen_cc is called or used in checkout
|
59 |
* @description Assign data to info model instance
|
60 |
*
|
61 |
* @param mixed $data
|
@@ -143,14 +124,6 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
|
|
143 |
return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
|
144 |
}
|
145 |
|
146 |
-
public function showRememberThisCheckoutbox() {
|
147 |
-
$recurringType = $this->_getConfigData('recurringtypes');
|
148 |
-
if($recurringType == "ONECLICK" || $recurringType == "ONECLICK,RECURRING") {
|
149 |
-
return true;
|
150 |
-
}
|
151 |
-
return false;
|
152 |
-
}
|
153 |
-
|
154 |
/**
|
155 |
* @desc Specific functions for 3d secure validation
|
156 |
*/
|
@@ -191,4 +164,41 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
|
|
191 |
return $adyFields;
|
192 |
}
|
193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
}
|
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 |
+
implements Mage_Payment_Model_Billing_Agreement_MethodInterface {
|
30 |
|
31 |
protected $_code = 'adyen_cc';
|
32 |
protected $_formBlockType = 'adyen/form_cc';
|
33 |
protected $_infoBlockType = 'adyen/info_cc';
|
34 |
protected $_paymentMethod = 'cc';
|
35 |
+
protected $_canCreateBillingAgreement = true;
|
36 |
+
protected $_ccTypes;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
/**
|
39 |
+
* 1) Called everytime the adyen_cc is called or used in checkout
|
40 |
* @description Assign data to info model instance
|
41 |
*
|
42 |
* @param mixed $data
|
124 |
return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
|
125 |
}
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
/**
|
128 |
* @desc Specific functions for 3d secure validation
|
129 |
*/
|
164 |
return $adyFields;
|
165 |
}
|
166 |
|
167 |
+
/**
|
168 |
+
* @desc setAvailableCCypes to remove MAESTRO as creditcard type for the Adyen_Subscription module
|
169 |
+
* @param $ccTypes
|
170 |
+
*/
|
171 |
+
public function setAvailableCCypes($ccTypes) {
|
172 |
+
$this->_ccTypes = $ccTypes;
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* @return mixed
|
177 |
+
*/
|
178 |
+
public function getAvailableCCTypes() {
|
179 |
+
if(!$this->_ccTypes) {
|
180 |
+
$types = Mage::helper('adyen')->getCcTypes();
|
181 |
+
$availableTypes = $this->_getConfigData('cctypes', 'adyen_cc');
|
182 |
+
if ($availableTypes) {
|
183 |
+
$availableTypes = explode(',', $availableTypes);
|
184 |
+
foreach ($types as $code => $name) {
|
185 |
+
if (!in_array($code, $availableTypes)) {
|
186 |
+
unset($types[$code]);
|
187 |
+
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
$this->_ccTypes = $types;
|
191 |
+
}
|
192 |
+
return $this->_ccTypes;
|
193 |
+
}
|
194 |
+
|
195 |
+
public function canCreateAdyenSubscription() {
|
196 |
+
|
197 |
+
// validate if recurringType is correctly configured
|
198 |
+
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
199 |
+
if($recurringType == "RECURRING" || $recurringType == "ONECLICK,RECURRING") {
|
200 |
+
return true;
|
201 |
+
}
|
202 |
+
return false;
|
203 |
+
}
|
204 |
}
|
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php
CHANGED
@@ -65,8 +65,15 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
65 |
$this->bankAccount = new Adyen_Payment_Model_Adyen_Data_BankAccount(); // for SEPA
|
66 |
}
|
67 |
|
68 |
-
public function create(
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
$order = $payment->getOrder();
|
71 |
$incrementId = $order->getIncrementId();
|
72 |
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
@@ -86,16 +93,27 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
86 |
$this->shopperIP = $order->getRemoteIp();
|
87 |
$this->shopperReference = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
|
88 |
|
89 |
-
//
|
90 |
if($recurringType) {
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
100 |
$this->recurring->contract = $recurringType;
|
101 |
}
|
@@ -126,14 +144,13 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
126 |
$this->shopperName = null;
|
127 |
$this->elv = null;
|
128 |
$this->bankAccount = null;
|
129 |
-
$this->deliveryAddress = new Adyen_Payment_Model_Adyen_Data_DeliveryAddress();
|
130 |
-
$this->billingAddress = new Adyen_Payment_Model_Adyen_Data_BillingAddress();
|
131 |
|
132 |
$billingAddress = $order->getBillingAddress();
|
133 |
$helper = Mage::helper('adyen');
|
134 |
|
135 |
if($billingAddress)
|
136 |
{
|
|
|
137 |
$this->billingAddress->street = $helper->getStreet($billingAddress)->getName();
|
138 |
$this->billingAddress->houseNumberOrName = $helper->getStreet($billingAddress)->getHouseNumber();
|
139 |
$this->billingAddress->city = $billingAddress->getCity();
|
@@ -145,6 +162,7 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
145 |
$deliveryAddress = $order->getShippingAddress();
|
146 |
if($deliveryAddress)
|
147 |
{
|
|
|
148 |
$this->deliveryAddress->street = $helper->getStreet($billingAddress)->getName();
|
149 |
$this->deliveryAddress->houseNumberOrName = $helper->getStreet($billingAddress)->getHouseNumber();
|
150 |
$this->deliveryAddress->city = $billingAddress->getCity();
|
@@ -155,18 +173,25 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
155 |
|
156 |
if($paymentMethod == "oneclick") {
|
157 |
$recurringDetailReference = $payment->getAdditionalInformation("recurring_detail_reference");
|
158 |
-
} else {
|
159 |
-
$recurringDetailReference = null;
|
160 |
-
}
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
} else {
|
|
|
166 |
$this->shopperInteraction = "Ecommerce";
|
167 |
}
|
168 |
|
169 |
-
if($paymentMethod == "
|
170 |
$this->shopperInteraction = "Moto";
|
171 |
}
|
172 |
|
@@ -181,9 +206,10 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
181 |
|
182 |
if (Mage::getModel('adyen/adyen_cc')->isCseEnabled()) {
|
183 |
|
|
|
|
|
184 |
// this is only needed for creditcards
|
185 |
if($payment->getAdditionalInformation("encrypted_data") != "") {
|
186 |
-
$this->card = null;
|
187 |
$kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
|
188 |
$kv->key = new SoapVar("card.encrypted.json", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
|
189 |
$kv->value = new SoapVar($payment->getAdditionalInformation("encrypted_data"), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
|
65 |
$this->bankAccount = new Adyen_Payment_Model_Adyen_Data_BankAccount(); // for SEPA
|
66 |
}
|
67 |
|
68 |
+
public function create(
|
69 |
+
Varien_Object $payment,
|
70 |
+
$amount,
|
71 |
+
$paymentMethod = null,
|
72 |
+
$merchantAccount = null,
|
73 |
+
$recurringType = null,
|
74 |
+
$recurringPaymentType = null,
|
75 |
+
$enableMoto = null
|
76 |
+
) {
|
77 |
$order = $payment->getOrder();
|
78 |
$incrementId = $order->getIncrementId();
|
79 |
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
93 |
$this->shopperIP = $order->getRemoteIp();
|
94 |
$this->shopperReference = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
|
95 |
|
96 |
+
// Set the recurring contract
|
97 |
if($recurringType) {
|
98 |
+
if($paymentMethod == "oneclick") {
|
99 |
+
// For ONECLICK look at the recurringPaymentType that the merchant has selected in Adyen ONECLICK settings
|
100 |
+
if($payment->getAdditionalInformation('customer_interaction')) {
|
101 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
102 |
+
$this->recurring->contract = "ONECLICK";
|
103 |
+
} else {
|
104 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
105 |
+
$this->recurring->contract = "RECURRING";
|
106 |
+
}
|
107 |
+
} elseif($paymentMethod == "cc") {
|
108 |
+
// if save card is disabled only shoot in as recurring if recurringType is set to ONECLICK,RECURRING
|
109 |
+
if($payment->getAdditionalInformation("store_cc") == "" && $recurringType == "ONECLICK,RECURRING") {
|
110 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
111 |
+
$this->recurring->contract = "RECURRING";
|
112 |
+
} elseif($payment->getAdditionalInformation("store_cc") == "1") {
|
113 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
114 |
+
$this->recurring->contract = $recurringType;
|
115 |
+
}
|
116 |
+
} else {
|
117 |
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
118 |
$this->recurring->contract = $recurringType;
|
119 |
}
|
144 |
$this->shopperName = null;
|
145 |
$this->elv = null;
|
146 |
$this->bankAccount = null;
|
|
|
|
|
147 |
|
148 |
$billingAddress = $order->getBillingAddress();
|
149 |
$helper = Mage::helper('adyen');
|
150 |
|
151 |
if($billingAddress)
|
152 |
{
|
153 |
+
$this->billingAddress = new Adyen_Payment_Model_Adyen_Data_BillingAddress();
|
154 |
$this->billingAddress->street = $helper->getStreet($billingAddress)->getName();
|
155 |
$this->billingAddress->houseNumberOrName = $helper->getStreet($billingAddress)->getHouseNumber();
|
156 |
$this->billingAddress->city = $billingAddress->getCity();
|
162 |
$deliveryAddress = $order->getShippingAddress();
|
163 |
if($deliveryAddress)
|
164 |
{
|
165 |
+
$this->deliveryAddress = new Adyen_Payment_Model_Adyen_Data_DeliveryAddress();
|
166 |
$this->deliveryAddress->street = $helper->getStreet($billingAddress)->getName();
|
167 |
$this->deliveryAddress->houseNumberOrName = $helper->getStreet($billingAddress)->getHouseNumber();
|
168 |
$this->deliveryAddress->city = $billingAddress->getCity();
|
173 |
|
174 |
if($paymentMethod == "oneclick") {
|
175 |
$recurringDetailReference = $payment->getAdditionalInformation("recurring_detail_reference");
|
|
|
|
|
|
|
176 |
|
177 |
+
if($payment->getAdditionalInformation('customer_interaction')) {
|
178 |
+
$this->shopperInteraction = "Ecommerce";
|
179 |
+
} else {
|
180 |
+
$this->shopperInteraction = "ContAuth";
|
181 |
+
}
|
182 |
+
|
183 |
+
// For recurring Ideal and Sofort needs to be converted to SEPA for this it is mandatory to set selectBrand to sepadirectdebit
|
184 |
+
if(!$payment->getAdditionalInformation('customer_interaction')) {
|
185 |
+
if($payment->getCcType() == "directEbanking" || $payment->getCcType() == "ideal") {
|
186 |
+
$this->selectedBrand = "sepadirectdebit";
|
187 |
+
}
|
188 |
+
}
|
189 |
} else {
|
190 |
+
$recurringDetailReference = null;
|
191 |
$this->shopperInteraction = "Ecommerce";
|
192 |
}
|
193 |
|
194 |
+
if($paymentMethod == "cc" && Mage::app()->getStore()->isAdmin() && $enableMoto != null && $enableMoto == 1) {
|
195 |
$this->shopperInteraction = "Moto";
|
196 |
}
|
197 |
|
206 |
|
207 |
if (Mage::getModel('adyen/adyen_cc')->isCseEnabled()) {
|
208 |
|
209 |
+
$this->card = null;
|
210 |
+
|
211 |
// this is only needed for creditcards
|
212 |
if($payment->getAdditionalInformation("encrypted_data") != "") {
|
|
|
213 |
$kv = new Adyen_Payment_Model_Adyen_Data_AdditionalDataKVPair();
|
214 |
$kv->key = new SoapVar("card.encrypted.json", XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
|
215 |
$kv->value = new SoapVar($payment->getAdditionalInformation("encrypted_data"), XSD_STRING, "string", "http://www.w3.org/2001/XMLSchema");
|
app/code/community/Adyen/Payment/Model/Adyen/Elv.php
CHANGED
@@ -35,22 +35,6 @@ class Adyen_Payment_Model_Adyen_Elv extends Adyen_Payment_Model_Adyen_Abstract {
|
|
35 |
protected $_canUseInternal = true;
|
36 |
protected $_canUseForMultishipping = true;
|
37 |
|
38 |
-
public function __construct()
|
39 |
-
{
|
40 |
-
$visible = Mage::getStoreConfig("payment/adyen_elv/visible_type");
|
41 |
-
if($visible == "backend") {
|
42 |
-
$this->_canUseCheckout = false;
|
43 |
-
$this->_canUseInternal = true;
|
44 |
-
} else if($visible == "frontend") {
|
45 |
-
$this->_canUseCheckout = true;
|
46 |
-
$this->_canUseInternal = false;
|
47 |
-
} else {
|
48 |
-
$this->_canUseCheckout = true;
|
49 |
-
$this->_canUseInternal = true;
|
50 |
-
}
|
51 |
-
parent::__construct();
|
52 |
-
}
|
53 |
-
|
54 |
/**
|
55 |
* 1)Called everytime the adyen_elv is called or used in checkout
|
56 |
* @descrition Assign data to info model instance
|
35 |
protected $_canUseInternal = true;
|
36 |
protected $_canUseForMultishipping = true;
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* 1)Called everytime the adyen_elv is called or used in checkout
|
40 |
* @descrition Assign data to info model instance
|
app/code/community/Adyen/Payment/Model/Adyen/Hpp.php
CHANGED
@@ -368,4 +368,14 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
|
|
368 |
public function getShowIdealLogos() {
|
369 |
return $this->_getConfigData('show_ideal_logos', 'adyen_hpp');
|
370 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
}
|
368 |
public function getShowIdealLogos() {
|
369 |
return $this->_getConfigData('show_ideal_logos', 'adyen_hpp');
|
370 |
}
|
371 |
+
|
372 |
+
public function canCreateAdyenSubscription() {
|
373 |
+
|
374 |
+
// validate if recurringType is correctly configured
|
375 |
+
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
376 |
+
if($recurringType == "RECURRING" || $recurringType == "ONECLICK,RECURRING") {
|
377 |
+
return true;
|
378 |
+
}
|
379 |
+
return false;
|
380 |
+
}
|
381 |
}
|
app/code/community/Adyen/Payment/Model/Adyen/Ideal.php
CHANGED
@@ -1,22 +1,28 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* NOTICE OF LICENSE
|
6 |
*
|
7 |
-
* This source file is subject to the
|
8 |
-
* that is bundled with this package in the file
|
9 |
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://
|
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
|
14 |
*
|
15 |
-
* @category
|
16 |
-
* @package
|
17 |
-
* @
|
18 |
-
* @
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
*/
|
21 |
|
22 |
class Adyen_Payment_Model_Adyen_Ideal
|
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 |
class Adyen_Payment_Model_Adyen_Ideal
|
app/code/community/Adyen/Payment/Model/Adyen/Oneclick.php
CHANGED
@@ -32,8 +32,31 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
|
|
32 |
protected $_infoBlockType = 'adyen/info_oneclick';
|
33 |
protected $_paymentMethod = 'oneclick';
|
34 |
protected $_canUseInternal = true; // not possible through backoffice interface
|
|
|
35 |
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Ability to set the code, for dynamic payment methods.
|
39 |
* @param $code
|
@@ -64,11 +87,10 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
|
|
64 |
$info->setAdditionalInformation('recurring_detail_reference', $data->getRecurringDetailReference());
|
65 |
} else {
|
66 |
// Get recurringDetailReference from config
|
67 |
-
$recurringDetailReference =
|
68 |
$info->setAdditionalInformation('recurring_detail_reference', $recurringDetailReference);
|
69 |
}
|
70 |
|
71 |
-
|
72 |
$ccType = Mage::getStoreConfig("payment/".$this->getCode() . "/variant", $storeId);
|
73 |
$ccType = Mage::helper('adyen')->getMagentoCreditCartType($ccType);
|
74 |
$info->setCcType($ccType);
|
@@ -109,21 +131,157 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
|
|
109 |
$quote->collectTotals();
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
112 |
return $this;
|
113 |
}
|
114 |
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
{
|
117 |
-
$
|
118 |
-
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
}
|
121 |
|
122 |
-
public function
|
123 |
-
|
124 |
-
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
return true;
|
127 |
}
|
128 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
}
|
32 |
protected $_infoBlockType = 'adyen/info_oneclick';
|
33 |
protected $_paymentMethod = 'oneclick';
|
34 |
protected $_canUseInternal = true; // not possible through backoffice interface
|
35 |
+
protected $_customerInteraction;
|
36 |
|
37 |
|
38 |
+
public function isAvailable($quote=null) {
|
39 |
+
$isAvailble = parent::isAvailable($quote);
|
40 |
+
|
41 |
+
// extra check if contract_type is allowed
|
42 |
+
if($isAvailble) {
|
43 |
+
$recurringPaymentType = $this->getRecurringPaymentType();
|
44 |
+
$recurringDetails = $this->getRecurringDetails();
|
45 |
+
|
46 |
+
if(isset($recurringDetails['recurring_type'])) {
|
47 |
+
|
48 |
+
$result = strpos($recurringDetails['recurring_type'], $recurringPaymentType);
|
49 |
+
|
50 |
+
if($result !== false) {
|
51 |
+
return true;
|
52 |
+
} else {
|
53 |
+
return false;
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}
|
57 |
+
return $isAvailble;
|
58 |
+
}
|
59 |
+
|
60 |
/**
|
61 |
* Ability to set the code, for dynamic payment methods.
|
62 |
* @param $code
|
87 |
$info->setAdditionalInformation('recurring_detail_reference', $data->getRecurringDetailReference());
|
88 |
} else {
|
89 |
// Get recurringDetailReference from config
|
90 |
+
$recurringDetailReference = str_replace('adyen_oneclick_', '', $info->getData('method'));
|
91 |
$info->setAdditionalInformation('recurring_detail_reference', $recurringDetailReference);
|
92 |
}
|
93 |
|
|
|
94 |
$ccType = Mage::getStoreConfig("payment/".$this->getCode() . "/variant", $storeId);
|
95 |
$ccType = Mage::helper('adyen')->getMagentoCreditCartType($ccType);
|
96 |
$info->setCcType($ccType);
|
131 |
$quote->collectTotals();
|
132 |
}
|
133 |
|
134 |
+
// get and set customer interaction needed for payment request
|
135 |
+
$this->hasCustomerInteraction();
|
136 |
+
$info->setAdditionalInformation('customer_interaction', $this->_customerInteraction);
|
137 |
+
|
138 |
return $this;
|
139 |
}
|
140 |
|
141 |
+
/**
|
142 |
+
* @desc CustomerInteraction is set by the recurring_payment_type or controlled by Adyen_Subscription module
|
143 |
+
* @param $customerInteraction
|
144 |
+
*/
|
145 |
+
public function setCustomerInteraction($customerInteraction)
|
146 |
+
{
|
147 |
+
$this->_customerInteraction = (bool) $customerInteraction;
|
148 |
+
}
|
149 |
+
|
150 |
+
public function hasCustomerInteraction()
|
151 |
{
|
152 |
+
if($this->_customerInteraction === null) {
|
153 |
+
$recurringPaymentType = $this->getRecurringPaymentType();
|
154 |
+
if($recurringPaymentType == "ONECLICK") {
|
155 |
+
$this->_customerInteraction = true;
|
156 |
+
} else {
|
157 |
+
$this->_customerInteraction = false;
|
158 |
+
}
|
159 |
+
}
|
160 |
+
return $this->_customerInteraction;
|
161 |
+
|
162 |
}
|
163 |
|
164 |
+
public function getRecurringPaymentType()
|
165 |
+
{
|
166 |
+
return $this->_getConfigData('recurring_payment_type', 'adyen_oneclick');
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* @param Adyen_Payment_Model_Billing_Agreement $billingAgreement
|
171 |
+
* @param Mage_Sales_Model_Quote_Payment $paymentInfo
|
172 |
+
*
|
173 |
+
* @return $this
|
174 |
+
*/
|
175 |
+
public function initBillingAgreementPaymentInfo(
|
176 |
+
Adyen_Payment_Model_Billing_Agreement $billingAgreement,
|
177 |
+
Mage_Sales_Model_Quote_Payment $paymentInfo)
|
178 |
+
{
|
179 |
+
try {
|
180 |
+
$recurringDetailReference = $billingAgreement->getReferenceId();
|
181 |
+
$paymentInfo->setMethod('adyen_oneclick_'.$recurringDetailReference);
|
182 |
+
$paymentInfo->setAdditionalInformation('recurring_detail_reference', $recurringDetailReference);
|
183 |
+
|
184 |
+
// set the ccType needed for Sepa, Sofort and Ideal
|
185 |
+
$agreementData = $billingAgreement->getAgreementData();
|
186 |
+
if(isset($agreementData['variant'])) {
|
187 |
+
$paymentInfo->setCcType($agreementData['variant']);
|
188 |
+
}
|
189 |
+
} catch(Exception $e) {
|
190 |
+
Adyen_Payment_Exception::logException($e);
|
191 |
+
}
|
192 |
+
return $this;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* @return bool
|
197 |
+
*/
|
198 |
+
public function isBillingAgreement()
|
199 |
+
{
|
200 |
return true;
|
201 |
}
|
202 |
|
203 |
+
public function canCreateAdyenSubscription() {
|
204 |
+
|
205 |
+
// get storeId
|
206 |
+
if(Mage::app()->getStore()->isAdmin()) {
|
207 |
+
$store = Mage::getSingleton('adminhtml/session_quote')->getStore();
|
208 |
+
} else {
|
209 |
+
$store = Mage::app()->getStore();
|
210 |
+
}
|
211 |
+
$storeId = $store->getId();
|
212 |
+
|
213 |
+
// Only cards that are saved as RECURRING or ONECLICK,RECURRING can be used for subscription
|
214 |
+
$recurringType = $this->getConfigData('recurring_type', $storeId);
|
215 |
+
if($recurringType == "RECURRING" || $recurringType == "ONECLICK,RECURRING") {
|
216 |
+
return true;
|
217 |
+
}
|
218 |
+
return false;
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
* @param Adyen_Payment_Model_Billing_Agreement $billingAgreement
|
223 |
+
* @param array $data
|
224 |
+
*
|
225 |
+
* @return $this
|
226 |
+
*/
|
227 |
+
public function parseRecurringContractData(
|
228 |
+
Adyen_Payment_Model_Billing_Agreement $billingAgreement,
|
229 |
+
array $data)
|
230 |
+
{
|
231 |
+
$billingAgreement
|
232 |
+
->setMethodCode($this->getCode())
|
233 |
+
->setReferenceId($data['recurringDetailReference'])
|
234 |
+
->setCreatedAt($data['creationDate']);
|
235 |
+
|
236 |
+
$creationDate = str_replace(' ', '-', $data['creationDate']);
|
237 |
+
$billingAgreement->setCreatedAt($creationDate);
|
238 |
+
|
239 |
+
//Billing agreement SEPA
|
240 |
+
if (isset($data['bank_iban'])) {
|
241 |
+
$billingAgreement->setAgreementLabel(Mage::helper('adyen')->__('%s, %s',
|
242 |
+
$data['bank_iban'],
|
243 |
+
$data['bank_ownerName']
|
244 |
+
));
|
245 |
+
}
|
246 |
+
|
247 |
+
// Billing agreement is CC
|
248 |
+
if (isset($data['card_number'])) {
|
249 |
+
$ccType = $data['variant'];
|
250 |
+
$ccTypes = Mage::helper('adyen')->getCcTypesAltData();
|
251 |
+
|
252 |
+
if (isset($ccTypes[$ccType])) {
|
253 |
+
$ccType = $ccTypes[$ccType]['name'];
|
254 |
+
}
|
255 |
+
|
256 |
+
$label = Mage::helper('adyen')->__('%s, %s, **** %s',
|
257 |
+
$ccType,
|
258 |
+
$data['card_holderName'],
|
259 |
+
$data['card_number'],
|
260 |
+
$data['card_expiryMonth'],
|
261 |
+
$data['card_expiryYear']
|
262 |
+
);
|
263 |
+
$billingAgreement->setAgreementLabel($label);
|
264 |
+
}
|
265 |
+
|
266 |
+
if ($data['variant'] == 'paypal') {
|
267 |
+
$label = Mage::helper('adyen')->__('PayPal %s',
|
268 |
+
$data['lastKnownShopperEmail']
|
269 |
+
);
|
270 |
+
$billingAgreement->setAgreementLabel($label);
|
271 |
+
}
|
272 |
+
|
273 |
+
return $this;
|
274 |
+
}
|
275 |
+
|
276 |
+
public function getRecurringDetails() {
|
277 |
+
|
278 |
+
if(Mage::app()->getStore()->isAdmin()) {
|
279 |
+
$storeId = Mage::getSingleton('adminhtml/session_quote')->getStoreId();
|
280 |
+
} else {
|
281 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
282 |
+
}
|
283 |
+
|
284 |
+
$recurringDetails = Mage::getStoreConfig("payment/".$this->getCode(), $storeId);
|
285 |
+
return $recurringDetails;
|
286 |
+
}
|
287 |
}
|
app/code/community/Adyen/Payment/Model/Adyen/Sepa.php
CHANGED
@@ -25,31 +25,14 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
-
class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
|
|
29 |
|
30 |
protected $_code = 'adyen_sepa';
|
31 |
protected $_formBlockType = 'adyen/form_sepa';
|
32 |
protected $_infoBlockType = 'adyen/info_sepa';
|
33 |
protected $_paymentMethod = 'sepa';
|
34 |
-
protected $
|
35 |
-
protected $_canUseInternal = true;
|
36 |
-
protected $_canUseForMultishipping = true;
|
37 |
-
|
38 |
-
public function __construct()
|
39 |
-
{
|
40 |
-
$visible = Mage::getStoreConfig("payment/adyen_sepa/visible_type");
|
41 |
-
if($visible == "backend") {
|
42 |
-
$this->_canUseCheckout = false;
|
43 |
-
$this->_canUseInternal = true;
|
44 |
-
} else if($visible == "frontend") {
|
45 |
-
$this->_canUseCheckout = true;
|
46 |
-
$this->_canUseInternal = false;
|
47 |
-
} else {
|
48 |
-
$this->_canUseCheckout = true;
|
49 |
-
$this->_canUseInternal = true;
|
50 |
-
}
|
51 |
-
parent::__construct();
|
52 |
-
}
|
53 |
|
54 |
/**
|
55 |
* 1)Called everytime the adyen_sepa is called or used in checkout
|
@@ -68,7 +51,8 @@ class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
|
68 |
$sepa = array(
|
69 |
'account_name' => $data->getAccountName(),
|
70 |
'iban' => $data->getIban(),
|
71 |
-
'country' => $data->getCountry()
|
|
|
72 |
);
|
73 |
|
74 |
$info = $this->getInfoInstance();
|
@@ -78,6 +62,7 @@ class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
|
78 |
->setCcNumber($data->getAccountNumber())
|
79 |
->setCcNumberEnc($data->getBankCode())
|
80 |
->setPoNumber(serialize($sepa)); /* @note misused field for the elv */
|
|
|
81 |
return $this;
|
82 |
}
|
83 |
|
@@ -85,14 +70,18 @@ class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
|
85 |
{
|
86 |
parent::validate();
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
// check if validator is on
|
89 |
$ibanValidation = $this->_getConfigData("validate_iban", "adyen_sepa");
|
90 |
|
91 |
if($ibanValidation) {
|
92 |
|
93 |
-
$info = $this->getInfoInstance();
|
94 |
-
$sepa = unserialize($info->getPoNumber());
|
95 |
-
|
96 |
if(!$this->validateIban($sepa['iban']) || empty($sepa['iban'])){
|
97 |
$errorCode = 'invalid_data';
|
98 |
$errorMsg = Mage::helper('adyen')->__('Invalid Iban number.');
|
@@ -144,94 +133,15 @@ class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
|
144 |
parent::prepareSave();
|
145 |
}
|
146 |
|
147 |
-
public function
|
148 |
-
{
|
149 |
-
return Mage::getResourceModel('sales/billing_agreement_collection')
|
150 |
-
->addFieldToFilter('customer_id', $this->getInfoInstance()->getQuote()->getCustomerId())
|
151 |
-
->addFieldToFilter('status', 'active')
|
152 |
-
->addFieldToFilter('method_code', $this->getCode());
|
153 |
-
}
|
154 |
-
|
155 |
-
/**
|
156 |
-
* Init billing agreement
|
157 |
-
*
|
158 |
-
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
159 |
-
* @return $this
|
160 |
-
*/
|
161 |
-
public function initBillingAgreementToken(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
162 |
-
{
|
163 |
-
$agreement->setRedirectUrl(
|
164 |
-
Mage::getUrl('*/*/returnWizard', array('payment_method' => $this->getCode(), 'token' => uniqid('t')))
|
165 |
-
);
|
166 |
-
return $this;
|
167 |
-
}
|
168 |
-
|
169 |
-
|
170 |
-
/**
|
171 |
-
* Retrieve billing agreement details
|
172 |
-
*
|
173 |
-
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
174 |
-
* @return $this
|
175 |
-
*/
|
176 |
-
public function getBillingAgreementTokenInfo(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
177 |
-
{
|
178 |
-
|
179 |
-
return $this;
|
180 |
-
}
|
181 |
-
|
182 |
-
|
183 |
-
/**
|
184 |
-
* Create billing agreement
|
185 |
-
*
|
186 |
-
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreement
|
187 |
-
* @return $this
|
188 |
-
*/
|
189 |
-
public function placeBillingAgreement(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
190 |
-
{
|
191 |
-
$agreement->setBillingAgreementId('SEPA12345');
|
192 |
-
return $this;
|
193 |
-
}
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
|
196 |
-
|
197 |
-
* Update billing agreement status
|
198 |
-
*
|
199 |
-
* @param Mage_Payment_Model_Billing_AgreementAbstract $agreeme*
|
200 |
-
* @return $this
|
201 |
-
nt
|
202 |
-
*/
|
203 |
-
public function updateBillingAgreementStatus(Mage_Payment_Model_Billing_AgreementAbstract $agreement)
|
204 |
-
{
|
205 |
-
return $this;
|
206 |
}
|
207 |
-
|
208 |
-
// public function validateRecurringProfile(Mage_Payment_Model_Recurring_Profile $profile)
|
209 |
-
// {
|
210 |
-
// return true;
|
211 |
-
// }
|
212 |
-
//
|
213 |
-
// public function submitRecurringProfile(Mage_Payment_Model_Recurring_Profile $profile, Mage_Payment_Model_Info $paymentInfo)
|
214 |
-
// {
|
215 |
-
//
|
216 |
-
// }
|
217 |
-
//
|
218 |
-
// public function getRecurringProfileDetails($referenceId, Varien_Object $result)
|
219 |
-
// {
|
220 |
-
//
|
221 |
-
// }
|
222 |
-
//
|
223 |
-
// public function canGetRecurringProfileDetails()
|
224 |
-
// {
|
225 |
-
// return false;
|
226 |
-
// }
|
227 |
-
//
|
228 |
-
// public function updateRecurringProfile(Mage_Payment_Model_Recurring_Profile $profile)
|
229 |
-
// {
|
230 |
-
//
|
231 |
-
// }
|
232 |
-
//
|
233 |
-
// public function updateRecurringProfileStatus(Mage_Payment_Model_Recurring_Profile $profile)
|
234 |
-
// {
|
235 |
-
//
|
236 |
-
// }
|
237 |
}
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
class Adyen_Payment_Model_Adyen_Sepa extends Adyen_Payment_Model_Adyen_Abstract
|
29 |
+
implements Mage_Payment_Model_Billing_Agreement_MethodInterface {
|
30 |
|
31 |
protected $_code = 'adyen_sepa';
|
32 |
protected $_formBlockType = 'adyen/form_sepa';
|
33 |
protected $_infoBlockType = 'adyen/info_sepa';
|
34 |
protected $_paymentMethod = 'sepa';
|
35 |
+
protected $_canCreateBillingAgreement = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
/**
|
38 |
* 1)Called everytime the adyen_sepa is called or used in checkout
|
51 |
$sepa = array(
|
52 |
'account_name' => $data->getAccountName(),
|
53 |
'iban' => $data->getIban(),
|
54 |
+
'country' => $data->getCountry(),
|
55 |
+
'accept_sepa' => $data->getAcceptSepa()
|
56 |
);
|
57 |
|
58 |
$info = $this->getInfoInstance();
|
62 |
->setCcNumber($data->getAccountNumber())
|
63 |
->setCcNumberEnc($data->getBankCode())
|
64 |
->setPoNumber(serialize($sepa)); /* @note misused field for the elv */
|
65 |
+
|
66 |
return $this;
|
67 |
}
|
68 |
|
70 |
{
|
71 |
parent::validate();
|
72 |
|
73 |
+
$info = $this->getInfoInstance();
|
74 |
+
$sepa = unserialize($info->getPoNumber());
|
75 |
+
|
76 |
+
if(!$sepa['accept_sepa']) {
|
77 |
+
$errorMsg = Mage::helper('adyen')->__('Please accept the conditions for a SEPA direct debit.');
|
78 |
+
Mage::throwException($errorMsg);
|
79 |
+
}
|
80 |
// check if validator is on
|
81 |
$ibanValidation = $this->_getConfigData("validate_iban", "adyen_sepa");
|
82 |
|
83 |
if($ibanValidation) {
|
84 |
|
|
|
|
|
|
|
85 |
if(!$this->validateIban($sepa['iban']) || empty($sepa['iban'])){
|
86 |
$errorCode = 'invalid_data';
|
87 |
$errorMsg = Mage::helper('adyen')->__('Invalid Iban number.');
|
133 |
parent::prepareSave();
|
134 |
}
|
135 |
|
136 |
+
public function canCreateAdyenSubscription() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
+
// validate if recurringType is correctly configured
|
139 |
+
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
140 |
+
if($recurringType == "RECURRING" || $recurringType == "ONECLICK,RECURRING") {
|
141 |
+
return true;
|
142 |
+
}
|
143 |
+
return false;
|
144 |
|
145 |
+
// TODO: add config where merchant can set the payment types that are available for subscription
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
app/code/community/Adyen/Payment/Model/Api.php
ADDED
@@ -0,0 +1,275 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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) 2015 Adyen BV (http://www.adyen.com)
|
26 |
+
*/
|
27 |
+
class Adyen_Payment_Model_Api extends Mage_Core_Model_Abstract
|
28 |
+
{
|
29 |
+
const RECURRING_TYPE_ONECLICK = 'ONECLICK';
|
30 |
+
const RECURRING_TYPE_RECURRING = 'RECURRING';
|
31 |
+
const RECURRING_TYPE_ONECLICK_RECURRING = 'ONECLICK,RECURRING';
|
32 |
+
|
33 |
+
protected $_recurringTypes = [
|
34 |
+
self::RECURRING_TYPE_ONECLICK,
|
35 |
+
self::RECURRING_TYPE_RECURRING
|
36 |
+
];
|
37 |
+
|
38 |
+
protected $_paymentMethodMap;
|
39 |
+
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @param string $shopperReference
|
43 |
+
* @param string $recurringDetailReference
|
44 |
+
* @param int|Mage_Core_model_Store|null $store
|
45 |
+
* @return bool
|
46 |
+
*/
|
47 |
+
public function getRecurringContractDetail($shopperReference, $recurringDetailReference, $store = null)
|
48 |
+
{
|
49 |
+
$recurringContracts = $this->listRecurringContracts($shopperReference, $store);
|
50 |
+
foreach ($recurringContracts as $rc) {
|
51 |
+
if (isset($rc['recurringDetailReference']) && $rc['recurringDetailReference'] == $recurringDetailReference) {
|
52 |
+
return $rc;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
return false;
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Get all the stored Credit Cards and other billing agreements stored with Adyen.
|
61 |
+
*
|
62 |
+
* @param string $shopperReference
|
63 |
+
* @param int|Mage_Core_model_Store|null $store
|
64 |
+
* @return array
|
65 |
+
*/
|
66 |
+
public function listRecurringContracts($shopperReference, $store = null)
|
67 |
+
{
|
68 |
+
|
69 |
+
$recurringContracts = [];
|
70 |
+
foreach ($this->_recurringTypes as $recurringType) {
|
71 |
+
try {
|
72 |
+
// merge ONECLICK and RECURRING into one record with recurringType ONECLICK,RECURRING
|
73 |
+
$listRecurringContractByType = $this->listRecurringContractByType($shopperReference, $store, $recurringType);
|
74 |
+
|
75 |
+
foreach($listRecurringContractByType as $recurringContract) {
|
76 |
+
|
77 |
+
if(isset($recurringContract['recurringDetailReference'])) {
|
78 |
+
$recurringDetailReference = $recurringContract['recurringDetailReference'];
|
79 |
+
// check if recurring reference is already in array
|
80 |
+
if(isset($recurringContracts[$recurringDetailReference])) {
|
81 |
+
// recurring reference already exists so recurringType is possible for ONECLICK and RECURRING
|
82 |
+
$recurringContracts[$recurringDetailReference]['recurring_type']= "ONECLICK,RECURRING";
|
83 |
+
} else {
|
84 |
+
$recurringContracts[$recurringDetailReference] = $recurringContract;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
} catch (Adyen_Payment_Exception $exception) { }
|
89 |
+
}
|
90 |
+
return $recurringContracts;
|
91 |
+
}
|
92 |
+
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param $shopperReference
|
96 |
+
* @param $store
|
97 |
+
* @param $recurringType
|
98 |
+
*
|
99 |
+
* @return array
|
100 |
+
*/
|
101 |
+
public function listRecurringContractByType($shopperReference, $store, $recurringType)
|
102 |
+
{
|
103 |
+
// rest call to get list of recurring details
|
104 |
+
$request = array(
|
105 |
+
"action" => "Recurring.listRecurringDetails",
|
106 |
+
"recurringDetailsRequest.merchantAccount" => $this->_helper()->getConfigData('merchantAccount', null, $store),
|
107 |
+
"recurringDetailsRequest.shopperReference" => $shopperReference,
|
108 |
+
"recurringDetailsRequest.recurring.contract" => $recurringType,
|
109 |
+
);
|
110 |
+
|
111 |
+
$result = $this->_doRequest($request, $store);
|
112 |
+
|
113 |
+
// convert result to utf8 characters
|
114 |
+
$result = utf8_encode(urldecode($result));
|
115 |
+
|
116 |
+
// The $result contains a JSON array containing the available payment methods for the merchant account.
|
117 |
+
parse_str($result, $resultArr);
|
118 |
+
|
119 |
+
$recurringContracts = [];
|
120 |
+
$recurringContractExtra = [];
|
121 |
+
foreach($resultArr as $key => $value) {
|
122 |
+
// strip the key
|
123 |
+
$key = str_replace("recurringDetailsResult_details_", "", $key);
|
124 |
+
$key2 = strstr($key, '_');
|
125 |
+
$keyNumber = str_replace($key2, "", $key);
|
126 |
+
$keyAttribute = substr($key2, 1);
|
127 |
+
|
128 |
+
// set ideal to sepadirectdebit because it is and we want to show sepadirectdebit logo
|
129 |
+
if($keyAttribute == "variant" && $value == "ideal") {
|
130 |
+
$value = 'sepadirectdebit';
|
131 |
+
}
|
132 |
+
|
133 |
+
if ($keyAttribute == 'variant') {
|
134 |
+
$recurringContracts[$keyNumber]['recurring_type'] = $recurringType;
|
135 |
+
$recurringContracts[$keyNumber]['payment_method'] = $this->_mapToPaymentMethod($value);
|
136 |
+
}
|
137 |
+
|
138 |
+
$recurringContracts[$keyNumber][$keyAttribute] = $value;
|
139 |
+
|
140 |
+
if ($keyNumber == 'recurringDetailsResult') {
|
141 |
+
$recurringContractExtra[$keyAttribute] = $value;
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
// unset the recurringDetailsResult because this is not a card
|
146 |
+
unset($recurringContracts["recurringDetailsResult"]);
|
147 |
+
|
148 |
+
foreach ($recurringContracts as $key => $recurringContract) {
|
149 |
+
$recurringContracts[$key] = $recurringContracts[$key] + $recurringContractExtra;
|
150 |
+
}
|
151 |
+
|
152 |
+
return $recurringContracts;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Map the recurring variant to a Magento payment method.
|
157 |
+
* @param $variant
|
158 |
+
* @return mixed
|
159 |
+
*/
|
160 |
+
protected function _mapToPaymentMethod($variant)
|
161 |
+
{
|
162 |
+
if (is_null($this->_paymentMethodMap)) {
|
163 |
+
//@todo abstract this away to some config?
|
164 |
+
$this->_paymentMethodMap = [
|
165 |
+
'sepadirectdebit' => 'adyen_sepa'
|
166 |
+
];
|
167 |
+
|
168 |
+
|
169 |
+
$ccTypes = Mage::helper('adyen')->getCcTypes();
|
170 |
+
$ccTypes = array_keys(array_change_key_case($ccTypes, CASE_LOWER));
|
171 |
+
foreach ($ccTypes as $ccType) {
|
172 |
+
$this->_paymentMethodMap[$ccType] = 'adyen_cc';
|
173 |
+
}
|
174 |
+
}
|
175 |
+
|
176 |
+
return isset($this->_paymentMethodMap[$variant])
|
177 |
+
? $this->_paymentMethodMap[$variant]
|
178 |
+
: $variant;
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Disable a recurring contract
|
184 |
+
*
|
185 |
+
* @param string $recurringDetailReference
|
186 |
+
* @param string $shopperReference
|
187 |
+
* @param int|Mage_Core_model_Store|null $store
|
188 |
+
*
|
189 |
+
* @throws Adyen_Payment_Exception
|
190 |
+
* @return bool
|
191 |
+
*/
|
192 |
+
public function disableRecurringContract($recurringDetailReference, $shopperReference, $store = null)
|
193 |
+
{
|
194 |
+
$merchantAccount = $this->_helper()->getConfigData('merchantAccount', null, $store);
|
195 |
+
|
196 |
+
$request = array(
|
197 |
+
"action" => "Recurring.disable",
|
198 |
+
"disableRequest.merchantAccount" => $merchantAccount,
|
199 |
+
"disableRequest.shopperReference" => $shopperReference,
|
200 |
+
"disableRequest.recurringDetailReference" => $recurringDetailReference
|
201 |
+
);
|
202 |
+
|
203 |
+
$result = $this->_doRequest($request, $store);
|
204 |
+
|
205 |
+
// convert result to utf8 characters
|
206 |
+
$result = utf8_encode(urldecode($result));
|
207 |
+
|
208 |
+
if ($result != "disableResult.response=[detail-successfully-disabled]") {
|
209 |
+
Adyen_Payment_Exception::throwException(Mage::helper('adyen')->__($result));
|
210 |
+
}
|
211 |
+
|
212 |
+
return true;
|
213 |
+
}
|
214 |
+
|
215 |
+
|
216 |
+
/**
|
217 |
+
* Do the actual API request
|
218 |
+
*
|
219 |
+
* @param array $request
|
220 |
+
* @param int|Mage_Core_model_Store $storeId
|
221 |
+
*
|
222 |
+
* @throws Adyen_Payment_Exception
|
223 |
+
* @return mixed
|
224 |
+
*/
|
225 |
+
protected function _doRequest(array $request, $storeId)
|
226 |
+
{
|
227 |
+
if ($storeId instanceof Mage_Core_model_Store) {
|
228 |
+
$storeId = $storeId->getId();
|
229 |
+
}
|
230 |
+
|
231 |
+
$requestUrl = $this->_helper()->getConfigDataDemoMode()
|
232 |
+
? "https://pal-test.adyen.com/pal/adapter/httppost"
|
233 |
+
: "https://pal-live.adyen.com/pal/adapter/httppost";
|
234 |
+
$username = $this->_helper()->getConfigDataWsUserName($storeId);
|
235 |
+
$password = $this->_helper()->getConfigDataWsPassword($storeId);
|
236 |
+
|
237 |
+
Mage::log($request, null, 'adyen_api.log');
|
238 |
+
|
239 |
+
$ch = curl_init();
|
240 |
+
curl_setopt($ch, CURLOPT_URL, $requestUrl);
|
241 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
242 |
+
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
243 |
+
curl_setopt($ch, CURLOPT_USERPWD, $username.":".$password);
|
244 |
+
curl_setopt($ch, CURLOPT_POST, count($request));
|
245 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($request));
|
246 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
247 |
+
|
248 |
+
$result = curl_exec($ch);
|
249 |
+
$error = curl_error($ch);
|
250 |
+
|
251 |
+
if ($result === false) {
|
252 |
+
Adyen_Payment_Exception::throwException($error);
|
253 |
+
}
|
254 |
+
|
255 |
+
$httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
256 |
+
if ($httpStatus != 200) {
|
257 |
+
Adyen_Payment_Exception::throwException(
|
258 |
+
Mage::helper('adyen')->__('HTTP Status code %s received, data %s', $httpStatus, $result)
|
259 |
+
);
|
260 |
+
}
|
261 |
+
|
262 |
+
curl_close($ch);
|
263 |
+
|
264 |
+
return $result;
|
265 |
+
}
|
266 |
+
|
267 |
+
|
268 |
+
/**
|
269 |
+
* @return Adyen_Payment_Helper_Data
|
270 |
+
*/
|
271 |
+
protected function _helper()
|
272 |
+
{
|
273 |
+
return Mage::helper('adyen');
|
274 |
+
}
|
275 |
+
}
|
app/code/community/Adyen/Payment/Model/Authenticate.php
CHANGED
@@ -113,7 +113,9 @@ class Adyen_Payment_Model_Authenticate extends Mage_Core_Model_Abstract {
|
|
113 |
}
|
114 |
}
|
115 |
|
116 |
-
$accountCmp =
|
|
|
|
|
117 |
$usernameCmp = strcmp($_SERVER['PHP_AUTH_USER'], $username);
|
118 |
$passwordCmp = strcmp($_SERVER['PHP_AUTH_PW'], $password);
|
119 |
if ($accountCmp === 0 && $usernameCmp === 0 && $passwordCmp === 0) {
|
@@ -235,4 +237,4 @@ class Adyen_Payment_Model_Authenticate extends Mage_Core_Model_Abstract {
|
|
235 |
return Mage::helper('adyen')->_getConfigData($code, $paymentMethodCode, $storeId);
|
236 |
}
|
237 |
|
238 |
-
}
|
113 |
}
|
114 |
}
|
115 |
|
116 |
+
$accountCmp = !$this->_getConfigData('multiple_merchants')
|
117 |
+
? strcmp($submitedMerchantAccount, $internalMerchantAccount)
|
118 |
+
: 0;
|
119 |
$usernameCmp = strcmp($_SERVER['PHP_AUTH_USER'], $username);
|
120 |
$passwordCmp = strcmp($_SERVER['PHP_AUTH_PW'], $password);
|
121 |
if ($accountCmp === 0 && $usernameCmp === 0 && $passwordCmp === 0) {
|
237 |
return Mage::helper('adyen')->_getConfigData($code, $paymentMethodCode, $storeId);
|
238 |
}
|
239 |
|
240 |
+
}
|
app/code/community/Adyen/Payment/Model/Billing/Agreement.php
ADDED
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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) 2015 Adyen BV (http://www.adyen.com)
|
26 |
+
*/
|
27 |
+
|
28 |
+
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Class Adyen_Payment_Model_Billing_Agreement
|
32 |
+
*/
|
33 |
+
class Adyen_Payment_Model_Billing_Agreement
|
34 |
+
extends Mage_Sales_Model_Billing_Agreement {
|
35 |
+
|
36 |
+
public function parseRecurringContractData($data)
|
37 |
+
{
|
38 |
+
/** @var Adyen_Payment_Model_Adyen_Oneclick $methodInstance */
|
39 |
+
$methodInstance = Mage::helper('payment')->getMethodInstance('adyen_oneclick');
|
40 |
+
if (! $methodInstance) {
|
41 |
+
Adyen_Payment_Exception::throwException('Can not update billing agreement, incorrect payment method specified in recurring contract data');
|
42 |
+
}
|
43 |
+
|
44 |
+
$methodInstance->parseRecurringContractData($this, $data);
|
45 |
+
$this->setAgreementData($data);
|
46 |
+
|
47 |
+
return $this;
|
48 |
+
}
|
49 |
+
|
50 |
+
|
51 |
+
public function setAgreementData($data)
|
52 |
+
{
|
53 |
+
if (is_array($data)) {
|
54 |
+
unset($data['creationDate']);
|
55 |
+
unset($data['recurringDetailReference']);
|
56 |
+
unset($data['payment_method']);
|
57 |
+
}
|
58 |
+
|
59 |
+
$this->setData('agreement_data', json_encode($data));
|
60 |
+
return $this;
|
61 |
+
}
|
62 |
+
|
63 |
+
public function getOneClickData()
|
64 |
+
{
|
65 |
+
$data = is_array($this->getAgreementData()) ? $this->getData() + $this->getAgreementData() : $this->getData();
|
66 |
+
$data['title'] = $data['agreement_label'];
|
67 |
+
unset($data['agreement_data']);
|
68 |
+
unset($data['agreement_label']);
|
69 |
+
|
70 |
+
return $data;
|
71 |
+
}
|
72 |
+
|
73 |
+
public function getAgreementData()
|
74 |
+
{
|
75 |
+
return json_decode($this->getData('agreement_data'), true);
|
76 |
+
}
|
77 |
+
|
78 |
+
|
79 |
+
/**
|
80 |
+
* @return Mage_Customer_Model_Customer
|
81 |
+
*/
|
82 |
+
public function getCustomer()
|
83 |
+
{
|
84 |
+
if (! $this->hasData('customer')) {
|
85 |
+
$customer = Mage::getModel('customer/customer')->load($this->getCustomerId());
|
86 |
+
$this->setData('customer', $customer);
|
87 |
+
}
|
88 |
+
|
89 |
+
return $this->getData('customer');
|
90 |
+
}
|
91 |
+
|
92 |
+
|
93 |
+
/**
|
94 |
+
* @return mixed
|
95 |
+
*/
|
96 |
+
public function getCustomerReference()
|
97 |
+
{
|
98 |
+
if (! $this->hasData('customer_reference')) {
|
99 |
+
$customerReference = $this->getCustomer()->getData('adyen_customer_ref') ?: $this->getCustomerId();
|
100 |
+
$this->setData('customer_reference', $customerReference);
|
101 |
+
}
|
102 |
+
|
103 |
+
return $this->getData('customer_reference');
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Payment method instance
|
108 |
+
*
|
109 |
+
* @var Mage_Payment_Model_Method_Abstract
|
110 |
+
*/
|
111 |
+
protected $_paymentMethodInstance = null;
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Retreive payment method instance
|
115 |
+
*
|
116 |
+
* @return Mage_Payment_Model_Method_Abstract
|
117 |
+
*/
|
118 |
+
public function getPaymentMethodInstance()
|
119 |
+
{
|
120 |
+
if (is_null($this->_paymentMethodInstance)) {
|
121 |
+
$methodCode = $this->getMethodCode();
|
122 |
+
$referenceId = $this->getReferenceId();
|
123 |
+
$methodInstanceName = $methodCode . "_" . $referenceId;
|
124 |
+
$this->_paymentMethodInstance = Mage::helper('payment')->getMethodInstance($methodInstanceName);
|
125 |
+
}
|
126 |
+
if ($this->_paymentMethodInstance) {
|
127 |
+
$this->_paymentMethodInstance->setStore($this->getStoreId());
|
128 |
+
}
|
129 |
+
return $this->_paymentMethodInstance;
|
130 |
+
}
|
131 |
+
|
132 |
+
}
|
app/code/community/Adyen/Payment/Model/Billing/Agreement/Observer.php
ADDED
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
class Adyen_Payment_Model_Billing_Agreement_Observer
|
29 |
+
{
|
30 |
+
/**
|
31 |
+
* @event controller_action_predispatch
|
32 |
+
* @param Varien_Event_Observer $observer
|
33 |
+
*/
|
34 |
+
public function addMethodsToConfig(Varien_Event_Observer $observer)
|
35 |
+
{
|
36 |
+
if(Mage::app()->getStore()->isAdmin()) {
|
37 |
+
$store = Mage::getSingleton('adminhtml/session_quote')->getStore();
|
38 |
+
} else {
|
39 |
+
$store = Mage::app()->getStore();
|
40 |
+
}
|
41 |
+
|
42 |
+
if (Mage::getStoreConfigFlag('payment/adyen_oneclick/active', $store)) {
|
43 |
+
try {
|
44 |
+
$this->_addOneClickMethodsToConfig($store);
|
45 |
+
$store->setConfig('payment/adyen_oneclick/active', 0);
|
46 |
+
} catch (Exception $e) {
|
47 |
+
Adyen_Payment_Exception::logException($e);
|
48 |
+
}
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param Mage_Core_Model_Store $store
|
55 |
+
* @return $this
|
56 |
+
*/
|
57 |
+
protected function _addOneClickMethodsToConfig(Mage_Core_Model_Store $store)
|
58 |
+
{
|
59 |
+
Varien_Profiler::start(__CLASS__.'::'.__FUNCTION__);
|
60 |
+
|
61 |
+
$customer = Mage::helper('adyen/billing_agreement')->getCurrentCustomer();
|
62 |
+
|
63 |
+
if (! $customer || ! $customer->getId()) {
|
64 |
+
return $this;
|
65 |
+
}
|
66 |
+
|
67 |
+
$baCollection = Mage::getResourceModel('adyen/billing_agreement_collection');
|
68 |
+
$baCollection->addFieldToFilter('customer_id', $customer->getId());
|
69 |
+
$baCollection->addFieldToFilter('store_id', $store->getId());
|
70 |
+
$baCollection->addActiveFilter();
|
71 |
+
|
72 |
+
foreach ($baCollection as $billingAgreement) {
|
73 |
+
|
74 |
+
// Only show payment methods that are enabled by the merchant
|
75 |
+
$agreementData = json_decode($billingAgreement->agreement_data, true);
|
76 |
+
$recurringPaymentType = Mage::getStoreConfig('payment/adyen_oneclick/recurring_payment_type', $store);
|
77 |
+
|
78 |
+
$this->_createPaymentMethodFromBA($billingAgreement, $store);
|
79 |
+
|
80 |
+
}
|
81 |
+
|
82 |
+
Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
|
83 |
+
}
|
84 |
+
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @param Adyen_Payment_Model_Billing_Agreement $billingAgreement
|
88 |
+
* @param Mage_Core_Model_Store $store
|
89 |
+
*
|
90 |
+
* @return bool
|
91 |
+
*/
|
92 |
+
protected function _createPaymentMethodFromBA(
|
93 |
+
Adyen_Payment_Model_Billing_Agreement $billingAgreement,
|
94 |
+
Mage_Core_Model_Store $store)
|
95 |
+
{
|
96 |
+
$methodInstance = $billingAgreement->getPaymentMethodInstance();
|
97 |
+
if (! $methodInstance || ! $methodInstance->getConfigData('active', $store)) {
|
98 |
+
return false;
|
99 |
+
}
|
100 |
+
|
101 |
+
$methodNewCode = 'adyen_oneclick_'.$billingAgreement->getReferenceId();
|
102 |
+
|
103 |
+
$methodData = array('model' => 'adyen/adyen_oneclick')
|
104 |
+
+ $billingAgreement->getOneClickData()
|
105 |
+
+ Mage::getStoreConfig('payment/adyen_oneclick', $store);
|
106 |
+
|
107 |
+
foreach ($methodData as $key => $value) {
|
108 |
+
$store->setConfig('payment/'.$methodNewCode.'/'.$key, $value);
|
109 |
+
}
|
110 |
+
|
111 |
+
return true;
|
112 |
+
}
|
113 |
+
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @param string $methodCode ideal,mc,etc.
|
117 |
+
* @param array $methodData
|
118 |
+
* @param Mage_Core_Model_Store $store
|
119 |
+
*/
|
120 |
+
public function createPaymentMethodFromOneClick($methodCode, $methodData = array(), Mage_Core_Model_Store $store)
|
121 |
+
{
|
122 |
+
$methodNewCode = 'adyen_oneclick_'.$methodCode;
|
123 |
+
|
124 |
+
$methodData = $methodData + Mage::getStoreConfig('payment/adyen_oneclick', $store);
|
125 |
+
$methodData['model'] = 'adyen/adyen_oneclick';
|
126 |
+
$methodData['active'] = true;
|
127 |
+
|
128 |
+
foreach ($methodData as $key => $value) {
|
129 |
+
$store->setConfig('payment/'.$methodNewCode.'/'.$key, $value);
|
130 |
+
}
|
131 |
+
|
132 |
+
$store->setConfig('payment/adyen_oneclick/active', 0);
|
133 |
+
}
|
134 |
+
}
|
app/code/community/Adyen/Payment/Model/Observer.php
CHANGED
@@ -37,43 +37,16 @@ class Adyen_Payment_Model_Observer {
|
|
37 |
$store = Mage::app()->getStore();
|
38 |
}
|
39 |
|
40 |
-
// Add OneClick payment methods
|
41 |
-
if (Mage::getStoreConfigFlag('payment/adyen_oneclick/active', $store)) {
|
42 |
-
try {
|
43 |
-
$this->_addOneClickMethodsToConfig($store);
|
44 |
-
} catch (Exception $e) {
|
45 |
-
$store->setConfig('payment/adyen_oneclick/active', 0);
|
46 |
-
Mage::logException($e);
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
if (Mage::getStoreConfigFlag('payment/adyen_hpp/active', $store)) {
|
51 |
try {
|
52 |
$this->_addHppMethodsToConfig($store);
|
53 |
} catch (Exception $e) {
|
54 |
$store->setConfig('payment/adyen_hpp/active', 0);
|
55 |
-
|
56 |
}
|
57 |
}
|
58 |
}
|
59 |
|
60 |
-
/**
|
61 |
-
* @param Mage_Core_Model_Store $store
|
62 |
-
*/
|
63 |
-
protected function _addOneClickMethodsToConfig(Mage_Core_Model_Store $store)
|
64 |
-
{
|
65 |
-
Varien_Profiler::start(__CLASS__.'::'.__FUNCTION__);
|
66 |
-
|
67 |
-
// Adyen CC needs to be active
|
68 |
-
if(Mage::getStoreConfigFlag('payment/adyen_cc/active', $store)) {
|
69 |
-
foreach ($this->_fetchOneClickMethods($store) as $methodCode => $methodData) {
|
70 |
-
$this->createPaymentMethodFromOneClick($methodCode, $methodData, $store);
|
71 |
-
}
|
72 |
-
}
|
73 |
-
$store->setConfig('payment/adyen_oneclick/active', 0);
|
74 |
-
|
75 |
-
Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
|
76 |
-
}
|
77 |
|
78 |
|
79 |
/**
|
@@ -98,26 +71,6 @@ class Adyen_Payment_Model_Observer {
|
|
98 |
Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
|
99 |
}
|
100 |
|
101 |
-
|
102 |
-
/**
|
103 |
-
* @param string $methodCode ideal,mc,etc.
|
104 |
-
* @param array $methodData
|
105 |
-
*/
|
106 |
-
public function createPaymentMethodFromOneClick($methodCode, $methodData = array(), Mage_Core_Model_Store $store)
|
107 |
-
{
|
108 |
-
|
109 |
-
$methodNewCode = 'adyen_oneclick_'.$methodCode;
|
110 |
-
|
111 |
-
$methodData = $methodData + Mage::getStoreConfig('payment/adyen_oneclick', $store);
|
112 |
-
$methodData['model'] = 'adyen/adyen_oneclick';
|
113 |
-
|
114 |
-
foreach ($methodData as $key => $value) {
|
115 |
-
$store->setConfig('payment/'.$methodNewCode.'/'.$key, $value);
|
116 |
-
}
|
117 |
-
|
118 |
-
$store->setConfig('payment/adyen_oneclick/active', 0);
|
119 |
-
}
|
120 |
-
|
121 |
/**
|
122 |
* @param string $methodCode ideal,mc,etc.
|
123 |
* @param array $methodData
|
@@ -143,52 +96,6 @@ class Adyen_Payment_Model_Observer {
|
|
143 |
$store->setConfig('/payment/' . $methodNewCode . '/sort_order', $sortOrder);
|
144 |
}
|
145 |
|
146 |
-
/**
|
147 |
-
* @param Mage_Core_Model_Store $store
|
148 |
-
* @return array
|
149 |
-
*/
|
150 |
-
protected function _fetchOneClickMethods(Mage_Core_Model_Store $store)
|
151 |
-
{
|
152 |
-
$adyenHelper = Mage::helper('adyen');
|
153 |
-
$paymentMethods = array();
|
154 |
-
|
155 |
-
$merchantAccount = trim($adyenHelper->getConfigData('merchantAccount', 'adyen_abstract', $store->getId()));
|
156 |
-
|
157 |
-
if(Mage::app()->getStore()->isAdmin()) {
|
158 |
-
$customerId = Mage::getSingleton('adminhtml/session_quote')->getCustomerId();
|
159 |
-
} else if($customer = Mage::getSingleton('customer/session')->isLoggedIn()) {
|
160 |
-
$customerData = Mage::getSingleton('customer/session')->getCustomer();
|
161 |
-
$customerId = $customerData->getId();
|
162 |
-
} else {
|
163 |
-
// not logged in so has no cards
|
164 |
-
return array();
|
165 |
-
}
|
166 |
-
|
167 |
-
$recurringType = $adyenHelper->getConfigData('recurringtypes', 'adyen_abstract', $store->getId());
|
168 |
-
$recurringCards = $adyenHelper->getRecurringCards($merchantAccount, $customerId, $recurringType);
|
169 |
-
|
170 |
-
$paymentMethods = array();
|
171 |
-
foreach ($recurringCards as $key => $paymentMethod) {
|
172 |
-
|
173 |
-
$paymentMethodCode = $paymentMethod['recurringDetailReference'];
|
174 |
-
$paymentMethods[$paymentMethodCode] = $paymentMethod;
|
175 |
-
|
176 |
-
if($paymentMethod['variant'] == 'sepadirectdebit' || $paymentMethod['variant'] == 'ideal' || $paymentMethod['variant'] == 'openinvoice') {
|
177 |
-
$paymentMethods[$paymentMethodCode]['title'] = $paymentMethod['bank_ownerName'] ;
|
178 |
-
} else if($paymentMethod['variant'] == 'elv') {
|
179 |
-
$paymentMethods[$paymentMethodCode]['title'] = $paymentMethod['elv_accountHolderName'] ;
|
180 |
-
} else if(isset($paymentMethod["card_holderName"]) && isset($paymentMethod['card_number'])) {
|
181 |
-
$paymentMethods[$paymentMethodCode]['title'] = $paymentMethod["card_holderName"] . " **** " . $paymentMethod['card_number'];
|
182 |
-
} else {
|
183 |
-
// for now ignore PayPal and Klarna because we have no information on what account this is linked to. You will only get these back when you have recurring enabled
|
184 |
-
// $paymentMethods[$paymentMethodCode]['title'] = Mage::helper('adyen')->__('Saved Card') . " " . $paymentMethod["variant"];
|
185 |
-
unset($paymentMethods[$paymentMethodCode]);
|
186 |
-
}
|
187 |
-
}
|
188 |
-
|
189 |
-
return $paymentMethods;
|
190 |
-
}
|
191 |
-
|
192 |
/**
|
193 |
* @param Mage_Core_Model_Store $store
|
194 |
* @return array
|
@@ -197,9 +104,9 @@ class Adyen_Payment_Model_Observer {
|
|
197 |
{
|
198 |
$adyenHelper = Mage::helper('adyen');
|
199 |
|
|
|
|
|
200 |
|
201 |
-
$skinCode = $adyenHelper->getConfigData('skinCode', 'adyen_hpp', $store);
|
202 |
-
$merchantAccount = $adyenHelper->getConfigData('merchantAccount', null, $store);
|
203 |
if (!$skinCode || !$merchantAccount) {
|
204 |
return array();
|
205 |
}
|
@@ -214,12 +121,14 @@ class Adyen_Payment_Model_Observer {
|
|
214 |
DATE_ATOM,
|
215 |
mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y"))
|
216 |
),
|
217 |
-
"countryCode" => $this->_getCurrentCountryCode(),
|
218 |
-
"shopperLocale" =>
|
219 |
);
|
220 |
$responseData = $this->_getDirectoryLookupResponse($adyFields, $store);
|
221 |
|
222 |
$paymentMethods = array();
|
|
|
|
|
223 |
foreach ($responseData['paymentMethods'] as $paymentMethod) {
|
224 |
$paymentMethod = $this->_fieldMapPaymentMethod($paymentMethod);
|
225 |
$paymentMethodCode = $paymentMethod['brandCode'];
|
@@ -231,7 +140,7 @@ class Adyen_Payment_Model_Observer {
|
|
231 |
}
|
232 |
|
233 |
if (Mage::getStoreConfigFlag('payment/adyen_cc/active')
|
234 |
-
&& in_array($paymentMethodCode,
|
235 |
continue;
|
236 |
}
|
237 |
|
@@ -270,8 +179,13 @@ class Adyen_Payment_Model_Observer {
|
|
270 |
/**
|
271 |
* @return string
|
272 |
*/
|
273 |
-
protected function _getCurrentLocaleCode()
|
274 |
{
|
|
|
|
|
|
|
|
|
|
|
275 |
return Mage::app()->getLocale()->getLocaleCode();
|
276 |
}
|
277 |
|
@@ -288,8 +202,15 @@ class Adyen_Payment_Model_Observer {
|
|
288 |
/**
|
289 |
* @return string
|
290 |
*/
|
291 |
-
protected function _getCurrentCountryCode()
|
292 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
$billingParams = Mage::app()->getRequest()->getParam('billing');
|
294 |
if (isset($billingParams['country_id'])) {
|
295 |
return $billingParams['country_id'];
|
@@ -303,10 +224,13 @@ class Adyen_Payment_Model_Observer {
|
|
303 |
return Mage::getStoreConfig('payment/account/merchant_country');
|
304 |
}
|
305 |
|
|
|
|
|
|
|
|
|
306 |
return null;
|
307 |
}
|
308 |
|
309 |
-
|
310 |
/**
|
311 |
* @return bool|int
|
312 |
*/
|
@@ -366,7 +290,7 @@ class Adyen_Payment_Model_Observer {
|
|
366 |
$responseData = json_decode($results, true);
|
367 |
if (! $responseData || !isset($responseData['paymentMethods'])) {
|
368 |
Mage::throwException(Mage::helper('adyen')->__(
|
369 |
-
'Did not receive JSON, could not retrieve payment methods, received %s', $results
|
370 |
));
|
371 |
}
|
372 |
|
@@ -530,4 +454,68 @@ class Adyen_Payment_Model_Observer {
|
|
530 |
{
|
531 |
return strpos($order->getPayment()->getMethod(), 'adyen') !== false;
|
532 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
533 |
}
|
37 |
$store = Mage::app()->getStore();
|
38 |
}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
if (Mage::getStoreConfigFlag('payment/adyen_hpp/active', $store)) {
|
41 |
try {
|
42 |
$this->_addHppMethodsToConfig($store);
|
43 |
} catch (Exception $e) {
|
44 |
$store->setConfig('payment/adyen_hpp/active', 0);
|
45 |
+
Adyen_Payment_Exception::logException($e);
|
46 |
}
|
47 |
}
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
|
52 |
/**
|
71 |
Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
/**
|
75 |
* @param string $methodCode ideal,mc,etc.
|
76 |
* @param array $methodData
|
96 |
$store->setConfig('/payment/' . $methodNewCode . '/sort_order', $sortOrder);
|
97 |
}
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
/**
|
100 |
* @param Mage_Core_Model_Store $store
|
101 |
* @return array
|
104 |
{
|
105 |
$adyenHelper = Mage::helper('adyen');
|
106 |
|
107 |
+
$skinCode = $adyenHelper->getConfigData('skinCode', 'adyen_hpp', $store->getId());
|
108 |
+
$merchantAccount = $adyenHelper->getConfigData('merchantAccount', null, $store->getId());
|
109 |
|
|
|
|
|
110 |
if (!$skinCode || !$merchantAccount) {
|
111 |
return array();
|
112 |
}
|
121 |
DATE_ATOM,
|
122 |
mktime(date("H") + 1, date("i"), date("s"), date("m"), date("j"), date("Y"))
|
123 |
),
|
124 |
+
"countryCode" => $this->_getCurrentCountryCode($adyenHelper, $store),
|
125 |
+
"shopperLocale" => $this->_getCurrentLocaleCode($adyenHelper, $store)
|
126 |
);
|
127 |
$responseData = $this->_getDirectoryLookupResponse($adyFields, $store);
|
128 |
|
129 |
$paymentMethods = array();
|
130 |
+
$ccTypes = array_keys(Mage::helper('adyen')->getCcTypesAltData());
|
131 |
+
|
132 |
foreach ($responseData['paymentMethods'] as $paymentMethod) {
|
133 |
$paymentMethod = $this->_fieldMapPaymentMethod($paymentMethod);
|
134 |
$paymentMethodCode = $paymentMethod['brandCode'];
|
140 |
}
|
141 |
|
142 |
if (Mage::getStoreConfigFlag('payment/adyen_cc/active')
|
143 |
+
&& in_array($paymentMethodCode, $ccTypes)) {
|
144 |
continue;
|
145 |
}
|
146 |
|
179 |
/**
|
180 |
* @return string
|
181 |
*/
|
182 |
+
protected function _getCurrentLocaleCode($adyenHelper, $store)
|
183 |
{
|
184 |
+
$localeCode = $adyenHelper->getConfigData('shopperlocale', 'adyen_abstract', $store->getId());
|
185 |
+
if($localeCode != "") {
|
186 |
+
return $localeCode;
|
187 |
+
}
|
188 |
+
|
189 |
return Mage::app()->getLocale()->getLocaleCode();
|
190 |
}
|
191 |
|
202 |
/**
|
203 |
* @return string
|
204 |
*/
|
205 |
+
protected function _getCurrentCountryCode($adyenHelper, $store)
|
206 |
{
|
207 |
+
// if fixed countryCode is setup in config use this
|
208 |
+
$countryCode = $adyenHelper->getConfigData('countryCode', 'adyen_abstract', $store->getId());
|
209 |
+
|
210 |
+
if($countryCode != "") {
|
211 |
+
return $countryCode;
|
212 |
+
}
|
213 |
+
|
214 |
$billingParams = Mage::app()->getRequest()->getParam('billing');
|
215 |
if (isset($billingParams['country_id'])) {
|
216 |
return $billingParams['country_id'];
|
224 |
return Mage::getStoreConfig('payment/account/merchant_country');
|
225 |
}
|
226 |
|
227 |
+
if (Mage::getStoreConfig('general/country/default')) {
|
228 |
+
return Mage::getStoreConfig('general/country/default');
|
229 |
+
}
|
230 |
+
|
231 |
return null;
|
232 |
}
|
233 |
|
|
|
234 |
/**
|
235 |
* @return bool|int
|
236 |
*/
|
290 |
$responseData = json_decode($results, true);
|
291 |
if (! $responseData || !isset($responseData['paymentMethods'])) {
|
292 |
Mage::throwException(Mage::helper('adyen')->__(
|
293 |
+
'Did not receive JSON, could not retrieve payment methods, received %s request was: %s', $results, print_r($requestParams, true)
|
294 |
));
|
295 |
}
|
296 |
|
454 |
{
|
455 |
return strpos($order->getPayment()->getMethod(), 'adyen') !== false;
|
456 |
}
|
457 |
+
|
458 |
+
/**
|
459 |
+
* @param Varien_Event_Observer $observer
|
460 |
+
*/
|
461 |
+
public function captureInvoiceOnShipment(Varien_Event_Observer $observer)
|
462 |
+
{
|
463 |
+
|
464 |
+
/* @noinspection PhpUndefinedMethodInspection */
|
465 |
+
/* @var Mage_Sales_Model_Order_Shipment $shipment */
|
466 |
+
$shipment = $observer->getShipment();
|
467 |
+
|
468 |
+
/** @var Mage_Sales_Model_Order $order */
|
469 |
+
$order = $shipment->getOrder();
|
470 |
+
|
471 |
+
$adyenHelper = Mage::helper('adyen');
|
472 |
+
$storeId = $order->getStoreId();
|
473 |
+
|
474 |
+
$captureOnShipment = $adyenHelper->getConfigData('capture_on_shipment', 'adyen_abstract', $storeId);
|
475 |
+
$createPendingInvoice = $adyenHelper->getConfigData('create_pending_invoice', 'adyen_abstract', $storeId);
|
476 |
+
|
477 |
+
// validate if payment method is adyen and if capture_on_shipment is enabled
|
478 |
+
if($this->isPaymentMethodAdyen($order) && $captureOnShipment) {
|
479 |
+
if($createPendingInvoice) {
|
480 |
+
$transaction = Mage::getModel('core/resource_transaction');
|
481 |
+
$transaction->addObject($order);
|
482 |
+
|
483 |
+
foreach ($order->getInvoiceCollection() as $invoice) {
|
484 |
+
/* @var Ho_Invoice_Model_Sales_Order_Invoice $invoice */
|
485 |
+
if (! $invoice->canCapture()) {
|
486 |
+
continue;
|
487 |
+
}
|
488 |
+
|
489 |
+
$invoice->capture();
|
490 |
+
$invoice->setCreatedAt(now());
|
491 |
+
$transaction->addObject($invoice);
|
492 |
+
}
|
493 |
+
|
494 |
+
$order->setIsInProcess(true);
|
495 |
+
$transaction->save();
|
496 |
+
} else {
|
497 |
+
// create an invoice and do a capture to adyen
|
498 |
+
if ($order->canInvoice()) {
|
499 |
+
try {
|
500 |
+
$invoice = $order->prepareInvoice();
|
501 |
+
$invoice->getOrder()->setIsInProcess(true);
|
502 |
+
|
503 |
+
// set transaction id so you can do a online refund from credit memo
|
504 |
+
$invoice->setTransactionId(1);
|
505 |
+
$invoice->register()->capture();
|
506 |
+
$invoice->save();
|
507 |
+
} catch (Exception $e) {
|
508 |
+
Mage::logException($e);
|
509 |
+
}
|
510 |
+
|
511 |
+
$invoiceAutoMail = (bool) $adyenHelper->getConfigData('send_invoice_update_mail', 'adyen_abstract', $storeId);
|
512 |
+
if ($invoiceAutoMail) {
|
513 |
+
$invoice->sendEmail();
|
514 |
+
}
|
515 |
+
}
|
516 |
+
}
|
517 |
+
}
|
518 |
+
|
519 |
+
return $this;
|
520 |
+
}
|
521 |
}
|
app/code/community/Adyen/Payment/Model/ProcessNotification.php
CHANGED
@@ -238,6 +238,8 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
238 |
$valueArray = $params->getData('amount');
|
239 |
if($valueArray && is_array($valueArray)) {
|
240 |
$this->_value = isset($valueArray['value']) ? $valueArray['value'] : "";
|
|
|
|
|
241 |
}
|
242 |
|
243 |
$additionalData = $params->getData('additionalData');
|
@@ -387,7 +389,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
387 |
}
|
388 |
|
389 |
/**
|
390 |
-
* @param $order
|
391 |
* @param $params
|
392 |
*/
|
393 |
protected function _processNotification($order)
|
@@ -468,10 +470,10 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
468 |
$orderStatus = $this->_getConfigData('order_status', 'adyen_abstract', $order->getStoreId());
|
469 |
if(($orderStatus != Mage_Sales_Model_Order::STATE_HOLDED && $order->canCancel()) || ($orderStatus == Mage_Sales_Model_Order::STATE_HOLDED && $order->canHold())) {
|
470 |
// cancel order
|
471 |
-
$this->_debugData['_processNotification'] = 'try to cancel the order';
|
472 |
$this->_holdCancelOrder($order, true);
|
473 |
} else {
|
474 |
-
$this->_debugData['_processNotification'] = 'try to refund the order';
|
475 |
// refund
|
476 |
$this->_refundOrder($order);
|
477 |
//refund completed
|
@@ -484,32 +486,60 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
484 |
// get payment object
|
485 |
$payment = $order->getPayment();
|
486 |
|
487 |
-
//
|
488 |
-
|
489 |
|
490 |
-
|
491 |
-
|
492 |
|
493 |
-
|
494 |
-
$agreement = Mage::getModel('sales/billing_agreement')->load($recurringDetailReference, 'reference_id');
|
495 |
|
496 |
-
|
|
|
|
|
|
|
|
|
497 |
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
|
503 |
-
|
504 |
-
//
|
505 |
-
$
|
506 |
-
'
|
507 |
-
|
508 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
509 |
|
510 |
-
|
511 |
-
$agreement = Mage::getModel('sales/billing_agreement')->importOrderPayment($payment);
|
512 |
-
$agreement->setAgreementLabel($payment->getMethodInstance()->getTitle());
|
513 |
|
514 |
if ($agreement->isValid()) {
|
515 |
$message = Mage::helper('adyen')->__('Created billing agreement #%s.', $agreement->getReferenceId());
|
@@ -522,19 +552,16 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
522 |
} else {
|
523 |
$message = Mage::helper('adyen')->__('Failed to create billing agreement for this order.');
|
524 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
}
|
526 |
-
$comment = $order->addStatusHistoryComment($message);
|
527 |
-
$order->addRelatedObject($comment);
|
528 |
-
|
529 |
-
/*
|
530 |
-
* clear the cache for recurring payments so new card will be added
|
531 |
-
*/
|
532 |
-
$merchantAccount = $this->_getConfigData('merchantAccount','adyen_abstract', $order->getStoreId());
|
533 |
-
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract', $order->getStoreId());
|
534 |
-
|
535 |
-
$cacheKey = $merchantAccount . "|" . $order->getCustomerId() . "|" . $recurringType;
|
536 |
-
Mage::app()->getCache()->remove($cacheKey);
|
537 |
}
|
|
|
|
|
538 |
break;
|
539 |
default:
|
540 |
$order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
|
@@ -598,7 +625,9 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
598 |
}
|
599 |
|
600 |
$_mail = (bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId());
|
601 |
-
|
|
|
|
|
602 |
|
603 |
if ($order->canCreditmemo()) {
|
604 |
$service = Mage::getModel('sales/service_order', $order);
|
@@ -657,17 +686,30 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
657 |
protected function _authorizePayment($order, $payment_method)
|
658 |
{
|
659 |
$this->_debugData['_authorizePayment'] = 'Authorisation of the order';
|
660 |
-
//pre-authorise if success
|
661 |
-
$order->sendNewOrderEmail(); // send order email
|
662 |
|
663 |
$this->_uncancelOrder($order);
|
664 |
|
665 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
666 |
|
667 |
$this->_prepareInvoice($order);
|
668 |
|
669 |
$_paymentCode = $this->_paymentMethodCode($order);
|
670 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
{
|
672 |
$this->_createShipment($order);
|
673 |
}
|
@@ -709,27 +751,27 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
709 |
if (!$this->_isAutoCapture($order)) {
|
710 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Capture Mode set to Manual'));
|
711 |
$order->sendOrderUpdateEmail($_mail);
|
712 |
-
$this->_debugData['_prepareInvoice
|
713 |
|
714 |
// show message if order is in manual review
|
715 |
if($this->_fraudManualReview) {
|
716 |
// check if different status is selected
|
717 |
-
$fraudManualReviewStatus = $this->
|
718 |
if($fraudManualReviewStatus != "") {
|
719 |
$status = $fraudManualReviewStatus;
|
720 |
$comment = "Adyen Payment is in Manual Review check the Adyen platform";
|
721 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
|
722 |
}
|
723 |
}
|
724 |
-
return;
|
725 |
-
}
|
726 |
-
|
727 |
-
// validate if amount is total amount
|
728 |
-
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
729 |
-
if ($this->_value == Mage::helper('adyen')->formatAmount($order->getGrandTotal(), $orderCurrencyCode)) {
|
730 |
|
|
|
|
|
|
|
|
|
|
|
731 |
}
|
732 |
|
|
|
733 |
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
734 |
$orderAmount = (int) Mage::helper('adyen')->formatAmount($order->getGrandTotal(), $orderCurrencyCode);
|
735 |
|
@@ -766,6 +808,17 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
766 |
$order->sendOrderUpdateEmail($_mail);
|
767 |
}
|
768 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
769 |
protected function _isTotalAmount($orderAmount) {
|
770 |
|
771 |
$this->_debugData['_isTotalAmount'] = 'Validate if AUTHORISATION notification has the total amount of the order';
|
@@ -786,24 +839,43 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
786 |
$this->_debugData['_createInvoice'] = 'Creating invoice for order';
|
787 |
|
788 |
if ($order->canInvoice()) {
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
$invoice->setTransactionId(1);
|
794 |
-
$invoice->register()->pay();
|
795 |
try {
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
800 |
$this->_debugData['_createInvoice done'] = 'Created invoice';
|
801 |
} catch (Exception $e) {
|
802 |
$this->_debugData['_createInvoice error'] = 'Error saving invoice. The error message is: ' . $e->getMessage();
|
803 |
Mage::logException($e);
|
804 |
}
|
805 |
|
806 |
-
//selected adyen status
|
807 |
$this->_setPaymentAuthorized($order);
|
808 |
|
809 |
$invoiceAutoMail = (bool) $this->_getConfigData('send_invoice_update_mail', 'adyen_abstract', $order->getStoreId());
|
@@ -812,6 +884,8 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
812 |
}
|
813 |
} else {
|
814 |
$this->_debugData['_createInvoice error'] = 'It is not possible to create invoice for this order';
|
|
|
|
|
815 |
}
|
816 |
}
|
817 |
|
@@ -822,7 +896,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
822 |
protected function _isAutoCapture($order)
|
823 |
{
|
824 |
$captureMode = trim($this->_getConfigData('capture_mode', 'adyen_abstract', $order->getStoreId()));
|
825 |
-
$sepaFlow = trim($this->_getConfigData('
|
826 |
$_paymentCode = $this->_paymentMethodCode($order);
|
827 |
$captureModeOpenInvoice = $this->_getConfigData('auto_capture_openinvoice', 'adyen_abstract', $order->getStoreId());
|
828 |
$captureModePayPal = trim($this->_getConfigData('paypal_capture_mode', 'adyen_abstract', $order->getStoreId()));
|
@@ -830,6 +904,11 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
830 |
//check if it is a banktransfer. Banktransfer only a Authorize notification is send.
|
831 |
$isBankTransfer = $this->_isBankTransfer($this->_paymentMethod);
|
832 |
|
|
|
|
|
|
|
|
|
|
|
833 |
// payment method ideal, cash adyen_boleto or adyen_pos has direct capture
|
834 |
if (strcmp($this->_paymentMethod, 'ideal') === 0 || strcmp($this->_paymentMethod, 'c_cash' ) === 0 || $_paymentCode == "adyen_pos" || $isBankTransfer == true || ($_paymentCode == "adyen_sepa" && $sepaFlow != "authcap") || $_paymentCode == "adyen_boleto") {
|
835 |
return true;
|
@@ -900,9 +979,15 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
900 |
$this->_createInvoice($order);
|
901 |
}
|
902 |
|
903 |
-
|
|
|
|
|
|
|
|
|
|
|
904 |
// virtual order can have different status
|
905 |
if($order->getIsVirtual()) {
|
|
|
906 |
$virtual_status = $this->_getConfigData('payment_authorized_virtual');
|
907 |
if($virtual_status != "") {
|
908 |
$status = $virtual_status;
|
@@ -943,7 +1028,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
943 |
// if manual review is true use the manual review status if this is set
|
944 |
if($manualReviewComment == true && $this->_fraudManualReview) {
|
945 |
// check if different status is selected
|
946 |
-
$fraudManualReviewStatus = $this->
|
947 |
if($fraudManualReviewStatus != "") {
|
948 |
$status = $fraudManualReviewStatus;
|
949 |
$comment = "Adyen Payment is in Manual Review check the Adyen platform";
|
@@ -1039,6 +1124,16 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
|
|
1039 |
}
|
1040 |
}
|
1041 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1042 |
$order->addStatusHistoryComment($comment);
|
1043 |
$this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification';
|
1044 |
}
|
238 |
$valueArray = $params->getData('amount');
|
239 |
if($valueArray && is_array($valueArray)) {
|
240 |
$this->_value = isset($valueArray['value']) ? $valueArray['value'] : "";
|
241 |
+
} elseif(is_object($valueArray)) {
|
242 |
+
$this->_value = $valueArray->value; // for soap
|
243 |
}
|
244 |
|
245 |
$additionalData = $params->getData('additionalData');
|
389 |
}
|
390 |
|
391 |
/**
|
392 |
+
* @param Mage_Sales_Model_Order $order
|
393 |
* @param $params
|
394 |
*/
|
395 |
protected function _processNotification($order)
|
470 |
$orderStatus = $this->_getConfigData('order_status', 'adyen_abstract', $order->getStoreId());
|
471 |
if(($orderStatus != Mage_Sales_Model_Order::STATE_HOLDED && $order->canCancel()) || ($orderStatus == Mage_Sales_Model_Order::STATE_HOLDED && $order->canHold())) {
|
472 |
// cancel order
|
473 |
+
$this->_debugData['_processNotification info'] = 'try to cancel the order';
|
474 |
$this->_holdCancelOrder($order, true);
|
475 |
} else {
|
476 |
+
$this->_debugData['_processNotification info'] = 'try to refund the order';
|
477 |
// refund
|
478 |
$this->_refundOrder($order);
|
479 |
//refund completed
|
486 |
// get payment object
|
487 |
$payment = $order->getPayment();
|
488 |
|
489 |
+
// storedReferenceCode
|
490 |
+
$recurringDetailReference = $this->_pspReference;
|
491 |
|
492 |
+
// check if there is already a BillingAgreement
|
493 |
+
$agreement = Mage::getModel('adyen/billing_agreement')->load($recurringDetailReference, 'reference_id');
|
494 |
|
495 |
+
if ($agreement && $agreement->getAgreementId() > 0 && $agreement->isValid()) {
|
|
|
496 |
|
497 |
+
$agreement->addOrderRelation($order);
|
498 |
+
$agreement->setStatus($agreement::STATUS_ACTIVE);
|
499 |
+
$agreement->setIsObjectChanged(true);
|
500 |
+
$order->addRelatedObject($agreement);
|
501 |
+
$message = Mage::helper('adyen')->__('Used existing billing agreement #%s.', $agreement->getReferenceId());
|
502 |
|
503 |
+
} else {
|
504 |
+
// set billing agreement data
|
505 |
+
$payment->setBillingAgreementData(array(
|
506 |
+
'billing_agreement_id' => $recurringDetailReference,
|
507 |
+
'method_code' => $payment->getMethodCode()
|
508 |
+
));
|
509 |
+
|
510 |
+
// create billing agreement for this order
|
511 |
+
$agreement = Mage::getModel('adyen/billing_agreement');
|
512 |
+
$agreement->setStoreId($order->getStoreId());
|
513 |
+
$agreement->importOrderPayment($payment);
|
514 |
+
|
515 |
+
$listRecurringContracts = Mage::getSingleton('adyen/api')->listRecurringContracts($agreement->getCustomerReference(), $agreement->getStoreId());
|
516 |
+
|
517 |
+
$contractDetail = null;
|
518 |
+
// get currenct Contract details and get list of all current ones
|
519 |
+
$recurringReferencesList = array();
|
520 |
+
foreach ($listRecurringContracts as $rc) {
|
521 |
+
$recurringReferencesList[] = $rc['recurringDetailReference'];
|
522 |
+
if (isset($rc['recurringDetailReference']) && $rc['recurringDetailReference'] == $recurringDetailReference) {
|
523 |
+
$contractDetail = $rc;
|
524 |
+
}
|
525 |
+
}
|
526 |
|
527 |
+
if($contractDetail != null) {
|
528 |
+
// update status of the agreements in magento
|
529 |
+
$billingAgreements = Mage::getResourceModel('adyen/billing_agreement_collection')
|
530 |
+
->addFieldToFilter('customer_id', $agreement->getCustomerReference());
|
531 |
+
|
532 |
+
foreach($billingAgreements as $billingAgreement) {
|
533 |
+
if(!in_array($billingAgreement->getReferenceId(), $recurringReferencesList)) {
|
534 |
+
$billingAgreement->setStatus(Adyen_Payment_Model_Billing_Agreement::STATUS_CANCELED);
|
535 |
+
$billingAgreement->save();
|
536 |
+
} else {
|
537 |
+
$billingAgreement->setStatus(Adyen_Payment_Model_Billing_Agreement::STATUS_ACTIVE);
|
538 |
+
$billingAgreement->save();
|
539 |
+
}
|
540 |
+
}
|
541 |
|
542 |
+
$agreement->parseRecurringContractData($contractDetail);
|
|
|
|
|
543 |
|
544 |
if ($agreement->isValid()) {
|
545 |
$message = Mage::helper('adyen')->__('Created billing agreement #%s.', $agreement->getReferenceId());
|
552 |
} else {
|
553 |
$message = Mage::helper('adyen')->__('Failed to create billing agreement for this order.');
|
554 |
}
|
555 |
+
} else {
|
556 |
+
$this->_debugData['_processNotification error'] = 'Failed to create billing agreement for this order (listRecurringCall did not contain contract)';
|
557 |
+
$this->_debugData['_processNotification ref'] = printf('recurringDetailReference in notification is %s', $recurringDetailReference) ;
|
558 |
+
$this->_debugData['_processNotification customer ref'] = printf('CustomerReference is: %s and storeId is %s', $agreement->getCustomerReference(), $agreement->getStoreId());
|
559 |
+
$this->_debugData['_processNotification customer result'] = $listRecurringContracts;
|
560 |
+
$message = Mage::helper('adyen')->__('Failed to create billing agreement for this order (listRecurringCall did not contain contract)');
|
561 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
}
|
563 |
+
$comment = $order->addStatusHistoryComment($message);
|
564 |
+
$order->addRelatedObject($comment);
|
565 |
break;
|
566 |
default:
|
567 |
$order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
|
625 |
}
|
626 |
|
627 |
$_mail = (bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId());
|
628 |
+
|
629 |
+
$currency = $order->getOrderCurrencyCode(); // use orderCurrency because adyen respond in the same currency as in the request
|
630 |
+
$amount = Mage::helper('adyen')->originalAmount($this->_value, $currency);
|
631 |
|
632 |
if ($order->canCreditmemo()) {
|
633 |
$service = Mage::getModel('sales/service_order', $order);
|
686 |
protected function _authorizePayment($order, $payment_method)
|
687 |
{
|
688 |
$this->_debugData['_authorizePayment'] = 'Authorisation of the order';
|
|
|
|
|
689 |
|
690 |
$this->_uncancelOrder($order);
|
691 |
|
692 |
+
$fraudManualReviewStatus = $this->_getFraudManualReviewStatus($order);
|
693 |
+
|
694 |
+
|
695 |
+
// If manual review is active and a seperate status is used then ignore the pre authorized status
|
696 |
+
if($this->_fraudManualReview != true || $fraudManualReviewStatus == "") {
|
697 |
+
$this->_setPrePaymentAuthorized($order);
|
698 |
+
} else {
|
699 |
+
$this->_debugData['_authorizePayment info'] = 'Ignore the pre authorized status because the order is under manual review and use the Manual review status';
|
700 |
+
}
|
701 |
|
702 |
$this->_prepareInvoice($order);
|
703 |
|
704 |
$_paymentCode = $this->_paymentMethodCode($order);
|
705 |
+
|
706 |
+
// for boleto confirmation mail is send on order creation
|
707 |
+
if($payment_method != "adyen_boleto") {
|
708 |
+
// send order confirmation mail after invoice creation so merchant can add invoicePDF to this mail
|
709 |
+
$order->sendNewOrderEmail(); // send order email
|
710 |
+
}
|
711 |
+
|
712 |
+
if(($payment_method == "c_cash" && $this->_getConfigData('create_shipment', 'adyen_cash', $order->getStoreId())) || ($this->_getConfigData('create_shipment', 'adyen_pos', $order->getStoreId()) && $_paymentCode == "adyen_pos"))
|
713 |
{
|
714 |
$this->_createShipment($order);
|
715 |
}
|
751 |
if (!$this->_isAutoCapture($order)) {
|
752 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Capture Mode set to Manual'));
|
753 |
$order->sendOrderUpdateEmail($_mail);
|
754 |
+
$this->_debugData['_prepareInvoice capture mode'] = 'Capture mode is set to Manual';
|
755 |
|
756 |
// show message if order is in manual review
|
757 |
if($this->_fraudManualReview) {
|
758 |
// check if different status is selected
|
759 |
+
$fraudManualReviewStatus = $this->_getFraudManualReviewStatus($order);
|
760 |
if($fraudManualReviewStatus != "") {
|
761 |
$status = $fraudManualReviewStatus;
|
762 |
$comment = "Adyen Payment is in Manual Review check the Adyen platform";
|
763 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
|
764 |
}
|
765 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
766 |
|
767 |
+
$createPendingInvoice = (bool) $this->_getConfigData('create_pending_invoice', 'adyen_abstract', $order->getStoreId());
|
768 |
+
if(!$createPendingInvoice) {
|
769 |
+
$this->_debugData['_prepareInvoice done'] = 'Setting pending invoice is off so don\'t create an invoice wait for the capture notification';
|
770 |
+
return;
|
771 |
+
}
|
772 |
}
|
773 |
|
774 |
+
// validate if amount is total amount
|
775 |
$orderCurrencyCode = $order->getOrderCurrencyCode();
|
776 |
$orderAmount = (int) Mage::helper('adyen')->formatAmount($order->getGrandTotal(), $orderCurrencyCode);
|
777 |
|
808 |
$order->sendOrderUpdateEmail($_mail);
|
809 |
}
|
810 |
|
811 |
+
|
812 |
+
protected function _getFraudManualReviewStatus($order)
|
813 |
+
{
|
814 |
+
return $this->_getConfigData('fraud_manual_review_status', 'adyen_abstract', $order->getStoreId());
|
815 |
+
}
|
816 |
+
|
817 |
+
protected function _getFraudManualReviewAcceptStatus($order)
|
818 |
+
{
|
819 |
+
return $this->_getConfigData('fraud_manual_review_accept_status', 'adyen_abstract', $order->getStoreId());
|
820 |
+
}
|
821 |
+
|
822 |
protected function _isTotalAmount($orderAmount) {
|
823 |
|
824 |
$this->_debugData['_isTotalAmount'] = 'Validate if AUTHORISATION notification has the total amount of the order';
|
839 |
$this->_debugData['_createInvoice'] = 'Creating invoice for order';
|
840 |
|
841 |
if ($order->canInvoice()) {
|
842 |
+
|
843 |
+
/* We do not use this inside a transaction because order->save() is always done on the end of the notification
|
844 |
+
* and it could result in a deadlock see https://github.com/Adyen/magento/issues/334
|
845 |
+
*/
|
|
|
|
|
846 |
try {
|
847 |
+
$invoice = $order->prepareInvoice();
|
848 |
+
$invoice->getOrder()->setIsInProcess(true);
|
849 |
+
|
850 |
+
// set transaction id so you can do a online refund from credit memo
|
851 |
+
$invoice->setTransactionId(1);
|
852 |
+
|
853 |
+
$autoCapture = $this->_isAutoCapture($order);
|
854 |
+
$createPendingInvoice = (bool) $this->_getConfigData('create_pending_invoice', 'adyen_abstract', $order->getStoreId());
|
855 |
+
|
856 |
+
if((!$autoCapture) && ($createPendingInvoice)) {
|
857 |
+
|
858 |
+
// if amount is zero create a offline invoice
|
859 |
+
$value = (int)$this->_value;
|
860 |
+
if($value == 0) {
|
861 |
+
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE);
|
862 |
+
} else {
|
863 |
+
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::NOT_CAPTURE);
|
864 |
+
}
|
865 |
+
|
866 |
+
$invoice->register();
|
867 |
+
} else {
|
868 |
+
$invoice->register()->pay();
|
869 |
+
}
|
870 |
+
|
871 |
+
$invoice->save();
|
872 |
+
|
873 |
$this->_debugData['_createInvoice done'] = 'Created invoice';
|
874 |
} catch (Exception $e) {
|
875 |
$this->_debugData['_createInvoice error'] = 'Error saving invoice. The error message is: ' . $e->getMessage();
|
876 |
Mage::logException($e);
|
877 |
}
|
878 |
|
|
|
879 |
$this->_setPaymentAuthorized($order);
|
880 |
|
881 |
$invoiceAutoMail = (bool) $this->_getConfigData('send_invoice_update_mail', 'adyen_abstract', $order->getStoreId());
|
884 |
}
|
885 |
} else {
|
886 |
$this->_debugData['_createInvoice error'] = 'It is not possible to create invoice for this order';
|
887 |
+
|
888 |
+
// TODO: check if pending invoice exists if so capture this invoice
|
889 |
}
|
890 |
}
|
891 |
|
896 |
protected function _isAutoCapture($order)
|
897 |
{
|
898 |
$captureMode = trim($this->_getConfigData('capture_mode', 'adyen_abstract', $order->getStoreId()));
|
899 |
+
$sepaFlow = trim($this->_getConfigData('flow', 'adyen_sepa', $order->getStoreId()));
|
900 |
$_paymentCode = $this->_paymentMethodCode($order);
|
901 |
$captureModeOpenInvoice = $this->_getConfigData('auto_capture_openinvoice', 'adyen_abstract', $order->getStoreId());
|
902 |
$captureModePayPal = trim($this->_getConfigData('paypal_capture_mode', 'adyen_abstract', $order->getStoreId()));
|
904 |
//check if it is a banktransfer. Banktransfer only a Authorize notification is send.
|
905 |
$isBankTransfer = $this->_isBankTransfer($this->_paymentMethod);
|
906 |
|
907 |
+
// if you are using authcap the payment method is manual. There will be a capture send to indicate if payment is succesfull
|
908 |
+
if($_paymentCode == "adyen_sepa" && $sepaFlow == "authcap") {
|
909 |
+
return false;
|
910 |
+
}
|
911 |
+
|
912 |
// payment method ideal, cash adyen_boleto or adyen_pos has direct capture
|
913 |
if (strcmp($this->_paymentMethod, 'ideal') === 0 || strcmp($this->_paymentMethod, 'c_cash' ) === 0 || $_paymentCode == "adyen_pos" || $isBankTransfer == true || ($_paymentCode == "adyen_sepa" && $sepaFlow != "authcap") || $_paymentCode == "adyen_boleto") {
|
914 |
return true;
|
979 |
$this->_createInvoice($order);
|
980 |
}
|
981 |
|
982 |
+
// if you have capture on shipment enabled don't set update the status of the payment
|
983 |
+
$captureOnShipment = $this->_getConfigData('capture_on_shipment', 'adyen_abstract', $order->getStoreId());
|
984 |
+
if(!$captureOnShipment) {
|
985 |
+
$status = $this->_getConfigData('payment_authorized', 'adyen_abstract', $order->getStoreId());
|
986 |
+
}
|
987 |
+
|
988 |
// virtual order can have different status
|
989 |
if($order->getIsVirtual()) {
|
990 |
+
$this->_debugData['_setPaymentAuthorized virtual'] = 'Product is a virtual product';
|
991 |
$virtual_status = $this->_getConfigData('payment_authorized_virtual');
|
992 |
if($virtual_status != "") {
|
993 |
$status = $virtual_status;
|
1028 |
// if manual review is true use the manual review status if this is set
|
1029 |
if($manualReviewComment == true && $this->_fraudManualReview) {
|
1030 |
// check if different status is selected
|
1031 |
+
$fraudManualReviewStatus = $this->_getFraudManualReviewStatus($order);
|
1032 |
if($fraudManualReviewStatus != "") {
|
1033 |
$status = $fraudManualReviewStatus;
|
1034 |
$comment = "Adyen Payment is in Manual Review check the Adyen platform";
|
1124 |
}
|
1125 |
}
|
1126 |
|
1127 |
+
// if manual review is accepted and a status is selected. Change the status through this comment history item
|
1128 |
+
if($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_MANUAL_REVIEW_ACCEPT
|
1129 |
+
&& $this->_getFraudManualReviewAcceptStatus($order) != "")
|
1130 |
+
{
|
1131 |
+
$manualReviewAcceptStatus = $this->_getFraudManualReviewAcceptStatus($order);
|
1132 |
+
$order->addStatusHistoryComment($comment, $manualReviewAcceptStatus);
|
1133 |
+
$this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification with status change to: ' . $manualReviewAcceptStatus;
|
1134 |
+
return;
|
1135 |
+
}
|
1136 |
+
|
1137 |
$order->addStatusHistoryComment($comment);
|
1138 |
$this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification';
|
1139 |
}
|
app/code/community/Adyen/Payment/Model/Resource/Billing/Agreement.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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) 2015 Adyen BV (http://www.adyen.com)
|
26 |
+
*/
|
27 |
+
|
28 |
+
class Adyen_Payment_Model_Resource_Billing_Agreement
|
29 |
+
extends Mage_Sales_Model_Resource_Billing_Agreement {
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Add order relation to billing agreement
|
33 |
+
*
|
34 |
+
* @param int $agreementId
|
35 |
+
* @param int $orderId
|
36 |
+
* @return Mage_Sales_Model_Resource_Billing_Agreement
|
37 |
+
*/
|
38 |
+
public function addOrderRelation($agreementId, $orderId)
|
39 |
+
{
|
40 |
+
$this->_getWriteAdapter()->insertIgnore(
|
41 |
+
$this->getTable('sales/billing_agreement_order'), array(
|
42 |
+
'agreement_id' => $agreementId,
|
43 |
+
'order_id' => $orderId
|
44 |
+
)
|
45 |
+
);
|
46 |
+
return $this;
|
47 |
+
}
|
48 |
+
}
|
app/code/community/Adyen/Payment/Model/Resource/Billing/Agreement/Collection.php
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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) 2015 Adyen BV (http://www.adyen.com)
|
26 |
+
*/
|
27 |
+
|
28 |
+
class Adyen_Payment_Model_Resource_Billing_Agreement_Collection
|
29 |
+
extends Mage_Sales_Model_Resource_Billing_Agreement_Collection {
|
30 |
+
|
31 |
+
/**
|
32 |
+
* @return array
|
33 |
+
*/
|
34 |
+
protected function _getNameFields()
|
35 |
+
{
|
36 |
+
$fields = array();
|
37 |
+
|
38 |
+
$customerAccount = Mage::getConfig()->getFieldset('customer_account');
|
39 |
+
foreach ($customerAccount as $code => $node) {
|
40 |
+
if ($node->is('name')) {
|
41 |
+
$fields[$code] = $code.'.value';
|
42 |
+
}
|
43 |
+
}
|
44 |
+
return $fields;
|
45 |
+
}
|
46 |
+
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @param $store
|
50 |
+
* @return $this
|
51 |
+
*/
|
52 |
+
public function addStoreFilter($store)
|
53 |
+
{
|
54 |
+
if ($store instanceof Mage_Core_Model_Store) {
|
55 |
+
$store = $store->getId();
|
56 |
+
}
|
57 |
+
$this->addFieldToFilter('store_id', $store);
|
58 |
+
return $this;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param Mage_Customer_Model_Customer|int $customer
|
63 |
+
* @return $this
|
64 |
+
*/
|
65 |
+
public function addCustomerFilter($customer)
|
66 |
+
{
|
67 |
+
if ($customer instanceof Mage_Customer_Model_Customer) {
|
68 |
+
$customer = $customer->getId();
|
69 |
+
}
|
70 |
+
$this->addFieldToFilter('customer_id', $customer);
|
71 |
+
return $this;
|
72 |
+
}
|
73 |
+
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @return $this
|
77 |
+
*/
|
78 |
+
public function addActiveFilter()
|
79 |
+
{
|
80 |
+
$this->addFieldToFilter('status', Mage_Sales_Model_Billing_Agreement::STATUS_ACTIVE);
|
81 |
+
return $this;
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Add cutomer details(email, firstname, lastname) to select
|
86 |
+
*
|
87 |
+
* @return Mage_Sales_Model_Resource_Billing_Agreement_Collection
|
88 |
+
*/
|
89 |
+
public function addCustomerDetails()
|
90 |
+
{
|
91 |
+
$select = $this->getSelect()->joinInner(
|
92 |
+
array('ce' => $this->getTable('customer/entity')),
|
93 |
+
'ce.entity_id = main_table.customer_id',
|
94 |
+
array('customer_email' => 'email')
|
95 |
+
);
|
96 |
+
|
97 |
+
$customer = Mage::getResourceSingleton('customer/customer');
|
98 |
+
foreach (array_keys($this->_getNameFields()) as $field) {
|
99 |
+
$adapter = $this->getConnection();
|
100 |
+
$attr = $customer->getAttribute($field);
|
101 |
+
|
102 |
+
$joinExpr = $field.'.entity_id = main_table.customer_id AND '
|
103 |
+
. $adapter->quoteInto($field.'.entity_type_id = ?', $customer->getTypeId()) . ' AND '
|
104 |
+
. $adapter->quoteInto($field.'.attribute_id = ?', $attr->getAttributeId());
|
105 |
+
|
106 |
+
$select->joinLeft(
|
107 |
+
array($field => $attr->getBackend()->getTable()),
|
108 |
+
$joinExpr,
|
109 |
+
array($field => 'value')
|
110 |
+
);
|
111 |
+
}
|
112 |
+
|
113 |
+
return $this;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Add Name to select
|
118 |
+
*
|
119 |
+
* @return Mage_Customer_Model_Resource_Customer_Collection
|
120 |
+
*/
|
121 |
+
public function addNameToSelect()
|
122 |
+
{
|
123 |
+
$fields = $this->_getNameFields();
|
124 |
+
$adapter = $this->getConnection();
|
125 |
+
$concatenate = array();
|
126 |
+
|
127 |
+
if (isset($fields['prefix'])) {
|
128 |
+
$concatenate[] = $adapter->getCheckSql(
|
129 |
+
'{{prefix}} IS NOT NULL AND {{prefix}} != \'\'',
|
130 |
+
$adapter->getConcatSql(array('LTRIM(RTRIM({{prefix}}))', '\' \'')),
|
131 |
+
'\'\'');
|
132 |
+
}
|
133 |
+
$concatenate[] = 'LTRIM(RTRIM({{firstname}}))';
|
134 |
+
$concatenate[] = '\' \'';
|
135 |
+
if (isset($fields['middlename'])) {
|
136 |
+
$concatenate[] = $adapter->getCheckSql(
|
137 |
+
'{{middlename}} IS NOT NULL AND {{middlename}} != \'\'',
|
138 |
+
$adapter->getConcatSql(array('LTRIM(RTRIM({{middlename}}))', '\' \'')),
|
139 |
+
'\'\'');
|
140 |
+
}
|
141 |
+
$concatenate[] = 'LTRIM(RTRIM({{lastname}}))';
|
142 |
+
if (isset($fields['suffix'])) {
|
143 |
+
$concatenate[] = $adapter
|
144 |
+
->getCheckSql('{{suffix}} IS NOT NULL AND {{suffix}} != \'\'',
|
145 |
+
$adapter->getConcatSql(array('\' \'', 'LTRIM(RTRIM({{suffix}}))')),
|
146 |
+
'\'\'');
|
147 |
+
}
|
148 |
+
|
149 |
+
$nameExpr = $adapter->getConcatSql($concatenate);
|
150 |
+
|
151 |
+
|
152 |
+
$this->addExpressionFieldToSelect('name', $nameExpr, $fields);
|
153 |
+
|
154 |
+
return $this;
|
155 |
+
}
|
156 |
+
}
|
app/code/community/Adyen/Payment/Model/Sales/Quote/Address/Total/PaymentFee.php
CHANGED
@@ -28,28 +28,25 @@
|
|
28 |
class Adyen_Payment_Model_Sales_Quote_Address_Total_PaymentFee extends Mage_Sales_Model_Quote_Address_Total_Abstract
|
29 |
{
|
30 |
protected $_code = 'payment_fee';
|
31 |
-
|
32 |
public function collect(Mage_Sales_Model_Quote_Address $address)
|
33 |
{
|
34 |
parent::collect($address);
|
35 |
|
36 |
$this->_setAmount(0);
|
37 |
$this->_setBaseAmount(0);
|
38 |
-
|
39 |
$quote = $address->getQuote();
|
40 |
-
|
|
|
41 |
if ($address->getAllItems() && $val) {
|
42 |
$currentAmount = $address->getPaymentFeeAmount();
|
43 |
$fee = Mage::Helper('adyen')->getPaymentFeeAmount($quote);
|
44 |
$balance = $fee - $currentAmount;
|
45 |
-
|
46 |
$address->setPaymentFeeAmount($address->getQuote()->getStore()->convertPrice($balance));
|
47 |
$address->setBasePaymentFeeAmount($balance);
|
48 |
-
|
49 |
$address->setGrandTotal($address->getGrandTotal() + $address->getPaymentFeeAmount());
|
50 |
$address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBasePaymentFeeAmount());
|
51 |
}
|
52 |
-
|
53 |
return $this;
|
54 |
}
|
55 |
|
28 |
class Adyen_Payment_Model_Sales_Quote_Address_Total_PaymentFee extends Mage_Sales_Model_Quote_Address_Total_Abstract
|
29 |
{
|
30 |
protected $_code = 'payment_fee';
|
31 |
+
|
32 |
public function collect(Mage_Sales_Model_Quote_Address $address)
|
33 |
{
|
34 |
parent::collect($address);
|
35 |
|
36 |
$this->_setAmount(0);
|
37 |
$this->_setBaseAmount(0);
|
|
|
38 |
$quote = $address->getQuote();
|
39 |
+
$val = Mage::Helper('adyen')->isPaymentFeeEnabled($quote);
|
40 |
+
|
41 |
if ($address->getAllItems() && $val) {
|
42 |
$currentAmount = $address->getPaymentFeeAmount();
|
43 |
$fee = Mage::Helper('adyen')->getPaymentFeeAmount($quote);
|
44 |
$balance = $fee - $currentAmount;
|
|
|
45 |
$address->setPaymentFeeAmount($address->getQuote()->getStore()->convertPrice($balance));
|
46 |
$address->setBasePaymentFeeAmount($balance);
|
|
|
47 |
$address->setGrandTotal($address->getGrandTotal() + $address->getPaymentFeeAmount());
|
48 |
$address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBasePaymentFeeAmount());
|
49 |
}
|
|
|
50 |
return $this;
|
51 |
}
|
52 |
|
app/code/community/Adyen/Payment/Model/Source/CaptureModes.php
CHANGED
@@ -29,8 +29,8 @@ class Adyen_Payment_Model_Source_CaptureModes {
|
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
-
array('value' => 'auto', 'label' => '
|
33 |
-
array('value' => 'manual', 'label' => '
|
34 |
);
|
35 |
}
|
36 |
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
+
array('value' => 'auto', 'label' => 'immediate'),
|
33 |
+
array('value' => 'manual', 'label' => 'manual'),
|
34 |
);
|
35 |
}
|
36 |
|
app/code/community/Adyen/Payment/Model/Source/DemoModes.php
CHANGED
@@ -27,10 +27,19 @@
|
|
27 |
*/
|
28 |
class Adyen_Payment_Model_Source_DemoModes {
|
29 |
|
30 |
-
public function toOptionArray()
|
|
|
31 |
return array(
|
32 |
-
array('value' => 'Y', 'label' => 'Test Mode'),
|
33 |
-
array('value' => 'N', 'label' => 'Production Mode'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
);
|
35 |
}
|
36 |
|
27 |
*/
|
28 |
class Adyen_Payment_Model_Source_DemoModes {
|
29 |
|
30 |
+
public function toOptionArray()
|
31 |
+
{
|
32 |
return array(
|
33 |
+
array('value' => 'Y', 'label' => Mage::helper('adyen')->__('Test Mode')),
|
34 |
+
array('value' => 'N', 'label' => Mage::helper('adyen')->__('Production Mode')),
|
35 |
+
);
|
36 |
+
}
|
37 |
+
|
38 |
+
public function toOptionHash()
|
39 |
+
{
|
40 |
+
return array(
|
41 |
+
'Y' => Mage::helper('adyen')->__('Test Mode'),
|
42 |
+
'N' => Mage::helper('adyen')->__('Production Mode')
|
43 |
);
|
44 |
}
|
45 |
|
app/code/community/Adyen/Payment/Model/Source/PayPalCaptureModes.php
CHANGED
@@ -29,9 +29,8 @@ class Adyen_Payment_Model_Source_PayPalCaptureModes {
|
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
-
array('value' => '', 'label' => '
|
33 |
-
array('value' => '
|
34 |
-
array('value' => 'manual', 'label' => 'Manual Capture')
|
35 |
);
|
36 |
}
|
37 |
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
+
array('value' => 'auto', 'label' => 'No'),
|
33 |
+
array('value' => 'manual', 'label' => 'Yes')
|
|
|
34 |
);
|
35 |
}
|
36 |
|
app/code/community/Adyen/Payment/Model/Source/RecurringPaymentType.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_Source_RecurringPaymentType {
|
29 |
+
|
30 |
+
public function toOptionArray() {
|
31 |
+
$options = array();
|
32 |
+
foreach (Mage::helper('adyen')->getRecurringTypes() as $code => $name) {
|
33 |
+
// only use ONECLICK and RECURRING
|
34 |
+
if($code == "ONECLICK" || $code == "RECURRING") {
|
35 |
+
$options[] = array(
|
36 |
+
'value' => $code,
|
37 |
+
'label' => $name
|
38 |
+
);
|
39 |
+
}
|
40 |
+
}
|
41 |
+
return $options;
|
42 |
+
}
|
43 |
+
|
44 |
+
}
|
app/code/community/Adyen/Payment/Model/Source/Rendermode.php
CHANGED
@@ -37,7 +37,7 @@ class Adyen_Payment_Model_Source_Rendermode
|
|
37 |
{
|
38 |
return array(
|
39 |
array('value' => self::MODE_TITLE, 'label' => Mage::helper('adyen')->__('Title')),
|
40 |
-
array('value' => self::MODE_TITLE_IMAGE, 'label' => Mage::helper('adyen')->__('
|
41 |
);
|
42 |
}
|
43 |
}
|
37 |
{
|
38 |
return array(
|
39 |
array('value' => self::MODE_TITLE, 'label' => Mage::helper('adyen')->__('Title')),
|
40 |
+
array('value' => self::MODE_TITLE_IMAGE, 'label' => Mage::helper('adyen')->__('Logo + Title')),
|
41 |
);
|
42 |
}
|
43 |
}
|
app/code/community/Adyen/Payment/Model/Source/SepaFlow.php
CHANGED
@@ -29,7 +29,7 @@ class Adyen_Payment_Model_Source_SepaFlow {
|
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
-
array('value' => 'sales', 'label' => '
|
33 |
array('value' => 'authcap', 'label' => 'Auth/Cap'),
|
34 |
);
|
35 |
}
|
29 |
|
30 |
public function toOptionArray() {
|
31 |
return array(
|
32 |
+
array('value' => 'sales', 'label' => 'Sale'),
|
33 |
array('value' => 'authcap', 'label' => 'Auth/Cap'),
|
34 |
);
|
35 |
}
|
app/code/community/Adyen/Payment/Model/Source/Status/Refund.php
CHANGED
@@ -27,5 +27,7 @@
|
|
27 |
*/
|
28 |
class Adyen_Payment_Model_Source_Status_Refund extends Mage_Adminhtml_Model_System_Config_Source_Order_Status
|
29 |
{
|
30 |
-
protected $_stateStatuses =
|
|
|
|
|
31 |
}
|
27 |
*/
|
28 |
class Adyen_Payment_Model_Source_Status_Refund extends Mage_Adminhtml_Model_System_Config_Source_Order_Status
|
29 |
{
|
30 |
+
protected $_stateStatuses = array(
|
31 |
+
Mage_Sales_Model_Order::STATE_CLOSED,
|
32 |
+
);
|
33 |
}
|
app/code/community/Adyen/Payment/controllers/Adminhtml/Adyen/Event/QueueController.php
CHANGED
@@ -30,7 +30,7 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
|
|
30 |
|
31 |
public function indexAction() {
|
32 |
|
33 |
-
Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('
|
34 |
|
35 |
$this->_title(Mage::helper('sales')->__('Sales'))->_title(Mage::helper('adyen')->__('Adyen Event Queue'))
|
36 |
->loadLayout()
|
@@ -50,7 +50,7 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
|
|
50 |
} catch (Mage_Core_Exception $e) {
|
51 |
$this->_getSession()->addError($e->getMessage());
|
52 |
} catch (Exception $e) {
|
53 |
-
|
54 |
}
|
55 |
$this->_redirect('*/*/');
|
56 |
}
|
@@ -61,6 +61,14 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
|
|
61 |
public function executeAction() {
|
62 |
// get event queue id
|
63 |
$eventQueueId = $this->getRequest()->getParam('event_queue_id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
$eventQueue = Mage::getModel('adyen/event_queue')->load($eventQueueId);
|
65 |
|
66 |
$incrementId = $eventQueue->getIncrementId();
|
@@ -84,8 +92,6 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
|
|
84 |
|
85 |
$this->_getSession()->addError($this->__('The order does not exist.'));
|
86 |
}
|
87 |
-
// return back to the view
|
88 |
-
$this->_redirect('*/*/');
|
89 |
}
|
90 |
|
91 |
public function deleteAction() {
|
@@ -97,4 +103,62 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
|
|
97 |
$this->_redirect('*/*/');
|
98 |
}
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
30 |
|
31 |
public function indexAction() {
|
32 |
|
33 |
+
Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('adyen')->__('If you are using Adyen CreditCard payment method it could be that the notifcation that is send from the Adyen Platform is faster then Magento saves the order. The notification is saved and when a new notification is send it will try to update the previous notification as well. You can see here what notifications did not processed yet and you can proccess it here manual if you want to by selecting "Execute" under the Actions column '));
|
34 |
|
35 |
$this->_title(Mage::helper('sales')->__('Sales'))->_title(Mage::helper('adyen')->__('Adyen Event Queue'))
|
36 |
->loadLayout()
|
50 |
} catch (Mage_Core_Exception $e) {
|
51 |
$this->_getSession()->addError($e->getMessage());
|
52 |
} catch (Exception $e) {
|
53 |
+
Adyen_Payment_Exception::logException($e);
|
54 |
}
|
55 |
$this->_redirect('*/*/');
|
56 |
}
|
61 |
public function executeAction() {
|
62 |
// get event queue id
|
63 |
$eventQueueId = $this->getRequest()->getParam('event_queue_id');
|
64 |
+
$this->_executeEventQueue($eventQueueId);
|
65 |
+
|
66 |
+
// return back to the view
|
67 |
+
$this->_redirect('*/*/');
|
68 |
+
}
|
69 |
+
|
70 |
+
private function _executeEventQueue($eventQueueId) {
|
71 |
+
|
72 |
$eventQueue = Mage::getModel('adyen/event_queue')->load($eventQueueId);
|
73 |
|
74 |
$incrementId = $eventQueue->getIncrementId();
|
92 |
|
93 |
$this->_getSession()->addError($this->__('The order does not exist.'));
|
94 |
}
|
|
|
|
|
95 |
}
|
96 |
|
97 |
public function deleteAction() {
|
103 |
$this->_redirect('*/*/');
|
104 |
}
|
105 |
|
106 |
+
public function massDeleteAction()
|
107 |
+
{
|
108 |
+
$queueIds = $this->getRequest()->getParam('queue_id'); // $this->getMassactionBlock()->setFormFieldName('queue_id'); from Adyen_Payment_Block_Adminhtml_Adyen_Event_Queue_Grid
|
109 |
+
|
110 |
+
if(!is_array($queueIds)) {
|
111 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adyen')->__('Please select notification queue(s).'));
|
112 |
+
} else {
|
113 |
+
try {
|
114 |
+
$eventQueueModel = Mage::getModel('adyen/event_queue');
|
115 |
+
foreach ($queueIds as $queueId) {
|
116 |
+
$eventQueueModel->load($queueId)->delete();
|
117 |
+
}
|
118 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(
|
119 |
+
Mage::helper('adyen')->__(
|
120 |
+
'Total of %d record(s) were deleted.', count($queueIds)
|
121 |
+
)
|
122 |
+
);
|
123 |
+
} catch (Exception $e) {
|
124 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
$this->_redirect('*/*/index');
|
129 |
+
}
|
130 |
+
|
131 |
+
public function massExecuteAction()
|
132 |
+
{
|
133 |
+
$queueIds = $this->getRequest()->getParam('queue_id'); // $this->getMassactionBlock()->setFormFieldName('queue_id'); from Adyen_Payment_Block_Adminhtml_Adyen_Event_Queue_Grid
|
134 |
+
|
135 |
+
if(!is_array($queueIds)) {
|
136 |
+
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adyen')->__('Please select notification queue(s).'));
|
137 |
+
} else {
|
138 |
+
try {
|
139 |
+
$eventQueueModel = Mage::getModel('adyen/event_queue');
|
140 |
+
foreach ($queueIds as $queueId) {
|
141 |
+
$this->_executeEventQueue($queueId);
|
142 |
+
}
|
143 |
+
Mage::getSingleton('adminhtml/session')->addSuccess(
|
144 |
+
Mage::helper('adyen')->__(
|
145 |
+
'Total of %d record(s) were deleted.', count($queueIds)
|
146 |
+
)
|
147 |
+
);
|
148 |
+
} catch (Exception $e) {
|
149 |
+
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
|
150 |
+
}
|
151 |
+
}
|
152 |
+
|
153 |
+
$this->_redirect('*/*/index');
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* @return bool
|
158 |
+
*/
|
159 |
+
protected function _isAllowed()
|
160 |
+
{
|
161 |
+
return Mage::getSingleton('admin/session')->isAllowed('sales/adyen_payment');
|
162 |
+
}
|
163 |
+
|
164 |
}
|
app/code/community/Adyen/Payment/controllers/Adminhtml/ExportAdyenSettingsController.php
CHANGED
@@ -106,4 +106,12 @@ class Adyen_Payment_Adminhtml_ExportAdyenSettingsController extends Mage_Adminht
|
|
106 |
}
|
107 |
}
|
108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
106 |
}
|
107 |
}
|
108 |
|
109 |
+
/**
|
110 |
+
* @return bool
|
111 |
+
*/
|
112 |
+
protected function _isAllowed()
|
113 |
+
{
|
114 |
+
return Mage::getSingleton('admin/session')->isAllowed('system/config/payment');
|
115 |
+
}
|
116 |
+
|
117 |
}
|
app/code/community/Adyen/Payment/controllers/Adminhtml/ValidateWebserverSettingsController.php
CHANGED
@@ -82,4 +82,12 @@ class Adyen_Payment_Adminhtml_ValidateWebserverSettingsController extends Mage_A
|
|
82 |
echo $result;
|
83 |
return;
|
84 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
82 |
echo $result;
|
83 |
return;
|
84 |
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @return bool
|
88 |
+
*/
|
89 |
+
protected function _isAllowed()
|
90 |
+
{
|
91 |
+
return Mage::getSingleton('admin/session')->isAllowed('system/config/payment');
|
92 |
+
}
|
93 |
}
|
app/code/community/Adyen/Payment/controllers/ProcessController.php
CHANGED
@@ -313,11 +313,14 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
313 |
|
314 |
// reactivate the quote again
|
315 |
$quoteId = $order->getQuoteId();
|
316 |
-
$
|
317 |
-
|
|
|
|
|
|
|
318 |
// reset reserverOrderId because already used by previous order
|
319 |
-
$
|
320 |
-
$session->replaceQuote($
|
321 |
|
322 |
// if setting failed_attempt_disable is on and the payment method is openinvoice ignore this payment mehthod the second time
|
323 |
if($this->_getConfigData('failed_attempt_disable', 'adyen_openinvoice') && $order->getPayment()->getMethod() == "adyen_openinvoice") {
|
@@ -346,7 +349,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
346 |
break;
|
347 |
}
|
348 |
} catch (Mage_Core_Exception $e) {
|
349 |
-
|
350 |
}
|
351 |
|
352 |
$params = $this->getRequest()->getParams();
|
@@ -376,7 +379,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
376 |
if($redirect == "checkout/cart") {
|
377 |
$redirect = Mage::getUrl('checkout/cart');
|
378 |
$this->_redirectUrl($redirect);
|
379 |
-
}
|
380 |
$redirect = Mage::helper('checkout/url')->getCheckoutUrl();
|
381 |
$this->_redirectUrl($redirect);
|
382 |
} else {
|
@@ -440,7 +443,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
440 |
}
|
441 |
|
442 |
} catch (Exception $e) {
|
443 |
-
|
444 |
}
|
445 |
return $this;
|
446 |
}
|
313 |
|
314 |
// reactivate the quote again
|
315 |
$quoteId = $order->getQuoteId();
|
316 |
+
$quote = Mage::getModel('sales/quote')
|
317 |
+
->load($quoteId)
|
318 |
+
->setIsActive(1)
|
319 |
+
->save();
|
320 |
+
|
321 |
// reset reserverOrderId because already used by previous order
|
322 |
+
$quote->setReservedOrderId(null);
|
323 |
+
$session->replaceQuote($quote);
|
324 |
|
325 |
// if setting failed_attempt_disable is on and the payment method is openinvoice ignore this payment mehthod the second time
|
326 |
if($this->_getConfigData('failed_attempt_disable', 'adyen_openinvoice') && $order->getPayment()->getMethod() == "adyen_openinvoice") {
|
349 |
break;
|
350 |
}
|
351 |
} catch (Mage_Core_Exception $e) {
|
352 |
+
Adyen_Payment_Exception::logException($e);
|
353 |
}
|
354 |
|
355 |
$params = $this->getRequest()->getParams();
|
379 |
if($redirect == "checkout/cart") {
|
380 |
$redirect = Mage::getUrl('checkout/cart');
|
381 |
$this->_redirectUrl($redirect);
|
382 |
+
} elseif ($redirect == "checkout/onepage") {
|
383 |
$redirect = Mage::helper('checkout/url')->getCheckoutUrl();
|
384 |
$this->_redirectUrl($redirect);
|
385 |
} else {
|
443 |
}
|
444 |
|
445 |
} catch (Exception $e) {
|
446 |
+
Adyen_Payment_Exception::logException($e);
|
447 |
}
|
448 |
return $this;
|
449 |
}
|
app/code/community/Adyen/Payment/controllers/SavedCardController.php
DELETED
@@ -1,117 +0,0 @@
|
|
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_SavedCardController extends Mage_Core_Controller_Front_Action
|
29 |
-
{
|
30 |
-
|
31 |
-
/**
|
32 |
-
*
|
33 |
-
* @var Mage_Customer_Model_Session
|
34 |
-
*/
|
35 |
-
protected $_session = null;
|
36 |
-
|
37 |
-
/**
|
38 |
-
* Make sure customer is logged in and put it into registry
|
39 |
-
*/
|
40 |
-
public function preDispatch()
|
41 |
-
{
|
42 |
-
parent::preDispatch();
|
43 |
-
if (!$this->getRequest()->isDispatched()) {
|
44 |
-
return;
|
45 |
-
}
|
46 |
-
$this->_session = Mage::getSingleton('customer/session');
|
47 |
-
if (!$this->_session->authenticate($this)) {
|
48 |
-
$this->setFlag('', 'no-dispatch', true);
|
49 |
-
}
|
50 |
-
Mage::register('current_customer', $this->_session->getCustomer());
|
51 |
-
}
|
52 |
-
|
53 |
-
/**
|
54 |
-
* Profiles listing
|
55 |
-
*/
|
56 |
-
public function indexAction()
|
57 |
-
{
|
58 |
-
// check if there is a submit on card delete
|
59 |
-
if ($this->getRequest()->isPost()) {
|
60 |
-
$recurringDetailReference = $this->getRequest()->getParam('recurringDetailReference');
|
61 |
-
if($recurringDetailReference != "") {
|
62 |
-
$storeId = Mage::app()->getStore()->getStoreId();
|
63 |
-
$merchantAccount = Mage::getStoreConfig("payment/adyen_abstract/merchantAccount", $storeId);
|
64 |
-
$customer = Mage::registry('current_customer');
|
65 |
-
$shopperReference = $customer->getId();
|
66 |
-
// do api call to delete this card
|
67 |
-
$success = Mage::helper('adyen')->removeRecurringCard($merchantAccount, $shopperReference, $recurringDetailReference);
|
68 |
-
|
69 |
-
// show result message
|
70 |
-
if($success) {
|
71 |
-
$this->_getSession()->addSuccess(Mage::helper('adyen')->__('The card has been deleted.'));
|
72 |
-
|
73 |
-
// remove the billing agreement
|
74 |
-
$agreement = Mage::getModel('sales/billing_agreement')->load($recurringDetailReference, 'reference_id');
|
75 |
-
|
76 |
-
if ($agreement && $agreement->getAgreementId() > 0 && $agreement->isValid()) {
|
77 |
-
$agreement->delete();
|
78 |
-
}
|
79 |
-
|
80 |
-
/*
|
81 |
-
* clear the cache for recurring payments so new card will be added
|
82 |
-
*/
|
83 |
-
$recurringType = Mage::getStoreConfig('payment/adyen_abstract/recurringtypes', $storeId);
|
84 |
-
$customer = Mage::registry('current_customer');
|
85 |
-
$shopperReference = $customer->getId();
|
86 |
-
|
87 |
-
$cacheKey = $merchantAccount . "|" . $shopperReference . "|" . $recurringType;
|
88 |
-
Mage::app()->getCache()->remove($cacheKey);
|
89 |
-
|
90 |
-
} else {
|
91 |
-
$this->_getSession()->addError(Mage::helper('adyen')->__('The card has not been deleted, please contact us.'));
|
92 |
-
}
|
93 |
-
}
|
94 |
-
}
|
95 |
-
|
96 |
-
$this->_title($this->__('Saved Cards'));
|
97 |
-
$this->loadLayout();
|
98 |
-
$this->_initLayoutMessages('customer/session');
|
99 |
-
$block = $this->getLayout()->getBlock('adyen.savedCards');
|
100 |
-
if ($block) {
|
101 |
-
$block->setRefererUrl($this->_getRefererUrl());
|
102 |
-
}
|
103 |
-
$this->renderLayout();
|
104 |
-
}
|
105 |
-
|
106 |
-
/**
|
107 |
-
* Retrieve customer session object
|
108 |
-
*
|
109 |
-
* @return Mage_Customer_Model_Session
|
110 |
-
*/
|
111 |
-
protected function _getSession()
|
112 |
-
{
|
113 |
-
return Mage::getSingleton('customer/session');
|
114 |
-
}
|
115 |
-
|
116 |
-
|
117 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Adyen/Payment/controllers/UpdateCartController.php
CHANGED
@@ -38,7 +38,7 @@ class Adyen_Payment_UpdateCartController extends Mage_Core_Controller_Front_Acti
|
|
38 |
// check if barcdoe is from scanner or filled in manually
|
39 |
if($code != "") {
|
40 |
$sku = $code;
|
41 |
-
}
|
42 |
$sku = $customCode;
|
43 |
} else {
|
44 |
// no barcode
|
38 |
// check if barcdoe is from scanner or filled in manually
|
39 |
if($code != "") {
|
40 |
$sku = $code;
|
41 |
+
} elseif($customCode != "") {
|
42 |
$sku = $customCode;
|
43 |
} else {
|
44 |
// no barcode
|
app/code/community/Adyen/Payment/etc/config.xml
CHANGED
@@ -29,7 +29,7 @@
|
|
29 |
<config>
|
30 |
<modules>
|
31 |
<Adyen_Payment>
|
32 |
-
<version>2.
|
33 |
</Adyen_Payment>
|
34 |
</modules>
|
35 |
<global>
|
@@ -52,6 +52,17 @@
|
|
52 |
</event_queue>
|
53 |
</entities>
|
54 |
</adyen_resource>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
</models>
|
56 |
<helpers>
|
57 |
<adyen>
|
@@ -98,6 +109,7 @@
|
|
98 |
<sales>
|
99 |
<rewrite>
|
100 |
<order_totals>Adyen_Payment_Block_Sales_Order_Totals</order_totals>
|
|
|
101 |
</rewrite>
|
102 |
</sales>
|
103 |
</blocks>
|
@@ -170,12 +182,24 @@
|
|
170 |
<events>
|
171 |
<controller_action_predispatch>
|
172 |
<observers>
|
173 |
-
<
|
174 |
<class>adyen/observer</class>
|
175 |
<method>addMethodsToConfig</method>
|
176 |
-
</
|
|
|
|
|
|
|
|
|
177 |
</observers>
|
178 |
</controller_action_predispatch>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
</events>
|
180 |
</global>
|
181 |
|
@@ -269,9 +293,10 @@
|
|
269 |
<payment_authorized_virtual>complete</payment_authorized_virtual>
|
270 |
<payment_cancelled_redirect>checkout/cart</payment_cancelled_redirect>
|
271 |
<capture_mode>auto</capture_mode>
|
|
|
272 |
<recurringtypes>ONECLICK</recurringtypes>
|
273 |
<auto_capture_openinvoice>0</auto_capture_openinvoice>
|
274 |
-
<paypal_capture_mode>
|
275 |
<send_email_bank_sepa_on_pending>0</send_email_bank_sepa_on_pending>
|
276 |
<title_renderer>title_image</title_renderer>
|
277 |
<ignore_refund_notification>0</ignore_refund_notification>
|
@@ -292,8 +317,7 @@
|
|
292 |
<allowspecific>0</allowspecific>
|
293 |
<disable_hpptypes>0</disable_hpptypes>
|
294 |
<sort_order>30</sort_order>
|
295 |
-
<
|
296 |
-
<return_url_in_request>0</return_url_in_request>
|
297 |
</adyen_hpp>
|
298 |
<adyen_ideal translate="title" module="adyen">
|
299 |
<active>0</active>
|
@@ -328,6 +352,7 @@
|
|
328 |
<group>adyen</group>
|
329 |
<title>Cash</title>
|
330 |
<sort_order>90</sort_order>
|
|
|
331 |
<visible_type>both</visible_type>
|
332 |
<cash_express_checkout>0</cash_express_checkout>
|
333 |
<cash_drawer>0</cash_drawer>
|
@@ -355,7 +380,7 @@
|
|
355 |
<title>Adyen Credit Card</title>
|
356 |
<debug>0</debug>
|
357 |
<enable_installments>0</enable_installments>
|
358 |
-
<cse_enabled>
|
359 |
<cse_public_key></cse_public_key>
|
360 |
<visible_type>both</visible_type>
|
361 |
<enable_moto>0</enable_moto>
|
@@ -364,6 +389,7 @@
|
|
364 |
<trxuser_password>0</trxuser_password>
|
365 |
<adminaction_password>5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminaction_password>
|
366 |
<wsdl>https://pal-test.adyen.com/pal/Payment.wsdl</wsdl>
|
|
|
367 |
<sort_order>20</sort_order>
|
368 |
</adyen_cc>
|
369 |
<adyen_oneclick translate="title" module="adyen">
|
@@ -372,6 +398,7 @@
|
|
372 |
<group>adyen</group>
|
373 |
<title>Adyen OneClick</title>
|
374 |
<sort_order>1</sort_order>
|
|
|
375 |
</adyen_oneclick>
|
376 |
<adyen_elv translate="title" module="adyen">
|
377 |
<active>0</active>
|
@@ -399,6 +426,7 @@
|
|
399 |
<title>Adyen SEPA</title>
|
400 |
<sort_order>60</sort_order>
|
401 |
<validate_iban>0</validate_iban>
|
|
|
402 |
<flow>sales</flow>
|
403 |
</adyen_sepa>
|
404 |
<adyen_pay_by_mail>
|
@@ -416,57 +444,75 @@
|
|
416 |
<cctypes>
|
417 |
<AE>
|
418 |
<code>AE</code>
|
|
|
419 |
<name>American Express</name>
|
420 |
<order>0</order>
|
421 |
<is_cvv_required>1</is_cvv_required>
|
|
|
422 |
</AE>
|
423 |
<VI>
|
424 |
<code>VI</code>
|
|
|
425 |
<name>Visa</name>
|
426 |
<order>10</order>
|
427 |
<is_cvv_required>1</is_cvv_required>
|
|
|
428 |
</VI>
|
429 |
<MC>
|
430 |
<code>MC</code>
|
|
|
431 |
<name>Master Card</name>
|
432 |
<order>20</order>
|
433 |
<is_cvv_required>1</is_cvv_required>
|
|
|
434 |
</MC>
|
435 |
<DI>
|
436 |
<code>DI</code>
|
|
|
437 |
<name>Discover</name>
|
438 |
<order>30</order>
|
439 |
<is_cvv_required>1</is_cvv_required>
|
|
|
440 |
</DI>
|
441 |
<DC>
|
442 |
<code>DC</code>
|
|
|
443 |
<name>Diners Club</name>
|
444 |
<order>40</order>
|
445 |
<is_cvv_required>1</is_cvv_required>
|
|
|
446 |
</DC>
|
447 |
<SM>
|
448 |
<code>SM</code>
|
|
|
449 |
<name>Maestro</name>
|
450 |
<order>60</order>
|
451 |
<is_cvv_required>0</is_cvv_required>
|
|
|
452 |
</SM>
|
453 |
<JCB>
|
454 |
<code>JCB</code>
|
|
|
455 |
<name>JCB</name>
|
456 |
<order>70</order>
|
457 |
<is_cvv_required>0</is_cvv_required>
|
|
|
458 |
</JCB>
|
459 |
<ELO>
|
460 |
<code>ELO</code>
|
|
|
461 |
<name>Elo</name>
|
462 |
<order>80</order>
|
463 |
<is_cvv_required>0</is_cvv_required>
|
|
|
464 |
</ELO>
|
465 |
<hipercard>
|
466 |
<code>hipercard</code>
|
|
|
467 |
<name>Hipercard</name>
|
468 |
<order>90</order>
|
469 |
<is_cvv_required>0</is_cvv_required>
|
|
|
470 |
</hipercard>
|
471 |
</cctypes>
|
472 |
<boletotypes>
|
29 |
<config>
|
30 |
<modules>
|
31 |
<Adyen_Payment>
|
32 |
+
<version>2.4.0</version>
|
33 |
</Adyen_Payment>
|
34 |
</modules>
|
35 |
<global>
|
52 |
</event_queue>
|
53 |
</entities>
|
54 |
</adyen_resource>
|
55 |
+
<sales>
|
56 |
+
<rewrite>
|
57 |
+
<billing_agreement>Adyen_Payment_Model_Billing_Agreement</billing_agreement>
|
58 |
+
</rewrite>
|
59 |
+
</sales>
|
60 |
+
<sales_resource>
|
61 |
+
<rewrite>
|
62 |
+
<billing_agreement>Adyen_Payment_Model_Resource_Billing_Agreement</billing_agreement>
|
63 |
+
<billing_agreement_collection>Adyen_Payment_Model_Resource_Billing_Agreement_Collection</billing_agreement_collection>
|
64 |
+
</rewrite>
|
65 |
+
</sales_resource>
|
66 |
</models>
|
67 |
<helpers>
|
68 |
<adyen>
|
109 |
<sales>
|
110 |
<rewrite>
|
111 |
<order_totals>Adyen_Payment_Block_Sales_Order_Totals</order_totals>
|
112 |
+
<adminhtml_billing_agreement_grid>Adyen_Payment_Block_Adminhtml_Sales_Billing_Agreement_Grid</adminhtml_billing_agreement_grid>
|
113 |
</rewrite>
|
114 |
</sales>
|
115 |
</blocks>
|
182 |
<events>
|
183 |
<controller_action_predispatch>
|
184 |
<observers>
|
185 |
+
<adyen_payment_hpp>
|
186 |
<class>adyen/observer</class>
|
187 |
<method>addMethodsToConfig</method>
|
188 |
+
</adyen_payment_hpp>
|
189 |
+
<adyen_payment_billing_agreement>
|
190 |
+
<class>adyen/billing_agreement_observer</class>
|
191 |
+
<method>addMethodsToConfig</method>
|
192 |
+
</adyen_payment_billing_agreement>
|
193 |
</observers>
|
194 |
</controller_action_predispatch>
|
195 |
+
<sales_order_shipment_save_after>
|
196 |
+
<observers>
|
197 |
+
<adyen_payment_capture_invoice_on_shipment>
|
198 |
+
<class>adyen/observer</class>
|
199 |
+
<method>captureInvoiceOnShipment</method>
|
200 |
+
</adyen_payment_capture_invoice_on_shipment>
|
201 |
+
</observers>
|
202 |
+
</sales_order_shipment_save_after>
|
203 |
</events>
|
204 |
</global>
|
205 |
|
293 |
<payment_authorized_virtual>complete</payment_authorized_virtual>
|
294 |
<payment_cancelled_redirect>checkout/cart</payment_cancelled_redirect>
|
295 |
<capture_mode>auto</capture_mode>
|
296 |
+
<create_pending_invoice>0</create_pending_invoice>
|
297 |
<recurringtypes>ONECLICK</recurringtypes>
|
298 |
<auto_capture_openinvoice>0</auto_capture_openinvoice>
|
299 |
+
<paypal_capture_mode>auto</paypal_capture_mode>
|
300 |
<send_email_bank_sepa_on_pending>0</send_email_bank_sepa_on_pending>
|
301 |
<title_renderer>title_image</title_renderer>
|
302 |
<ignore_refund_notification>0</ignore_refund_notification>
|
317 |
<allowspecific>0</allowspecific>
|
318 |
<disable_hpptypes>0</disable_hpptypes>
|
319 |
<sort_order>30</sort_order>
|
320 |
+
<return_url_in_request>1</return_url_in_request>
|
|
|
321 |
</adyen_hpp>
|
322 |
<adyen_ideal translate="title" module="adyen">
|
323 |
<active>0</active>
|
352 |
<group>adyen</group>
|
353 |
<title>Cash</title>
|
354 |
<sort_order>90</sort_order>
|
355 |
+
<create_shipment>1</create_shipment>
|
356 |
<visible_type>both</visible_type>
|
357 |
<cash_express_checkout>0</cash_express_checkout>
|
358 |
<cash_drawer>0</cash_drawer>
|
380 |
<title>Adyen Credit Card</title>
|
381 |
<debug>0</debug>
|
382 |
<enable_installments>0</enable_installments>
|
383 |
+
<cse_enabled>1</cse_enabled>
|
384 |
<cse_public_key></cse_public_key>
|
385 |
<visible_type>both</visible_type>
|
386 |
<enable_moto>0</enable_moto>
|
389 |
<trxuser_password>0</trxuser_password>
|
390 |
<adminaction_password>5cfgRT34xsdedtFLdfHxj7tfwx24fe</adminaction_password>
|
391 |
<wsdl>https://pal-test.adyen.com/pal/Payment.wsdl</wsdl>
|
392 |
+
<allow_billing_agreement_wizard>0</allow_billing_agreement_wizard>
|
393 |
<sort_order>20</sort_order>
|
394 |
</adyen_cc>
|
395 |
<adyen_oneclick translate="title" module="adyen">
|
398 |
<group>adyen</group>
|
399 |
<title>Adyen OneClick</title>
|
400 |
<sort_order>1</sort_order>
|
401 |
+
<recurring_payment_type>ONECLICK</recurring_payment_type>
|
402 |
</adyen_oneclick>
|
403 |
<adyen_elv translate="title" module="adyen">
|
404 |
<active>0</active>
|
426 |
<title>Adyen SEPA</title>
|
427 |
<sort_order>60</sort_order>
|
428 |
<validate_iban>0</validate_iban>
|
429 |
+
<allow_billing_agreement_wizard>0</allow_billing_agreement_wizard>
|
430 |
<flow>sales</flow>
|
431 |
</adyen_sepa>
|
432 |
<adyen_pay_by_mail>
|
444 |
<cctypes>
|
445 |
<AE>
|
446 |
<code>AE</code>
|
447 |
+
<code_alt>amex</code_alt>
|
448 |
<name>American Express</name>
|
449 |
<order>0</order>
|
450 |
<is_cvv_required>1</is_cvv_required>
|
451 |
+
<is_checkout>1</is_checkout>
|
452 |
</AE>
|
453 |
<VI>
|
454 |
<code>VI</code>
|
455 |
+
<code_alt>visa</code_alt>
|
456 |
<name>Visa</name>
|
457 |
<order>10</order>
|
458 |
<is_cvv_required>1</is_cvv_required>
|
459 |
+
<is_checkout>1</is_checkout>
|
460 |
</VI>
|
461 |
<MC>
|
462 |
<code>MC</code>
|
463 |
+
<code_alt>mc</code_alt>
|
464 |
<name>Master Card</name>
|
465 |
<order>20</order>
|
466 |
<is_cvv_required>1</is_cvv_required>
|
467 |
+
<is_checkout>1</is_checkout>
|
468 |
</MC>
|
469 |
<DI>
|
470 |
<code>DI</code>
|
471 |
+
<code_alt>discover</code_alt>
|
472 |
<name>Discover</name>
|
473 |
<order>30</order>
|
474 |
<is_cvv_required>1</is_cvv_required>
|
475 |
+
<is_checkout>1</is_checkout>
|
476 |
</DI>
|
477 |
<DC>
|
478 |
<code>DC</code>
|
479 |
+
<code_alt>diners</code_alt>
|
480 |
<name>Diners Club</name>
|
481 |
<order>40</order>
|
482 |
<is_cvv_required>1</is_cvv_required>
|
483 |
+
<is_checkout>1</is_checkout>
|
484 |
</DC>
|
485 |
<SM>
|
486 |
<code>SM</code>
|
487 |
+
<code_alt>maestro</code_alt>
|
488 |
<name>Maestro</name>
|
489 |
<order>60</order>
|
490 |
<is_cvv_required>0</is_cvv_required>
|
491 |
+
<is_checkout>1</is_checkout>
|
492 |
</SM>
|
493 |
<JCB>
|
494 |
<code>JCB</code>
|
495 |
+
<code_alt>jcb</code_alt>
|
496 |
<name>JCB</name>
|
497 |
<order>70</order>
|
498 |
<is_cvv_required>0</is_cvv_required>
|
499 |
+
<is_checkout>1</is_checkout>
|
500 |
</JCB>
|
501 |
<ELO>
|
502 |
<code>ELO</code>
|
503 |
+
<code_alt>elo</code_alt>
|
504 |
<name>Elo</name>
|
505 |
<order>80</order>
|
506 |
<is_cvv_required>0</is_cvv_required>
|
507 |
+
<is_checkout>1</is_checkout>
|
508 |
</ELO>
|
509 |
<hipercard>
|
510 |
<code>hipercard</code>
|
511 |
+
<code_alt>hipercard</code_alt>
|
512 |
<name>Hipercard</name>
|
513 |
<order>90</order>
|
514 |
<is_cvv_required>0</is_cvv_required>
|
515 |
+
<is_checkout>1</is_checkout>
|
516 |
</hipercard>
|
517 |
</cctypes>
|
518 |
<boletotypes>
|
app/code/community/Adyen/Payment/etc/system.xml
CHANGED
@@ -32,357 +32,554 @@
|
|
32 |
<groups>
|
33 |
<!-- @default -->
|
34 |
<adyen_abstract translate="label" module="adyen">
|
35 |
-
<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 |
-
<
|
42 |
-
<
|
43 |
-
<comment><![CDATA[<p>Click the following link for an <a target="_blank" href="http://vimeo.com/94005128">instructional video on how to set up the Adyen Magento plugin</a>, or <a target="_blank" href="https://www.adyen.com/dam/documentation/manuals/MagentoQuickIntegrationManual.pdf">here to download the Quick Quick Integration Guide</a> or <a target="_blank" href="https://www.adyen.com/dam/documentation/manuals/AdyenMagentoExtension.pdf">here to download the more advanced manual</a> and <a target="_blank" href="https://www.adyen.com/home/payment-services/plug-ins/magento#form">here to sign up for a test account</a>.
|
44 |
-
For the test environment you can use test cards. You can find the test cards <a target="_blank" href="https://www.adyen.com/home/support/knowledgebase/implementation-articles?article=kb_imp_17">here</a>.
|
45 |
-
The latest version of the <a target="_blank" href="https://github.com/adyenpayments/magento/releases">Adyen Magento plugin is also available through GitHub</a>.
|
46 |
-
If you have any further questions, please visit the <a target="_blank" href="http://www.adyen.com">Adyen.com</a> website or email <a href="mailto:magento@adyen.com">magento@adyen.com</a>.
|
47 |
-
</p>]]></comment>
|
48 |
<fields>
|
49 |
-
<
|
50 |
-
|
51 |
-
<frontend_type>label</frontend_type>
|
52 |
-
<frontend_model>Adyen_Payment_Block_Adminhtml_Version</frontend_model>
|
53 |
-
<sort_order>0</sort_order>
|
54 |
-
<show_in_default>1</show_in_default>
|
55 |
-
<show_in_website>1</show_in_website>
|
56 |
-
<show_in_store>1</show_in_store>
|
57 |
-
</version>
|
58 |
-
<merchantAccount translate="label">
|
59 |
-
<label>Merchant Account</label>
|
60 |
-
<comment><![CDATA[You can find this in the Adyen back-office. The Adyen back-office can be found on <a target="_blank" href="https://ca-test.adyen.com">https://ca-test.adyen.com</a> for test or <a target="_blank" href="https://ca-live.adyen.com">https://ca-live.adyen.com</a> for live.]]></comment>
|
61 |
<frontend_type>text</frontend_type>
|
62 |
-
<sort_order>10</sort_order>
|
63 |
-
<show_in_default>1</show_in_default>
|
64 |
-
<show_in_website>1</show_in_website>
|
65 |
-
<show_in_store>1</show_in_store>
|
66 |
-
</merchantAccount>
|
67 |
-
<demoMode translate="label">
|
68 |
-
<label>Test/Production Mode</label>
|
69 |
-
<frontend_type>select</frontend_type>
|
70 |
-
<source_model>adyen/source_DemoModes</source_model>
|
71 |
-
<sort_order>20</sort_order>
|
72 |
<show_in_default>1</show_in_default>
|
73 |
<show_in_website>1</show_in_website>
|
74 |
<show_in_store>1</show_in_store>
|
75 |
-
<
|
76 |
-
|
77 |
-
|
78 |
-
<
|
79 |
-
<
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
<
|
89 |
-
|
90 |
-
|
91 |
-
<
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
<
|
106 |
-
</payment_authorized_virtual>
|
107 |
-
<payment_pre_authorized>
|
108 |
-
<label>Order status pre-authorised payment</label>
|
109 |
-
<comment>(optional)Only affecting manual work flow.Leave empty if you are not sure</comment>
|
110 |
-
<frontend_type>select</frontend_type>
|
111 |
-
<source_model>adminhtml/system_config_source_order_status_newprocessing</source_model>
|
112 |
-
<sort_order>50</sort_order>
|
113 |
-
<show_in_default>1</show_in_default>
|
114 |
-
<show_in_website>1</show_in_website>
|
115 |
-
<show_in_store>0</show_in_store>
|
116 |
-
</payment_pre_authorized>
|
117 |
-
<payment_cancelled translate="label">
|
118 |
-
<label>Order status cancelled payment</label>
|
119 |
-
<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>
|
120 |
-
<frontend_type>select</frontend_type>
|
121 |
-
<source_model>adyen/source_cancelModes</source_model>
|
122 |
-
<sort_order>60</sort_order>
|
123 |
-
<show_in_default>1</show_in_default>
|
124 |
-
<show_in_website>1</show_in_website>
|
125 |
-
<show_in_store>0</show_in_store>
|
126 |
-
</payment_cancelled>
|
127 |
-
<payment_cancelled_redirect>
|
128 |
-
<label>Redirect to page after cancellation</label>
|
129 |
-
<frontend_type>select</frontend_type>
|
130 |
-
<source_model>adyen/source_cancelRedirect</source_model>
|
131 |
-
<sort_order>65</sort_order>
|
132 |
-
<show_in_default>1</show_in_default>
|
133 |
-
<show_in_website>1</show_in_website>
|
134 |
-
<show_in_store>0</show_in_store>
|
135 |
-
</payment_cancelled_redirect>
|
136 |
-
<refund_authorized translate="label">
|
137 |
-
<label>Refund authorise (refund success)</label>
|
138 |
-
<comment>(optional) leave empty if you are not sure</comment>
|
139 |
-
<frontend_type>select</frontend_type>
|
140 |
-
<source_model>adyen/source_status_refund</source_model>
|
141 |
-
<sort_order>70</sort_order>
|
142 |
-
<show_in_default>1</show_in_default>
|
143 |
-
<show_in_website>1</show_in_website>
|
144 |
-
<show_in_store>0</show_in_store>
|
145 |
-
</refund_authorized>
|
146 |
-
<notification_username translate="label">
|
147 |
-
<label>Notification Username</label>
|
148 |
-
<comment>Should match your "notifications settings" in your Adyen account.</comment>
|
149 |
-
<frontend_type>text</frontend_type>
|
150 |
-
<sort_order>75</sort_order>
|
151 |
-
<show_in_default>1</show_in_default>
|
152 |
-
<show_in_website>1</show_in_website>
|
153 |
-
<show_in_store>0</show_in_store>
|
154 |
-
</notification_username>
|
155 |
-
<notification_password translate="label">
|
156 |
-
<label>Notification Password</label>
|
157 |
-
<comment>Should match your "notifications settings" in your Adyen account.</comment>
|
158 |
-
<frontend_type>obscure</frontend_type>
|
159 |
-
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
160 |
-
<sort_order>76</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 |
-
</notification_password>
|
165 |
-
<notification_hmac>
|
166 |
-
<label>Notification Hmac Key</label>
|
167 |
-
<comment>This is not required. You can use this as extra security or if you do not want to use HTTP AUTHENTICATION you can leave notification username and password empty and only use this key. Key can be generated in the Adyen backoffice => Server Communication => Additional Settings</comment>
|
168 |
<frontend_type>text</frontend_type>
|
169 |
-
<sort_order>77</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 |
-
</notification_hmac>
|
174 |
-
<capture_mode translate="label">
|
175 |
-
<label>Capture Mode</label>
|
176 |
-
<frontend_type>select</frontend_type>
|
177 |
-
<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>
|
178 |
-
<source_model>adyen/source_captureModes</source_model>
|
179 |
-
<sort_order>78</sort_order>
|
180 |
-
<show_in_default>1</show_in_default>
|
181 |
-
<show_in_website>1</show_in_website>
|
182 |
-
<show_in_store>0</show_in_store>
|
183 |
-
</capture_mode>
|
184 |
-
<recurringtypes translate="label">
|
185 |
-
<label>Recurring Type</label>
|
186 |
-
<frontend_type>select</frontend_type>
|
187 |
-
<source_model>adyen/source_recurringType</source_model>
|
188 |
-
<sort_order>79</sort_order>
|
189 |
<show_in_default>1</show_in_default>
|
190 |
<show_in_website>1</show_in_website>
|
191 |
<show_in_store>1</show_in_store>
|
192 |
-
|
193 |
-
|
194 |
-
<
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
<frontend_type>text</frontend_type>
|
197 |
-
<sort_order>80</sort_order>
|
198 |
-
<show_in_default>1</show_in_default>
|
199 |
-
<show_in_website>1</show_in_website>
|
200 |
-
<show_in_store>0</show_in_store>
|
201 |
-
</ws_username_test>
|
202 |
-
<ws_password_test translate="label">
|
203 |
-
<label>Adyen ws password for Test</label>
|
204 |
-
<comment>The password of the ws user for Test</comment>
|
205 |
-
<frontend_type>obscure</frontend_type>
|
206 |
-
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
207 |
-
<sort_order>90</sort_order>
|
208 |
<show_in_default>1</show_in_default>
|
209 |
<show_in_website>1</show_in_website>
|
210 |
-
<show_in_store>
|
211 |
-
|
212 |
-
|
213 |
-
<
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
<frontend_type>text</frontend_type>
|
226 |
-
<sort_order>100</sort_order>
|
227 |
-
<show_in_default>1</show_in_default>
|
228 |
-
<show_in_website>1</show_in_website>
|
229 |
-
<show_in_store>0</show_in_store>
|
230 |
-
</ws_username_live>
|
231 |
-
<ws_password_live translate="label">
|
232 |
-
<label>Adyen ws password for Live</label>
|
233 |
-
<comment>The password of the ws user for Live</comment>
|
234 |
-
<frontend_type>obscure</frontend_type>
|
235 |
-
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
236 |
-
<sort_order>110</sort_order>
|
237 |
-
<show_in_default>1</show_in_default>
|
238 |
-
<show_in_website>1</show_in_website>
|
239 |
-
<show_in_store>0</show_in_store>
|
240 |
-
</ws_password_live>
|
241 |
-
<ws_live_button translate="label">
|
242 |
-
<label></label>
|
243 |
-
<button_label>Test Webserver Credentials for live</button_label>
|
244 |
-
<modus>live</modus>
|
245 |
-
<frontend_model>adyen/adminhtml_system_config_testWebserverConfiguration</frontend_model>
|
246 |
-
<sort_order>111</sort_order>
|
247 |
-
<show_in_default>1</show_in_default>
|
248 |
-
<show_in_website>1</show_in_website>
|
249 |
-
</ws_live_button>
|
250 |
-
<debug translate="label">
|
251 |
-
<label>Debug</label>
|
252 |
-
<frontend_type>select</frontend_type>
|
253 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
254 |
-
<sort_order>112</sort_order>
|
255 |
-
<show_in_default>1</show_in_default>
|
256 |
-
<show_in_website>1</show_in_website>
|
257 |
-
<show_in_store>0</show_in_store>
|
258 |
-
</debug>
|
259 |
-
<auto_capture_openinvoice>
|
260 |
-
<label>Auto capture Openinvoice(AfterPay/Klarna) payment methods</label>
|
261 |
-
<comment>By default OpenInvoice is set to manual capture. If you want auto capture you need to contact magento@adyen.com so we can set this up for your account and then you can set this option to yes</comment>
|
262 |
-
<frontend_type>select</frontend_type>
|
263 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
264 |
-
<sort_order>115</sort_order>
|
265 |
-
<show_in_default>1</show_in_default>
|
266 |
-
<show_in_website>1</show_in_website>
|
267 |
-
<show_in_store>0</show_in_store>
|
268 |
-
</auto_capture_openinvoice>
|
269 |
-
<paypal_capture_mode>
|
270 |
-
<label>Capture Mode for PayPal</label>
|
271 |
-
<comment>If you are using a different capture mode for PayPal setup in your Adyen account select here this capture modus</comment>
|
272 |
-
<frontend_type>select</frontend_type>
|
273 |
-
<source_model>adyen/source_PayPalCaptureModes</source_model>
|
274 |
-
<sort_order>118</sort_order>
|
275 |
-
<show_in_default>1</show_in_default>
|
276 |
-
<show_in_website>1</show_in_website>
|
277 |
-
<show_in_store>0</show_in_store>
|
278 |
-
</paypal_capture_mode>
|
279 |
-
<pending_status>
|
280 |
-
<label>Pending order status</label>
|
281 |
-
<comment>By default pending notifications are not send. If you want these notifications to be received enable the BankTransfer Pending Notification and\or Direct-Debit Pending Notification in the Adyen Platform</comment>
|
282 |
-
<frontend_type>select</frontend_type>
|
283 |
-
<source_model>adyen/source_status_pending</source_model>
|
284 |
-
<sort_order>119</sort_order>
|
285 |
-
<show_in_default>1</show_in_default>
|
286 |
-
<show_in_website>1</show_in_website>
|
287 |
-
<show_in_store>0</show_in_store>
|
288 |
-
</pending_status>
|
289 |
-
<send_email_bank_sepa_on_pending>
|
290 |
-
<label>Send confirmation email for Banktransfer/SEPA</label>
|
291 |
-
<comment>Send a confirmation mail after banktranfer/SEPA is placed (not yet paid). Make sure that you have BankTransfer Pending Notification enabled in Adyen backoffice to do this contact magento@adyen.com</comment>
|
292 |
-
<frontend_type>select</frontend_type>
|
293 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
294 |
-
<sort_order>120</sort_order>
|
295 |
<show_in_default>1</show_in_default>
|
296 |
<show_in_website>1</show_in_website>
|
297 |
-
<show_in_store>
|
298 |
-
|
299 |
-
|
300 |
-
<
|
301 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
<frontend_type>text</frontend_type>
|
303 |
-
<sort_order>180</sort_order>
|
304 |
<show_in_default>1</show_in_default>
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
<
|
310 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
<frontend_type>text</frontend_type>
|
312 |
-
<sort_order>190</sort_order>
|
313 |
<show_in_default>1</show_in_default>
|
314 |
<show_in_website>1</show_in_website>
|
315 |
<show_in_store>1</show_in_store>
|
316 |
-
</countryCode>
|
317 |
-
<send_update_mail translate="label">
|
318 |
-
<label>Mail update</label>
|
319 |
-
<frontend_type>select</frontend_type>
|
320 |
-
<comment>Enable/Disable update mails</comment>
|
321 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
322 |
-
<sort_order>200</sort_order>
|
323 |
-
<show_in_default>1</show_in_default>
|
324 |
-
<show_in_website>1</show_in_website>
|
325 |
-
<show_in_store>0</show_in_store>
|
326 |
-
</send_update_mail>
|
327 |
-
<send_invoice_update_mail translate="label">
|
328 |
-
<label>Mail update (Invoice Mail)</label>
|
329 |
-
<frontend_type>select</frontend_type>
|
330 |
-
<comment>Enable/Disable update mails</comment>
|
331 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
332 |
-
<sort_order>210</sort_order>
|
333 |
-
<show_in_default>1</show_in_default>
|
334 |
-
<show_in_website>1</show_in_website>
|
335 |
-
<show_in_store>0</show_in_store>
|
336 |
-
</send_invoice_update_mail>
|
337 |
-
<title_renderer>
|
338 |
-
<label>Title renderer</label>
|
339 |
-
<frontend_type>select</frontend_type>
|
340 |
-
<source_model>adyen/source_rendermode</source_model>
|
341 |
<sort_order>220</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
<show_in_default>1</show_in_default>
|
343 |
<show_in_website>1</show_in_website>
|
344 |
<show_in_store>1</show_in_store>
|
345 |
-
|
346 |
-
|
347 |
-
<
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
|
|
|
|
|
|
|
|
|
|
376 |
</fields>
|
377 |
</adyen_abstract>
|
378 |
-
<!-- @
|
379 |
-
<
|
380 |
-
<label>
|
381 |
<frontend_type>text</frontend_type>
|
382 |
<sort_order>310</sort_order>
|
383 |
<show_in_default>1</show_in_default>
|
384 |
<show_in_website>1</show_in_website>
|
385 |
<show_in_store>1</show_in_store>
|
|
|
|
|
386 |
<fields>
|
387 |
<active translate="label">
|
388 |
<label>Enabled</label>
|
@@ -403,184 +600,280 @@
|
|
403 |
</title>
|
404 |
<sort_order translate="label">
|
405 |
<label>Sort Order</label>
|
|
|
406 |
<frontend_type>text</frontend_type>
|
407 |
<sort_order>25</sort_order>
|
408 |
<show_in_default>1</show_in_default>
|
409 |
<show_in_website>1</show_in_website>
|
410 |
-
<show_in_store>0</show_in_store>
|
411 |
-
</sort_order>
|
412 |
-
<skinCode translate="label">
|
413 |
-
<label>Skin Code</label>
|
414 |
-
<comment>The skin code you want to use (You can find this in the admin are of your Adyen account)</comment>
|
415 |
-
<frontend_type>text</frontend_type>
|
416 |
-
<sort_order>30</sort_order>
|
417 |
-
<show_in_default>1</show_in_default>
|
418 |
-
<show_in_website>1</show_in_website>
|
419 |
<show_in_store>1</show_in_store>
|
420 |
-
</
|
421 |
-
<
|
422 |
-
<label>
|
423 |
-
<
|
424 |
-
<
|
425 |
<sort_order>40</sort_order>
|
426 |
<show_in_default>1</show_in_default>
|
427 |
<show_in_website>1</show_in_website>
|
428 |
<show_in_store>1</show_in_store>
|
429 |
-
</
|
430 |
-
<
|
431 |
-
<label>
|
432 |
-
<
|
433 |
-
<
|
434 |
-
<sort_order>50</sort_order>
|
435 |
-
<show_in_default>1</show_in_default>
|
436 |
-
<show_in_website>1</show_in_website>
|
437 |
-
<show_in_store>1</show_in_store>
|
438 |
-
</secret_wordp>
|
439 |
-
<delivery_days translate="label">
|
440 |
-
<label>Days for Delivery</label>
|
441 |
-
<validate>validate-digits</validate>
|
442 |
-
<comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
|
443 |
-
<frontend_type>text</frontend_type>
|
444 |
-
<sort_order>70</sort_order>
|
445 |
-
<show_in_default>1</show_in_default>
|
446 |
-
<show_in_website>1</show_in_website>
|
447 |
-
<show_in_store>0</show_in_store>
|
448 |
-
</delivery_days>
|
449 |
-
<disable_hpptypes translate="label">
|
450 |
-
<label>Leave payment method selection on HPP</label>
|
451 |
-
<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>
|
452 |
<frontend_type>select</frontend_type>
|
453 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
454 |
-
<sort_order>
|
455 |
-
<show_in_default>1</show_in_default>
|
456 |
-
<show_in_website>1</show_in_website>
|
457 |
-
<show_in_store>1</show_in_store>
|
458 |
-
</disable_hpptypes>
|
459 |
-
<payment_routines translate="label">
|
460 |
-
<label>Payment Flow Selection</label>
|
461 |
-
<comment>Adyen provide you with 2 types of payment routines. Multi-page and Single Page</comment>
|
462 |
-
<frontend_type>select</frontend_type>
|
463 |
-
<source_model>adyen/source_PaymentRoutines</source_model>
|
464 |
-
<sort_order>95</sort_order>
|
465 |
<show_in_default>1</show_in_default>
|
466 |
<show_in_website>1</show_in_website>
|
467 |
<show_in_store>1</show_in_store>
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
<
|
472 |
-
<
|
473 |
-
<
|
474 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
475 |
-
<sort_order>100</sort_order>
|
476 |
<show_in_default>1</show_in_default>
|
477 |
<show_in_website>1</show_in_website>
|
478 |
<show_in_store>1</show_in_store>
|
479 |
-
<depends><
|
480 |
-
</
|
481 |
-
<
|
482 |
-
<label>
|
483 |
-
<
|
484 |
-
<
|
485 |
-
<
|
486 |
-
<sort_order>110</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 |
-
|
|
|
491 |
<allowspecific translate="label">
|
492 |
-
<label>Payment
|
493 |
<frontend_type>allowspecific</frontend_type>
|
494 |
-
<sort_order>
|
495 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
496 |
<show_in_default>1</show_in_default>
|
497 |
<show_in_website>1</show_in_website>
|
498 |
<show_in_store>1</show_in_store>
|
499 |
</allowspecific>
|
500 |
<specificcountry translate="label">
|
501 |
-
<label>Payment
|
502 |
<frontend_type>multiselect</frontend_type>
|
503 |
-
<sort_order>
|
504 |
<source_model>adminhtml/system_config_source_country</source_model>
|
505 |
<show_in_default>1</show_in_default>
|
506 |
<show_in_website>1</show_in_website>
|
507 |
<show_in_store>1</show_in_store>
|
508 |
<depends><allowspecific>1</allowspecific></depends>
|
509 |
</specificcountry>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
</fields>
|
511 |
-
</
|
512 |
-
<
|
513 |
-
<label>Adyen
|
514 |
<frontend_type>text</frontend_type>
|
515 |
-
<
|
|
|
|
|
|
|
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 |
<fields>
|
520 |
<active translate="label">
|
521 |
<label>Enabled</label>
|
522 |
<frontend_type>select</frontend_type>
|
523 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
524 |
-
<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 |
</active>
|
529 |
<title translate="label">
|
530 |
<label>Title</label>
|
531 |
<frontend_type>text</frontend_type>
|
532 |
-
<sort_order>
|
533 |
<show_in_default>1</show_in_default>
|
534 |
<show_in_website>1</show_in_website>
|
535 |
<show_in_store>1</show_in_store>
|
536 |
</title>
|
537 |
-
<show_ideal_logos>
|
538 |
-
<label>Show iDEAL bank logos</label>
|
539 |
-
<comment>Show iDEAL bank logos (radio buttons) instead of dropdown</comment>
|
540 |
-
<frontend_type>select</frontend_type>
|
541 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
542 |
-
<sort_order>30</sort_order>
|
543 |
-
<show_in_default>1</show_in_default>
|
544 |
-
<show_in_website>1</show_in_website>
|
545 |
-
<show_in_store>1</show_in_store>
|
546 |
-
</show_ideal_logos>
|
547 |
<sort_order translate="label">
|
548 |
<label>Sort Order</label>
|
|
|
549 |
<frontend_type>text</frontend_type>
|
550 |
-
<sort_order>
|
551 |
-
<show_in_default>1</show_in_default>
|
552 |
-
<show_in_website>1</show_in_website>
|
553 |
-
<show_in_store>0</show_in_store>
|
554 |
-
</sort_order>
|
555 |
-
<allowspecific translate="label">
|
556 |
-
<label>Payment to applicable countries</label>
|
557 |
-
<frontend_type>allowspecific</frontend_type>
|
558 |
-
<sort_order>49</sort_order>
|
559 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
560 |
<show_in_default>1</show_in_default>
|
561 |
<show_in_website>1</show_in_website>
|
562 |
<show_in_store>1</show_in_store>
|
563 |
-
</
|
564 |
-
<
|
565 |
-
<label>
|
566 |
-
<frontend_type>
|
567 |
-
<
|
568 |
-
<
|
|
|
569 |
<show_in_default>1</show_in_default>
|
570 |
<show_in_website>1</show_in_website>
|
571 |
<show_in_store>1</show_in_store>
|
572 |
-
<
|
573 |
-
</
|
574 |
</fields>
|
575 |
-
</
|
576 |
-
<!-- @
|
577 |
-
<
|
578 |
-
<label>
|
579 |
<frontend_type>text</frontend_type>
|
580 |
-
<sort_order>
|
581 |
<show_in_default>1</show_in_default>
|
582 |
<show_in_website>1</show_in_website>
|
583 |
<show_in_store>1</show_in_store>
|
|
|
|
|
584 |
<fields>
|
585 |
<active translate="label">
|
586 |
<label>Enabled</label>
|
@@ -591,173 +884,128 @@
|
|
591 |
<show_in_website>1</show_in_website>
|
592 |
<show_in_store>1</show_in_store>
|
593 |
</active>
|
594 |
-
<title translate="label">
|
595 |
-
<label>Title</label>
|
596 |
-
<frontend_type>text</frontend_type>
|
597 |
-
<sort_order>20</sort_order>
|
598 |
-
<show_in_default>1</show_in_default>
|
599 |
-
<show_in_website>1</show_in_website>
|
600 |
-
<show_in_store>1</show_in_store>
|
601 |
-
</title>
|
602 |
<sort_order translate="label">
|
603 |
<label>Sort Order</label>
|
|
|
604 |
<frontend_type>text</frontend_type>
|
605 |
<sort_order>25</sort_order>
|
606 |
<show_in_default>1</show_in_default>
|
607 |
<show_in_website>1</show_in_website>
|
608 |
-
<show_in_store>
|
609 |
</sort_order>
|
610 |
-
<
|
611 |
-
<label>
|
612 |
-
<
|
613 |
-
<frontend_type>
|
614 |
-
<source_model>adyen/source_recurringType</source_model>
|
615 |
<sort_order>30</sort_order>
|
616 |
<show_in_default>1</show_in_default>
|
617 |
<show_in_website>1</show_in_website>
|
618 |
<show_in_store>1</show_in_store>
|
619 |
-
</
|
620 |
-
<
|
621 |
-
<label>
|
622 |
-
<
|
623 |
-
<frontend_type>select</frontend_type>
|
624 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
625 |
-
<sort_order>33</sort_order>
|
626 |
-
<show_in_default>1</show_in_default>
|
627 |
-
<show_in_website>1</show_in_website>
|
628 |
-
<show_in_store>1</show_in_store>
|
629 |
-
</add_receipt_order_lines>
|
630 |
-
<enable_scanner translate="label">
|
631 |
-
<label>Enable Scanner</label>
|
632 |
-
<comment>If you enable this you have the possiblity to scan products with a hand scanner on the shopping cart page and this will automatically add products to the shopping cart based on the same SKU name</comment>
|
633 |
-
<frontend_type>select</frontend_type>
|
634 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
635 |
-
<sort_order>35</sort_order>
|
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 |
-
</enable_scanner>
|
640 |
-
<auto_submit_scanner>
|
641 |
-
<label>Auto submit scanner</label>
|
642 |
-
<comment>If you have a scanner that puss a enter command after scanning turn this setting on.</comment>
|
643 |
-
<frontend_type>select</frontend_type>
|
644 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
645 |
-
<sort_order>36</sort_order>
|
646 |
-
<show_in_default>1</show_in_default>
|
647 |
-
<show_in_website>1</show_in_website>
|
648 |
-
<show_in_store>1</show_in_store>
|
649 |
-
<depends><enable_scanner>1</enable_scanner></depends>
|
650 |
-
</auto_submit_scanner>
|
651 |
-
<express_checkout>
|
652 |
-
<label>Express checkout</label>
|
653 |
-
<comment>This will show a checkout buttton on the shopping cart to directly do a POS payment without going to the checkout steps. You must be logged into your magento account on the front-end to see the button</comment>
|
654 |
-
<frontend_type>select</frontend_type>
|
655 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
656 |
-
<sort_order>37</sort_order>
|
657 |
-
<show_in_default>1</show_in_default>
|
658 |
-
<show_in_website>1</show_in_website>
|
659 |
-
<show_in_store>1</show_in_store>
|
660 |
-
</express_checkout>
|
661 |
-
<express_checkout_redirect_connect>
|
662 |
-
<label>Redirect direct</label>
|
663 |
-
<comment>Redirect directly to the Adyen app to do the PIN payment. This is not supported for all browsers if you have problems set this setting to false</comment>
|
664 |
-
<frontend_type>select</frontend_type>
|
665 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
666 |
-
<sort_order>38</sort_order>
|
667 |
-
<show_in_default>1</show_in_default>
|
668 |
-
<show_in_website>1</show_in_website>
|
669 |
-
<show_in_store>1</show_in_store>
|
670 |
-
<depends><express_checkout>1</express_checkout></depends>
|
671 |
-
</express_checkout_redirect_connect>
|
672 |
-
<express_checkout_kiosk_mode>
|
673 |
-
<label>Kiosk mode</label>
|
674 |
-
<comment>If you turn kiosk modus on it will not autocomplete the customers based on the filled in email address</comment>
|
675 |
-
<frontend_type>select</frontend_type>
|
676 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
677 |
-
<sort_order>45</sort_order>
|
678 |
-
<show_in_default>1</show_in_default>
|
679 |
-
<show_in_website>1</show_in_website>
|
680 |
-
<show_in_store>1</show_in_store>
|
681 |
-
</express_checkout_kiosk_mode>
|
682 |
-
<express_checkout_recurring>
|
683 |
-
<label>Show Recurring Cards</label>
|
684 |
-
<comment>This will show the recurring cards beneath the express checkout and makes it possible to do a recurring online payment by clicking on the card</comment>
|
685 |
-
<frontend_type>select</frontend_type>
|
686 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
687 |
-
<sort_order>50</sort_order>
|
688 |
-
<show_in_default>1</show_in_default>
|
689 |
-
<show_in_website>1</show_in_website>
|
690 |
-
<show_in_store>1</show_in_store>
|
691 |
-
<depends><express_checkout_kiosk_mode>0</express_checkout_kiosk_mode></depends>
|
692 |
-
</express_checkout_recurring>
|
693 |
-
<create_shipment>
|
694 |
-
<label>Create Shipment</label>
|
695 |
-
<comment>If you enable this there will be automatically be created a shipment if the invoice is created</comment>
|
696 |
-
<frontend_type>select</frontend_type>
|
697 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
698 |
-
<sort_order>55</sort_order>
|
699 |
-
<show_in_default>1</show_in_default>
|
700 |
-
<show_in_website>1</show_in_website>
|
701 |
-
<show_in_store>1</show_in_store>
|
702 |
-
</create_shipment>
|
703 |
-
<ip_filter>
|
704 |
-
<label>IP filter</label>
|
705 |
-
<comment>Enable IP filter let's you define an IP range when this payment method is visable</comment>
|
706 |
-
<frontend_type>select</frontend_type>
|
707 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
708 |
-
<sort_order>57</sort_order>
|
709 |
-
<show_in_default>1</show_in_default>
|
710 |
-
<show_in_website>1</show_in_website>
|
711 |
-
<show_in_store>1</show_in_store>
|
712 |
-
</ip_filter>
|
713 |
-
<ip_filter_from>
|
714 |
-
<label>IP From</label>
|
715 |
<frontend_type>text</frontend_type>
|
716 |
-
<
|
717 |
-
<sort_order>58</sort_order>
|
718 |
<show_in_default>1</show_in_default>
|
719 |
<show_in_website>1</show_in_website>
|
720 |
<show_in_store>1</show_in_store>
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
<
|
725 |
<frontend_type>text</frontend_type>
|
726 |
-
<
|
727 |
-
<sort_order>59</sort_order>
|
728 |
<show_in_default>1</show_in_default>
|
729 |
<show_in_website>1</show_in_website>
|
730 |
<show_in_store>1</show_in_store>
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
<
|
735 |
-
<frontend_type>
|
736 |
-
<sort_order>60</sort_order>
|
737 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
738 |
<show_in_default>1</show_in_default>
|
739 |
<show_in_website>1</show_in_website>
|
740 |
<show_in_store>1</show_in_store>
|
741 |
-
</allowspecific>
|
742 |
-
<specificcountry translate="label">
|
743 |
-
<label>Payment to Specific countries</label>
|
744 |
-
<frontend_type>multiselect</frontend_type>
|
745 |
<sort_order>70</sort_order>
|
746 |
-
<
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
</fields>
|
753 |
-
</
|
754 |
-
<
|
755 |
-
<label>
|
756 |
<frontend_type>text</frontend_type>
|
757 |
-
<sort_order>
|
758 |
<show_in_default>1</show_in_default>
|
759 |
<show_in_website>1</show_in_website>
|
760 |
<show_in_store>1</show_in_store>
|
|
|
|
|
761 |
<fields>
|
762 |
<active translate="label">
|
763 |
<label>Enabled</label>
|
@@ -776,117 +1024,47 @@
|
|
776 |
<show_in_website>1</show_in_website>
|
777 |
<show_in_store>1</show_in_store>
|
778 |
</title>
|
779 |
-
<
|
780 |
-
<label>
|
781 |
-
<
|
782 |
-
<sort_order>30</sort_order>
|
783 |
-
<show_in_default>1</show_in_default>
|
784 |
-
<show_in_website>1</show_in_website>
|
785 |
-
<show_in_store>0</show_in_store>
|
786 |
-
</sort_order>
|
787 |
-
<cash_express_checkout>
|
788 |
-
<label>Cash Express checkout</label>
|
789 |
-
<comment>This will show a checkout buttton on the shopping cart to directly do a Cash payment without going to the checkout steps. Make sure that you have Cash enabled on your skin and HPP payment method is enabled and correctly configured. You must be logged into your magento account on the front-end to see the button</comment>
|
790 |
-
<frontend_type>select</frontend_type>
|
791 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
792 |
-
<sort_order>39</sort_order>
|
793 |
-
<show_in_default>1</show_in_default>
|
794 |
-
<show_in_website>1</show_in_website>
|
795 |
-
<show_in_store>1</show_in_store>
|
796 |
-
</cash_express_checkout>
|
797 |
-
<cash_drawer>
|
798 |
-
<label>Open Cash Drawer</label>
|
799 |
-
<comment>Open the Cash drawer if you connect this to your printer this works for all Epson ePOS-Device printers</comment>
|
800 |
-
<frontend_type>select</frontend_type>
|
801 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
802 |
-
<sort_order>40</sort_order>
|
803 |
-
<show_in_default>1</show_in_default>
|
804 |
-
<show_in_website>1</show_in_website>
|
805 |
-
<show_in_store>1</show_in_store>
|
806 |
-
</cash_drawer>
|
807 |
-
<cash_drawer_printer_ip>
|
808 |
-
<label>IP address printer</label>
|
809 |
-
<comment>Enter here the IP address of the printer where the cash drawer is connected to</comment>
|
810 |
-
<frontend_type>text</frontend_type>
|
811 |
-
<sort_order>41</sort_order>
|
812 |
-
<show_in_default>1</show_in_default>
|
813 |
-
<show_in_website>1</show_in_website>
|
814 |
-
<show_in_store>1</show_in_store>
|
815 |
-
<depends><cash_drawer>1</cash_drawer></depends>
|
816 |
-
</cash_drawer_printer_ip>
|
817 |
-
<cash_drawer_printer_port>
|
818 |
-
<label>Printer port</label>
|
819 |
-
<comment>Enter here the port number of the printer where the cash drawer is connected to</comment>
|
820 |
-
<frontend_type>text</frontend_type>
|
821 |
-
<sort_order>42</sort_order>
|
822 |
-
<show_in_default>1</show_in_default>
|
823 |
-
<show_in_website>1</show_in_website>
|
824 |
-
<show_in_store>1</show_in_store>
|
825 |
-
<depends><cash_drawer>1</cash_drawer></depends>
|
826 |
-
</cash_drawer_printer_port>
|
827 |
-
<cash_drawer_printer_device_id>
|
828 |
-
<label>Printer Device ID</label>
|
829 |
-
<comment>Enter here the deviceID of the printer where the cash drawer is connected to</comment>
|
830 |
-
<frontend_type>text</frontend_type>
|
831 |
-
<sort_order>43</sort_order>
|
832 |
-
<show_in_default>1</show_in_default>
|
833 |
-
<show_in_website>1</show_in_website>
|
834 |
-
<show_in_store>1</show_in_store>
|
835 |
-
<depends><cash_drawer>1</cash_drawer></depends>
|
836 |
-
</cash_drawer_printer_device_id>
|
837 |
-
<ip_filter>
|
838 |
-
<label>IP filter</label>
|
839 |
-
<comment>Enable IP filter let's you define an IP range when this payment method is visable</comment>
|
840 |
<frontend_type>select</frontend_type>
|
841 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
842 |
-
<sort_order>
|
843 |
-
<show_in_default>1</show_in_default>
|
844 |
-
<show_in_website>1</show_in_website>
|
845 |
-
<show_in_store>1</show_in_store>
|
846 |
-
</ip_filter>
|
847 |
-
<ip_filter_from>
|
848 |
-
<label>IP From</label>
|
849 |
-
<frontend_type>text</frontend_type>
|
850 |
-
<source_model>adminhtml/system_config_source_yesno</source_model>
|
851 |
-
<sort_order>46</sort_order>
|
852 |
<show_in_default>1</show_in_default>
|
853 |
<show_in_website>1</show_in_website>
|
854 |
<show_in_store>1</show_in_store>
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
<label>IP To</label>
|
859 |
<frontend_type>text</frontend_type>
|
860 |
-
<
|
861 |
-
<sort_order>47</sort_order>
|
862 |
-
<show_in_default>1</show_in_default>
|
863 |
-
<show_in_website>1</show_in_website>
|
864 |
-
<show_in_store>1</show_in_store>
|
865 |
-
<depends><ip_filter>1</ip_filter></depends>
|
866 |
-
</ip_filter_to>
|
867 |
-
<visible_type>
|
868 |
-
<label>Visible in:</label>
|
869 |
-
<frontend_type>select</frontend_type>
|
870 |
-
<source_model>adyen/source_VisibleType</source_model>
|
871 |
-
<sort_order>80</sort_order>
|
872 |
-
<comment>Where do you want to show this payment method in the backend of magento or in the frontend for the shoppers</comment>
|
873 |
<show_in_default>1</show_in_default>
|
874 |
<show_in_website>1</show_in_website>
|
875 |
<show_in_store>1</show_in_store>
|
876 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
877 |
<allowspecific translate="label">
|
878 |
-
<label>Payment
|
879 |
<frontend_type>allowspecific</frontend_type>
|
880 |
-
<sort_order>
|
881 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
882 |
<show_in_default>1</show_in_default>
|
883 |
<show_in_website>1</show_in_website>
|
884 |
<show_in_store>1</show_in_store>
|
885 |
</allowspecific>
|
886 |
<specificcountry translate="label">
|
887 |
-
<label>Payment
|
888 |
<frontend_type>multiselect</frontend_type>
|
889 |
-
<sort_order>
|
890 |
<source_model>adminhtml/system_config_source_country</source_model>
|
891 |
<show_in_default>1</show_in_default>
|
892 |
<show_in_website>1</show_in_website>
|
@@ -894,15 +1072,17 @@
|
|
894 |
<depends><allowspecific>1</allowspecific></depends>
|
895 |
</specificcountry>
|
896 |
</fields>
|
897 |
-
</
|
898 |
<!-- @Openinvoice only -->
|
899 |
<adyen_openinvoice translate="label" module="adyen">
|
900 |
-
<label>
|
901 |
<frontend_type>text</frontend_type>
|
902 |
-
<sort_order>
|
903 |
<show_in_default>1</show_in_default>
|
904 |
<show_in_website>1</show_in_website>
|
905 |
<show_in_store>1</show_in_store>
|
|
|
|
|
906 |
<fields>
|
907 |
<active translate="label">
|
908 |
<label>Enabled</label>
|
@@ -923,11 +1103,12 @@
|
|
923 |
</title>
|
924 |
<sort_order translate="label">
|
925 |
<label>Sort Order</label>
|
|
|
926 |
<frontend_type>text</frontend_type>
|
927 |
<sort_order>25</sort_order>
|
928 |
<show_in_default>1</show_in_default>
|
929 |
<show_in_website>1</show_in_website>
|
930 |
-
<show_in_store>
|
931 |
</sort_order>
|
932 |
<openinvoicetypes translate="label">
|
933 |
<label>OpenInvoice Type</label>
|
@@ -975,8 +1156,8 @@
|
|
975 |
<validate>validate-number</validate>
|
976 |
</fee>
|
977 |
<different_address_disable>
|
978 |
-
<label>Disable on
|
979 |
-
<
|
980 |
<frontend_type>select</frontend_type>
|
981 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
982 |
<sort_order>39</sort_order>
|
@@ -986,7 +1167,7 @@
|
|
986 |
</different_address_disable>
|
987 |
<failed_attempt_disable>
|
988 |
<label>Disable this payment method if first attempt is refused</label>
|
989 |
-
<
|
990 |
<frontend_type>select</frontend_type>
|
991 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
992 |
<sort_order>45</sort_order>
|
@@ -995,7 +1176,7 @@
|
|
995 |
<show_in_store>1</show_in_store>
|
996 |
</failed_attempt_disable>
|
997 |
<allowspecific translate="label">
|
998 |
-
<label>Payment
|
999 |
<frontend_type>allowspecific</frontend_type>
|
1000 |
<sort_order>49</sort_order>
|
1001 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
@@ -1004,7 +1185,7 @@
|
|
1004 |
<show_in_store>1</show_in_store>
|
1005 |
</allowspecific>
|
1006 |
<specificcountry translate="label">
|
1007 |
-
<label>Payment
|
1008 |
<frontend_type>multiselect</frontend_type>
|
1009 |
<sort_order>50</sort_order>
|
1010 |
<source_model>adminhtml/system_config_source_country</source_model>
|
@@ -1015,14 +1196,16 @@
|
|
1015 |
</specificcountry>
|
1016 |
</fields>
|
1017 |
</adyen_openinvoice>
|
1018 |
-
<!-- @
|
1019 |
-
<
|
1020 |
-
<label>
|
1021 |
<frontend_type>text</frontend_type>
|
1022 |
-
<sort_order>
|
1023 |
<show_in_default>1</show_in_default>
|
1024 |
<show_in_website>1</show_in_website>
|
1025 |
<show_in_store>1</show_in_store>
|
|
|
|
|
1026 |
<fields>
|
1027 |
<active translate="label">
|
1028 |
<label>Enabled</label>
|
@@ -1043,61 +1226,46 @@
|
|
1043 |
</title>
|
1044 |
<sort_order translate="label">
|
1045 |
<label>Sort Order</label>
|
|
|
1046 |
<frontend_type>text</frontend_type>
|
1047 |
<sort_order>25</sort_order>
|
1048 |
<show_in_default>1</show_in_default>
|
1049 |
<show_in_website>1</show_in_website>
|
1050 |
-
<show_in_store>0</show_in_store>
|
1051 |
-
</sort_order>
|
1052 |
-
<cctypes translate="label">
|
1053 |
-
<label>Credit Card Types</label>
|
1054 |
-
<frontend_type>multiselect</frontend_type>
|
1055 |
-
<source_model>adyen/source_ccType</source_model>
|
1056 |
-
<sort_order>40</sort_order>
|
1057 |
-
<show_in_default>1</show_in_default>
|
1058 |
-
<show_in_website>1</show_in_website>
|
1059 |
<show_in_store>1</show_in_store>
|
1060 |
-
</
|
1061 |
-
<
|
1062 |
-
<label>
|
1063 |
<frontend_type>select</frontend_type>
|
1064 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1065 |
-
<sort_order>
|
1066 |
-
<
|
1067 |
-
<show_in_website>1</show_in_website>
|
1068 |
-
<show_in_store>1</show_in_store>
|
1069 |
-
</cse_enabled>
|
1070 |
-
<cse_publickey_test translate="label">
|
1071 |
-
<label>Client-Side Encryption Public Key For Test</label>
|
1072 |
-
<frontend_type>textarea</frontend_type>
|
1073 |
-
<sort_order>70</sort_order>
|
1074 |
<show_in_default>1</show_in_default>
|
1075 |
<show_in_website>1</show_in_website>
|
1076 |
<show_in_store>1</show_in_store>
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
<
|
1081 |
-
<
|
1082 |
-
<sort_order>
|
|
|
1083 |
<show_in_default>1</show_in_default>
|
1084 |
<show_in_website>1</show_in_website>
|
1085 |
<show_in_store>1</show_in_store>
|
1086 |
-
|
1087 |
-
</cse_publickey>
|
1088 |
<allowspecific translate="label">
|
1089 |
-
<label>Payment
|
1090 |
<frontend_type>allowspecific</frontend_type>
|
1091 |
-
<sort_order>
|
1092 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1093 |
<show_in_default>1</show_in_default>
|
1094 |
<show_in_website>1</show_in_website>
|
1095 |
<show_in_store>1</show_in_store>
|
1096 |
</allowspecific>
|
1097 |
<specificcountry translate="label">
|
1098 |
-
<label>Payment
|
1099 |
<frontend_type>multiselect</frontend_type>
|
1100 |
-
<sort_order>
|
1101 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1102 |
<show_in_default>1</show_in_default>
|
1103 |
<show_in_website>1</show_in_website>
|
@@ -1105,228 +1273,323 @@
|
|
1105 |
<depends><allowspecific>1</allowspecific></depends>
|
1106 |
</specificcountry>
|
1107 |
<visible_type>
|
1108 |
-
<label>Visible in
|
1109 |
<frontend_type>select</frontend_type>
|
1110 |
<source_model>adyen/source_VisibleType</source_model>
|
1111 |
-
<sort_order>
|
1112 |
-
<
|
1113 |
<show_in_default>1</show_in_default>
|
1114 |
<show_in_website>1</show_in_website>
|
1115 |
<show_in_store>1</show_in_store>
|
1116 |
</visible_type>
|
1117 |
-
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
-
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
-
|
|
|
|
|
|
|
1129 |
<frontend_type>select</frontend_type>
|
1130 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1131 |
-
<sort_order>
|
1132 |
<show_in_default>1</show_in_default>
|
1133 |
<show_in_website>1</show_in_website>
|
1134 |
<show_in_store>1</show_in_store>
|
1135 |
-
</
|
1136 |
-
<
|
1137 |
-
<label>
|
1138 |
-
<
|
1139 |
-
<
|
1140 |
-
<sort_order>120</sort_order>
|
1141 |
<show_in_default>1</show_in_default>
|
1142 |
<show_in_website>1</show_in_website>
|
1143 |
<show_in_store>1</show_in_store>
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
<
|
1149 |
-
<
|
1150 |
-
<sort_order>130</sort_order>
|
1151 |
<show_in_default>1</show_in_default>
|
1152 |
<show_in_website>1</show_in_website>
|
1153 |
<show_in_store>1</show_in_store>
|
1154 |
-
</
|
1155 |
-
<
|
1156 |
-
<label>
|
1157 |
-
<
|
1158 |
-
<
|
1159 |
-
<sort_order>
|
1160 |
<show_in_default>1</show_in_default>
|
1161 |
<show_in_website>1</show_in_website>
|
1162 |
-
<show_in_store>
|
1163 |
-
</
|
1164 |
-
<
|
1165 |
-
<label>
|
1166 |
-
<
|
1167 |
-
<
|
1168 |
-
<sort_order>
|
1169 |
<show_in_default>1</show_in_default>
|
1170 |
<show_in_website>1</show_in_website>
|
1171 |
<show_in_store>1</show_in_store>
|
1172 |
-
</
|
1173 |
-
<
|
1174 |
-
<label>
|
1175 |
-
<
|
1176 |
-
<
|
1177 |
-
<
|
|
|
1178 |
<show_in_default>1</show_in_default>
|
1179 |
<show_in_website>1</show_in_website>
|
1180 |
<show_in_store>1</show_in_store>
|
1181 |
-
</
|
1182 |
-
<
|
1183 |
-
<label>
|
1184 |
-
<
|
1185 |
-
<
|
1186 |
-
<
|
|
|
1187 |
<show_in_default>1</show_in_default>
|
1188 |
<show_in_website>1</show_in_website>
|
1189 |
-
<show_in_store>
|
1190 |
-
</
|
1191 |
-
<
|
1192 |
-
<label>
|
1193 |
-
<
|
1194 |
-
<
|
1195 |
-
<
|
|
|
1196 |
<show_in_default>1</show_in_default>
|
1197 |
<show_in_website>1</show_in_website>
|
1198 |
-
<show_in_store>
|
1199 |
-
</
|
1200 |
-
<
|
1201 |
-
<label>
|
1202 |
-
<
|
1203 |
-
<
|
1204 |
-
<
|
1205 |
<show_in_default>1</show_in_default>
|
1206 |
<show_in_website>1</show_in_website>
|
1207 |
<show_in_store>1</show_in_store>
|
1208 |
-
</
|
1209 |
-
<
|
1210 |
-
<label>
|
1211 |
-
<
|
1212 |
-
<
|
1213 |
-
<
|
1214 |
<show_in_default>1</show_in_default>
|
1215 |
<show_in_website>1</show_in_website>
|
1216 |
<show_in_store>1</show_in_store>
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
<
|
1221 |
-
<
|
1222 |
-
<
|
|
|
|
|
1223 |
<show_in_default>1</show_in_default>
|
1224 |
<show_in_website>1</show_in_website>
|
1225 |
<show_in_store>1</show_in_store>
|
1226 |
-
</
|
1227 |
</fields>
|
1228 |
-
</
|
1229 |
-
|
1230 |
-
|
|
|
1231 |
<frontend_type>text</frontend_type>
|
1232 |
-
<sort_order>
|
1233 |
<show_in_default>1</show_in_default>
|
1234 |
<show_in_website>1</show_in_website>
|
1235 |
<show_in_store>1</show_in_store>
|
|
|
|
|
1236 |
<fields>
|
1237 |
<active translate="label">
|
1238 |
<label>Enabled</label>
|
1239 |
<frontend_type>select</frontend_type>
|
1240 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1241 |
-
<sort_order>
|
1242 |
<show_in_default>1</show_in_default>
|
1243 |
<show_in_website>1</show_in_website>
|
1244 |
<show_in_store>1</show_in_store>
|
1245 |
-
<comment>One Click payments only work if you have Adyen CC enabled</comment>
|
1246 |
</active>
|
1247 |
<title translate="label">
|
1248 |
<label>Title</label>
|
1249 |
<frontend_type>text</frontend_type>
|
1250 |
-
<sort_order>
|
1251 |
<show_in_default>1</show_in_default>
|
1252 |
<show_in_website>1</show_in_website>
|
1253 |
<show_in_store>1</show_in_store>
|
1254 |
</title>
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1268 |
<frontend_type>select</frontend_type>
|
1269 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1270 |
-
<sort_order>
|
1271 |
<show_in_default>1</show_in_default>
|
1272 |
<show_in_website>1</show_in_website>
|
1273 |
<show_in_store>1</show_in_store>
|
1274 |
-
</
|
1275 |
-
<
|
1276 |
-
<label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1277 |
<frontend_type>text</frontend_type>
|
1278 |
-
<
|
|
|
1279 |
<show_in_default>1</show_in_default>
|
1280 |
<show_in_website>1</show_in_website>
|
1281 |
<show_in_store>1</show_in_store>
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
|
|
1285 |
<frontend_type>text</frontend_type>
|
1286 |
-
<
|
|
|
1287 |
<show_in_default>1</show_in_default>
|
1288 |
<show_in_website>1</show_in_website>
|
1289 |
-
<show_in_store>
|
1290 |
-
|
|
|
1291 |
<allowspecific translate="label">
|
1292 |
-
<label>Payment
|
1293 |
<frontend_type>allowspecific</frontend_type>
|
1294 |
-
<sort_order>
|
1295 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1296 |
<show_in_default>1</show_in_default>
|
1297 |
<show_in_website>1</show_in_website>
|
1298 |
<show_in_store>1</show_in_store>
|
1299 |
</allowspecific>
|
1300 |
<specificcountry translate="label">
|
1301 |
-
<label>Payment
|
1302 |
<frontend_type>multiselect</frontend_type>
|
1303 |
-
<sort_order>
|
1304 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1305 |
<show_in_default>1</show_in_default>
|
1306 |
<show_in_website>1</show_in_website>
|
1307 |
<show_in_store>1</show_in_store>
|
1308 |
<depends><allowspecific>1</allowspecific></depends>
|
1309 |
</specificcountry>
|
1310 |
-
<visible_type>
|
1311 |
-
<label>Visible in:</label>
|
1312 |
-
<frontend_type>select</frontend_type>
|
1313 |
-
<source_model>adyen/source_VisibleType</source_model>
|
1314 |
-
<sort_order>70</sort_order>
|
1315 |
-
<comment>Where do you want to show this payment method in the backend of magento or in the frontend for the shoppers</comment>
|
1316 |
-
<show_in_default>1</show_in_default>
|
1317 |
-
<show_in_website>1</show_in_website>
|
1318 |
-
<show_in_store>1</show_in_store>
|
1319 |
-
</visible_type>
|
1320 |
</fields>
|
1321 |
-
</
|
1322 |
-
|
1323 |
-
|
1324 |
-
<label>Adyen Boleto</label>
|
1325 |
<frontend_type>text</frontend_type>
|
1326 |
-
<sort_order>
|
1327 |
<show_in_default>1</show_in_default>
|
1328 |
<show_in_website>1</show_in_website>
|
1329 |
<show_in_store>1</show_in_store>
|
|
|
|
|
1330 |
<fields>
|
1331 |
<active translate="label">
|
1332 |
<label>Enabled</label>
|
@@ -1347,99 +1610,143 @@
|
|
1347 |
</title>
|
1348 |
<sort_order translate="label">
|
1349 |
<label>Sort Order</label>
|
|
|
1350 |
<frontend_type>text</frontend_type>
|
1351 |
-
<sort_order>
|
1352 |
<show_in_default>1</show_in_default>
|
1353 |
<show_in_website>1</show_in_website>
|
1354 |
-
<show_in_store>
|
1355 |
</sort_order>
|
1356 |
-
<
|
1357 |
-
<label>
|
1358 |
-
<
|
1359 |
-
<frontend_type>
|
1360 |
-
<
|
|
|
1361 |
<show_in_default>1</show_in_default>
|
1362 |
<show_in_website>1</show_in_website>
|
1363 |
-
<show_in_store>
|
1364 |
-
</
|
1365 |
-
<
|
1366 |
-
<label>
|
1367 |
-
<
|
1368 |
-
<
|
1369 |
-
<
|
|
|
1370 |
<show_in_default>1</show_in_default>
|
1371 |
<show_in_website>1</show_in_website>
|
1372 |
<show_in_store>1</show_in_store>
|
1373 |
-
</
|
1374 |
-
<
|
1375 |
-
<label>
|
1376 |
-
<
|
1377 |
<frontend_type>select</frontend_type>
|
1378 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1379 |
<sort_order>43</sort_order>
|
1380 |
<show_in_default>1</show_in_default>
|
1381 |
<show_in_website>1</show_in_website>
|
1382 |
<show_in_store>1</show_in_store>
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
<
|
|
|
1387 |
<frontend_type>select</frontend_type>
|
1388 |
-
<source_model>adminhtml/
|
1389 |
<sort_order>45</sort_order>
|
1390 |
<show_in_default>1</show_in_default>
|
1391 |
<show_in_website>1</show_in_website>
|
1392 |
-
<show_in_store>
|
1393 |
-
</
|
1394 |
-
<
|
1395 |
-
<label>
|
1396 |
-
<
|
1397 |
-
<
|
1398 |
-
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
1399 |
<sort_order>46</sort_order>
|
1400 |
<show_in_default>1</show_in_default>
|
1401 |
<show_in_website>1</show_in_website>
|
1402 |
-
<show_in_store>
|
1403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1404 |
<allowspecific translate="label">
|
1405 |
-
<label>Payment
|
1406 |
<frontend_type>allowspecific</frontend_type>
|
1407 |
-
<sort_order>
|
1408 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1409 |
<show_in_default>1</show_in_default>
|
1410 |
<show_in_website>1</show_in_website>
|
1411 |
<show_in_store>1</show_in_store>
|
1412 |
</allowspecific>
|
1413 |
<specificcountry translate="label">
|
1414 |
-
<label>Payment
|
1415 |
<frontend_type>multiselect</frontend_type>
|
1416 |
-
<sort_order>
|
1417 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1418 |
<show_in_default>1</show_in_default>
|
1419 |
<show_in_website>1</show_in_website>
|
1420 |
<show_in_store>1</show_in_store>
|
1421 |
<depends><allowspecific>1</allowspecific></depends>
|
1422 |
</specificcountry>
|
1423 |
-
<visible_type>
|
1424 |
-
<label>Visible in:</label>
|
1425 |
-
<frontend_type>select</frontend_type>
|
1426 |
-
<source_model>adyen/source_VisibleType</source_model>
|
1427 |
-
<sort_order>70</sort_order>
|
1428 |
-
<comment>Where do you want to show this payment method in the backend of magento or in the frontend for the shoppers</comment>
|
1429 |
-
<show_in_default>1</show_in_default>
|
1430 |
-
<show_in_website>1</show_in_website>
|
1431 |
-
<show_in_store>1</show_in_store>
|
1432 |
-
</visible_type>
|
1433 |
</fields>
|
1434 |
-
</
|
1435 |
-
|
1436 |
-
|
1437 |
-
<label>Adyen SEPA</label>
|
1438 |
<frontend_type>text</frontend_type>
|
1439 |
-
<sort_order>
|
1440 |
<show_in_default>1</show_in_default>
|
1441 |
<show_in_website>1</show_in_website>
|
1442 |
<show_in_store>1</show_in_store>
|
|
|
|
|
1443 |
<fields>
|
1444 |
<active translate="label">
|
1445 |
<label>Enabled</label>
|
@@ -1460,70 +1767,71 @@
|
|
1460 |
</title>
|
1461 |
<sort_order translate="label">
|
1462 |
<label>Sort Order</label>
|
|
|
1463 |
<frontend_type>text</frontend_type>
|
1464 |
<sort_order>25</sort_order>
|
1465 |
<show_in_default>1</show_in_default>
|
1466 |
<show_in_website>1</show_in_website>
|
1467 |
-
<show_in_store>
|
1468 |
</sort_order>
|
1469 |
-
<
|
1470 |
-
<label>
|
1471 |
-
<
|
1472 |
-
<
|
1473 |
<sort_order>30</sort_order>
|
1474 |
-
<comment>This is a basic validation on the Iban number.</comment>
|
1475 |
<show_in_default>1</show_in_default>
|
1476 |
<show_in_website>1</show_in_website>
|
1477 |
<show_in_store>1</show_in_store>
|
1478 |
-
</
|
1479 |
-
<
|
1480 |
-
<label>
|
1481 |
-
<
|
1482 |
-
<
|
1483 |
-
<sort_order>
|
1484 |
-
<comment>If you are not sure just use the default => Sales</comment>
|
1485 |
<show_in_default>1</show_in_default>
|
1486 |
<show_in_website>1</show_in_website>
|
1487 |
<show_in_store>1</show_in_store>
|
1488 |
-
</
|
1489 |
-
<
|
1490 |
-
<label>
|
1491 |
-
<
|
|
|
1492 |
<sort_order>50</sort_order>
|
1493 |
-
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1494 |
<show_in_default>1</show_in_default>
|
1495 |
<show_in_website>1</show_in_website>
|
1496 |
<show_in_store>1</show_in_store>
|
1497 |
-
</
|
1498 |
-
<
|
1499 |
-
<label>
|
1500 |
-
<
|
|
|
1501 |
<sort_order>60</sort_order>
|
1502 |
-
<source_model>adminhtml/system_config_source_country</source_model>
|
1503 |
<show_in_default>1</show_in_default>
|
1504 |
<show_in_website>1</show_in_website>
|
1505 |
<show_in_store>1</show_in_store>
|
1506 |
-
|
1507 |
-
</specificcountry>
|
1508 |
<visible_type>
|
1509 |
-
<label>Visible in
|
1510 |
<frontend_type>select</frontend_type>
|
1511 |
<source_model>adyen/source_VisibleType</source_model>
|
1512 |
<sort_order>70</sort_order>
|
1513 |
-
<
|
1514 |
<show_in_default>1</show_in_default>
|
1515 |
<show_in_website>1</show_in_website>
|
1516 |
<show_in_store>1</show_in_store>
|
1517 |
</visible_type>
|
1518 |
</fields>
|
1519 |
-
</
|
1520 |
-
|
1521 |
-
|
|
|
1522 |
<frontend_type>text</frontend_type>
|
1523 |
-
<sort_order>
|
1524 |
<show_in_default>1</show_in_default>
|
1525 |
<show_in_website>1</show_in_website>
|
1526 |
<show_in_store>1</show_in_store>
|
|
|
|
|
1527 |
<fields>
|
1528 |
<active translate="label">
|
1529 |
<label>Enabled</label>
|
@@ -1544,61 +1852,45 @@
|
|
1544 |
</title>
|
1545 |
<sort_order translate="label">
|
1546 |
<label>Sort Order</label>
|
|
|
1547 |
<frontend_type>text</frontend_type>
|
1548 |
<sort_order>25</sort_order>
|
1549 |
<show_in_default>1</show_in_default>
|
1550 |
<show_in_website>1</show_in_website>
|
1551 |
-
<show_in_store>0</show_in_store>
|
1552 |
-
</sort_order>
|
1553 |
-
<session_validity>
|
1554 |
-
<label>Session Validity</label>
|
1555 |
-
<comment>How many days do you want this payment page to be active</comment>
|
1556 |
-
<frontend_type>text</frontend_type>
|
1557 |
-
<sort_order>30</sort_order>
|
1558 |
-
<show_in_default>1</show_in_default>
|
1559 |
-
<show_in_website>1</show_in_website>
|
1560 |
-
<show_in_store>1</show_in_store>
|
1561 |
-
</session_validity>
|
1562 |
-
<skin_code translate="label">
|
1563 |
-
<label>Skin Code</label>
|
1564 |
-
<comment>The skin code you want to use levae this empty if you want to use the same as Adyen HPP settings</comment>
|
1565 |
-
<frontend_type>text</frontend_type>
|
1566 |
-
<sort_order>40</sort_order>
|
1567 |
-
<show_in_default>1</show_in_default>
|
1568 |
-
<show_in_website>1</show_in_website>
|
1569 |
<show_in_store>1</show_in_store>
|
1570 |
-
</
|
1571 |
-
<
|
1572 |
-
<label>
|
1573 |
-
<
|
1574 |
-
<frontend_type>text</frontend_type>
|
1575 |
<sort_order>50</sort_order>
|
|
|
1576 |
<show_in_default>1</show_in_default>
|
1577 |
<show_in_website>1</show_in_website>
|
1578 |
<show_in_store>1</show_in_store>
|
1579 |
-
</
|
1580 |
-
<
|
1581 |
-
<label>
|
1582 |
-
<
|
1583 |
-
<frontend_type>text</frontend_type>
|
1584 |
<sort_order>60</sort_order>
|
|
|
1585 |
<show_in_default>1</show_in_default>
|
1586 |
<show_in_website>1</show_in_website>
|
1587 |
<show_in_store>1</show_in_store>
|
1588 |
-
|
|
|
1589 |
<visible_type>
|
1590 |
-
<label>Visible in
|
1591 |
<frontend_type>select</frontend_type>
|
1592 |
<source_model>adyen/source_VisibleType</source_model>
|
1593 |
<sort_order>70</sort_order>
|
1594 |
-
<
|
1595 |
<show_in_default>1</show_in_default>
|
1596 |
<show_in_website>1</show_in_website>
|
1597 |
<show_in_store>1</show_in_store>
|
1598 |
</visible_type>
|
1599 |
</fields>
|
1600 |
-
</
|
1601 |
</groups>
|
1602 |
</payment>
|
1603 |
</sections>
|
1604 |
-
</config>
|
32 |
<groups>
|
33 |
<!-- @default -->
|
34 |
<adyen_abstract translate="label" module="adyen">
|
35 |
+
<label>Default Settings</label>
|
36 |
<frontend_type>text</frontend_type>
|
37 |
<sort_order>300</sort_order>
|
38 |
+
<frontend_class>complex</frontend_class>
|
39 |
<show_in_default>1</show_in_default>
|
40 |
<show_in_website>1</show_in_website>
|
41 |
<show_in_store>1</show_in_store>
|
42 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
43 |
+
<activity_path/>
|
|
|
|
|
|
|
|
|
|
|
44 |
<fields>
|
45 |
+
<adyen_getting_started type="group" translate="label comment tooltip">
|
46 |
+
<label><![CDATA[Documentation & Support]]></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
<frontend_type>text</frontend_type>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
<show_in_default>1</show_in_default>
|
49 |
<show_in_website>1</show_in_website>
|
50 |
<show_in_store>1</show_in_store>
|
51 |
+
<sort_order>0</sort_order>
|
52 |
+
<frontend_class>adyen-payment-methods with-button</frontend_class>
|
53 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_gettingstarted</frontend_model>
|
54 |
+
<comment><![CDATA[
|
55 |
+
<ul>
|
56 |
+
<li><a target="_blank" href="http://vimeo.com/94005128">Instructional video on how to set up the Adyen Magento plugin</a></a>
|
57 |
+
<li><a target="_blank" href="https://www.adyen.com/dam/documentation/manuals/MagentoQuickIntegrationManual.pdf">Download the Quick Quick Integration Guide</a></li>
|
58 |
+
<li><a target="_blank" href="https://www.adyen.com/dam/documentation/manuals/AdyenMagentoExtension.pdf">Download the more advanced manual</a></li>
|
59 |
+
<li><a target="_blank" href="https://www.adyen.com/home/payment-services/plug-ins/magento#form"><strong>Sign</strong> up for a test account</a></li>
|
60 |
+
<li>The latest version of the <a target="_blank" href="https://github.com/adyenpayments/magento/releases">Adyen Magento module is also available through GitHub</a>.</li>
|
61 |
+
</ul>
|
62 |
+
<p> In the test modus you nee to use test cards. <a target="_blank" href="http://adyen.com/test-card-numbers">Test cards can be found here</a>
|
63 |
+
<p>You can find this in the Adyen back-office. The Adyen back-office can be found on <a target="_blank" href="https://ca-test.adyen.com">https://ca-test.adyen.com</a> for test or <a target="_blank" href="https://ca-live.adyen.com">https://ca-live.adyen.com</a> for live.</p>
|
64 |
+
<p>If you have any further questions, please visit the <a target="_blank" href="http://www.adyen.com">Adyen.com</a> website or email <a href="mailto:magento@adyen.com">magento@adyen.com</a>.</p>
|
65 |
+
]]>
|
66 |
+
</comment>
|
67 |
+
<fields>
|
68 |
+
<version translate="label">
|
69 |
+
<label>Extension version</label>
|
70 |
+
<frontend_type>label</frontend_type>
|
71 |
+
<frontend_model>adyen/adminhtml_version</frontend_model>
|
72 |
+
<sort_order>0</sort_order>
|
73 |
+
<show_in_default>1</show_in_default>
|
74 |
+
<show_in_website>1</show_in_website>
|
75 |
+
<show_in_store>1</show_in_store>
|
76 |
+
</version>
|
77 |
+
</fields>
|
78 |
+
</adyen_getting_started>
|
79 |
+
|
80 |
+
<adyen_required_settings type="group" translate="label comment tooltip">
|
81 |
+
<label>Required Settings</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
<frontend_type>text</frontend_type>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
<show_in_default>1</show_in_default>
|
84 |
<show_in_website>1</show_in_website>
|
85 |
<show_in_store>1</show_in_store>
|
86 |
+
<sort_order>5</sort_order>
|
87 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
88 |
+
<fields>
|
89 |
+
<merchantAccount translate="label comment tooltip">
|
90 |
+
<label>Merchant Account</label>
|
91 |
+
<tooltip><![CDATA[The merchant account identifier you want to process the (transaction) request with. Find this at the top of the screen in the Adyen Customer Area, where you will see [YourCompanyAccount] > [YourMerchantAccount] . Please note that the merchant account is different from the company account; a company account can have one or more merchant accounts.]]></tooltip>
|
92 |
+
<frontend_type>text</frontend_type>
|
93 |
+
<config_path>payment/adyen_abstract/merchantAccount</config_path>
|
94 |
+
<sort_order>10</sort_order>
|
95 |
+
<show_in_default>1</show_in_default>
|
96 |
+
<show_in_website>1</show_in_website>
|
97 |
+
<show_in_store>1</show_in_store>
|
98 |
+
</merchantAccount>
|
99 |
+
<demoMode translate="label">
|
100 |
+
<label>Test/Production Mode</label>
|
101 |
+
<frontend_type>select</frontend_type>
|
102 |
+
<config_path>payment/adyen_abstract/demoMode</config_path>
|
103 |
+
<source_model>adyen/source_DemoModes</source_model>
|
104 |
+
<sort_order>20</sort_order>
|
105 |
+
<show_in_default>1</show_in_default>
|
106 |
+
<show_in_website>1</show_in_website>
|
107 |
+
<show_in_store>1</show_in_store>
|
108 |
+
<tooltip><![CDATA[ In the test mode you must use test cards. See section Documentation & Support for the link to the test cards]]></tooltip>
|
109 |
+
</demoMode>
|
110 |
+
<notification_username translate="label">
|
111 |
+
<label>Notification User Name</label>
|
112 |
+
<tooltip>Set a user name of your choice here and copy it over to Adyen Customer Area => Settings => Server Communication => Standard Notification => User Name.</tooltip>
|
113 |
+
<frontend_type>text</frontend_type>
|
114 |
+
<config_path>payment/adyen_abstract/notification_username</config_path>
|
115 |
+
<sort_order>40</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>1</show_in_website>
|
118 |
+
<show_in_store>0</show_in_store>
|
119 |
+
</notification_username>
|
120 |
+
<notification_password translate="label">
|
121 |
+
<label>Notification Password</label>
|
122 |
+
<tooltip>Set a password of your choice and copy it over to Adyen Customer Area => Settings => Server Communication => Standard Notification => Password.</tooltip>
|
123 |
+
<frontend_type>obscure</frontend_type>
|
124 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
125 |
+
<config_path>payment/adyen_abstract/notification_password</config_path>
|
126 |
+
<sort_order>50</sort_order>
|
127 |
+
<show_in_default>1</show_in_default>
|
128 |
+
<show_in_website>1</show_in_website>
|
129 |
+
<show_in_store>0</show_in_store>
|
130 |
+
</notification_password>
|
131 |
+
<ws_username_test translate="label">
|
132 |
+
<label>Test: Web Service User Name</label>
|
133 |
+
<tooltip>Find this in your Test Adyen Customer Area => Settings => Users => System. Normally this will be ws@Company.YourCompanyAccount. Copy and Paste the exact ws user name here.</tooltip>
|
134 |
+
<config_path>payment/adyen_abstract/ws_username_test</config_path>
|
135 |
+
<frontend_type>text</frontend_type>
|
136 |
+
<sort_order>70</sort_order>
|
137 |
+
<show_in_default>1</show_in_default>
|
138 |
+
<show_in_website>1</show_in_website>
|
139 |
+
<show_in_store>0</show_in_store>
|
140 |
+
</ws_username_test>
|
141 |
+
<ws_password_test translate="label">
|
142 |
+
<label>Test: Web Service Password</label>
|
143 |
+
<tooltip>Find this in your Test Adyen Customer Area => Settings => Users => System. Click on your web service user and generate a new password. Copy and Paste the exact password here.</tooltip>
|
144 |
+
<config_path>payment/adyen_abstract/ws_password_test</config_path>
|
145 |
+
<frontend_type>obscure</frontend_type>
|
146 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
147 |
+
<sort_order>80</sort_order>
|
148 |
+
<show_in_default>1</show_in_default>
|
149 |
+
<show_in_website>1</show_in_website>
|
150 |
+
<show_in_store>0</show_in_store>
|
151 |
+
</ws_password_test>
|
152 |
+
<ws_test_button translate="label">
|
153 |
+
<label></label>
|
154 |
+
<button_label>Test Web Service Credentials for test</button_label>
|
155 |
+
<config_path>payment/adyen_abstract/ws_test_button</config_path>
|
156 |
+
<modus>test</modus>
|
157 |
+
<frontend_model>adyen/adminhtml_system_config_testWebserverConfiguration</frontend_model>
|
158 |
+
<sort_order>90</sort_order>
|
159 |
+
<show_in_default>1</show_in_default>
|
160 |
+
<show_in_website>1</show_in_website>
|
161 |
+
<show_in_store></show_in_store>
|
162 |
+
</ws_test_button>
|
163 |
+
<ws_username_live translate="label">
|
164 |
+
<label>Live: Web Service User Name</label>
|
165 |
+
<tooltip>This is only applicable if you have a Live account. Find this in your Live Adyen Customer Area => Settings => Users => System. Normally this will be ws@Company.YourCompanyAccount. Copy and Paste the exact ws user name here.</tooltip>
|
166 |
+
<config_path>payment/adyen_abstract/ws_username_live</config_path>
|
167 |
+
<frontend_type>text</frontend_type>
|
168 |
+
<sort_order>100</sort_order>
|
169 |
+
<show_in_default>1</show_in_default>
|
170 |
+
<show_in_website>1</show_in_website>
|
171 |
+
<show_in_store>0</show_in_store>
|
172 |
+
</ws_username_live>
|
173 |
+
<ws_password_live translate="label">
|
174 |
+
<label>Live: Web Service Password</label>
|
175 |
+
<label>Live: Web Service Password</label>
|
176 |
+
<tooltip>This is only applicable if you have a Live account. Find this in your Live Adyen Customer Area => Settings => Users => System. Click on your web service user and generate a new password. Copy and Paste the exact password here.</tooltip>
|
177 |
+
<config_path>payment/adyen_abstract/ws_password_live</config_path>
|
178 |
+
<frontend_type>obscure</frontend_type>
|
179 |
+
<backend_model>adminhtml/system_config_backend_encrypted</backend_model>
|
180 |
+
<sort_order>110</sort_order>
|
181 |
+
<show_in_default>1</show_in_default>
|
182 |
+
<show_in_website>1</show_in_website>
|
183 |
+
<show_in_store>0</show_in_store>
|
184 |
+
</ws_password_live>
|
185 |
+
<ws_live_button translate="label">
|
186 |
+
<label></label>
|
187 |
+
<button_label>Test Web Service Credentials for live</button_label>
|
188 |
+
<config_path>payment/adyen_abstract/ws_live_button</config_path>
|
189 |
+
<modus>live</modus>
|
190 |
+
<frontend_model>adyen/adminhtml_system_config_testWebserverConfiguration</frontend_model>
|
191 |
+
<sort_order>120</sort_order>
|
192 |
+
<show_in_default>1</show_in_default>
|
193 |
+
<show_in_website>1</show_in_website>
|
194 |
+
</ws_live_button>
|
195 |
+
<capture_mode translate="label">
|
196 |
+
<label>Capture Delay</label>
|
197 |
+
<frontend_type>select</frontend_type>
|
198 |
+
<tooltip>Immediate is the default. Set to manual if you want to perform the capture of funds manually later (only affects credit cards and a few alternative payment methods). You need to change this setting as well in Adyen Customer Area => Settings => Merchant Settings => Capture Delay. If you have selected a capture delay of a couple of days in Adyen keep it here on immediate</tooltip>
|
199 |
+
<source_model>adyen/source_captureModes</source_model>
|
200 |
+
<config_path>payment/adyen_abstract/capture_mode</config_path>
|
201 |
+
<sort_order>130</sort_order>
|
202 |
+
<show_in_default>1</show_in_default>
|
203 |
+
<show_in_website>1</show_in_website>
|
204 |
+
<show_in_store>0</show_in_store>
|
205 |
+
</capture_mode>
|
206 |
+
<order_status translate="label">
|
207 |
+
<label>Order status: order creation</label>
|
208 |
+
<tooltip>Status given to newly created orders before payment result confirmation via server notifications from Adyen.</tooltip>
|
209 |
+
<frontend_type>select</frontend_type>
|
210 |
+
<config_path>payment/adyen_abstract/order_status</config_path>
|
211 |
+
<source_model>adminhtml/system_config_source_order_status_new</source_model>
|
212 |
+
<sort_order>140</sort_order>
|
213 |
+
<show_in_default>1</show_in_default>
|
214 |
+
<show_in_website>1</show_in_website>
|
215 |
+
<show_in_store>0</show_in_store>
|
216 |
+
</order_status>
|
217 |
+
<payment_pre_authorized>
|
218 |
+
<label>Order status: payment authorisation</label>
|
219 |
+
<tooltip>Status given to orders after authorisation confirmed by an AUTHORISATION notification from Adyen. Note: an authorisation status via the result URL does not yet trigger this status.</tooltip>
|
220 |
+
<frontend_type>select</frontend_type>
|
221 |
+
<config_path>payment/adyen_abstract/payment_pre_authorized</config_path>
|
222 |
+
<source_model>adminhtml/system_config_source_order_status_newprocessing</source_model>
|
223 |
+
<sort_order>150</sort_order>
|
224 |
+
<show_in_default>1</show_in_default>
|
225 |
+
<show_in_website>1</show_in_website>
|
226 |
+
<show_in_store>0</show_in_store>
|
227 |
+
<depends><capture_mode>manual</capture_mode></depends>
|
228 |
+
</payment_pre_authorized>
|
229 |
+
<payment_authorized translate="label">
|
230 |
+
<label>Order status: payment confirmed</label>
|
231 |
+
<tooltip>Status given to orders after capture result is confirmed by an AUTHORISATION notification (if capture mode = immediate) or a CAPTURE notification (if capture mode = manual capture) from Adyen.</tooltip>
|
232 |
+
<frontend_type>select</frontend_type>
|
233 |
+
<config_path>payment/adyen_abstract/payment_authorized</config_path>
|
234 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
235 |
+
<sort_order>160</sort_order>
|
236 |
+
<show_in_default>1</show_in_default>
|
237 |
+
<show_in_website>1</show_in_website>
|
238 |
+
<show_in_store>0</show_in_store>
|
239 |
+
</payment_authorized>
|
240 |
+
<payment_cancelled translate="label">
|
241 |
+
<label>Order status: order cancellation</label>
|
242 |
+
<tooltip>Status given to orders after order cancellation is confirmed by a CANCEL_OR_REFUND notification from Adyen. If orders are already invoiced, they cannot be cancelled, but will be refunded instead.</tooltip>
|
243 |
+
<frontend_type>select</frontend_type>
|
244 |
+
<config_path>payment/adyen_abstract/payment_cancelled</config_path>
|
245 |
+
<source_model>adyen/source_cancelModes</source_model>
|
246 |
+
<sort_order>170</sort_order>
|
247 |
+
<show_in_default>1</show_in_default>
|
248 |
+
<show_in_website>1</show_in_website>
|
249 |
+
<show_in_store>0</show_in_store>
|
250 |
+
</payment_cancelled>
|
251 |
+
<debug translate="label">
|
252 |
+
<label>Enable debug logging</label>
|
253 |
+
<frontend_type>select</frontend_type>
|
254 |
+
<config_path>payment/adyen_abstract/debug</config_path>
|
255 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
256 |
+
<sort_order>180</sort_order>
|
257 |
+
<show_in_default>1</show_in_default>
|
258 |
+
<show_in_website>1</show_in_website>
|
259 |
+
<show_in_store>0</show_in_store>
|
260 |
+
</debug>
|
261 |
+
</fields>
|
262 |
+
</adyen_required_settings>
|
263 |
+
|
264 |
+
<adyen_order_process type="group" translate="label comment tooltip">
|
265 |
+
<label>Advanced: Magento Order Processing</label>
|
266 |
<frontend_type>text</frontend_type>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
<show_in_default>1</show_in_default>
|
268 |
<show_in_website>1</show_in_website>
|
269 |
+
<show_in_store>1</show_in_store>
|
270 |
+
<sort_order>30</sort_order>
|
271 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
272 |
+
<fields>
|
273 |
+
<paypal_capture_mode>
|
274 |
+
<label>Use manual capture for PayPal</label>
|
275 |
+
<tooltip>Should be on 'No' by default. If you have requested with Adyen Support for your PayPal integration to be on manual capture, set this to 'Yes'.</tooltip>
|
276 |
+
<frontend_type>select</frontend_type>
|
277 |
+
<source_model>adyen/source_PayPalCaptureModes</source_model>
|
278 |
+
<config_path>payment/adyen_abstract/paypal_capture_mode</config_path>
|
279 |
+
<sort_order>10</sort_order>
|
280 |
+
<show_in_default>1</show_in_default>
|
281 |
+
<show_in_website>1</show_in_website>
|
282 |
+
<show_in_store>0</show_in_store>
|
283 |
+
</paypal_capture_mode>
|
284 |
+
<auto_capture_openinvoice>
|
285 |
+
<label>Use auto-capture for OpenInvoice payments</label>
|
286 |
+
<tooltip>Applicable for Klarna and AfterPay only. By default OpenInvoice is set to manual capture. If you want auto capture you need to contact magento@adyen.com. After approval has been given, then you can set this option to 'Yes'.</tooltip>
|
287 |
+
<frontend_type>select</frontend_type>
|
288 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
289 |
+
<config_path>payment/adyen_abstract/auto_capture_openinvoice</config_path>
|
290 |
+
<sort_order>20</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 |
+
</auto_capture_openinvoice>
|
295 |
+
<payment_authorized_virtual>
|
296 |
+
<label>Order status: payment capture (virtual products)</label>
|
297 |
+
<tooltip>(optional) Select only status assigned to state complete. Leave empty to use the same as normal products</tooltip>
|
298 |
+
<frontend_type>select</frontend_type>
|
299 |
+
<config_path>payment/adyen_abstract/payment_authorized_virtual</config_path>
|
300 |
+
<source_model>adyen/source_status_complete</source_model>
|
301 |
+
<sort_order>30</sort_order>
|
302 |
+
<show_in_default>1</show_in_default>
|
303 |
+
<show_in_website>1</show_in_website>
|
304 |
+
<show_in_store>0</show_in_store>
|
305 |
+
</payment_authorized_virtual>
|
306 |
+
<refund_authorized translate="label">
|
307 |
+
<label>Order status: Adyen Refunded</label>
|
308 |
+
<tooltip>Status given to order after a (partial) refund has been made on the order. This is triggered when the REFUND notification is received</tooltip>
|
309 |
+
<frontend_type>select</frontend_type>
|
310 |
+
<config_path>payment/adyen_abstract/refund_authorized</config_path>
|
311 |
+
<source_model>adyen/source_status_refund</source_model>
|
312 |
+
<sort_order>40</sort_order>
|
313 |
+
<show_in_default>1</show_in_default>
|
314 |
+
<show_in_website>1</show_in_website>
|
315 |
+
<show_in_store>0</show_in_store>
|
316 |
+
</refund_authorized>
|
317 |
+
<pending_status>
|
318 |
+
<label>Order status: pending Bank Transfer/SEPA orders</label>
|
319 |
+
<tooltip>By default, Adyen does not inform your Magento store about pending payments. If you want these notifications to be received, Go to Adyen Customer Area => Server Communication and add BankTransfer Pending Notification and Direct-Debit Pending Notification.</tooltip>
|
320 |
+
<frontend_type>select</frontend_type>
|
321 |
+
<config_path>payment/adyen_abstract/pending_status</config_path>
|
322 |
+
<source_model>adyen/source_status_pending</source_model>
|
323 |
+
<sort_order>50</sort_order>
|
324 |
+
<show_in_default>1</show_in_default>
|
325 |
+
<show_in_website>1</show_in_website>
|
326 |
+
<show_in_store>0</show_in_store>
|
327 |
+
</pending_status>
|
328 |
+
<send_email_bank_sepa_on_pending>
|
329 |
+
<label>Send order confirmation email for Bank Transfer/SEPA</label>
|
330 |
+
<tooltip>Send a confirmation mail after Bank Tranfer/SEPA is placed (not yet paid). If you want these notifications to be received, Go to Adyen Customer Area => Server Communication and add BankTransfer Pending Notification and Direct-Debit Pending Notification.</tooltip>
|
331 |
+
<frontend_type>select</frontend_type>
|
332 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
333 |
+
<config_path>payment/adyen_abstract/send_email_bank_sepa_on_pending</config_path>
|
334 |
+
<sort_order>60</sort_order>
|
335 |
+
<show_in_default>1</show_in_default>
|
336 |
+
<show_in_website>1</show_in_website>
|
337 |
+
<show_in_store>0</show_in_store>
|
338 |
+
</send_email_bank_sepa_on_pending>
|
339 |
+
<create_pending_invoice translate="label">
|
340 |
+
<label>Create a pending invoice (only for manual capture)</label>
|
341 |
+
<tooltip>This will create a pending invoice if the AUTHORISATION notification is received. Note: this will cause Magento to push all orders to Status:'Processing' once the invoice is created, ignoring all other settings.</tooltip>
|
342 |
+
<frontend_type>select</frontend_type>
|
343 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
344 |
+
<sort_order>70</sort_order>
|
345 |
+
<config_path>payment/adyen_abstract/create_pending_invoice</config_path>
|
346 |
+
<show_in_default>1</show_in_default>
|
347 |
+
<show_in_website>1</show_in_website>
|
348 |
+
<show_in_store>1</show_in_store>
|
349 |
+
</create_pending_invoice>
|
350 |
+
<capture_on_shipment>
|
351 |
+
<label>Order status: Capture on shipment</label>
|
352 |
+
<frontend_type>select</frontend_type>
|
353 |
+
<tooltip>If you enable this function it will do a capture request to Adyen if you do a shipment.</tooltip>
|
354 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
355 |
+
<config_path>payment/adyen_abstract/capture_on_shipment</config_path>
|
356 |
+
<sort_order>80</sort_order>
|
357 |
+
<show_in_default>1</show_in_default>
|
358 |
+
<show_in_website>1</show_in_website>
|
359 |
+
<show_in_store>0</show_in_store>
|
360 |
+
</capture_on_shipment>
|
361 |
+
<send_invoice_update_mail translate="label">
|
362 |
+
<label>Invoice email (deprecated)</label>
|
363 |
+
<frontend_type>select</frontend_type>
|
364 |
+
<tooltip>Enable/Disable update mails to customers.</tooltip>
|
365 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
366 |
+
<config_path>payment/adyen_abstract/send_invoice_update_mail</config_path>
|
367 |
+
<sort_order>1000</sort_order>
|
368 |
+
<show_in_default>1</show_in_default>
|
369 |
+
<show_in_website>1</show_in_website>
|
370 |
+
<show_in_store>0</show_in_store>
|
371 |
+
</send_invoice_update_mail>
|
372 |
+
<send_update_mail translate="label">
|
373 |
+
<label>Customers receive order status update email (deprecated).</label>
|
374 |
+
<frontend_type>select</frontend_type>
|
375 |
+
<tooltip>Enable/Disable update mails for all order status changes to the shopper.</tooltip>
|
376 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
377 |
+
<config_path>payment/adyen_abstract/send_update_mail</config_path>
|
378 |
+
<sort_order>1200</sort_order>
|
379 |
+
<show_in_default>1</show_in_default>
|
380 |
+
<show_in_website>1</show_in_website>
|
381 |
+
<show_in_store>0</show_in_store>
|
382 |
+
</send_update_mail>
|
383 |
+
</fields>
|
384 |
+
</adyen_order_process>
|
385 |
+
<adyen_order_notifications type="group" translate="label comment tooltip">
|
386 |
+
<label>Advanced: Adyen Payment Notifications</label>
|
387 |
<frontend_type>text</frontend_type>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
<sort_order>40</sort_order>
|
392 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
393 |
+
<fields>
|
394 |
+
<notification_hmac>
|
395 |
+
<label>Notification HMAC Key</label>
|
396 |
+
<tooltip>This is not required and should be left empty by default. You can use this as extra security, or if you do not want to use HTTP authentication. If the latter is the case, leave notification user name and password in 'Required Settings' empty and only use this key. Key can be generated at Adyen Customer Area => Server Communication => Standard Notification => Additional Settings => Generate new HMAC key</tooltip>
|
397 |
+
<frontend_type>text</frontend_type>
|
398 |
+
<config_path>payment/adyen_abstract/notification_hmac</config_path>
|
399 |
+
<sort_order>77</sort_order>
|
400 |
+
<show_in_default>1</show_in_default>
|
401 |
+
<show_in_website>1</show_in_website>
|
402 |
+
<show_in_store>0</show_in_store>
|
403 |
+
</notification_hmac>
|
404 |
+
<ignore_refund_notification>
|
405 |
+
<label>Ignore refund notification</label>
|
406 |
+
<tooltip>If the refund is done on the Adyen Platform it will send a refund notification to Magento which automatically creates a credit memo. If you set this setting to 'Yes', this will not happen because it will not process any of the REFUND notification that is received.</tooltip>
|
407 |
+
<frontend_type>select</frontend_type>
|
408 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
409 |
+
<sort_order>230</sort_order>
|
410 |
+
<config_path>payment/adyen_abstract/ignore_refund_notification</config_path>
|
411 |
+
<show_in_default>1</show_in_default>
|
412 |
+
<show_in_website>1</show_in_website>
|
413 |
+
<show_in_store>1</show_in_store>
|
414 |
+
</ignore_refund_notification>
|
415 |
+
<update_notification_cronjob>
|
416 |
+
<label>Update notification queue by cronjob (every 5 minutes)</label>
|
417 |
+
<tooltip>If you are using API methods(CC, SEPA, ELV or Boleto) and your Magento order processing is slow, it could be that the notification is faster then Magento saves the order. The notification will then be saved in a queue. This is processed on default when next notification is received. If you want to update the notification queue every 5 minutes activate this and make sure cronjob of Magento is called by your web server</tooltip>
|
418 |
+
<frontend_type>select</frontend_type>
|
419 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
420 |
+
<config_path>payment/adyen_abstract/update_notification_cronjob</config_path>
|
421 |
+
<sort_order>240</sort_order>
|
422 |
+
<show_in_default>1</show_in_default>
|
423 |
+
<show_in_website>0</show_in_website>
|
424 |
+
<show_in_store>0</show_in_store>
|
425 |
+
</update_notification_cronjob>
|
426 |
+
<multiple_merchants translate="label">
|
427 |
+
<label>Allow multiple merchants</label>
|
428 |
+
<tooltip><![CDATA[Allow notifications sent from other Adyen merchant accounts. Keep in mind that the Notification user name and password should be the same for all the merchant accounts]]></tooltip>
|
429 |
+
<frontend_type>select</frontend_type>
|
430 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
431 |
+
<sort_order>250</sort_order>
|
432 |
+
<show_in_default>1</show_in_default>
|
433 |
+
<show_in_website>0</show_in_website>
|
434 |
+
<show_in_store>0</show_in_store>
|
435 |
+
</multiple_merchants>
|
436 |
+
</fields>
|
437 |
+
</adyen_order_notifications>
|
438 |
+
<adyen_billing_agreements type="group" translate="label comment tooltip">
|
439 |
+
<label>Advanced: Billing Agreements</label>
|
440 |
<frontend_type>text</frontend_type>
|
|
|
441 |
<show_in_default>1</show_in_default>
|
442 |
+
<!--<show_in_website>1</show_in_website>-->
|
443 |
+
<!--<show_in_store>1</show_in_store>-->
|
444 |
+
<sort_order>50</sort_order>
|
445 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
446 |
+
<comment>
|
447 |
+
<![CDATA[
|
448 |
+
<p>
|
449 |
+
<strong>ONECLICK</strong>: The shopper opts in to storing their card details for future use.
|
450 |
+
The shopper is present for the subsequent transaction, for cards the security code (CVC/CVV) is required.
|
451 |
+
</p>
|
452 |
+
<p>
|
453 |
+
<strong>RECURRING</strong>: Payment details are stored for future use. For cards, the security
|
454 |
+
code (CVC/CVV) is not required for subsequent payments.
|
455 |
+
</p>
|
456 |
+
<p>
|
457 |
+
<strong>ONECLICK, RECURRING</strong>: Payment details are stored for future use. This allows the use of
|
458 |
+
the stored payment details regardless of whether the shopper is on your site or not.
|
459 |
+
</p>
|
460 |
+
]]>
|
461 |
+
</comment>
|
462 |
+
<fields>
|
463 |
+
<recurringtypes translate="label">
|
464 |
+
<label>Agreement Type</label>
|
465 |
+
<frontend_type>select</frontend_type>
|
466 |
+
<source_model>adyen/source_recurringType</source_model>
|
467 |
+
<config_path>payment/adyen_abstract/recurringtypes</config_path>
|
468 |
+
<sort_order>79</sort_order>
|
469 |
+
<show_in_default>1</show_in_default>
|
470 |
+
<!--<show_in_website>1</show_in_website>-->
|
471 |
+
<!--<show_in_store>1</show_in_store>-->
|
472 |
+
<tooltip>When enabled, users can save their Credit Cards and their SEPA authorizations. ONECLICK will require the input of the CVC for subsequent payments, while RECURRING does not.</tooltip>
|
473 |
+
</recurringtypes>
|
474 |
+
</fields>
|
475 |
+
</adyen_billing_agreements>
|
476 |
+
<adyen_checkout_experience type="group" translate="label comment tooltip">
|
477 |
+
<label>Advanced: Checkout Experience</label>
|
478 |
<frontend_type>text</frontend_type>
|
|
|
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 |
<sort_order>220</sort_order>
|
483 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
484 |
+
<fields>
|
485 |
+
<payment_cancelled_redirect>
|
486 |
+
<label>Redirect destination after cancellation</label>
|
487 |
+
<frontend_type>select</frontend_type>
|
488 |
+
<tooltip>Determines how shoppers get redirected after they cancel a payment.</tooltip>
|
489 |
+
<source_model>adyen/source_cancelRedirect</source_model>
|
490 |
+
<config_path>payment/adyen_abstract/payment_cancelled_redirect</config_path>
|
491 |
+
<sort_order>10</sort_order>
|
492 |
+
<show_in_default>1</show_in_default>
|
493 |
+
<show_in_website>1</show_in_website>
|
494 |
+
<show_in_store>0</show_in_store>
|
495 |
+
</payment_cancelled_redirect>
|
496 |
+
<title_renderer>
|
497 |
+
<label>Payment method render method</label>
|
498 |
+
<frontend_type>select</frontend_type>
|
499 |
+
<tooltip>Determines whether the payment methods will be displayed with its logo or just the name.</tooltip>
|
500 |
+
<source_model>adyen/source_rendermode</source_model>
|
501 |
+
<config_path>payment/adyen_abstract/title_renderer</config_path>
|
502 |
+
<sort_order>20</sort_order>
|
503 |
+
<show_in_default>1</show_in_default>
|
504 |
+
<show_in_website>1</show_in_website>
|
505 |
+
<show_in_store>1</show_in_store>
|
506 |
+
</title_renderer>
|
507 |
+
<shopperlocale translate="label">
|
508 |
+
<label>Language locale (optional)</label>
|
509 |
+
<tooltip>This will override the default shopper locale of the Magento store (e.g. nl_NL). Leave empty to let Magento decide.</tooltip>
|
510 |
+
<frontend_type>text</frontend_type>
|
511 |
+
<config_path>payment/adyen_abstract/shopperlocale</config_path>
|
512 |
+
<sort_order>180</sort_order>
|
513 |
+
<show_in_default>1</show_in_default>
|
514 |
+
<show_in_website>1</show_in_website>
|
515 |
+
<show_in_store>1</show_in_store>
|
516 |
+
</shopperlocale>
|
517 |
+
<countryCode translate="label">
|
518 |
+
<label>ISO Country Code (optional)</label>
|
519 |
+
<tooltip>This will override the shopper billing address country when determining what payment methods to display.</tooltip>
|
520 |
+
<frontend_type>text</frontend_type>
|
521 |
+
<config_path>payment/adyen_abstract/countryCode</config_path>
|
522 |
+
<sort_order>190</sort_order>
|
523 |
+
<show_in_default>1</show_in_default>
|
524 |
+
<show_in_website>1</show_in_website>
|
525 |
+
<show_in_store>1</show_in_store>
|
526 |
+
</countryCode>
|
527 |
+
</fields>
|
528 |
+
</adyen_checkout_experience>
|
529 |
+
<adyen_manual_review type="group" translate="label comment tooltip">
|
530 |
+
<label>Advanced: Manual Review</label>
|
531 |
+
<frontend_type>text</frontend_type>
|
532 |
<show_in_default>1</show_in_default>
|
533 |
<show_in_website>1</show_in_website>
|
534 |
<show_in_store>1</show_in_store>
|
535 |
+
<sort_order>300</sort_order>
|
536 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_expanded</frontend_model>
|
537 |
+
<comment>
|
538 |
+
<![CDATA[
|
539 |
+
<p>
|
540 |
+
Adyen's Risk analysis tool allows merchants to configure when a transaction should be rejected or accepted depending on certain characteristics of the payment.
|
541 |
+
This process has always had two automatic outcomes, either accept or reject the payment. Now, Adyen's risk system can tell merchants when a transaction seems to be risky but without rejecting it, and requires to be manually reviewed in order to decide if it should be accepted or rejected.
|
542 |
+
If you want this to be turned on please contact <a href="mailto:magento@adyen.com">magento@adyen.com</a>
|
543 |
+
</p>
|
544 |
+
]]>
|
545 |
+
</comment>
|
546 |
+
<fields>
|
547 |
+
<fraud_manual_review_status>
|
548 |
+
<label>Manual Review Status</label>
|
549 |
+
<tooltip>This status will be triggered when Adyen notifies your Magento module that the payment has come under Manual Review. If you do not have this set up or do not want a separate status, please keep it on the default (e.g.'— Please Select —').</tooltip>
|
550 |
+
<frontend_type>select</frontend_type>
|
551 |
+
<source_model>adyen/source_status_pending</source_model>
|
552 |
+
<config_path>payment/adyen_abstract/fraud_manual_review_status</config_path>
|
553 |
+
<sort_order>10</sort_order>
|
554 |
+
<show_in_default>1</show_in_default>
|
555 |
+
<show_in_website>1</show_in_website>
|
556 |
+
<show_in_store>0</show_in_store>
|
557 |
+
</fraud_manual_review_status>
|
558 |
+
<fraud_manual_review_accept_status>
|
559 |
+
<label>Manual Review Accepted Status</label>
|
560 |
+
<tooltip>Only relevant if you do not have an action defined when you accept a manual review. This status will be triggered when a 'MANUAL_REVIEW_ACCEPT' notification is received from Adyen. If you have already asked Adyen to set an action for this (e.g. capture) or don't want a separate status for this, please keep it on the default (e.g.'— Please Select —')</tooltip>
|
561 |
+
<frontend_type>select</frontend_type>
|
562 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
563 |
+
<config_path>payment/adyen_abstract/fraud_manual_review_accept_status</config_path>
|
564 |
+
<sort_order>20</sort_order>
|
565 |
+
<show_in_default>1</show_in_default>
|
566 |
+
<show_in_website>1</show_in_website>
|
567 |
+
<show_in_store>0</show_in_store>
|
568 |
+
</fraud_manual_review_accept_status>
|
569 |
+
</fields>
|
570 |
+
</adyen_manual_review>
|
571 |
</fields>
|
572 |
</adyen_abstract>
|
573 |
+
<!-- @CC only -->
|
574 |
+
<adyen_cc translate="label" module="adyen">
|
575 |
+
<label>Credit Card</label>
|
576 |
<frontend_type>text</frontend_type>
|
577 |
<sort_order>310</sort_order>
|
578 |
<show_in_default>1</show_in_default>
|
579 |
<show_in_website>1</show_in_website>
|
580 |
<show_in_store>1</show_in_store>
|
581 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
582 |
+
<activity_path>payment/adyen_cc/active</activity_path>
|
583 |
<fields>
|
584 |
<active translate="label">
|
585 |
<label>Enabled</label>
|
600 |
</title>
|
601 |
<sort_order translate="label">
|
602 |
<label>Sort Order</label>
|
603 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
604 |
<frontend_type>text</frontend_type>
|
605 |
<sort_order>25</sort_order>
|
606 |
<show_in_default>1</show_in_default>
|
607 |
<show_in_website>1</show_in_website>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
608 |
<show_in_store>1</show_in_store>
|
609 |
+
</sort_order>
|
610 |
+
<cctypes translate="label">
|
611 |
+
<label>Credit Card Types</label>
|
612 |
+
<frontend_type>multiselect</frontend_type>
|
613 |
+
<source_model>adyen/source_ccType</source_model>
|
614 |
<sort_order>40</sort_order>
|
615 |
<show_in_default>1</show_in_default>
|
616 |
<show_in_website>1</show_in_website>
|
617 |
<show_in_store>1</show_in_store>
|
618 |
+
</cctypes>
|
619 |
+
<cse_enabled translate="label">
|
620 |
+
<label>Enable Client-Side Encryption (CSE)</label>
|
621 |
+
<tooltip>Contact support@adyen.com to enable CSE permission on your Adyen account. If you want this to be turned on on your live account please fill in the SAQ-A form and send this to salessupport@adyen.com</tooltip>
|
622 |
+
<comment><![CDATA[<a target="_blank" href="https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1_SAQ_A_rev1-1.docx">Click here to download the SAQ A form</a>]]></comment>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
623 |
<frontend_type>select</frontend_type>
|
624 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
625 |
+
<sort_order>50</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
<show_in_default>1</show_in_default>
|
627 |
<show_in_website>1</show_in_website>
|
628 |
<show_in_store>1</show_in_store>
|
629 |
+
</cse_enabled>
|
630 |
+
<cse_publickey_test translate="label">
|
631 |
+
<label>Enter CSE Public Key of Test Adyen Web Service User</label>
|
632 |
+
<tooltip>Copy this from the Test Adyen Customer Area => Settings => Users => System => [web service user]=> Client Encryption Public Key.</tooltip>
|
633 |
+
<frontend_type>textarea</frontend_type>
|
634 |
+
<sort_order>60</sort_order>
|
|
|
|
|
635 |
<show_in_default>1</show_in_default>
|
636 |
<show_in_website>1</show_in_website>
|
637 |
<show_in_store>1</show_in_store>
|
638 |
+
<depends><cse_enabled>1</cse_enabled></depends>
|
639 |
+
</cse_publickey_test>
|
640 |
+
<cse_publickey translate="label">
|
641 |
+
<label>Enter CSE Public Key of Live Adyen Web Service User</label>
|
642 |
+
<frontend_type>textarea</frontend_type>
|
643 |
+
<tooltip>Copy this from the Live Adyen Customer Area => Settings => Users => System => [web service user] => Client Encryption Public Key.</tooltip>
|
644 |
+
<sort_order>70</sort_order>
|
|
|
645 |
<show_in_default>1</show_in_default>
|
646 |
<show_in_website>1</show_in_website>
|
647 |
<show_in_store>1</show_in_store>
|
648 |
+
<depends><cse_enabled>1</cse_enabled></depends>
|
649 |
+
</cse_publickey>
|
650 |
<allowspecific translate="label">
|
651 |
+
<label>Payment from applicable countries</label>
|
652 |
<frontend_type>allowspecific</frontend_type>
|
653 |
+
<sort_order>90</sort_order>
|
654 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
655 |
<show_in_default>1</show_in_default>
|
656 |
<show_in_website>1</show_in_website>
|
657 |
<show_in_store>1</show_in_store>
|
658 |
</allowspecific>
|
659 |
<specificcountry translate="label">
|
660 |
+
<label>Payment from specific countries</label>
|
661 |
<frontend_type>multiselect</frontend_type>
|
662 |
+
<sort_order>100</sort_order>
|
663 |
<source_model>adminhtml/system_config_source_country</source_model>
|
664 |
<show_in_default>1</show_in_default>
|
665 |
<show_in_website>1</show_in_website>
|
666 |
<show_in_store>1</show_in_store>
|
667 |
<depends><allowspecific>1</allowspecific></depends>
|
668 |
</specificcountry>
|
669 |
+
<visible_type>
|
670 |
+
<label>Visible in</label>
|
671 |
+
<frontend_type>select</frontend_type>
|
672 |
+
<source_model>adyen/source_VisibleType</source_model>
|
673 |
+
<sort_order>101</sort_order>
|
674 |
+
<tooltip>Determine the visibility of this payment method in the frontend and/or backend of Magento.</tooltip>
|
675 |
+
<show_in_default>1</show_in_default>
|
676 |
+
<show_in_website>1</show_in_website>
|
677 |
+
<show_in_store>1</show_in_store>
|
678 |
+
</visible_type>
|
679 |
+
<adyen_cc_advanced type="group" translate="label">
|
680 |
+
<label>Advanced Settings</label>
|
681 |
+
<frontend_class>config-advanced</frontend_class>
|
682 |
+
<frontend_type>text</frontend_type>
|
683 |
+
<show_in_default>1</show_in_default>
|
684 |
+
<show_in_website>1</show_in_website>
|
685 |
+
<show_in_store>1</show_in_store>
|
686 |
+
<sort_order>110</sort_order>
|
687 |
+
<fields>
|
688 |
+
<enable_moto>
|
689 |
+
<label>Enable MOTO for backend orders</label>
|
690 |
+
<frontend_type>select</frontend_type>
|
691 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
692 |
+
<config_path>payment/adyen_cc/enable_moto</config_path>
|
693 |
+
<sort_order>105</sort_order>
|
694 |
+
<show_in_default>1</show_in_default>
|
695 |
+
<show_in_website>1</show_in_website>
|
696 |
+
<show_in_store>1</show_in_store>
|
697 |
+
<tooltip><![CDATA[Important you have to activate MOTO for your account contact magento@adyen.com. For more information <a target="_blank" href="https://www.adyen.com/dam/documentation/manuals/MotoManual.pdf">check our MOTO manual</a>]]></tooltip>
|
698 |
+
</enable_moto>
|
699 |
+
<enable_installments translate="label">
|
700 |
+
<label>Enable Installments</label>
|
701 |
+
<frontend_type>select</frontend_type>
|
702 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
703 |
+
<config_path>payment/adyen_cc/enable_installments</config_path>
|
704 |
+
<sort_order>110</sort_order>
|
705 |
+
<show_in_default>1</show_in_default>
|
706 |
+
<show_in_website>1</show_in_website>
|
707 |
+
<show_in_store>1</show_in_store>
|
708 |
+
</enable_installments>
|
709 |
+
<installments translate="label">
|
710 |
+
<label>Installments default</label>
|
711 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
712 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
713 |
+
<config_path>payment/adyen_cc/installments</config_path>
|
714 |
+
<sort_order>120</sort_order>
|
715 |
+
<show_in_default>1</show_in_default>
|
716 |
+
<show_in_website>1</show_in_website>
|
717 |
+
<show_in_store>1</show_in_store>
|
718 |
+
<comments>This is the fallback if specific credit card type has no installments configured</comments>
|
719 |
+
</installments>
|
720 |
+
<installments_AE translate="label">
|
721 |
+
<label>Installments For American Express</label>
|
722 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
723 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
724 |
+
<config_path>payment/adyen_cc/installments_AE</config_path>
|
725 |
+
<sort_order>130</sort_order>
|
726 |
+
<show_in_default>1</show_in_default>
|
727 |
+
<show_in_website>1</show_in_website>
|
728 |
+
<show_in_store>1</show_in_store>
|
729 |
+
</installments_AE>
|
730 |
+
<installments_VI translate="label">
|
731 |
+
<label>Installments For Visa</label>
|
732 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
733 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
734 |
+
<config_path>payment/adyen_cc/installments_VI</config_path>
|
735 |
+
<sort_order>140</sort_order>
|
736 |
+
<show_in_default>1</show_in_default>
|
737 |
+
<show_in_website>1</show_in_website>
|
738 |
+
<show_in_store>1</show_in_store>
|
739 |
+
</installments_VI>
|
740 |
+
<installments_MC translate="label">
|
741 |
+
<label>Installments For Master Card</label>
|
742 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
743 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
744 |
+
<config_path>payment/adyen_cc/installments_MC</config_path>
|
745 |
+
<sort_order>150</sort_order>
|
746 |
+
<show_in_default>1</show_in_default>
|
747 |
+
<show_in_website>1</show_in_website>
|
748 |
+
<show_in_store>1</show_in_store>
|
749 |
+
</installments_MC>
|
750 |
+
<installments_DI translate="label">
|
751 |
+
<label>Installments For Discover</label>
|
752 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
753 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
754 |
+
<config_path>payment/adyen_cc/installments_DI</config_path>
|
755 |
+
<sort_order>160</sort_order>
|
756 |
+
<show_in_default>1</show_in_default>
|
757 |
+
<show_in_website>1</show_in_website>
|
758 |
+
<show_in_store>1</show_in_store>
|
759 |
+
</installments_DI>
|
760 |
+
<installments_DC translate="label">
|
761 |
+
<label>Installments For Diners Club</label>
|
762 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
763 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
764 |
+
<config_path>payment/adyen_cc/installments_DC</config_path>
|
765 |
+
<sort_order>170</sort_order>
|
766 |
+
<show_in_default>1</show_in_default>
|
767 |
+
<show_in_website>1</show_in_website>
|
768 |
+
<show_in_store>1</show_in_store>
|
769 |
+
</installments_DC>
|
770 |
+
<installments_MO translate="label">
|
771 |
+
<label>Installments For Maestro</label>
|
772 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
773 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
774 |
+
<config_path>payment/adyen_cc/installments_MO</config_path>
|
775 |
+
<sort_order>180</sort_order>
|
776 |
+
<show_in_default>1</show_in_default>
|
777 |
+
<show_in_website>1</show_in_website>
|
778 |
+
<show_in_store>1</show_in_store>
|
779 |
+
</installments_MO>
|
780 |
+
<installments_JCB translate="label">
|
781 |
+
<label>Installments For JCB</label>
|
782 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
783 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
784 |
+
<config_path>payment/adyen_cc/installments_JCB</config_path>
|
785 |
+
<sort_order>190</sort_order>
|
786 |
+
<show_in_default>1</show_in_default>
|
787 |
+
<show_in_website>1</show_in_website>
|
788 |
+
<show_in_store>1</show_in_store>
|
789 |
+
</installments_JCB>
|
790 |
+
<installments_ELO translate="label">
|
791 |
+
<label>Installments For Elo</label>
|
792 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
793 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
794 |
+
<config_path>payment/adyen_cc/installments_ELO</config_path>
|
795 |
+
<sort_order>200</sort_order>
|
796 |
+
<show_in_default>1</show_in_default>
|
797 |
+
<show_in_website>1</show_in_website>
|
798 |
+
<show_in_store>1</show_in_store>
|
799 |
+
</installments_ELO>
|
800 |
+
<installments_hipercard translate="label">
|
801 |
+
<label>Installments For Hipercard</label>
|
802 |
+
<frontend_model>adyen/adminhtml_form_field_installments</frontend_model>
|
803 |
+
<backend_model>adyen/system_config_backend_installments</backend_model>
|
804 |
+
<config_path>payment/adyen_cc/installments_hipercard</config_path>
|
805 |
+
<sort_order>210</sort_order>
|
806 |
+
<show_in_default>1</show_in_default>
|
807 |
+
<show_in_website>1</show_in_website>
|
808 |
+
<show_in_store>1</show_in_store>
|
809 |
+
</installments_hipercard>
|
810 |
+
</fields>
|
811 |
+
</adyen_cc_advanced>
|
812 |
</fields>
|
813 |
+
</adyen_cc>
|
814 |
+
<adyen_oneclick>
|
815 |
+
<label>OneClick - Requires Adyen Credit Card</label>
|
816 |
<frontend_type>text</frontend_type>
|
817 |
+
<comment><![CDATA[
|
818 |
+
During checkout shoppers can choose to have their payment details remembered and stored for trusted websites in Adyen’s highly secure platform. Adyen takes care of this process for its customers. Shoppers can then select in the Magento checkout the saved card and checkout with ‘OneClick’.
|
819 |
+
]]></comment>
|
820 |
+
<sort_order>320</sort_order>
|
821 |
<show_in_default>1</show_in_default>
|
822 |
<show_in_website>1</show_in_website>
|
823 |
<show_in_store>1</show_in_store>
|
824 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
825 |
+
<activity_path>payment/adyen_oneclick/active</activity_path>
|
826 |
<fields>
|
827 |
<active translate="label">
|
828 |
<label>Enabled</label>
|
829 |
<frontend_type>select</frontend_type>
|
830 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
831 |
+
<sort_order>1</sort_order>
|
832 |
<show_in_default>1</show_in_default>
|
833 |
<show_in_website>1</show_in_website>
|
834 |
<show_in_store>1</show_in_store>
|
835 |
+
<tooltip>OneClick payments only work if you have Adyen Credit Card enabled</tooltip>
|
836 |
</active>
|
837 |
<title translate="label">
|
838 |
<label>Title</label>
|
839 |
<frontend_type>text</frontend_type>
|
840 |
+
<sort_order>2</sort_order>
|
841 |
<show_in_default>1</show_in_default>
|
842 |
<show_in_website>1</show_in_website>
|
843 |
<show_in_store>1</show_in_store>
|
844 |
</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
845 |
<sort_order translate="label">
|
846 |
<label>Sort Order</label>
|
847 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
848 |
<frontend_type>text</frontend_type>
|
849 |
+
<sort_order>25</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
850 |
<show_in_default>1</show_in_default>
|
851 |
<show_in_website>1</show_in_website>
|
852 |
<show_in_store>1</show_in_store>
|
853 |
+
</sort_order>
|
854 |
+
<recurring_payment_type translate="label">
|
855 |
+
<label>Agreement Type</label>
|
856 |
+
<frontend_type>select</frontend_type>
|
857 |
+
<source_model>adyen/source_recurringPaymentType</source_model>
|
858 |
+
<config_path>payment/adyen_oneclick/recurring_payment_type</config_path>
|
859 |
+
<sort_order>79</sort_order>
|
860 |
<show_in_default>1</show_in_default>
|
861 |
<show_in_website>1</show_in_website>
|
862 |
<show_in_store>1</show_in_store>
|
863 |
+
<tooltip>With ONECLICK the shopper needs to fill in their security code for credit cards. For RECURRING, this is not needed. If you want to use RECURRING make sure you have Agreement Type set to RECURRING or ONECLICK,RECURRING</tooltip>
|
864 |
+
</recurring_payment_type>
|
865 |
</fields>
|
866 |
+
</adyen_oneclick>
|
867 |
+
<!-- @Hpp only -->
|
868 |
+
<adyen_hpp translate="label" module="adyen">
|
869 |
+
<label>HPP</label>
|
870 |
<frontend_type>text</frontend_type>
|
871 |
+
<sort_order>330</sort_order>
|
872 |
<show_in_default>1</show_in_default>
|
873 |
<show_in_website>1</show_in_website>
|
874 |
<show_in_store>1</show_in_store>
|
875 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
876 |
+
<activity_path>payment/adyen_hpp/active</activity_path>
|
877 |
<fields>
|
878 |
<active translate="label">
|
879 |
<label>Enabled</label>
|
884 |
<show_in_website>1</show_in_website>
|
885 |
<show_in_store>1</show_in_store>
|
886 |
</active>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
887 |
<sort_order translate="label">
|
888 |
<label>Sort Order</label>
|
889 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
890 |
<frontend_type>text</frontend_type>
|
891 |
<sort_order>25</sort_order>
|
892 |
<show_in_default>1</show_in_default>
|
893 |
<show_in_website>1</show_in_website>
|
894 |
+
<show_in_store>1</show_in_store>
|
895 |
</sort_order>
|
896 |
+
<skinCode translate="label">
|
897 |
+
<label>Skin Code</label>
|
898 |
+
<tooltip>Copy and paste the skin code of the skin you want to use from Test Customer Area => Skins.</tooltip>
|
899 |
+
<frontend_type>text</frontend_type>
|
|
|
900 |
<sort_order>30</sort_order>
|
901 |
<show_in_default>1</show_in_default>
|
902 |
<show_in_website>1</show_in_website>
|
903 |
<show_in_store>1</show_in_store>
|
904 |
+
</skinCode>
|
905 |
+
<secret_wordt translate="label">
|
906 |
+
<label>HMAC Key for Test</label>
|
907 |
+
<tooltip>Copy and paste the HMAC key of the skin you want to use from Test Customer Area => Skins. => click on [skin code] => Edit => HMAC for Test platform. Currently, only the older SHA-1 HMAC calculation method is supported in this plugin.</tooltip>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
908 |
<frontend_type>text</frontend_type>
|
909 |
+
<sort_order>40</sort_order>
|
|
|
910 |
<show_in_default>1</show_in_default>
|
911 |
<show_in_website>1</show_in_website>
|
912 |
<show_in_store>1</show_in_store>
|
913 |
+
</secret_wordt>
|
914 |
+
<secret_wordp translate="label">
|
915 |
+
<label>HMAC Key for Live</label>
|
916 |
+
<tooltip>Copy and paste the HMAC key of the skin you want to use from Test Customer Area => Skins. => click on [skin code] => Edit => HMAC for Live platform. Currently, only the older SHA-1 HMAC calculation method is supported in this plugin.</tooltip>
|
917 |
<frontend_type>text</frontend_type>
|
918 |
+
<sort_order>50</sort_order>
|
|
|
919 |
<show_in_default>1</show_in_default>
|
920 |
<show_in_website>1</show_in_website>
|
921 |
<show_in_store>1</show_in_store>
|
922 |
+
</secret_wordp>
|
923 |
+
<adyen_hpp_advanced type="group" translate="label">
|
924 |
+
<label>Advanced Settings</label>
|
925 |
+
<frontend_class>config-advanced</frontend_class>
|
926 |
+
<frontend_type>text</frontend_type>
|
|
|
|
|
927 |
<show_in_default>1</show_in_default>
|
928 |
<show_in_website>1</show_in_website>
|
929 |
<show_in_store>1</show_in_store>
|
|
|
|
|
|
|
|
|
930 |
<sort_order>70</sort_order>
|
931 |
+
<fields>
|
932 |
+
<title translate="label">
|
933 |
+
<label>Title</label>
|
934 |
+
<frontend_type>text</frontend_type>
|
935 |
+
<config_path>payment/adyen_hpp/title</config_path>
|
936 |
+
<sort_order>20</sort_order>
|
937 |
+
<show_in_default>1</show_in_default>
|
938 |
+
<show_in_website>1</show_in_website>
|
939 |
+
<show_in_store>1</show_in_store>
|
940 |
+
</title>
|
941 |
+
<delivery_days translate="label">
|
942 |
+
<label>Days to Delivery</label>
|
943 |
+
<validate>validate-digits</validate>
|
944 |
+
<tooltip>How many days to be added to the current date for delivery. ONLY whole numbers allowed.</tooltip>
|
945 |
+
<frontend_type>text</frontend_type>
|
946 |
+
<config_path>payment/adyen_hpp/delivery_days</config_path>
|
947 |
+
<sort_order>70</sort_order>
|
948 |
+
<show_in_default>1</show_in_default>
|
949 |
+
<show_in_website>1</show_in_website>
|
950 |
+
<show_in_store>0</show_in_store>
|
951 |
+
</delivery_days>
|
952 |
+
<disable_hpptypes translate="label">
|
953 |
+
<label>Leave payment method selection on HPP</label>
|
954 |
+
<tooltip>If you set this to 'Yes', payment methods in the checkout won't be displayed and you will be redirected to the Adyen HPP to make the selection.</tooltip>
|
955 |
+
<frontend_type>select</frontend_type>
|
956 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
957 |
+
<config_path>payment/adyen_hpp/disable_hpptypes</config_path>
|
958 |
+
<sort_order>90</sort_order>
|
959 |
+
<show_in_default>1</show_in_default>
|
960 |
+
<show_in_website>1</show_in_website>
|
961 |
+
<show_in_store>1</show_in_store>
|
962 |
+
</disable_hpptypes>
|
963 |
+
<payment_routines translate="label">
|
964 |
+
<label>Payment Flow Selection</label>
|
965 |
+
<tooltip>Adyen provides you with 2 types of payment routines. The Single-Page flow is dynamic and contains card validation and animations powered by JavaScript. The Multi-Page flow is static, but performs better on older browsers.</tooltip>
|
966 |
+
<frontend_type>select</frontend_type>
|
967 |
+
<source_model>adyen/source_PaymentRoutines</source_model>
|
968 |
+
<config_path>payment/adyen_hpp/payment_routines</config_path>
|
969 |
+
<sort_order>95</sort_order>
|
970 |
+
<show_in_default>1</show_in_default>
|
971 |
+
<show_in_website>1</show_in_website>
|
972 |
+
<show_in_store>1</show_in_store>
|
973 |
+
<depends><disable_hpptypes>1</disable_hpptypes></depends>
|
974 |
+
</payment_routines>
|
975 |
+
<return_url_in_request>
|
976 |
+
<label>Return URL in request</label>
|
977 |
+
<tooltip>Set to 'Yes' by default. Sending the return URL in the payment request allows a single skin to also be used by multiple store views. Set to 'No' if you want to manually set which URL the shopper redirects to under Test Adyen Customer => Skins => Edit => Result URLs.</tooltip>
|
978 |
+
<frontend_type>select</frontend_type>
|
979 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
980 |
+
<config_path>payment/adyen_hpp/return_url_in_request</config_path>
|
981 |
+
<sort_order>110</sort_order>
|
982 |
+
<show_in_default>1</show_in_default>
|
983 |
+
<show_in_website>1</show_in_website>
|
984 |
+
<show_in_store>1</show_in_store>
|
985 |
+
</return_url_in_request>
|
986 |
+
<fee translate="label">
|
987 |
+
<label>Fee</label>
|
988 |
+
<tooltip>If you want to charge an extra fee for certain payment methods, set that fee here. Do not set any extra fees in the skin in the Adyen Customer Area.</tooltip>
|
989 |
+
<frontend_model>adyen/adminhtml_system_config_hppPaymentMethodFee</frontend_model>
|
990 |
+
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
991 |
+
<config_path>payment/adyen_hpp/fee</config_path>
|
992 |
+
<sort_order>140</sort_order>
|
993 |
+
<show_in_default>1</show_in_default>
|
994 |
+
<tooltip><![CDATA[]]></tooltip>
|
995 |
+
</fee>
|
996 |
+
</fields>
|
997 |
+
</adyen_hpp_advanced>
|
998 |
</fields>
|
999 |
+
</adyen_hpp>
|
1000 |
+
<adyen_ideal translate="label" module="adyen">
|
1001 |
+
<label>HPP iDEAL</label>
|
1002 |
<frontend_type>text</frontend_type>
|
1003 |
+
<sort_order>340</sort_order>
|
1004 |
<show_in_default>1</show_in_default>
|
1005 |
<show_in_website>1</show_in_website>
|
1006 |
<show_in_store>1</show_in_store>
|
1007 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1008 |
+
<activity_path>payment/adyen_ideal/active</activity_path>
|
1009 |
<fields>
|
1010 |
<active translate="label">
|
1011 |
<label>Enabled</label>
|
1024 |
<show_in_website>1</show_in_website>
|
1025 |
<show_in_store>1</show_in_store>
|
1026 |
</title>
|
1027 |
+
<show_ideal_logos>
|
1028 |
+
<label>Show iDEAL bank logos</label>
|
1029 |
+
<tooltip>Show iDEAL bank logos (radio buttons) instead of in a drop-down list.</tooltip>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1030 |
<frontend_type>select</frontend_type>
|
1031 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1032 |
+
<sort_order>30</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1033 |
<show_in_default>1</show_in_default>
|
1034 |
<show_in_website>1</show_in_website>
|
1035 |
<show_in_store>1</show_in_store>
|
1036 |
+
</show_ideal_logos>
|
1037 |
+
<fee translate="label">
|
1038 |
+
<label>Fee</label>
|
|
|
1039 |
<frontend_type>text</frontend_type>
|
1040 |
+
<sort_order>38</sort_order>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1041 |
<show_in_default>1</show_in_default>
|
1042 |
<show_in_website>1</show_in_website>
|
1043 |
<show_in_store>1</show_in_store>
|
1044 |
+
<validate>validate-number</validate>
|
1045 |
+
</fee>
|
1046 |
+
<sort_order translate="label">
|
1047 |
+
<label>Sort Order</label>
|
1048 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1049 |
+
<frontend_type>text</frontend_type>
|
1050 |
+
<sort_order>40</sort_order>
|
1051 |
+
<show_in_default>1</show_in_default>
|
1052 |
+
<show_in_website>1</show_in_website>
|
1053 |
+
<show_in_store>1</show_in_store>
|
1054 |
+
</sort_order>
|
1055 |
<allowspecific translate="label">
|
1056 |
+
<label>Payment from applicable countries</label>
|
1057 |
<frontend_type>allowspecific</frontend_type>
|
1058 |
+
<sort_order>49</sort_order>
|
1059 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1060 |
<show_in_default>1</show_in_default>
|
1061 |
<show_in_website>1</show_in_website>
|
1062 |
<show_in_store>1</show_in_store>
|
1063 |
</allowspecific>
|
1064 |
<specificcountry translate="label">
|
1065 |
+
<label>Payment from specific countries</label>
|
1066 |
<frontend_type>multiselect</frontend_type>
|
1067 |
+
<sort_order>50</sort_order>
|
1068 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1069 |
<show_in_default>1</show_in_default>
|
1070 |
<show_in_website>1</show_in_website>
|
1072 |
<depends><allowspecific>1</allowspecific></depends>
|
1073 |
</specificcountry>
|
1074 |
</fields>
|
1075 |
+
</adyen_ideal>
|
1076 |
<!-- @Openinvoice only -->
|
1077 |
<adyen_openinvoice translate="label" module="adyen">
|
1078 |
+
<label>HPP OpenInvoice</label>
|
1079 |
<frontend_type>text</frontend_type>
|
1080 |
+
<sort_order>350</sort_order>
|
1081 |
<show_in_default>1</show_in_default>
|
1082 |
<show_in_website>1</show_in_website>
|
1083 |
<show_in_store>1</show_in_store>
|
1084 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1085 |
+
<activity_path>payment/adyen_openinvoice/active</activity_path>
|
1086 |
<fields>
|
1087 |
<active translate="label">
|
1088 |
<label>Enabled</label>
|
1103 |
</title>
|
1104 |
<sort_order translate="label">
|
1105 |
<label>Sort Order</label>
|
1106 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1107 |
<frontend_type>text</frontend_type>
|
1108 |
<sort_order>25</sort_order>
|
1109 |
<show_in_default>1</show_in_default>
|
1110 |
<show_in_website>1</show_in_website>
|
1111 |
+
<show_in_store>1</show_in_store>
|
1112 |
</sort_order>
|
1113 |
<openinvoicetypes translate="label">
|
1114 |
<label>OpenInvoice Type</label>
|
1156 |
<validate>validate-number</validate>
|
1157 |
</fee>
|
1158 |
<different_address_disable>
|
1159 |
+
<label>Disable on different billing and delivery addresses</label>
|
1160 |
+
<tooltip>Klarna will probably reject payments which have differing billing and delivery addresses. Setting this to 'Yes' will disable this payment method when that is the case.</tooltip>
|
1161 |
<frontend_type>select</frontend_type>
|
1162 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1163 |
<sort_order>39</sort_order>
|
1167 |
</different_address_disable>
|
1168 |
<failed_attempt_disable>
|
1169 |
<label>Disable this payment method if first attempt is refused</label>
|
1170 |
+
<tooltip>If the first attempt is refused, don't show this as an payment option for the current quote.</tooltip>
|
1171 |
<frontend_type>select</frontend_type>
|
1172 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1173 |
<sort_order>45</sort_order>
|
1176 |
<show_in_store>1</show_in_store>
|
1177 |
</failed_attempt_disable>
|
1178 |
<allowspecific translate="label">
|
1179 |
+
<label>Payment from applicable countries</label>
|
1180 |
<frontend_type>allowspecific</frontend_type>
|
1181 |
<sort_order>49</sort_order>
|
1182 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1185 |
<show_in_store>1</show_in_store>
|
1186 |
</allowspecific>
|
1187 |
<specificcountry translate="label">
|
1188 |
+
<label>Payment from specific countries</label>
|
1189 |
<frontend_type>multiselect</frontend_type>
|
1190 |
<sort_order>50</sort_order>
|
1191 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1196 |
</specificcountry>
|
1197 |
</fields>
|
1198 |
</adyen_openinvoice>
|
1199 |
+
<!-- @SEPA only -->
|
1200 |
+
<adyen_sepa translate="label" module="adyen">
|
1201 |
+
<label>SEPA</label>
|
1202 |
<frontend_type>text</frontend_type>
|
1203 |
+
<sort_order>360</sort_order>
|
1204 |
<show_in_default>1</show_in_default>
|
1205 |
<show_in_website>1</show_in_website>
|
1206 |
<show_in_store>1</show_in_store>
|
1207 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1208 |
+
<activity_path>payment/adyen_sepa/active</activity_path>
|
1209 |
<fields>
|
1210 |
<active translate="label">
|
1211 |
<label>Enabled</label>
|
1226 |
</title>
|
1227 |
<sort_order translate="label">
|
1228 |
<label>Sort Order</label>
|
1229 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1230 |
<frontend_type>text</frontend_type>
|
1231 |
<sort_order>25</sort_order>
|
1232 |
<show_in_default>1</show_in_default>
|
1233 |
<show_in_website>1</show_in_website>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1234 |
<show_in_store>1</show_in_store>
|
1235 |
+
</sort_order>
|
1236 |
+
<validate_iban>
|
1237 |
+
<label>Validate IBAN</label>
|
1238 |
<frontend_type>select</frontend_type>
|
1239 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1240 |
+
<sort_order>30</sort_order>
|
1241 |
+
<tooltip>This is a basic validation on the IBAN number.</tooltip>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1242 |
<show_in_default>1</show_in_default>
|
1243 |
<show_in_website>1</show_in_website>
|
1244 |
<show_in_store>1</show_in_store>
|
1245 |
+
</validate_iban>
|
1246 |
+
<flow>
|
1247 |
+
<label>Flow</label>
|
1248 |
+
<frontend_type>select</frontend_type>
|
1249 |
+
<source_model>adyen/source_SepaFlow</source_model>
|
1250 |
+
<sort_order>35</sort_order>
|
1251 |
+
<tooltip>If you are not sure just leave it at 'Sale’. If you want to enable 'Auth/Capt' for SEPA Direct Debit, please contact support@adyen.com</tooltip>
|
1252 |
<show_in_default>1</show_in_default>
|
1253 |
<show_in_website>1</show_in_website>
|
1254 |
<show_in_store>1</show_in_store>
|
1255 |
+
</flow>
|
|
|
1256 |
<allowspecific translate="label">
|
1257 |
+
<label>Payment from applicable countries</label>
|
1258 |
<frontend_type>allowspecific</frontend_type>
|
1259 |
+
<sort_order>50</sort_order>
|
1260 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1261 |
<show_in_default>1</show_in_default>
|
1262 |
<show_in_website>1</show_in_website>
|
1263 |
<show_in_store>1</show_in_store>
|
1264 |
</allowspecific>
|
1265 |
<specificcountry translate="label">
|
1266 |
+
<label>Payment from pecific countries</label>
|
1267 |
<frontend_type>multiselect</frontend_type>
|
1268 |
+
<sort_order>60</sort_order>
|
1269 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1270 |
<show_in_default>1</show_in_default>
|
1271 |
<show_in_website>1</show_in_website>
|
1273 |
<depends><allowspecific>1</allowspecific></depends>
|
1274 |
</specificcountry>
|
1275 |
<visible_type>
|
1276 |
+
<label>Visible in</label>
|
1277 |
<frontend_type>select</frontend_type>
|
1278 |
<source_model>adyen/source_VisibleType</source_model>
|
1279 |
+
<sort_order>70</sort_order>
|
1280 |
+
<tooltip>Where do you want to show this payment method in the backend of Magento or in the frontend for the shoppers</tooltip>
|
1281 |
<show_in_default>1</show_in_default>
|
1282 |
<show_in_website>1</show_in_website>
|
1283 |
<show_in_store>1</show_in_store>
|
1284 |
</visible_type>
|
1285 |
+
</fields>
|
1286 |
+
</adyen_sepa>
|
1287 |
+
<!-- @boleto only -->
|
1288 |
+
<adyen_boleto translate="label" module="adyen">
|
1289 |
+
<label>Boleto</label>
|
1290 |
+
<frontend_type>text</frontend_type>
|
1291 |
+
<sort_order>370</sort_order>
|
1292 |
+
<show_in_default>1</show_in_default>
|
1293 |
+
<show_in_website>1</show_in_website>
|
1294 |
+
<show_in_store>1</show_in_store>
|
1295 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1296 |
+
<activity_path>payment/adyen_boleto/active</activity_path>
|
1297 |
+
<fields>
|
1298 |
+
<active translate="label">
|
1299 |
+
<label>Enabled</label>
|
1300 |
<frontend_type>select</frontend_type>
|
1301 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1302 |
+
<sort_order>10</sort_order>
|
1303 |
<show_in_default>1</show_in_default>
|
1304 |
<show_in_website>1</show_in_website>
|
1305 |
<show_in_store>1</show_in_store>
|
1306 |
+
</active>
|
1307 |
+
<title translate="label">
|
1308 |
+
<label>Title</label>
|
1309 |
+
<frontend_type>text</frontend_type>
|
1310 |
+
<sort_order>20</sort_order>
|
|
|
1311 |
<show_in_default>1</show_in_default>
|
1312 |
<show_in_website>1</show_in_website>
|
1313 |
<show_in_store>1</show_in_store>
|
1314 |
+
</title>
|
1315 |
+
<sort_order translate="label">
|
1316 |
+
<label>Sort Order</label>
|
1317 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1318 |
+
<frontend_type>text</frontend_type>
|
1319 |
+
<sort_order>25</sort_order>
|
|
|
1320 |
<show_in_default>1</show_in_default>
|
1321 |
<show_in_website>1</show_in_website>
|
1322 |
<show_in_store>1</show_in_store>
|
1323 |
+
</sort_order>
|
1324 |
+
<delivery_days translate="label">
|
1325 |
+
<label>Days for Delivery</label>
|
1326 |
+
<tooltip>How many days to be added to the current date for delivery. Only whole numbers allowed.</tooltip>
|
1327 |
+
<frontend_type>text</frontend_type>
|
1328 |
+
<sort_order>30</sort_order>
|
1329 |
<show_in_default>1</show_in_default>
|
1330 |
<show_in_website>1</show_in_website>
|
1331 |
+
<show_in_store>0</show_in_store>
|
1332 |
+
</delivery_days>
|
1333 |
+
<boletotypes translate="label">
|
1334 |
+
<label>Boleto Types</label>
|
1335 |
+
<frontend_type>multiselect</frontend_type>
|
1336 |
+
<source_model>adyen/source_boletoType</source_model>
|
1337 |
+
<sort_order>40</sort_order>
|
1338 |
<show_in_default>1</show_in_default>
|
1339 |
<show_in_website>1</show_in_website>
|
1340 |
<show_in_store>1</show_in_store>
|
1341 |
+
</boletotypes>
|
1342 |
+
<use_taxvat>
|
1343 |
+
<label>Use taxvat for CPF or CNPJ</label>
|
1344 |
+
<tooltip>If you use taxvat for the CPF/CNPJ field you can then enable this option to auto fill in the Social Security Number</tooltip>
|
1345 |
+
<frontend_type>select</frontend_type>
|
1346 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1347 |
+
<sort_order>43</sort_order>
|
1348 |
<show_in_default>1</show_in_default>
|
1349 |
<show_in_website>1</show_in_website>
|
1350 |
<show_in_store>1</show_in_store>
|
1351 |
+
</use_taxvat>
|
1352 |
+
<order_underpaid_status translate="label">
|
1353 |
+
<label>Order status underpaid</label>
|
1354 |
+
<tooltip>With Boleto it is possible to pay less than the full amount. Select here the status if this is the case. If you leave this empty it will take the Order status authorised payment as default status</tooltip>
|
1355 |
+
<frontend_type>select</frontend_type>
|
1356 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
1357 |
+
<sort_order>45</sort_order>
|
1358 |
<show_in_default>1</show_in_default>
|
1359 |
<show_in_website>1</show_in_website>
|
1360 |
+
<show_in_store>0</show_in_store>
|
1361 |
+
</order_underpaid_status>
|
1362 |
+
<order_overpaid_status translate="label">
|
1363 |
+
<label>Order status overpaid</label>
|
1364 |
+
<tooltip>With Boleto it is possible to pay more than the total amount. Select here the status if this is the case. If you leave this empty it will take the Order status authorised payment as default status</tooltip>
|
1365 |
+
<frontend_type>select</frontend_type>
|
1366 |
+
<source_model>adminhtml/system_config_source_order_status_processing</source_model>
|
1367 |
+
<sort_order>46</sort_order>
|
1368 |
<show_in_default>1</show_in_default>
|
1369 |
<show_in_website>1</show_in_website>
|
1370 |
+
<show_in_store>0</show_in_store>
|
1371 |
+
</order_overpaid_status>
|
1372 |
+
<allowspecific translate="label">
|
1373 |
+
<label>Payment from applicable countries</label>
|
1374 |
+
<frontend_type>allowspecific</frontend_type>
|
1375 |
+
<sort_order>50</sort_order>
|
1376 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1377 |
<show_in_default>1</show_in_default>
|
1378 |
<show_in_website>1</show_in_website>
|
1379 |
<show_in_store>1</show_in_store>
|
1380 |
+
</allowspecific>
|
1381 |
+
<specificcountry translate="label">
|
1382 |
+
<label>Payment from specific countries</label>
|
1383 |
+
<frontend_type>multiselect</frontend_type>
|
1384 |
+
<sort_order>60</sort_order>
|
1385 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1386 |
<show_in_default>1</show_in_default>
|
1387 |
<show_in_website>1</show_in_website>
|
1388 |
<show_in_store>1</show_in_store>
|
1389 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1390 |
+
</specificcountry>
|
1391 |
+
<visible_type>
|
1392 |
+
<label>Visible in</label>
|
1393 |
+
<frontend_type>select</frontend_type>
|
1394 |
+
<source_model>adyen/source_VisibleType</source_model>
|
1395 |
+
<sort_order>70</sort_order>
|
1396 |
+
<tooltip>Where do you want to show this payment method in the backend of Magento or in the frontend for the shoppers</tooltip>
|
1397 |
<show_in_default>1</show_in_default>
|
1398 |
<show_in_website>1</show_in_website>
|
1399 |
<show_in_store>1</show_in_store>
|
1400 |
+
</visible_type>
|
1401 |
</fields>
|
1402 |
+
</adyen_boleto>
|
1403 |
+
<!-- @Pos only -->
|
1404 |
+
<adyen_pos translate="label" module="adyen">
|
1405 |
+
<label>POS</label>
|
1406 |
<frontend_type>text</frontend_type>
|
1407 |
+
<sort_order>380</sort_order>
|
1408 |
<show_in_default>1</show_in_default>
|
1409 |
<show_in_website>1</show_in_website>
|
1410 |
<show_in_store>1</show_in_store>
|
1411 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1412 |
+
<activity_path>payment/adyen_pos/active</activity_path>
|
1413 |
<fields>
|
1414 |
<active translate="label">
|
1415 |
<label>Enabled</label>
|
1416 |
<frontend_type>select</frontend_type>
|
1417 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1418 |
+
<sort_order>10</sort_order>
|
1419 |
<show_in_default>1</show_in_default>
|
1420 |
<show_in_website>1</show_in_website>
|
1421 |
<show_in_store>1</show_in_store>
|
|
|
1422 |
</active>
|
1423 |
<title translate="label">
|
1424 |
<label>Title</label>
|
1425 |
<frontend_type>text</frontend_type>
|
1426 |
+
<sort_order>20</sort_order>
|
1427 |
<show_in_default>1</show_in_default>
|
1428 |
<show_in_website>1</show_in_website>
|
1429 |
<show_in_store>1</show_in_store>
|
1430 |
</title>
|
1431 |
+
<sort_order translate="label">
|
1432 |
+
<label>Sort Order</label>
|
1433 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1434 |
+
<frontend_type>text</frontend_type>
|
1435 |
+
<sort_order>25</sort_order>
|
1436 |
+
<show_in_default>1</show_in_default>
|
1437 |
+
<show_in_website>1</show_in_website>
|
1438 |
+
<show_in_store>1</show_in_store>
|
1439 |
+
</sort_order>
|
1440 |
+
<recurringtypes translate="label">
|
1441 |
+
<label>Agreement Type</label>
|
1442 |
+
<tooltip>You can set different value for POS because you have to have the permission of the customer</tooltip>
|
1443 |
+
<frontend_type>select</frontend_type>
|
1444 |
+
<source_model>adyen/source_recurringType</source_model>
|
1445 |
+
<sort_order>30</sort_order>
|
1446 |
+
<show_in_default>1</show_in_default>
|
1447 |
+
<show_in_website>1</show_in_website>
|
1448 |
+
<show_in_store>1</show_in_store>
|
1449 |
+
</recurringtypes>
|
1450 |
+
<add_receipt_order_lines translate="label">
|
1451 |
+
<label>Add orderlines to receipt</label>
|
1452 |
+
<tooltip>If you have the Adyen App configured to print to an external printer the orderlines can be printed on to the receipt if you turn this option on.</tooltip>
|
1453 |
+
<frontend_type>select</frontend_type>
|
1454 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1455 |
+
<sort_order>33</sort_order>
|
1456 |
+
<show_in_default>1</show_in_default>
|
1457 |
+
<show_in_website>1</show_in_website>
|
1458 |
+
<show_in_store>1</show_in_store>
|
1459 |
+
</add_receipt_order_lines>
|
1460 |
+
<enable_scanner translate="label">
|
1461 |
+
<label>Enable Scanner</label>
|
1462 |
+
<tooltip>If you enable this you have the possibility to scan products with a hand scanner on the shopping cart page and this will automatically add products to the shopping cart based on the same SKU name.</tooltip>
|
1463 |
+
<frontend_type>select</frontend_type>
|
1464 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1465 |
+
<sort_order>35</sort_order>
|
1466 |
+
<show_in_default>1</show_in_default>
|
1467 |
+
<show_in_website>1</show_in_website>
|
1468 |
+
<show_in_store>1</show_in_store>
|
1469 |
+
</enable_scanner>
|
1470 |
+
<auto_submit_scanner>
|
1471 |
+
<label>Auto submit scanner</label>
|
1472 |
+
<tooltip>If you have a scanner that puss a enter command after scanning turn this setting on.</tooltip>
|
1473 |
+
<frontend_type>select</frontend_type>
|
1474 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1475 |
+
<sort_order>36</sort_order>
|
1476 |
+
<show_in_default>1</show_in_default>
|
1477 |
+
<show_in_website>1</show_in_website>
|
1478 |
+
<show_in_store>1</show_in_store>
|
1479 |
+
<depends><enable_scanner>1</enable_scanner></depends>
|
1480 |
+
</auto_submit_scanner>
|
1481 |
+
<express_checkout>
|
1482 |
+
<label>Express checkout</label>
|
1483 |
+
<tooltip>This will show a checkout button on the shopping cart to directly do a POS payment without going to the checkout steps. You must be logged into your Magento account on the front-end to see the button.</tooltip>
|
1484 |
+
<frontend_type>select</frontend_type>
|
1485 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1486 |
+
<sort_order>37</sort_order>
|
1487 |
+
<show_in_default>1</show_in_default>
|
1488 |
+
<show_in_website>1</show_in_website>
|
1489 |
+
<show_in_store>1</show_in_store>
|
1490 |
+
</express_checkout>
|
1491 |
+
<express_checkout_redirect_connect>
|
1492 |
+
<label>Redirect direct</label>
|
1493 |
+
<tooltip>Redirect directly to the Adyen app to do the PIN payment. This is not supported for all browsers if you have problems set this setting to false</tooltip>
|
1494 |
+
<frontend_type>select</frontend_type>
|
1495 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1496 |
+
<sort_order>38</sort_order>
|
1497 |
+
<show_in_default>1</show_in_default>
|
1498 |
+
<show_in_website>1</show_in_website>
|
1499 |
+
<show_in_store>1</show_in_store>
|
1500 |
+
<depends><express_checkout>1</express_checkout></depends>
|
1501 |
+
</express_checkout_redirect_connect>
|
1502 |
+
<express_checkout_kiosk_mode>
|
1503 |
+
<label>Kiosk mode</label>
|
1504 |
+
<tooltip>If you turn kiosk modus on it will not auto-complete the customers based on the filled in email address</tooltip>
|
1505 |
+
<frontend_type>select</frontend_type>
|
1506 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1507 |
+
<sort_order>45</sort_order>
|
1508 |
+
<show_in_default>1</show_in_default>
|
1509 |
+
<show_in_website>1</show_in_website>
|
1510 |
+
<show_in_store>1</show_in_store>
|
1511 |
+
</express_checkout_kiosk_mode>
|
1512 |
+
<express_checkout_recurring>
|
1513 |
+
<label>Show Recurring Cards</label>
|
1514 |
+
<tooltip>This will show the recurring cards beneath the express checkout and makes it possible to do a recurring online payment by clicking on the card</tooltip>
|
1515 |
+
<frontend_type>select</frontend_type>
|
1516 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1517 |
+
<sort_order>50</sort_order>
|
1518 |
+
<show_in_default>1</show_in_default>
|
1519 |
+
<show_in_website>1</show_in_website>
|
1520 |
+
<show_in_store>1</show_in_store>
|
1521 |
+
<depends><express_checkout_kiosk_mode>0</express_checkout_kiosk_mode></depends>
|
1522 |
+
</express_checkout_recurring>
|
1523 |
+
<create_shipment>
|
1524 |
+
<label>Create Shipment</label>
|
1525 |
+
<tooltip>If you enable this there will be automatically be created a shipment if the invoice is created</tooltip>
|
1526 |
<frontend_type>select</frontend_type>
|
1527 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1528 |
+
<sort_order>55</sort_order>
|
1529 |
<show_in_default>1</show_in_default>
|
1530 |
<show_in_website>1</show_in_website>
|
1531 |
<show_in_store>1</show_in_store>
|
1532 |
+
</create_shipment>
|
1533 |
+
<ip_filter>
|
1534 |
+
<label>IP filter</label>
|
1535 |
+
<tooltip>Enable IP filter let's you define an IP range when this payment method is visible</tooltip>
|
1536 |
+
<frontend_type>select</frontend_type>
|
1537 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1538 |
+
<sort_order>57</sort_order>
|
1539 |
+
<show_in_default>1</show_in_default>
|
1540 |
+
<show_in_website>1</show_in_website>
|
1541 |
+
<show_in_store>1</show_in_store>
|
1542 |
+
</ip_filter>
|
1543 |
+
<ip_filter_from>
|
1544 |
+
<label>IP From</label>
|
1545 |
<frontend_type>text</frontend_type>
|
1546 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1547 |
+
<sort_order>58</sort_order>
|
1548 |
<show_in_default>1</show_in_default>
|
1549 |
<show_in_website>1</show_in_website>
|
1550 |
<show_in_store>1</show_in_store>
|
1551 |
+
<depends><ip_filter>1</ip_filter></depends>
|
1552 |
+
</ip_filter_from>
|
1553 |
+
<ip_filter_to>
|
1554 |
+
<label>IP To</label>
|
1555 |
<frontend_type>text</frontend_type>
|
1556 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1557 |
+
<sort_order>59</sort_order>
|
1558 |
<show_in_default>1</show_in_default>
|
1559 |
<show_in_website>1</show_in_website>
|
1560 |
+
<show_in_store>1</show_in_store>
|
1561 |
+
<depends><ip_filter>1</ip_filter></depends>
|
1562 |
+
</ip_filter_to>
|
1563 |
<allowspecific translate="label">
|
1564 |
+
<label>Payment from applicable countries</label>
|
1565 |
<frontend_type>allowspecific</frontend_type>
|
1566 |
+
<sort_order>60</sort_order>
|
1567 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1568 |
<show_in_default>1</show_in_default>
|
1569 |
<show_in_website>1</show_in_website>
|
1570 |
<show_in_store>1</show_in_store>
|
1571 |
</allowspecific>
|
1572 |
<specificcountry translate="label">
|
1573 |
+
<label>Payment from specific countries</label>
|
1574 |
<frontend_type>multiselect</frontend_type>
|
1575 |
+
<sort_order>70</sort_order>
|
1576 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1577 |
<show_in_default>1</show_in_default>
|
1578 |
<show_in_website>1</show_in_website>
|
1579 |
<show_in_store>1</show_in_store>
|
1580 |
<depends><allowspecific>1</allowspecific></depends>
|
1581 |
</specificcountry>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1582 |
</fields>
|
1583 |
+
</adyen_pos>
|
1584 |
+
<adyen_cash translate="label" module="adyen">
|
1585 |
+
<label>CASH</label>
|
|
|
1586 |
<frontend_type>text</frontend_type>
|
1587 |
+
<sort_order>390</sort_order>
|
1588 |
<show_in_default>1</show_in_default>
|
1589 |
<show_in_website>1</show_in_website>
|
1590 |
<show_in_store>1</show_in_store>
|
1591 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1592 |
+
<activity_path>payment/adyen_cash/active</activity_path>
|
1593 |
<fields>
|
1594 |
<active translate="label">
|
1595 |
<label>Enabled</label>
|
1610 |
</title>
|
1611 |
<sort_order translate="label">
|
1612 |
<label>Sort Order</label>
|
1613 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1614 |
<frontend_type>text</frontend_type>
|
1615 |
+
<sort_order>30</sort_order>
|
1616 |
<show_in_default>1</show_in_default>
|
1617 |
<show_in_website>1</show_in_website>
|
1618 |
+
<show_in_store>1</show_in_store>
|
1619 |
</sort_order>
|
1620 |
+
<create_shipment>
|
1621 |
+
<label>Create Shipment</label>
|
1622 |
+
<tooltip>If you enable this there will be automatically be created a shipment if the invoice is created</tooltip>
|
1623 |
+
<frontend_type>select</frontend_type>
|
1624 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1625 |
+
<sort_order>35</sort_order>
|
1626 |
<show_in_default>1</show_in_default>
|
1627 |
<show_in_website>1</show_in_website>
|
1628 |
+
<show_in_store>1</show_in_store>
|
1629 |
+
</create_shipment>
|
1630 |
+
<cash_express_checkout>
|
1631 |
+
<label>Cash Express checkout</label>
|
1632 |
+
<tooltip>This will show a checkout button on the shopping cart to directly do a Cash payment without going to the checkout steps. Make sure that you have Cash enabled on your skin and HPP payment method is enabled and correctly configured. You must be logged into your Magento account on the front-end to see the button</tooltip>
|
1633 |
+
<frontend_type>select</frontend_type>
|
1634 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1635 |
+
<sort_order>39</sort_order>
|
1636 |
<show_in_default>1</show_in_default>
|
1637 |
<show_in_website>1</show_in_website>
|
1638 |
<show_in_store>1</show_in_store>
|
1639 |
+
</cash_express_checkout>
|
1640 |
+
<cash_drawer>
|
1641 |
+
<label>Open Cash Drawer</label>
|
1642 |
+
<tooltip>Open the Cash drawer if you connect this to your printer this works for all Epson ePOS-Device printers</tooltip>
|
1643 |
<frontend_type>select</frontend_type>
|
1644 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1645 |
+
<sort_order>40</sort_order>
|
1646 |
+
<show_in_default>1</show_in_default>
|
1647 |
+
<show_in_website>1</show_in_website>
|
1648 |
+
<show_in_store>1</show_in_store>
|
1649 |
+
</cash_drawer>
|
1650 |
+
<cash_drawer_printer_ip>
|
1651 |
+
<label>IP address printer</label>
|
1652 |
+
<tooltip>Enter here the IP address of the printer where the cash drawer is connected to</tooltip>
|
1653 |
+
<frontend_type>text</frontend_type>
|
1654 |
+
<sort_order>41</sort_order>
|
1655 |
+
<show_in_default>1</show_in_default>
|
1656 |
+
<show_in_website>1</show_in_website>
|
1657 |
+
<show_in_store>1</show_in_store>
|
1658 |
+
<depends><cash_drawer>1</cash_drawer></depends>
|
1659 |
+
</cash_drawer_printer_ip>
|
1660 |
+
<cash_drawer_printer_port>
|
1661 |
+
<label>Printer port</label>
|
1662 |
+
<tooltip>Enter here the port number of the printer where the cash drawer is connected to</tooltip>
|
1663 |
+
<frontend_type>text</frontend_type>
|
1664 |
+
<sort_order>42</sort_order>
|
1665 |
+
<show_in_default>1</show_in_default>
|
1666 |
+
<show_in_website>1</show_in_website>
|
1667 |
+
<show_in_store>1</show_in_store>
|
1668 |
+
<depends><cash_drawer>1</cash_drawer></depends>
|
1669 |
+
</cash_drawer_printer_port>
|
1670 |
+
<cash_drawer_printer_device_id>
|
1671 |
+
<label>Printer Device ID</label>
|
1672 |
+
<tooltip>Enter here the deviceID of the printer where the cash drawer is connected to</tooltip>
|
1673 |
+
<frontend_type>text</frontend_type>
|
1674 |
<sort_order>43</sort_order>
|
1675 |
<show_in_default>1</show_in_default>
|
1676 |
<show_in_website>1</show_in_website>
|
1677 |
<show_in_store>1</show_in_store>
|
1678 |
+
<depends><cash_drawer>1</cash_drawer></depends>
|
1679 |
+
</cash_drawer_printer_device_id>
|
1680 |
+
<ip_filter>
|
1681 |
+
<label>IP filter</label>
|
1682 |
+
<tooltip>Enable IP filter let's you define an IP range when this payment method is visible</tooltip>
|
1683 |
<frontend_type>select</frontend_type>
|
1684 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1685 |
<sort_order>45</sort_order>
|
1686 |
<show_in_default>1</show_in_default>
|
1687 |
<show_in_website>1</show_in_website>
|
1688 |
+
<show_in_store>1</show_in_store>
|
1689 |
+
</ip_filter>
|
1690 |
+
<ip_filter_from>
|
1691 |
+
<label>IP From</label>
|
1692 |
+
<frontend_type>text</frontend_type>
|
1693 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
|
|
1694 |
<sort_order>46</sort_order>
|
1695 |
<show_in_default>1</show_in_default>
|
1696 |
<show_in_website>1</show_in_website>
|
1697 |
+
<show_in_store>1</show_in_store>
|
1698 |
+
<depends><ip_filter>1</ip_filter></depends>
|
1699 |
+
</ip_filter_from>
|
1700 |
+
<ip_filter_to>
|
1701 |
+
<label>IP To</label>
|
1702 |
+
<frontend_type>text</frontend_type>
|
1703 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
1704 |
+
<sort_order>47</sort_order>
|
1705 |
+
<show_in_default>1</show_in_default>
|
1706 |
+
<show_in_website>1</show_in_website>
|
1707 |
+
<show_in_store>1</show_in_store>
|
1708 |
+
<depends><ip_filter>1</ip_filter></depends>
|
1709 |
+
</ip_filter_to>
|
1710 |
+
<visible_type>
|
1711 |
+
<label>Visible in</label>
|
1712 |
+
<frontend_type>select</frontend_type>
|
1713 |
+
<source_model>adyen/source_VisibleType</source_model>
|
1714 |
+
<sort_order>80</sort_order>
|
1715 |
+
<tooltip>Where do you want to show this payment method in the backend of Magento or in the frontend for the shoppers</tooltip>
|
1716 |
+
<show_in_default>1</show_in_default>
|
1717 |
+
<show_in_website>1</show_in_website>
|
1718 |
+
<show_in_store>1</show_in_store>
|
1719 |
+
</visible_type>
|
1720 |
<allowspecific translate="label">
|
1721 |
+
<label>Payment from applicable countries</label>
|
1722 |
<frontend_type>allowspecific</frontend_type>
|
1723 |
+
<sort_order>90</sort_order>
|
1724 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1725 |
<show_in_default>1</show_in_default>
|
1726 |
<show_in_website>1</show_in_website>
|
1727 |
<show_in_store>1</show_in_store>
|
1728 |
</allowspecific>
|
1729 |
<specificcountry translate="label">
|
1730 |
+
<label>Payment from specific countries</label>
|
1731 |
<frontend_type>multiselect</frontend_type>
|
1732 |
+
<sort_order>100</sort_order>
|
1733 |
<source_model>adminhtml/system_config_source_country</source_model>
|
1734 |
<show_in_default>1</show_in_default>
|
1735 |
<show_in_website>1</show_in_website>
|
1736 |
<show_in_store>1</show_in_store>
|
1737 |
<depends><allowspecific>1</allowspecific></depends>
|
1738 |
</specificcountry>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1739 |
</fields>
|
1740 |
+
</adyen_cash>
|
1741 |
+
<adyen_pay_by_mail translate="label" module="adyen">
|
1742 |
+
<label>Pay By Mail</label>
|
|
|
1743 |
<frontend_type>text</frontend_type>
|
1744 |
+
<sort_order>400</sort_order>
|
1745 |
<show_in_default>1</show_in_default>
|
1746 |
<show_in_website>1</show_in_website>
|
1747 |
<show_in_store>1</show_in_store>
|
1748 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1749 |
+
<activity_path>payment/adyen_pay_by_mail/active</activity_path>
|
1750 |
<fields>
|
1751 |
<active translate="label">
|
1752 |
<label>Enabled</label>
|
1767 |
</title>
|
1768 |
<sort_order translate="label">
|
1769 |
<label>Sort Order</label>
|
1770 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1771 |
<frontend_type>text</frontend_type>
|
1772 |
<sort_order>25</sort_order>
|
1773 |
<show_in_default>1</show_in_default>
|
1774 |
<show_in_website>1</show_in_website>
|
1775 |
+
<show_in_store>1</show_in_store>
|
1776 |
</sort_order>
|
1777 |
+
<session_validity>
|
1778 |
+
<label>Session Validity</label>
|
1779 |
+
<tooltip>How many days do you want this payment page to be active</tooltip>
|
1780 |
+
<frontend_type>text</frontend_type>
|
1781 |
<sort_order>30</sort_order>
|
|
|
1782 |
<show_in_default>1</show_in_default>
|
1783 |
<show_in_website>1</show_in_website>
|
1784 |
<show_in_store>1</show_in_store>
|
1785 |
+
</session_validity>
|
1786 |
+
<skin_code translate="label">
|
1787 |
+
<label>Skin Code</label>
|
1788 |
+
<tooltip>The skin code you want to use leave this empty if you want to use the same as Adyen HPP settings</tooltip>
|
1789 |
+
<frontend_type>text</frontend_type>
|
1790 |
+
<sort_order>40</sort_order>
|
|
|
1791 |
<show_in_default>1</show_in_default>
|
1792 |
<show_in_website>1</show_in_website>
|
1793 |
<show_in_store>1</show_in_store>
|
1794 |
+
</skin_code>
|
1795 |
+
<secret_wordt translate="label">
|
1796 |
+
<label>HMAC Key for Test</label>
|
1797 |
+
<tooltip>Should match with the HMAC test key in the Adyen Customer Area. Fill this in if you are using a different skin then defined in Adyen HPP</tooltip>
|
1798 |
+
<frontend_type>text</frontend_type>
|
1799 |
<sort_order>50</sort_order>
|
|
|
1800 |
<show_in_default>1</show_in_default>
|
1801 |
<show_in_website>1</show_in_website>
|
1802 |
<show_in_store>1</show_in_store>
|
1803 |
+
</secret_wordt>
|
1804 |
+
<secret_wordp translate="label">
|
1805 |
+
<label>HMAC Key for Live</label>
|
1806 |
+
<tooltip>Should match with the HMAC live key in the Adyen Customer Area. Fill this in if you are using a different skin then defined in Adyen HPP</tooltip>
|
1807 |
+
<frontend_type>text</frontend_type>
|
1808 |
<sort_order>60</sort_order>
|
|
|
1809 |
<show_in_default>1</show_in_default>
|
1810 |
<show_in_website>1</show_in_website>
|
1811 |
<show_in_store>1</show_in_store>
|
1812 |
+
</secret_wordp>
|
|
|
1813 |
<visible_type>
|
1814 |
+
<label>Visible in</label>
|
1815 |
<frontend_type>select</frontend_type>
|
1816 |
<source_model>adyen/source_VisibleType</source_model>
|
1817 |
<sort_order>70</sort_order>
|
1818 |
+
<tooltip>Where do you want to show this payment method in the backend of Magento or in the frontend for the shoppers</tooltip>
|
1819 |
<show_in_default>1</show_in_default>
|
1820 |
<show_in_website>1</show_in_website>
|
1821 |
<show_in_store>1</show_in_store>
|
1822 |
</visible_type>
|
1823 |
</fields>
|
1824 |
+
</adyen_pay_by_mail>
|
1825 |
+
<!-- @Elv only -->
|
1826 |
+
<adyen_elv translate="label" module="adyen">
|
1827 |
+
<label>ELV (Deprecated, better use Adyen SEPA)</label>
|
1828 |
<frontend_type>text</frontend_type>
|
1829 |
+
<sort_order>410</sort_order>
|
1830 |
<show_in_default>1</show_in_default>
|
1831 |
<show_in_website>1</show_in_website>
|
1832 |
<show_in_store>1</show_in_store>
|
1833 |
+
<frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
|
1834 |
+
<activity_path>payment/adyen_elv/active</activity_path>
|
1835 |
<fields>
|
1836 |
<active translate="label">
|
1837 |
<label>Enabled</label>
|
1852 |
</title>
|
1853 |
<sort_order translate="label">
|
1854 |
<label>Sort Order</label>
|
1855 |
+
<tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
|
1856 |
<frontend_type>text</frontend_type>
|
1857 |
<sort_order>25</sort_order>
|
1858 |
<show_in_default>1</show_in_default>
|
1859 |
<show_in_website>1</show_in_website>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1860 |
<show_in_store>1</show_in_store>
|
1861 |
+
</sort_order>
|
1862 |
+
<allowspecific translate="label">
|
1863 |
+
<label>Payment from applicable countries</label>
|
1864 |
+
<frontend_type>allowspecific</frontend_type>
|
|
|
1865 |
<sort_order>50</sort_order>
|
1866 |
+
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
1867 |
<show_in_default>1</show_in_default>
|
1868 |
<show_in_website>1</show_in_website>
|
1869 |
<show_in_store>1</show_in_store>
|
1870 |
+
</allowspecific>
|
1871 |
+
<specificcountry translate="label">
|
1872 |
+
<label>Payment from specific countries</label>
|
1873 |
+
<frontend_type>multiselect</frontend_type>
|
|
|
1874 |
<sort_order>60</sort_order>
|
1875 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
1876 |
<show_in_default>1</show_in_default>
|
1877 |
<show_in_website>1</show_in_website>
|
1878 |
<show_in_store>1</show_in_store>
|
1879 |
+
<depends><allowspecific>1</allowspecific></depends>
|
1880 |
+
</specificcountry>
|
1881 |
<visible_type>
|
1882 |
+
<label>Visible in</label>
|
1883 |
<frontend_type>select</frontend_type>
|
1884 |
<source_model>adyen/source_VisibleType</source_model>
|
1885 |
<sort_order>70</sort_order>
|
1886 |
+
<tooltip>Where do you want to show this payment method in the backend of Magento or in the frontend for the shoppers</tooltip>
|
1887 |
<show_in_default>1</show_in_default>
|
1888 |
<show_in_website>1</show_in_website>
|
1889 |
<show_in_store>1</show_in_store>
|
1890 |
</visible_type>
|
1891 |
</fields>
|
1892 |
+
</adyen_elv>
|
1893 |
</groups>
|
1894 |
</payment>
|
1895 |
</sections>
|
1896 |
+
</config>
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-install-0.0.1.php
CHANGED
@@ -25,8 +25,9 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
|
|
28 |
$installer = $this;
|
29 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
30 |
|
31 |
$installer->startSetup();
|
32 |
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
|
29 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
30 |
$installer = $this;
|
|
|
31 |
|
32 |
$installer->startSetup();
|
33 |
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.1-0.0.2.php
CHANGED
@@ -25,8 +25,9 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
|
|
28 |
$installer = $this;
|
29 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
30 |
|
31 |
$installer->startSetup();
|
32 |
$installer->run("
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
|
29 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
30 |
$installer = $this;
|
|
|
31 |
|
32 |
$installer->startSetup();
|
33 |
$installer->run("
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.7-0.0.8.php
CHANGED
@@ -25,6 +25,7 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
|
|
28 |
$installer = $this;
|
29 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
30 |
$installer->addAttribute('order_payment', 'adyen_event_code', array());
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
|
29 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
30 |
$installer = $this;
|
|
|
31 |
$installer->addAttribute('order_payment', 'adyen_event_code', array());
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.0.8-0.0.9.php
CHANGED
@@ -25,12 +25,9 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
} catch (Exception $e) {
|
35 |
-
// echo $e->__toString();die();
|
36 |
-
}
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
|
29 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
30 |
+
$installer = $this;
|
31 |
+
|
32 |
+
/* @var $installer Adyen_Payment_Model_Resource_Setup */
|
33 |
+
$installer->addAttribute('order_payment', 'adyen_payment_method', array());
|
|
|
|
|
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.3-0.1.0.4.php
CHANGED
@@ -25,8 +25,8 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
28 |
$installer = $this;
|
29 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
30 |
|
31 |
$installer->startSetup();
|
32 |
$installer->run("
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
29 |
$installer = $this;
|
|
|
30 |
|
31 |
$installer->startSetup();
|
32 |
$installer->run("
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.8-0.1.0.9.php
CHANGED
@@ -25,9 +25,9 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
28 |
$installer = $this;
|
29 |
|
30 |
-
/* @var $installer Adyen_Payment_Model_Entity_Setup */
|
31 |
$installer->startSetup();
|
32 |
|
33 |
$installer->addAttribute('order', 'adyen_event_code', array());
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
/* @var $installer Adyen_Payment_Model_Resource_Setup */
|
29 |
$installer = $this;
|
30 |
|
|
|
31 |
$installer->startSetup();
|
32 |
|
33 |
$installer->addAttribute('order', 'adyen_event_code', array());
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-0.1.0.9-0.1.0.10.php
CHANGED
@@ -25,9 +25,10 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
-
|
|
|
29 |
//add new ones
|
30 |
-
$
|
31 |
'label' => 'Adyen Event Code',
|
32 |
'visible' => true,
|
33 |
'required' => false,
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
29 |
+
$installer = $this;
|
30 |
//add new ones
|
31 |
+
$installer->updateAttribute('order', 'adyen_event_code', array(
|
32 |
'label' => 'Adyen Event Code',
|
33 |
'visible' => true,
|
34 |
'required' => false,
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-1.0.0.3-1.0.0.7.php
CHANGED
@@ -26,17 +26,13 @@
|
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
|
29 |
-
|
30 |
$installer = $this;
|
31 |
|
32 |
-
/* @var $installer Adyen_Payment_Model_Entity_Setup */
|
33 |
$installer->startSetup();
|
34 |
-
|
35 |
$installer->addAttribute('order', 'adyen_boleto_pdf', array(
|
36 |
'label' => 'Adyen Boleto PDF',
|
37 |
'visible' => true,
|
38 |
'required' => false,
|
39 |
-
'type' => 'text'
|
40 |
-
|
41 |
-
|
42 |
-
?>
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
|
29 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
30 |
$installer = $this;
|
31 |
|
|
|
32 |
$installer->startSetup();
|
|
|
33 |
$installer->addAttribute('order', 'adyen_boleto_pdf', array(
|
34 |
'label' => 'Adyen Boleto PDF',
|
35 |
'visible' => true,
|
36 |
'required' => false,
|
37 |
+
'type' => 'text'
|
38 |
+
));
|
|
|
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.0.3-2.1.0.php
CHANGED
@@ -25,9 +25,9 @@
|
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
|
|
28 |
$installer = $this;
|
29 |
|
30 |
-
/* @var $installer Adyen_Payment_Model_Entity_Setup */
|
31 |
$installer->startSetup();
|
32 |
|
33 |
$installer->getConnection()->addColumn($this->getTable('sales/quote_address'), 'payment_fee_amount', "decimal(12,4) null default null");
|
25 |
* @property Adyen B.V
|
26 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
*/
|
28 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
29 |
$installer = $this;
|
30 |
|
|
|
31 |
$installer->startSetup();
|
32 |
|
33 |
$installer->getConnection()->addColumn($this->getTable('sales/quote_address'), 'payment_fee_amount', "decimal(12,4) null default null");
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.1-2.1.2.1.php
CHANGED
@@ -24,8 +24,8 @@
|
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
|
|
27 |
$installer = $this;
|
28 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->run("ALTER TABLE `{$this->getTable('adyen/event')}` ADD INDEX `adyen_event_result`
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
28 |
$installer = $this;
|
|
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->run("ALTER TABLE `{$this->getTable('adyen/event')}` ADD INDEX `adyen_event_result`
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.2.1-2.1.2.2.php
CHANGED
@@ -24,8 +24,8 @@
|
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
|
|
27 |
$installer = $this;
|
28 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->run("ALTER TABLE `{$this->getTable('adyen/event')}` ADD INDEX (`adyen_event_result`);");
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
28 |
$installer = $this;
|
|
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->run("ALTER TABLE `{$this->getTable('adyen/event')}` ADD INDEX (`adyen_event_result`);");
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.1.2.2-2.1.2.3.php
CHANGED
@@ -24,8 +24,8 @@
|
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
|
|
27 |
$installer = $this;
|
28 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->addAttribute('order_payment', 'adyen_total_fraud_score', array());
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
28 |
$installer = $this;
|
|
|
29 |
|
30 |
$installer->startSetup();
|
31 |
$installer->addAttribute('order_payment', 'adyen_total_fraud_score', array());
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.2.0-2.2.0.1.php
CHANGED
@@ -24,8 +24,8 @@
|
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
|
|
27 |
$installer = $this;
|
28 |
-
/* @var $installer Adyen_Payment_Model_Mysql4_Setup */
|
29 |
|
30 |
$installer->startSetup();
|
31 |
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
+
/** @var Adyen_Payment_Model_Resource_Setup $installer */
|
28 |
$installer = $this;
|
|
|
29 |
|
30 |
$installer->startSetup();
|
31 |
|
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.3.1.1-2.3.1.2.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
$installer = new Mage_Customer_Model_Resource_Setup('core_setup');
|
28 |
+
$installer->startSetup();
|
29 |
+
|
30 |
+
/** @var Magento_Db_Adapter_Pdo_Mysql $connection */
|
31 |
+
$connection = $installer->getConnection();
|
32 |
+
|
33 |
+
$entityTypeId = $installer->getEntityTypeId('customer');
|
34 |
+
$attributeCode = 'adyen_customer_ref';
|
35 |
+
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
|
36 |
+
$attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);
|
37 |
+
|
38 |
+
$installer->addAttribute('customer', $attributeCode, array(
|
39 |
+
'input' => 'text',
|
40 |
+
'type' => 'text',
|
41 |
+
'label' => 'Adyen Customer Reference',
|
42 |
+
'note' => 'Optional customer reference ID, only fill when customer reference is not the customer ID (when importing data from older systems for example).',
|
43 |
+
'visible' => 1,
|
44 |
+
'required' => 0,
|
45 |
+
'user_defined' => 0,
|
46 |
+
));
|
47 |
+
|
48 |
+
$attributeSortOrder = 120;
|
49 |
+
$installer->addAttributeToGroup(
|
50 |
+
$entityTypeId,
|
51 |
+
$attributeSetId,
|
52 |
+
$attributeGroupId,
|
53 |
+
$attributeCode,
|
54 |
+
$attributeSortOrder
|
55 |
+
);
|
56 |
+
|
57 |
+
$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', $attributeCode);
|
58 |
+
$oAttribute->setData('used_in_forms', array('adminhtml_customer'));
|
59 |
+
$oAttribute->setData('sort_order', $attributeSortOrder);
|
60 |
+
$oAttribute->save();
|
61 |
+
|
62 |
+
|
63 |
+
$connection->addColumn($this->getTable('sales/billing_agreement'), 'agreement_data', [
|
64 |
+
'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
|
65 |
+
'nullable' => true,
|
66 |
+
'comment' => 'Agreement Data'
|
67 |
+
]);
|
68 |
+
|
69 |
+
|
70 |
+
$installer->endSetup();
|
app/design/adminhtml/default/default/layout/adyen.xml
CHANGED
@@ -43,7 +43,7 @@
|
|
43 |
<after>status</after>
|
44 |
</action>
|
45 |
</reference>
|
46 |
-
</add_order_grid_column_handle>
|
47 |
<!-- order grid action -->
|
48 |
<adminhtml_sales_order_grid>
|
49 |
<!-- apply the layout handle defined above -->
|
@@ -66,4 +66,11 @@
|
|
66 |
<block type="adyen/adminhtml_adyen_event_queue_grid" name="adyen.adyen.adyen_event.queue.grid" output="toHtml"/>
|
67 |
</adminhtml_adyen_event_queue_grid>
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</layout>
|
43 |
<after>status</after>
|
44 |
</action>
|
45 |
</reference>
|
46 |
+
</add_order_grid_column_handle>
|
47 |
<!-- order grid action -->
|
48 |
<adminhtml_sales_order_grid>
|
49 |
<!-- apply the layout handle defined above -->
|
66 |
<block type="adyen/adminhtml_adyen_event_queue_grid" name="adyen.adyen.adyen_event.queue.grid" output="toHtml"/>
|
67 |
</adminhtml_adyen_event_queue_grid>
|
68 |
|
69 |
+
<adminhtml_sales_order_create_index>
|
70 |
+
<reference name="head">
|
71 |
+
<action method="addJs"><script>adyen/payment/iban.js</script></action>
|
72 |
+
<action method="addJs"><script>adyen/adminhtml/sales.js</script></action>
|
73 |
+
</reference>
|
74 |
+
</adminhtml_sales_order_create_index>
|
75 |
+
|
76 |
</layout>
|
app/design/adminhtml/default/default/template/adyen/form/cc.phtml
CHANGED
@@ -25,6 +25,7 @@
|
|
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>
|
@@ -49,6 +50,10 @@
|
|
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="" maxlength="23"/>
|
|
|
|
|
|
|
|
|
52 |
</div>
|
53 |
</li>
|
54 |
<li>
|
@@ -126,6 +131,10 @@
|
|
126 |
}
|
127 |
}
|
128 |
var cse_initialize = function() {
|
|
|
|
|
|
|
|
|
129 |
if (typeof adyen === 'undefined') {
|
130 |
js = document.createElement("script");
|
131 |
js.type = "text/javascript";
|
@@ -145,6 +154,23 @@
|
|
145 |
else {
|
146 |
Event.observe(window, 'load', cse_initialize);
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
//]]>
|
149 |
</script>
|
150 |
<?php endif;?>
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
?>
|
28 |
+
<?php /** @var Adyen_Payment_Block_Form_Cc $this */; ?>
|
29 |
<?php $_code=$this->getMethodCode() ?>
|
30 |
<ul id="payment_form_<?php echo $_code ?>" style="display:none;">
|
31 |
<li>
|
50 |
<div class="input-box">
|
51 |
<label for="<?php echo $_code ?>_cc_number"><?php echo Mage::helper('payment')->__('Credit Card Number') ?> <span class="required">*</span></label><br/>
|
52 |
<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="" maxlength="23"/>
|
53 |
+
<?php if ($this->isCseEnabled()): ?>
|
54 |
+
<input type="hidden" id="payment_cc_type_cse" name="payment[cc_type]" />
|
55 |
+
<input type="hidden" id="payment_cc_number_cse" name="payment[cc_number]" />
|
56 |
+
<?php endif; ?>
|
57 |
</div>
|
58 |
</li>
|
59 |
<li>
|
131 |
}
|
132 |
}
|
133 |
var cse_initialize = function() {
|
134 |
+
$('payment_form_<?=$_code;?>').select('input', 'select', 'textarea').each(function(field) {
|
135 |
+
field.value = localStorage.getItem(field.id);
|
136 |
+
});
|
137 |
+
|
138 |
if (typeof adyen === 'undefined') {
|
139 |
js = document.createElement("script");
|
140 |
js.type = "text/javascript";
|
154 |
else {
|
155 |
Event.observe(window, 'load', cse_initialize);
|
156 |
}
|
157 |
+
|
158 |
+
$('payment_form_<?=$_code;?>').select('input', 'select', 'textarea').each(function(field) {
|
159 |
+
field.observe('change', function() {
|
160 |
+
localStorage.setItem(field.id, field.value);
|
161 |
+
});
|
162 |
+
});
|
163 |
+
|
164 |
+
// Set cc_number and cc_type on hidden input field
|
165 |
+
var cc_type = document.getElementById('<?php echo $_code ?>_cc_type'),
|
166 |
+
cc_number = document.getElementById('<?php echo $_code ?>_cc_number'),
|
167 |
+
hidden_cc_number = document.getElementById('payment_cc_number_cse'),
|
168 |
+
hidden_cc_type = document.getElementById('payment_cc_type_cse');
|
169 |
+
|
170 |
+
cc_number.addEventListener('change', function() {
|
171 |
+
hidden_cc_type.value = cc_type.value != '' ? 1 : '';
|
172 |
+
hidden_cc_number.value = cc_number.value != '' ? 1 : '';
|
173 |
+
}, false);
|
174 |
//]]>
|
175 |
</script>
|
176 |
<?php endif;?>
|
app/design/adminhtml/default/default/template/adyen/form/hpp.phtml
CHANGED
@@ -48,7 +48,7 @@
|
|
48 |
<input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>" onclick="enableOptions('<?php echo $_typeCode ?>')"/>
|
49 |
</td>
|
50 |
<?php if (file_exists($filename)): ?>
|
51 |
-
<td width="80px"><label for="hpp_type_<?php echo $_typeCode ?>"><img src="<?php echo $this->getSkinUrl(
|
52 |
<?php endif ?>
|
53 |
|
54 |
<td><label for="hpp_type_<?php echo $_typeCode ?>"><?php echo $this->__($_typeName) ?></label></td>
|
@@ -75,7 +75,7 @@
|
|
75 |
<input type="radio" id="hpp_ideal_type_<?php echo $_issueId ?>" name="payment[hpp_ideal_type]" value="<?php echo $_issueId .DS. $_IssueLabel ?>"/>
|
76 |
</td>
|
77 |
<?php if (file_exists($_filename)): ?>
|
78 |
-
<td width="80px"><label for="hpp_ideal_type_<?php echo $_issueId ?>"><img src="<?php echo $this->getSkinUrl(
|
79 |
<?php else: ?>
|
80 |
<td width="80px" class="label_hpp_ideal_type"><label width="80px" for="ideal_type_label_<?php echo $_issueId ?>"><?php echo $_IssueLabel ?></label></td>
|
81 |
<?php endif; ?>
|
48 |
<input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>" onclick="enableOptions('<?php echo $_typeCode ?>')"/>
|
49 |
</td>
|
50 |
<?php if (file_exists($filename)): ?>
|
51 |
+
<td width="80px"><label for="hpp_type_<?php echo $_typeCode ?>"><img src="<?php echo $this->getSkinUrl("images/adyen/$_typeCode.png") ?>" alt="<?php echo $_typeName ?>" /></label></td>
|
52 |
<?php endif ?>
|
53 |
|
54 |
<td><label for="hpp_type_<?php echo $_typeCode ?>"><?php echo $this->__($_typeName) ?></label></td>
|
75 |
<input type="radio" id="hpp_ideal_type_<?php echo $_issueId ?>" name="payment[hpp_ideal_type]" value="<?php echo $_issueId .DS. $_IssueLabel ?>"/>
|
76 |
</td>
|
77 |
<?php if (file_exists($_filename)): ?>
|
78 |
+
<td width="80px"><label for="hpp_ideal_type_<?php echo $_issueId ?>"><img src="<?php echo $this->getSkinUrl("images/adyen/$_bankFile.png") ?>" alt="<?php echo $_IssueLabel ?>" label="<?php echo $_IssueLabel ?>" /></label></td>
|
79 |
<?php else: ?>
|
80 |
<td width="80px" class="label_hpp_ideal_type"><label width="80px" for="ideal_type_label_<?php echo $_issueId ?>"><?php echo $_IssueLabel ?></label></td>
|
81 |
<?php endif; ?>
|
app/design/adminhtml/default/default/template/adyen/form/oneclick.phtml
CHANGED
@@ -24,6 +24,7 @@
|
|
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;">
|
@@ -60,7 +61,7 @@
|
|
60 |
</div>
|
61 |
</div>
|
62 |
|
63 |
-
|
64 |
<div class="columns three c">
|
65 |
<label><?php echo $this->__('Card Verification Number') ?></label>
|
66 |
<?php if($this->hasVerification()): ?>
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
+
/** @var $this Adyen_Payment_Block_Form_Oneclick */
|
28 |
?>
|
29 |
<?php $_code=$this->getMethodCode() ?>
|
30 |
<ul id="payment_form_<?php echo $_code ?>" style="display:none;">
|
61 |
</div>
|
62 |
</div>
|
63 |
|
64 |
+
<?php if( $this->showCvc()):?>
|
65 |
<div class="columns three c">
|
66 |
<label><?php echo $this->__('Card Verification Number') ?></label>
|
67 |
<?php if($this->hasVerification()): ?>
|
app/design/adminhtml/default/default/template/adyen/form/sepa.phtml
CHANGED
@@ -25,10 +25,10 @@
|
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
$_code=$this->getMethodCode();
|
|
|
28 |
?>
|
29 |
|
30 |
<ul id="payment_form_<?php echo $_code ?>" style="display:none">
|
31 |
-
|
32 |
<li>
|
33 |
<div class="input-box">
|
34 |
<label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Bank account holder name') ?> <span class="required">*</span></label><br />
|
@@ -36,7 +36,7 @@ $_code=$this->getMethodCode();
|
|
36 |
type="text" id="<?php echo $_code ?>_account_name" name="payment[account_name]"
|
37 |
title="<?php echo $this->__('Bank account holder name') ?>"
|
38 |
class="validate-ipayment-sepa-account-name required-entry input-text"
|
39 |
-
autocomplete="off"
|
40 |
/>
|
41 |
</div>
|
42 |
</li>
|
@@ -46,8 +46,8 @@ $_code=$this->getMethodCode();
|
|
46 |
<input
|
47 |
type="text" id="<?php echo $_code ?>_iban" name="payment[iban]"
|
48 |
title="<?php echo $this->__('IBAN') ?>"
|
49 |
-
class="validate-ipayment-sepa-iban required-entry input-text"
|
50 |
-
autocomplete="off"
|
51 |
/>
|
52 |
</div>
|
53 |
</li>
|
@@ -58,11 +58,18 @@ $_code=$this->getMethodCode();
|
|
58 |
<select id="<?php echo $_code ?>_country" name="payment[country]" name="payment[country]" title="<?php echo $this->__('Country') ?>" class="validate-ipayment-sepa-country required-entry input-√√√">
|
59 |
<option value="">--</option>
|
60 |
<?php foreach($this->getCountries() as $_country): ?>
|
61 |
-
<option value="<?php echo $_country['value'] ?>"<?php echo ($_country['value'] == $this->
|
62 |
<?php endforeach; ?>
|
63 |
</select>
|
64 |
</div>
|
65 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</ul>
|
67 |
|
68 |
<div>
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
$_code=$this->getMethodCode();
|
28 |
+
/** @var $this Adyen_Payment_Block_Form_Sepa */
|
29 |
?>
|
30 |
|
31 |
<ul id="payment_form_<?php echo $_code ?>" style="display:none">
|
|
|
32 |
<li>
|
33 |
<div class="input-box">
|
34 |
<label for="<?php echo $_code ?>_account_number"><?php echo $this->__('Bank account holder name') ?> <span class="required">*</span></label><br />
|
36 |
type="text" id="<?php echo $_code ?>_account_name" name="payment[account_name]"
|
37 |
title="<?php echo $this->__('Bank account holder name') ?>"
|
38 |
class="validate-ipayment-sepa-account-name required-entry input-text"
|
39 |
+
value="<?=$this->getBankHolderValue();?>" autocomplete="off"
|
40 |
/>
|
41 |
</div>
|
42 |
</li>
|
46 |
<input
|
47 |
type="text" id="<?php echo $_code ?>_iban" name="payment[iban]"
|
48 |
title="<?php echo $this->__('IBAN') ?>"
|
49 |
+
class="validate-ipayment-sepa-iban validate-iban-number required-entry input-text"
|
50 |
+
value="<?=$this->getIbanValue();?>" autocomplete="off"
|
51 |
/>
|
52 |
</div>
|
53 |
</li>
|
58 |
<select id="<?php echo $_code ?>_country" name="payment[country]" name="payment[country]" title="<?php echo $this->__('Country') ?>" class="validate-ipayment-sepa-country required-entry input-√√√">
|
59 |
<option value="">--</option>
|
60 |
<?php foreach($this->getCountries() as $_country): ?>
|
61 |
+
<option value="<?php echo $_country['value'] ?>"<?php echo ($_country['value'] == $this->getCountryValue()) ? " selected" : ""; ?>><?php echo $_country['label'] ?></option>
|
62 |
<?php endforeach; ?>
|
63 |
</select>
|
64 |
</div>
|
65 |
</li>
|
66 |
+
|
67 |
+
<li>
|
68 |
+
<div class="input-box">
|
69 |
+
<input class="required-entry" type="checkbox" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
|
70 |
+
<label for="<?php echo $_code ?>_accept_sepa"><?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?></label>
|
71 |
+
</div>
|
72 |
+
</li>
|
73 |
</ul>
|
74 |
|
75 |
<div>
|
app/design/adminhtml/default/default/template/adyen/system/config/test_webserver_configuration.phtml
CHANGED
@@ -44,11 +44,11 @@
|
|
44 |
var baseUrl = "<?php echo $this->getUrlWebserverValidation(); ?>";
|
45 |
|
46 |
if('<?php echo $this->getModus(); ?>' == 'test') {
|
47 |
-
var username = $('
|
48 |
-
var password = $('
|
49 |
} else {
|
50 |
-
var username = $('
|
51 |
-
var password = $('
|
52 |
}
|
53 |
|
54 |
var request = new Ajax.Request(baseUrl, {
|
44 |
var baseUrl = "<?php echo $this->getUrlWebserverValidation(); ?>";
|
45 |
|
46 |
if('<?php echo $this->getModus(); ?>' == 'test') {
|
47 |
+
var username = $('payment_adyen_required_settings_ws_username_test').value;
|
48 |
+
var password = $('payment_adyen_required_settings_ws_password_test').value;
|
49 |
} else {
|
50 |
+
var username = $('payment_adyen_required_settings_ws_username_live').value;
|
51 |
+
var password = $('payment_adyen_required_settings_ws_password_live').value;
|
52 |
}
|
53 |
|
54 |
var request = new Ajax.Request(baseUrl, {
|
app/design/frontend/base/default/layout/adyen.xml
CHANGED
@@ -27,26 +27,6 @@
|
|
27 |
*/
|
28 |
-->
|
29 |
<layout version="0.1.0">
|
30 |
-
|
31 |
-
<customer_account>
|
32 |
-
<reference name="customer_account_navigation" >
|
33 |
-
<action method="addLink" translate="label"><name>saved_cards</name><path>adyen/savedCard/</path><label>My saved cards</label></action>
|
34 |
-
</reference>
|
35 |
-
</customer_account>
|
36 |
-
|
37 |
-
<adyen_savedcard_index>
|
38 |
-
<update handle="customer_account"/>
|
39 |
-
<reference name="head">
|
40 |
-
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
41 |
-
</reference>
|
42 |
-
<reference name="root">
|
43 |
-
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
44 |
-
</reference>
|
45 |
-
<reference name="my.account.wrapper">
|
46 |
-
<block type="adyen/savedCards" name="adyen.savedCards" template="adyen/saved_cards.phtml"/>
|
47 |
-
</reference>
|
48 |
-
</adyen_savedcard_index>
|
49 |
-
|
50 |
<adyen_updatecart_index>
|
51 |
<update handle="checkout_cart_index" />
|
52 |
</adyen_updatecart_index>
|
@@ -66,6 +46,7 @@
|
|
66 |
<checkout_onepage_index>
|
67 |
<reference name="head">
|
68 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
|
|
69 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
70 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
71 |
</reference>
|
@@ -89,6 +70,7 @@
|
|
89 |
<onestepcheckout_index_index>
|
90 |
<reference name="head">
|
91 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
|
|
92 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
93 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
94 |
</reference>
|
@@ -111,6 +93,7 @@
|
|
111 |
<checkout_multishipping_billing>
|
112 |
<reference name="head">
|
113 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
|
|
114 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
115 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
116 |
</reference>
|
27 |
*/
|
28 |
-->
|
29 |
<layout version="0.1.0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<adyen_updatecart_index>
|
31 |
<update handle="checkout_cart_index" />
|
32 |
</adyen_updatecart_index>
|
46 |
<checkout_onepage_index>
|
47 |
<reference name="head">
|
48 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
49 |
+
<action method="addJs"><script>adyen/payment/iban.js</script></action>
|
50 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
51 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
52 |
</reference>
|
70 |
<onestepcheckout_index_index>
|
71 |
<reference name="head">
|
72 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
73 |
+
<action method="addJs"><script>adyen/payment/iban.js</script></action>
|
74 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
75 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
76 |
</reference>
|
93 |
<checkout_multishipping_billing>
|
94 |
<reference name="head">
|
95 |
<action method="addJs"><script>adyen/payment/cc.js</script></action>
|
96 |
+
<action method="addJs"><script>adyen/payment/iban.js</script></action>
|
97 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
98 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
99 |
</reference>
|
app/design/frontend/base/default/template/adyen/form/cc.phtml
CHANGED
@@ -33,7 +33,7 @@ $_code = $this->getMethodCode();
|
|
33 |
<li class="adyen_payment_creditcard_labels">
|
34 |
<?php $count = 0;
|
35 |
foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
36 |
-
<?php $_filename = $this->getSkinUrl('images
|
37 |
<img id="cc_type_<?php echo $count; ?>" width="40" height="22" src="<?php echo $_filename; ?>" alt="" class="mid" />
|
38 |
<?php ++$count;
|
39 |
endforeach; ?>
|
@@ -43,174 +43,6 @@ $_code = $this->getMethodCode();
|
|
43 |
<label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
|
44 |
<div class="input-box">
|
45 |
<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-type required-entry" value="" maxlength="23"/>
|
46 |
-
<script type="text/javascript">
|
47 |
-
var group_types = [];
|
48 |
-
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
49 |
-
group_types.push("<?php echo $_typeCode; ?>");
|
50 |
-
<?php endforeach ?>
|
51 |
-
|
52 |
-
card_previousCardNumber = "";
|
53 |
-
|
54 |
-
function selectBrand() {
|
55 |
-
|
56 |
-
cardNumber = (document.getElementById( '<?php echo $_code ?>_cc_number' ).value);
|
57 |
-
dontHideErrorFrame = null;
|
58 |
-
|
59 |
-
// empty card field - reset all
|
60 |
-
if (cardNumber.length == 0) {
|
61 |
-
card_previousCardNumber = cardNumber;
|
62 |
-
cardSetCardBrand(null, false, group_types);
|
63 |
-
return;
|
64 |
-
}
|
65 |
-
|
66 |
-
// When editing the card (but not adding digits at the end), don't reformat the number
|
67 |
-
var l=0;
|
68 |
-
while(l < card_previousCardNumber.length && l < cardNumber.length) {
|
69 |
-
if(cardNumber[l] != card_previousCardNumber[l]) {
|
70 |
-
card_previousCardNumber = cardNumber;
|
71 |
-
return;
|
72 |
-
}
|
73 |
-
l++;
|
74 |
-
}
|
75 |
-
|
76 |
-
// remove all whitespace
|
77 |
-
reg = /\s+/g;
|
78 |
-
cardNumber = cardNumber.replace(reg,'');
|
79 |
-
|
80 |
-
nrOfDigits = cardNumber.length;
|
81 |
-
if(nrOfDigits > 19){
|
82 |
-
return;
|
83 |
-
}
|
84 |
-
|
85 |
-
baseCard = getBaseCard(cardNumber, group_types);
|
86 |
-
|
87 |
-
if(baseCard != null) {
|
88 |
-
cardSetCardBrand(baseCard, true, group_types);
|
89 |
-
} else if(nrOfDigits > 4) {
|
90 |
-
cardSetCardBrand(null, true, group_types);
|
91 |
-
} else {
|
92 |
-
cardSetCardBrand(null, false, group_types);
|
93 |
-
}
|
94 |
-
|
95 |
-
//show value with white space after four numbers
|
96 |
-
result = cardNumber.replace(/(\d{4})/g, '$1 ');
|
97 |
-
result = result.replace(/\s+$/, ''); //remove trailing spaces
|
98 |
-
card_previousCardNumber = result;
|
99 |
-
document.getElementById( '<?php echo $_code; ?>_cc_number' ).value = result;
|
100 |
-
}
|
101 |
-
|
102 |
-
function cardSetCardBrand(selectedCard, greyInactive, group_types) {
|
103 |
-
|
104 |
-
for(var i = 0; i < group_types.length; ++i) {
|
105 |
-
var imageId = 'cc_type_' + i;
|
106 |
-
if(selectedCard != null && group_types[i] == selectedCard.cardtype) {
|
107 |
-
// remove class
|
108 |
-
$(imageId).removeClassName('grey');
|
109 |
-
// set hidden field cc type for installments
|
110 |
-
$('<?php echo $_code ?>_cc_type').setValue(selectedCard.cardtype);
|
111 |
-
} else {
|
112 |
-
if(greyInactive) {
|
113 |
-
// add class
|
114 |
-
$(imageId).addClassName('grey');
|
115 |
-
} else {
|
116 |
-
// remove class
|
117 |
-
$(imageId).removeClassName('grey');
|
118 |
-
}
|
119 |
-
}
|
120 |
-
document.getElementById(imageId).style.display="inline";
|
121 |
-
}
|
122 |
-
|
123 |
-
<?php if($this->hasInstallments()): ?>
|
124 |
-
if(selectedCard != null ) {
|
125 |
-
var interval = setInterval(getInstallments(selectedCard.cardtype), 500);
|
126 |
-
}
|
127 |
-
<?php endif; ?>
|
128 |
-
|
129 |
-
cardSetCvcElementselectedCardType(selectedCard != null ? selectedCard.cardtype : null);
|
130 |
-
|
131 |
-
}
|
132 |
-
|
133 |
-
function cardSetCvcElementselectedCardType(selectedCardType) {
|
134 |
-
var cvcCodeElem = document.getElementById( '<?php echo $_code; ?>_cc_cid' );
|
135 |
-
|
136 |
-
// first remove classnames
|
137 |
-
cvcCodeElem.removeClassName('maximum-length-3');
|
138 |
-
cvcCodeElem.removeClassName('minimum-length-3');
|
139 |
-
cvcCodeElem.removeClassName('maximum-length-4');
|
140 |
-
cvcCodeElem.removeClassName('minimum-length-4');
|
141 |
-
|
142 |
-
if(selectedCardType == null) {
|
143 |
-
// error do nothing
|
144 |
-
} else if(selectedCardType == "AE") {
|
145 |
-
cvcCodeElem.maxLength = 4;
|
146 |
-
cvcCodeElem.addClassName('maximum-length-4');
|
147 |
-
cvcCodeElem.addClassName('minimum-length-4');
|
148 |
-
} else {
|
149 |
-
cvcCodeElem.maxLength = 3;
|
150 |
-
cvcCodeElem.addClassName('maximum-length-3');
|
151 |
-
cvcCodeElem.addClassName('minimum-length-3');
|
152 |
-
}
|
153 |
-
}
|
154 |
-
|
155 |
-
var ajaxReq;
|
156 |
-
function getInstallments(variant) {
|
157 |
-
|
158 |
-
// get the installments for this cardtype
|
159 |
-
var ccType = variant;
|
160 |
-
|
161 |
-
var url = '<?php echo $this->getUrl('adyen/GetInstallments', array('_secure'=>true)); ?>';
|
162 |
-
|
163 |
-
if(ajaxReq && ajaxReq.readystate != 4){
|
164 |
-
ajaxReq.transport.abort();
|
165 |
-
}
|
166 |
-
|
167 |
-
ajaxReq = new Ajax.Request(url, {
|
168 |
-
parameters: {ccType: ccType, isAjax: 1, method: 'POST'},
|
169 |
-
onSuccess: function(transport) {
|
170 |
-
|
171 |
-
if(transport.status == 200) {
|
172 |
-
|
173 |
-
// get current selected installment
|
174 |
-
var currentSelectedInstallment = document.getElementById('<?php echo $_code ?>_installments').getValue();
|
175 |
-
|
176 |
-
// clear the select box
|
177 |
-
document.getElementById('<?php echo $_code ?>_installments').options.length = 0;
|
178 |
-
|
179 |
-
var response = transport.responseText.evalJSON();
|
180 |
-
|
181 |
-
var sel = false;
|
182 |
-
for (var key in response) {
|
183 |
-
|
184 |
-
// change the installments
|
185 |
-
var opt = document.createElement('option');
|
186 |
-
opt.text = response[key]
|
187 |
-
opt.value = key;
|
188 |
-
// check if selected installment is still available
|
189 |
-
if(currentSelectedInstallment == key) {
|
190 |
-
sel = true;
|
191 |
-
}
|
192 |
-
$('<?php echo $_code ?>_installments').options.add(opt);
|
193 |
-
}
|
194 |
-
|
195 |
-
if(sel == true && currentSelectedInstallment) {
|
196 |
-
document.getElementById('adyen_cc_installments').value=currentSelectedInstallment;
|
197 |
-
}
|
198 |
-
}
|
199 |
-
},
|
200 |
-
onFailure: function(){
|
201 |
-
alert('<?php echo $this->jsQuoteEscape($this->__('Server Error. Please try again.')) ?>');
|
202 |
-
}
|
203 |
-
});
|
204 |
-
}
|
205 |
-
|
206 |
-
// default
|
207 |
-
cardSetCardBrand(null, false, group_types);
|
208 |
-
|
209 |
-
// observers
|
210 |
-
Event.observe($('<?php echo $_code ?>_cc_number'), 'change', selectBrand);
|
211 |
-
Event.observe($('<?php echo $_code ?>_cc_number'), 'keyup', selectBrand);
|
212 |
-
|
213 |
-
</script>
|
214 |
</div>
|
215 |
</li>
|
216 |
<li class="adyen_payment_input_fields">
|
@@ -268,8 +100,8 @@ $_code = $this->getMethodCode();
|
|
268 |
</li>
|
269 |
<?php endif;?>
|
270 |
|
271 |
-
<?php if($this->
|
272 |
-
<li id="adyen-remember-these-details" class="adyen_payment_input_fields">
|
273 |
<div class="input-box">
|
274 |
<div class="v-fix">
|
275 |
<input type="checkbox" name="payment[store_cc]" id="<?php echo $_code ?>_store_cc" value="1" checked />
|
@@ -280,10 +112,184 @@ $_code = $this->getMethodCode();
|
|
280 |
<script type="text/javascript">
|
281 |
// don't show save cc for quest checkout. Only possible to detect with javascript
|
282 |
if ($('login:guest') && $('login:guest').checked) {
|
283 |
-
$('adyen-remember-these-details').hide();
|
284 |
}
|
285 |
</script>
|
286 |
<?php endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
<?php if ($this->isCseEnabled()): ?>
|
288 |
<input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
|
289 |
<script type="text/javascript">
|
@@ -326,4 +332,4 @@ $_code = $this->getMethodCode();
|
|
326 |
cseInit();
|
327 |
</script>
|
328 |
<?php endif;?>
|
329 |
-
</ul>
|
33 |
<li class="adyen_payment_creditcard_labels">
|
34 |
<?php $count = 0;
|
35 |
foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
36 |
+
<?php $_filename = $this->getSkinUrl('images/adyen/' . strtolower($_typeCode) . '_small.png'); ?>
|
37 |
<img id="cc_type_<?php echo $count; ?>" width="40" height="22" src="<?php echo $_filename; ?>" alt="" class="mid" />
|
38 |
<?php ++$count;
|
39 |
endforeach; ?>
|
43 |
<label for="<?php echo $_code ?>_cc_number" class="required"><em>*</em><?php echo $this->__('Credit Card Number') ?></label>
|
44 |
<div class="input-box">
|
45 |
<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-type required-entry" value="" maxlength="23"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
</div>
|
47 |
</li>
|
48 |
<li class="adyen_payment_input_fields">
|
100 |
</li>
|
101 |
<?php endif;?>
|
102 |
|
103 |
+
<?php if($this->canCreateBillingAgreement()): ?>
|
104 |
+
<li id="adyen-cc-remember-these-details" class="adyen_payment_input_fields">
|
105 |
<div class="input-box">
|
106 |
<div class="v-fix">
|
107 |
<input type="checkbox" name="payment[store_cc]" id="<?php echo $_code ?>_store_cc" value="1" checked />
|
112 |
<script type="text/javascript">
|
113 |
// don't show save cc for quest checkout. Only possible to detect with javascript
|
114 |
if ($('login:guest') && $('login:guest').checked) {
|
115 |
+
$('adyen-cc-remember-these-details').hide();
|
116 |
}
|
117 |
</script>
|
118 |
<?php endif; ?>
|
119 |
+
|
120 |
+
<script type="text/javascript">
|
121 |
+
var group_types = [];
|
122 |
+
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
123 |
+
group_types.push("<?php echo $_typeCode; ?>");
|
124 |
+
<?php endforeach ?>
|
125 |
+
|
126 |
+
card_previousCardNumber = "";
|
127 |
+
|
128 |
+
function selectBrand() {
|
129 |
+
|
130 |
+
cardNumber = (document.getElementById( '<?php echo $_code ?>_cc_number' ).value);
|
131 |
+
dontHideErrorFrame = null;
|
132 |
+
|
133 |
+
// empty card field - reset all
|
134 |
+
if (cardNumber.length == 0) {
|
135 |
+
card_previousCardNumber = cardNumber;
|
136 |
+
cardSetCardBrand(null, false, group_types);
|
137 |
+
return;
|
138 |
+
}
|
139 |
+
|
140 |
+
// When editing the card (but not adding digits at the end), don't reformat the number
|
141 |
+
var l=0;
|
142 |
+
while(l < card_previousCardNumber.length && l < cardNumber.length) {
|
143 |
+
if(cardNumber[l] != card_previousCardNumber[l]) {
|
144 |
+
card_previousCardNumber = cardNumber;
|
145 |
+
return;
|
146 |
+
}
|
147 |
+
l++;
|
148 |
+
}
|
149 |
+
|
150 |
+
// remove all whitespace
|
151 |
+
reg = /\s+/g;
|
152 |
+
cardNumber = cardNumber.replace(reg,'');
|
153 |
+
|
154 |
+
nrOfDigits = cardNumber.length;
|
155 |
+
if(nrOfDigits > 19){
|
156 |
+
return;
|
157 |
+
}
|
158 |
+
|
159 |
+
baseCard = getBaseCard(cardNumber, group_types);
|
160 |
+
|
161 |
+
if(baseCard != null) {
|
162 |
+
cardSetCardBrand(baseCard, true, group_types);
|
163 |
+
} else if(nrOfDigits > 4) {
|
164 |
+
cardSetCardBrand(null, true, group_types);
|
165 |
+
} else {
|
166 |
+
cardSetCardBrand(null, false, group_types);
|
167 |
+
}
|
168 |
+
|
169 |
+
//show value with white space after four numbers
|
170 |
+
result = cardNumber.replace(/(\d{4})/g, '$1 ');
|
171 |
+
result = result.replace(/\s+$/, ''); //remove trailing spaces
|
172 |
+
card_previousCardNumber = result;
|
173 |
+
document.getElementById( '<?php echo $_code; ?>_cc_number' ).value = result;
|
174 |
+
}
|
175 |
+
|
176 |
+
function cardSetCardBrand(selectedCard, greyInactive, group_types) {
|
177 |
+
|
178 |
+
for(var i = 0; i < group_types.length; ++i) {
|
179 |
+
var imageId = 'cc_type_' + i;
|
180 |
+
if(selectedCard != null && group_types[i] == selectedCard.cardtype) {
|
181 |
+
// remove class
|
182 |
+
$(imageId).removeClassName('grey');
|
183 |
+
// set hidden field cc type for installments
|
184 |
+
$('<?php echo $_code ?>_cc_type').setValue(selectedCard.cardtype);
|
185 |
+
} else {
|
186 |
+
if(greyInactive) {
|
187 |
+
// add class
|
188 |
+
$(imageId).addClassName('grey');
|
189 |
+
} else {
|
190 |
+
// remove class
|
191 |
+
$(imageId).removeClassName('grey');
|
192 |
+
}
|
193 |
+
}
|
194 |
+
document.getElementById(imageId).style.display="inline";
|
195 |
+
}
|
196 |
+
|
197 |
+
<?php if($this->hasInstallments()): ?>
|
198 |
+
if(selectedCard != null ) {
|
199 |
+
var interval = setInterval(getInstallments(selectedCard.cardtype), 500);
|
200 |
+
}
|
201 |
+
<?php endif; ?>
|
202 |
+
|
203 |
+
cardSetCvcElementselectedCardType(selectedCard != null ? selectedCard.cardtype : null);
|
204 |
+
|
205 |
+
}
|
206 |
+
|
207 |
+
function cardSetCvcElementselectedCardType(selectedCardType) {
|
208 |
+
var cvcCodeElem = document.getElementById( '<?php echo $_code; ?>_cc_cid' );
|
209 |
+
|
210 |
+
// first remove classnames
|
211 |
+
if(cvcCodeElem != null) {
|
212 |
+
cvcCodeElem.removeClassName('maximum-length-3');
|
213 |
+
cvcCodeElem.removeClassName('minimum-length-3');
|
214 |
+
cvcCodeElem.removeClassName('maximum-length-4');
|
215 |
+
cvcCodeElem.removeClassName('minimum-length-4');
|
216 |
+
}
|
217 |
+
|
218 |
+
if(selectedCardType == null) {
|
219 |
+
// error do nothing
|
220 |
+
} else if(selectedCardType == "AE") {
|
221 |
+
cvcCodeElem.maxLength = 4;
|
222 |
+
cvcCodeElem.addClassName('maximum-length-4');
|
223 |
+
cvcCodeElem.addClassName('minimum-length-4');
|
224 |
+
} else {
|
225 |
+
cvcCodeElem.maxLength = 3;
|
226 |
+
cvcCodeElem.addClassName('maximum-length-3');
|
227 |
+
cvcCodeElem.addClassName('minimum-length-3');
|
228 |
+
}
|
229 |
+
}
|
230 |
+
|
231 |
+
var ajaxReq;
|
232 |
+
function getInstallments(variant) {
|
233 |
+
|
234 |
+
// get the installments for this cardtype
|
235 |
+
var ccType = variant;
|
236 |
+
|
237 |
+
var url = '<?php echo $this->getUrl('adyen/GetInstallments', array('_secure'=>true)); ?>';
|
238 |
+
|
239 |
+
if(ajaxReq && ajaxReq.readystate != 4){
|
240 |
+
ajaxReq.transport.abort();
|
241 |
+
}
|
242 |
+
|
243 |
+
ajaxReq = new Ajax.Request(url, {
|
244 |
+
parameters: {ccType: ccType, isAjax: 1, method: 'POST'},
|
245 |
+
onSuccess: function(transport) {
|
246 |
+
|
247 |
+
if(transport.status == 200) {
|
248 |
+
|
249 |
+
// get current selected installment
|
250 |
+
var currentSelectedInstallment = document.getElementById('<?php echo $_code ?>_installments').getValue();
|
251 |
+
|
252 |
+
// clear the select box
|
253 |
+
document.getElementById('<?php echo $_code ?>_installments').options.length = 0;
|
254 |
+
|
255 |
+
var response = transport.responseText.evalJSON();
|
256 |
+
|
257 |
+
var sel = false;
|
258 |
+
for (var key in response) {
|
259 |
+
|
260 |
+
// change the installments
|
261 |
+
var opt = document.createElement('option');
|
262 |
+
opt.text = response[key]
|
263 |
+
opt.value = key;
|
264 |
+
// check if selected installment is still available
|
265 |
+
if(currentSelectedInstallment == key) {
|
266 |
+
sel = true;
|
267 |
+
}
|
268 |
+
$('<?php echo $_code ?>_installments').options.add(opt);
|
269 |
+
}
|
270 |
+
|
271 |
+
if(sel == true && currentSelectedInstallment) {
|
272 |
+
document.getElementById('adyen_cc_installments').value=currentSelectedInstallment;
|
273 |
+
}
|
274 |
+
}
|
275 |
+
},
|
276 |
+
onFailure: function(){
|
277 |
+
alert('<?php echo $this->jsQuoteEscape($this->__('Server Error. Please try again.')) ?>');
|
278 |
+
}
|
279 |
+
});
|
280 |
+
}
|
281 |
+
|
282 |
+
// default
|
283 |
+
window.onload = function(){
|
284 |
+
cardSetCardBrand(null, false, group_types);
|
285 |
+
}
|
286 |
+
|
287 |
+
// observers
|
288 |
+
Event.observe($('<?php echo $_code ?>_cc_number'), 'change', selectBrand);
|
289 |
+
Event.observe($('<?php echo $_code ?>_cc_number'), 'keyup', selectBrand);
|
290 |
+
|
291 |
+
</script>
|
292 |
+
|
293 |
<?php if ($this->isCseEnabled()): ?>
|
294 |
<input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
|
295 |
<script type="text/javascript">
|
332 |
cseInit();
|
333 |
</script>
|
334 |
<?php endif;?>
|
335 |
+
</ul>
|
app/design/frontend/base/default/template/adyen/form/oneclick.phtml
CHANGED
@@ -24,54 +24,53 @@
|
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
-
?>
|
28 |
-
<?php $_code=$this->getMethodCode() ?>
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
<fieldset id="" class="">
|
31 |
<ul class="form-list adyen_oneclick" id="payment_form_<?php echo $_code ?>" style="display:none">
|
32 |
<li>
|
33 |
-
|
34 |
-
<?php
|
35 |
-
$recurringDetails = $this->getRecurringDetails();
|
36 |
-
?>
|
37 |
-
|
38 |
-
<?php if(isset($recurringDetails["card_number"]) && isset($recurringDetails["card_expiryMonth"]) && isset($recurringDetails["card_expiryYear"]) ): ?>
|
39 |
<div class="columns three a">
|
40 |
<label><?php echo $this->__('Credit Card Number') ?></label>
|
41 |
-
<span
|
42 |
</div>
|
43 |
|
44 |
<div class="columns three b">
|
45 |
<label><?php echo $this->__('Expiration Date') ?><a href="#" id="update-expiration-date-<?php echo $_code; ?>" class="update-expiration-date"><?php echo $this->__('(update)') ?></a></label>
|
46 |
|
47 |
<div id="static-card-expiry-<?php echo $_code; ?>" class="static-card-expiry">
|
48 |
-
<?php echo $
|
49 |
</div>
|
50 |
<div id="changable-card-expiry-<?php echo $_code; ?>" class="changable-card-expiry" style="display:none;">
|
51 |
<select id="<?php echo $_code ?>_expiration_<?php echo $_code; ?>" <?php echo (!$this->isCseEnabled() ? "name=\"payment[oneclick_exp_month]\"" : "data-encrypted-name-oneclick-" . $_code . "=expiryMonth"); ?> class="month validate-oneclick-exp required-entry">
|
52 |
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
53 |
-
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$
|
54 |
<?php endforeach ?>
|
55 |
</select>
|
56 |
|
57 |
<select id="<?php echo $_code ?>_expiration_yr_<?php echo $_code; ?>" <?php echo (!$this->isCseEnabled() ? "name=\"payment[oneclick_exp_year]\"" : "data-encrypted-name-oneclick-" . $_code . "=expiryYear"); ?> class="year required-entry">
|
58 |
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
59 |
-
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$
|
60 |
<?php endforeach ?>
|
61 |
</select>
|
62 |
</div>
|
63 |
</div>
|
64 |
|
65 |
-
<?php if($this->
|
66 |
// set max lenght cvc code
|
67 |
-
if($
|
68 |
$maxLenght = "4";
|
69 |
$class = "validate-length maximum-length-4 minimum-length-4 validate-digits";
|
70 |
} else {
|
71 |
$maxLenght = "3";
|
72 |
$class = "validate-length maximum-length-3 minimum-length-3 validate-digits";
|
73 |
}
|
74 |
-
|
75 |
<div class="columns three c">
|
76 |
<label><?php echo $this->__('Card Verification Number') ?></label>
|
77 |
<?php if($this->hasVerification()): ?>
|
@@ -163,44 +162,44 @@
|
|
163 |
</script>
|
164 |
<?php endif;?>
|
165 |
|
166 |
-
<?php elseif($
|
167 |
<div class="columns three a">
|
168 |
<label><?php echo $this->__('Account holder name') ?></label>
|
169 |
-
<span><?php echo $
|
170 |
</div>
|
171 |
<div class="columns three b">
|
172 |
<label><?php echo $this->__('Account Number') ?></label>
|
173 |
-
<span><?php echo $
|
174 |
</div>
|
175 |
<div class="columns three c">
|
176 |
<label><?php echo $this->__('Bank Name') ?></label>
|
177 |
-
<span><?php echo $
|
178 |
</div>
|
179 |
-
<?php elseif($
|
180 |
<div class="columns three a">
|
181 |
<label><?php echo $this->__('Bank account holder name') ?></label>
|
182 |
-
<span><?php echo $
|
183 |
</div>
|
184 |
<div class="columns three b">
|
185 |
<label><?php echo $this->__('Bank Account Number') ?></label>
|
186 |
-
<span><?php echo $
|
187 |
</div>
|
188 |
<div class="columns three c">
|
189 |
<label><?php echo $this->__('Country') ?></label>
|
190 |
-
<span><?php echo $
|
191 |
</div>
|
192 |
-
<?php elseif($
|
193 |
<div class="columns three a">
|
194 |
<label><?php echo $this->__('Bank account holder name') ?></label>
|
195 |
-
<span><?php echo $
|
196 |
</div>
|
197 |
<div class="columns three b">
|
198 |
<label><?php echo $this->__('IBAN') ?></label>
|
199 |
-
<span><?php echo $
|
200 |
</div>
|
201 |
<div class="columns three c">
|
202 |
<label><?php echo $this->__('Country') ?></label>
|
203 |
-
<span><?php echo $
|
204 |
</div>
|
205 |
<?php endif;?>
|
206 |
</li>
|
24 |
* @property Adyen B.V
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
|
|
|
|
27 |
|
28 |
+
?>
|
29 |
+
<?php
|
30 |
+
/** @var Adyen_Payment_Block_Form_Oneclick $this */
|
31 |
+
$_code = $this->getMethodCode();
|
32 |
+
$_recurringDetails = $this->getRecurringDetails();
|
33 |
+
?>
|
34 |
<fieldset id="" class="">
|
35 |
<ul class="form-list adyen_oneclick" id="payment_form_<?php echo $_code ?>" style="display:none">
|
36 |
<li>
|
37 |
+
<?php if(isset($_recurringDetails["card_number"]) && isset($_recurringDetails["card_expiryMonth"]) && isset($_recurringDetails["card_expiryYear"]) ): ?>
|
|
|
|
|
|
|
|
|
|
|
38 |
<div class="columns three a">
|
39 |
<label><?php echo $this->__('Credit Card Number') ?></label>
|
40 |
+
<span><?php echo $this->__('**** **** **** %s', $_recurringDetails["card_number"]); ?></span>
|
41 |
</div>
|
42 |
|
43 |
<div class="columns three b">
|
44 |
<label><?php echo $this->__('Expiration Date') ?><a href="#" id="update-expiration-date-<?php echo $_code; ?>" class="update-expiration-date"><?php echo $this->__('(update)') ?></a></label>
|
45 |
|
46 |
<div id="static-card-expiry-<?php echo $_code; ?>" class="static-card-expiry">
|
47 |
+
<?php echo $_recurringDetails["card_expiryMonth"] . " / " . $_recurringDetails["card_expiryYear"]; ?>
|
48 |
</div>
|
49 |
<div id="changable-card-expiry-<?php echo $_code; ?>" class="changable-card-expiry" style="display:none;">
|
50 |
<select id="<?php echo $_code ?>_expiration_<?php echo $_code; ?>" <?php echo (!$this->isCseEnabled() ? "name=\"payment[oneclick_exp_month]\"" : "data-encrypted-name-oneclick-" . $_code . "=expiryMonth"); ?> class="month validate-oneclick-exp required-entry">
|
51 |
<?php foreach ($this->getCcMonths() as $k=>$v): ?>
|
52 |
+
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$_recurringDetails["card_expiryMonth"]): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
|
53 |
<?php endforeach ?>
|
54 |
</select>
|
55 |
|
56 |
<select id="<?php echo $_code ?>_expiration_yr_<?php echo $_code; ?>" <?php echo (!$this->isCseEnabled() ? "name=\"payment[oneclick_exp_year]\"" : "data-encrypted-name-oneclick-" . $_code . "=expiryYear"); ?> class="year required-entry">
|
57 |
<?php foreach ($this->getCcYears() as $k=>$v): ?>
|
58 |
+
<option value="<?php echo $k?$k:'' ?>"<?php if($k==$_recurringDetails["card_expiryYear"]): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
|
59 |
<?php endforeach ?>
|
60 |
</select>
|
61 |
</div>
|
62 |
</div>
|
63 |
|
64 |
+
<?php if( $this->showCvc()):
|
65 |
// set max lenght cvc code
|
66 |
+
if($_recurringDetails["variant"] == "amex") {
|
67 |
$maxLenght = "4";
|
68 |
$class = "validate-length maximum-length-4 minimum-length-4 validate-digits";
|
69 |
} else {
|
70 |
$maxLenght = "3";
|
71 |
$class = "validate-length maximum-length-3 minimum-length-3 validate-digits";
|
72 |
}
|
73 |
+
?>
|
74 |
<div class="columns three c">
|
75 |
<label><?php echo $this->__('Card Verification Number') ?></label>
|
76 |
<?php if($this->hasVerification()): ?>
|
162 |
</script>
|
163 |
<?php endif;?>
|
164 |
|
165 |
+
<?php elseif(isset($_recurringDetails["variant"]) && $_recurringDetails["variant"] == "elv"): ?>
|
166 |
<div class="columns three a">
|
167 |
<label><?php echo $this->__('Account holder name') ?></label>
|
168 |
+
<span><?php echo $_recurringDetails["elv_accountHolderName"]; ?></span>
|
169 |
</div>
|
170 |
<div class="columns three b">
|
171 |
<label><?php echo $this->__('Account Number') ?></label>
|
172 |
+
<span><?php echo $_recurringDetails["elv_bankAccountNumber"]; ?></span>
|
173 |
</div>
|
174 |
<div class="columns three c">
|
175 |
<label><?php echo $this->__('Bank Name') ?></label>
|
176 |
+
<span><?php echo $_recurringDetails["elv_bankName"]; ?></span>
|
177 |
</div>
|
178 |
+
<?php elseif(isset($_recurringDetails["variant"]) && $_recurringDetails["variant"] == "openinvoice"): ?>
|
179 |
<div class="columns three a">
|
180 |
<label><?php echo $this->__('Bank account holder name') ?></label>
|
181 |
+
<span><?php echo $_recurringDetails["bank_ownerName"]; ?></span>
|
182 |
</div>
|
183 |
<div class="columns three b">
|
184 |
<label><?php echo $this->__('Bank Account Number') ?></label>
|
185 |
+
<span><?php echo $_recurringDetails["bank_bankAccountNumber"]; ?></span>
|
186 |
</div>
|
187 |
<div class="columns three c">
|
188 |
<label><?php echo $this->__('Country') ?></label>
|
189 |
+
<span><?php echo $_recurringDetails["bank_countryCode"]; ?></span>
|
190 |
</div>
|
191 |
+
<?php elseif(isset($_recurringDetails["variant"]) && ($_recurringDetails["variant"] == "sepadirectdebit" || $_recurringDetails["variant"] == "ideal") ): ?>
|
192 |
<div class="columns three a">
|
193 |
<label><?php echo $this->__('Bank account holder name') ?></label>
|
194 |
+
<span><?php echo $_recurringDetails["bank_ownerName"]; ?></span>
|
195 |
</div>
|
196 |
<div class="columns three b">
|
197 |
<label><?php echo $this->__('IBAN') ?></label>
|
198 |
+
<span><?php echo $_recurringDetails["bank_iban"]; ?></span>
|
199 |
</div>
|
200 |
<div class="columns three c">
|
201 |
<label><?php echo $this->__('Country') ?></label>
|
202 |
+
<span><?php echo $_recurringDetails["bank_countryCode"]; ?></span>
|
203 |
</div>
|
204 |
<?php endif;?>
|
205 |
</li>
|
app/design/frontend/base/default/template/adyen/form/sepa.phtml
CHANGED
@@ -36,7 +36,7 @@ $_code = $this->getMethodCode();
|
|
36 |
type="text" id="<?php echo $_code ?>_account_name" name="payment[account_name]"
|
37 |
title="<?php echo $this->__('Bank account holder name') ?>"
|
38 |
class="validate-ipayment-sepa-account-name required-entry input-text"
|
39 |
-
value="" autocomplete="off"
|
40 |
/>
|
41 |
</div>
|
42 |
</li>
|
@@ -46,8 +46,8 @@ $_code = $this->getMethodCode();
|
|
46 |
<input
|
47 |
type="text" id="<?php echo $_code ?>_iban" name="payment[iban]"
|
48 |
title="<?php echo $this->__('IBAN') ?>"
|
49 |
-
class="validate-ipayment-sepa-iban required-entry input-text"
|
50 |
-
value="" autocomplete="off"
|
51 |
/>
|
52 |
</div>
|
53 |
</li>
|
@@ -58,11 +58,20 @@ $_code = $this->getMethodCode();
|
|
58 |
<select id="<?php echo $_code ?>_country" name="payment[country]" name="payment[country]" title="<?php echo $this->__('Country') ?>" class="validate-ipayment-sepa-country required-entry input-√√√">
|
59 |
<option value="">--</option>
|
60 |
<?php foreach($this->getCountries() as $_country): ?>
|
61 |
-
<option value="<?php echo $_country['value'] ?>"<?php echo ($_country['value'] == $this->
|
62 |
<?php endforeach; ?>
|
63 |
</select>
|
64 |
</div>
|
65 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</ul>
|
67 |
</fieldset>
|
68 |
<div>
|
@@ -70,4 +79,3 @@ $_code = $this->getMethodCode();
|
|
70 |
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> <?php echo $this->__('Submitting payment information...') ?>
|
71 |
</span>
|
72 |
</div>
|
73 |
-
|
36 |
type="text" id="<?php echo $_code ?>_account_name" name="payment[account_name]"
|
37 |
title="<?php echo $this->__('Bank account holder name') ?>"
|
38 |
class="validate-ipayment-sepa-account-name required-entry input-text"
|
39 |
+
value="<?php echo $this->getBankHolderValue(); ?>" autocomplete="off"
|
40 |
/>
|
41 |
</div>
|
42 |
</li>
|
46 |
<input
|
47 |
type="text" id="<?php echo $_code ?>_iban" name="payment[iban]"
|
48 |
title="<?php echo $this->__('IBAN') ?>"
|
49 |
+
class="validate-ipayment-sepa-iban validate-iban-number required-entry input-text"
|
50 |
+
value="<?php echo $this->getIbanValue(); ?>" autocomplete="off"
|
51 |
/>
|
52 |
</div>
|
53 |
</li>
|
58 |
<select id="<?php echo $_code ?>_country" name="payment[country]" name="payment[country]" title="<?php echo $this->__('Country') ?>" class="validate-ipayment-sepa-country required-entry input-√√√">
|
59 |
<option value="">--</option>
|
60 |
<?php foreach($this->getCountries() as $_country): ?>
|
61 |
+
<option value="<?php echo $_country['value'] ?>"<?php echo ($_country['value'] == $this->getCountryValue()) ? " selected" : ""; ?>><?php echo $_country['label'] ?></option>
|
62 |
<?php endforeach; ?>
|
63 |
</select>
|
64 |
</div>
|
65 |
</li>
|
66 |
+
|
67 |
+
<li id="no-agreement">
|
68 |
+
<div class="input-box">
|
69 |
+
<div class="v-fix">
|
70 |
+
<input class="required-entry" type="checkbox" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
|
71 |
+
<label for="<?php echo $_code ?>_accept_sepa"><?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?></label>
|
72 |
+
</div>
|
73 |
+
</div>
|
74 |
+
</li>
|
75 |
</ul>
|
76 |
</fieldset>
|
77 |
<div>
|
79 |
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> <?php echo $this->__('Submitting payment information...') ?>
|
80 |
</span>
|
81 |
</div>
|
|
app/design/frontend/base/default/template/adyen/saved_cards.phtml
DELETED
@@ -1,157 +0,0 @@
|
|
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 |
-
<?php /* @var $this Adyen_Payment_Block_SavedCards */ ?>
|
30 |
-
<div class="page-title">
|
31 |
-
<h1><?php echo $this->__('My Saved cards') ?></h1>
|
32 |
-
</div>
|
33 |
-
|
34 |
-
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
35 |
-
|
36 |
-
<div class="saved-cards">
|
37 |
-
|
38 |
-
<div id="oneclick-cse" class="">
|
39 |
-
|
40 |
-
<?php $_listRecurringDetails = $this->getlistRecurringDetails(); ?>
|
41 |
-
|
42 |
-
<?php if(!empty($_listRecurringDetails)): ?>
|
43 |
-
|
44 |
-
<ul id="oneclick_payment_form" class="recurring-creditcards">
|
45 |
-
<?php
|
46 |
-
$count = 0;
|
47 |
-
foreach($_listRecurringDetails as $key => $value):?>
|
48 |
-
<li>
|
49 |
-
|
50 |
-
<form method="post" action="<?php echo $this->getUrl("adyen/savedCard/", array('_secure'=>true)); ?>">
|
51 |
-
|
52 |
-
<input type="hidden" name="recurringDetailReference" value="<?php echo $value["recurringDetailReference"] ?>" />
|
53 |
-
|
54 |
-
|
55 |
-
<div class="creditcard-block">
|
56 |
-
<?php
|
57 |
-
$_bankFile = $value["variant"];
|
58 |
-
$_filename = Mage::getDesign()->getFilename("images/adyen/{$_bankFile}.png", array('_type' => 'skin'));
|
59 |
-
$imageUrl = file_exists($_filename)
|
60 |
-
? $this->getSkinUrl("images/adyen/{$_bankFile}.png")
|
61 |
-
: $this->getSkinUrl("images/adyen/img_trans.gif");
|
62 |
-
|
63 |
-
?>
|
64 |
-
|
65 |
-
<img src="<?php echo $imageUrl; ?>" alt="<?php echo $_bankFile ?>" label="<?php echo $_bankFile ?>" />
|
66 |
-
|
67 |
-
|
68 |
-
<?php if(isset($value["card_number"]) && isset($value["card_expiryMonth"]) && isset($value["card_expiryYear"]) ): ?>
|
69 |
-
<div class="columns three a">
|
70 |
-
<label><?php echo $this->__('Credit Card Number') ?></label>
|
71 |
-
<span>****</span> <?php echo $value["card_number"]; ?>
|
72 |
-
</div>
|
73 |
-
|
74 |
-
<div class="columns three b">
|
75 |
-
<label><?php echo $this->__('Expiration Date') ?><a href="#" id="update-expiration-date-<?php echo $key; ?>" class="update-expiration-date" style="display:none;"><?php echo $this->__('(update)') ?></a></label>
|
76 |
-
|
77 |
-
<div id="static-card-expiry-<?php echo $key; ?>" class="static-card-expiry">
|
78 |
-
<?php echo $value["card_expiryMonth"] . " /" . $value["card_expiryYear"]; ?>
|
79 |
-
</div>
|
80 |
-
|
81 |
-
</div>
|
82 |
-
|
83 |
-
<div style="clear:both;"></div>
|
84 |
-
|
85 |
-
<div class="creditcard-holder-name"><?php echo $value["card_holderName"]; ?></div>
|
86 |
-
|
87 |
-
<?php elseif($value["variant"] == "elv"): ?>
|
88 |
-
|
89 |
-
<div class="columns three a">
|
90 |
-
<label><?php echo $this->__('Account Number') ?></label>
|
91 |
-
<span><?php echo $value["elv_bankAccountNumber"]; ?></span>
|
92 |
-
</div>
|
93 |
-
|
94 |
-
<div class="columns three b">
|
95 |
-
<label><?php echo $this->__('Bank Name') ?></label>
|
96 |
-
<span><?php echo $value["elv_bankName"]; ?></span>
|
97 |
-
</div>
|
98 |
-
|
99 |
-
<div style="clear:both;"></div>
|
100 |
-
|
101 |
-
<div class="creditcard-holder-name"><?php echo $value["elv_bankName"]; ?></div>
|
102 |
-
|
103 |
-
<?php elseif($value["variant"] == "openinvoice"): ?>
|
104 |
-
|
105 |
-
<div class="columns three a">
|
106 |
-
<label><?php echo $this->__('Account Number') ?></label>
|
107 |
-
<span><?php echo $value["bank_bankAccountNumber"]; ?></span>
|
108 |
-
</div>
|
109 |
-
|
110 |
-
<div class="columns three b">
|
111 |
-
<label><?php echo $this->__('Country') ?></label>
|
112 |
-
<span><?php echo $value["bank_countryCode"]; ?></span>
|
113 |
-
</div>
|
114 |
-
|
115 |
-
<div style="clear:both;"></div>
|
116 |
-
|
117 |
-
<div class="creditcard-holder-name"><?php echo $value["bank_ownerName"]; ?></div>
|
118 |
-
|
119 |
-
<?php elseif($value["variant"] == "sepadirectdebit" || $value["variant"] == "ideal" ): ?>
|
120 |
-
|
121 |
-
<div class="columns three a">
|
122 |
-
<label><?php echo $this->__('IBAN') ?></label>
|
123 |
-
<span><?php echo $value["bank_iban"]; ?></span>
|
124 |
-
</div>
|
125 |
-
|
126 |
-
<div class="columns three b">
|
127 |
-
<label><?php echo $this->__('Country') ?></label>
|
128 |
-
<span><?php echo $value["bank_countryCode"]; ?></span>
|
129 |
-
</div>
|
130 |
-
|
131 |
-
<div style="clear:both;"></div>
|
132 |
-
|
133 |
-
<div class="creditcard-holder-name"><?php echo $value["bank_ownerName"]; ?></div>
|
134 |
-
|
135 |
-
<?php endif; ?>
|
136 |
-
|
137 |
-
<button type="submit" title="Add to Cart" class="button btn-cart btn-delete"><span><span><?php echo $this->__('Remove Card');?></span></span></button>
|
138 |
-
|
139 |
-
<div style="clear:both;"></div>
|
140 |
-
</div>
|
141 |
-
</form>
|
142 |
-
<?php ++$count; ?>
|
143 |
-
</li>
|
144 |
-
<?php endforeach; ?>
|
145 |
-
</ul>
|
146 |
-
<?php else: ?>
|
147 |
-
<p><?php echo $this->__('There are no saved cards for this account.');?></p>
|
148 |
-
<?php endif; ?>
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
</div>
|
153 |
-
|
154 |
-
<div class="buttons-set">
|
155 |
-
<p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
156 |
-
</div>
|
157 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/design/frontend/base/default/template/adyen/scan_product.phtml
CHANGED
@@ -117,13 +117,15 @@
|
|
117 |
e.preventDefault();
|
118 |
});
|
119 |
|
120 |
-
$(
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
|
|
127 |
|
128 |
|
129 |
|
117 |
e.preventDefault();
|
118 |
});
|
119 |
|
120 |
+
<?php if($this->hasAutoSubmitScanner()): ?>
|
121 |
+
$('SubmitScan').observe('click', function(e){
|
122 |
+
var value = $('inpscan').value;;
|
123 |
+
ajaxCall(value);
|
124 |
+
$('inpscan').value = "";
|
125 |
+
$('inpscan').focus();
|
126 |
+
e.preventDefault();
|
127 |
+
});
|
128 |
+
<?php endif; ?>
|
129 |
|
130 |
|
131 |
|
app/locale/de_DE/Adyen_Payment.csv
CHANGED
@@ -54,4 +54,4 @@
|
|
54 |
"Remember these details","Sollen diese Angaben für weitere Besuche gespeichert werden"
|
55 |
"Choose Your Bank","Wählen Sie ihre Bank aus"
|
56 |
"You chose an invalid bank","Sie haben eine ungültige Bank ausgewählt"
|
57 |
-
You have cancelled the order. Please try again", "Sie haben den Auftrag storniert. Bitte versuchen Sie es erneut"
|
54 |
"Remember these details","Sollen diese Angaben für weitere Besuche gespeichert werden"
|
55 |
"Choose Your Bank","Wählen Sie ihre Bank aus"
|
56 |
"You chose an invalid bank","Sie haben eine ungültige Bank ausgewählt"
|
57 |
+
"You have cancelled the order. Please try again", "Sie haben den Auftrag storniert. Bitte versuchen Sie es erneut"
|
app/locale/es_ES/Adyen_Payment.csv
CHANGED
@@ -54,4 +54,4 @@
|
|
54 |
"Remember these details","Recordar estos datos"
|
55 |
"Choose Your Bank","Elija su Banco"
|
56 |
"You chose an invalid bank","El Banco elegido es inválido. "
|
57 |
-
You have cancelled the order. Please try again"
|
54 |
"Remember these details","Recordar estos datos"
|
55 |
"Choose Your Bank","Elija su Banco"
|
56 |
"You chose an invalid bank","El Banco elegido es inválido. "
|
57 |
+
"You have cancelled the order. Please try again"
|
app/locale/fr_FR/Adyen_Payment.csv
CHANGED
@@ -54,4 +54,4 @@
|
|
54 |
"Remember these details","Sauvegarder ces informations"
|
55 |
"Choose Your Bank","Choisir votre banque"
|
56 |
"You chose an invalid bank","Vous avez choisi une banque invalide"
|
57 |
-
You have cancelled the order. Please try again"
|
54 |
"Remember these details","Sauvegarder ces informations"
|
55 |
"Choose Your Bank","Choisir votre banque"
|
56 |
"You chose an invalid bank","Vous avez choisi une banque invalide"
|
57 |
+
"You have cancelled the order. Please try again"
|
app/locale/nl_NL/Adyen_Payment.csv
CHANGED
@@ -53,10 +53,13 @@
|
|
53 |
"Your payment is pending.","Betaling wordt verwerkt."
|
54 |
"Your payment is refused.","Betaling tegengehouden."
|
55 |
"Your payment is authorized.","Betaling bevestigd."
|
56 |
-
"Remember these details","Onthoud deze gegevens"
|
57 |
"Choose Your Bank","Kies uw bank"
|
58 |
"You chose an invalid bank","U heeft een ongeldige bank geselecteerd."
|
59 |
"Male","Man"
|
60 |
"Female","Vrouw"
|
61 |
"You have cancelled the order. Please try again","U heeft de betaling geannuleerd, probeer het nogmaals."
|
62 |
"Your payment failed, Please try again later","Deze betaalmethode is niet beschikbaar voor u op het moment. Kies voor andere betaalmethode om de bestelling af te ronden"
|
|
|
|
|
|
53 |
"Your payment is pending.","Betaling wordt verwerkt."
|
54 |
"Your payment is refused.","Betaling tegengehouden."
|
55 |
"Your payment is authorized.","Betaling bevestigd."
|
56 |
+
"Remember these details","Onthoud deze gegevens voor de volgende keer."
|
57 |
"Choose Your Bank","Kies uw bank"
|
58 |
"You chose an invalid bank","U heeft een ongeldige bank geselecteerd."
|
59 |
"Male","Man"
|
60 |
"Female","Vrouw"
|
61 |
"You have cancelled the order. Please try again","U heeft de betaling geannuleerd, probeer het nogmaals."
|
62 |
"Your payment failed, Please try again later","Deze betaalmethode is niet beschikbaar voor u op het moment. Kies voor andere betaalmethode om de bestelling af te ronden"
|
63 |
+
"Bank account holder name","Naam rekeninghouder",
|
64 |
+
"IBAN","IBAN"
|
65 |
+
"Invalid Iban number.","Ongeldig IBAN nummer"
|
js/adyen/payment/iban.js
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Validation.add('validate-iban-number', 'Invalid IBAN number', function(v) {
|
2 |
+
var remainder = prepareIban(v),
|
3 |
+
block;
|
4 |
+
|
5 |
+
while (remainder.length > 2){
|
6 |
+
block = remainder.slice(0, 9);
|
7 |
+
remainder = parseInt(block, 10) % 97 + remainder.slice(block.length);
|
8 |
+
}
|
9 |
+
|
10 |
+
return (parseInt(remainder, 10) % 97) == 1
|
11 |
+
});
|
12 |
+
|
13 |
+
var A = 'A'.charCodeAt(0),
|
14 |
+
Z = 'Z'.charCodeAt(0);
|
15 |
+
|
16 |
+
function prepareIban(iban) {
|
17 |
+
iban = iban.toUpperCase();
|
18 |
+
iban = iban.substr(4) + iban.substr(0,4);
|
19 |
+
|
20 |
+
return iban.split('').map(function(n){
|
21 |
+
var code = n.charCodeAt(0);
|
22 |
+
if (code >= A && code <= Z){
|
23 |
+
return code - A + 10;
|
24 |
+
} else {
|
25 |
+
return n;
|
26 |
+
}
|
27 |
+
}).join('');
|
28 |
+
}
|
package.xml
CHANGED
@@ -1,26 +1,21 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Adyen_Payment</name>
|
4 |
-
<version>2.
|
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>
|
8 |
<extends/>
|
9 |
<summary>Magento Plugin for Payment service provider Adyen</summary>
|
10 |
<description>Magento Plugin for Payment Service Provider Adyen. The plugin supports the Magento Community and Enterprise edition. Inhouse support on magento@adyen.com as well available through GitHub on https://github.com/adyenpayments/magento</description>
|
11 |
-
<notes>
|
12 |
-
#331 Add full support to partial gift cards payments
|
13 |

|
14 |
-
|
15 |
-
|
16 |
-
#329 Remove validation on Notification for HPP payments
|
17 |
-
#333 Missing closing ) of Javascript function
|
18 |
-
#341 Put back the IP version check for Adyen POS and added it for adyen cash
|
19 |
-
#349 Content-Type headers need to be cleared for use with php-fpm / nginx.</notes>
|
20 |
<authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
|
21 |
-
<date>2015-07
|
22 |
-
<time>14:
|
23 |
-
<contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><dir name="Queue"><file name="Grid.php" hash="1565d210471f6b1705484340dcc0618e"/></dir><file name="Queue.php" hash="d9d4d4113656ba4d6c97cf8e4c52b903"/></dir></dir><dir name="Form"><dir name="Field"><file name="Installments.php" hash="e73b36349ac2ac5f9687cd5ce5958e53"/></dir></dir><dir name="Sales"><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="1460f2048e15c0d08405c00e68653a47"/></dir><dir name="Filter"><file name="Adyen.php" hash="f0428953d0ffb335d0d4a1362500ec2e"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="187f435758aaf4d484c7c7a6ed1678b5"/></dir><file name="Totals.php" hash="e56db3fa837b78c3fa79851a82bac575"/></dir></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Payment.php" hash="1976ae2cccf9cbd106ff369625d5120b"/></dir><file name="TestWebserverConfiguration.php" hash="077e2befacb92e0eb9e5344fd3e0c4a5"/></dir></dir><file name="Version.php" hash="8ae6d538b9616499eb898579bef4abaa"/></dir><dir name="Checkout"><file name="Success.php" hash="b9df579840feb9a3579d563daa61425b"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="3aa44470fbf8a17a9a5df616296fb9b6"/><file name="Cash.php" hash="9e002a75111dced6b0faee374676ed85"/><file name="Cc.php" hash="93dd8057e5b5cb045538f9a2e5c362b4"/><file name="Elv.php" hash="4e2bb10687932be2523670ec73e02395"/><file name="Hpp.php" hash="48c854294efcfea8f2d246364b757188"/><file name="Ideal.php" hash="6a7f476ca4f81a71d607a91df9f287a6"/><file name="Oneclick.php" hash="19d96a47a08d30cbeab3f06b497f99b9"/><file name="Openinvoice.php" hash="45e523e0e8c0a5e34f720d739739016d"/><file name="PayByMail.php" hash="251095b5bbe53c4453980afd198e3c10"/><file name="Pos.php" hash="a80c02b4f15a7c54866ca08adcfca82a"/><file name="Sepa.php" hash="6e440966124884cbb9a1b9cf19bb7192"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="6068acbb3d3dec90a797390871150956"/><file name="Cash.php" hash="41a920940198d51029ad9cad8f6b6b00"/><file name="Cc.php" hash="11dfe3d43bb6a8d89bb1746c8c2f6415"/><file name="Elv.php" hash="09a10412250e2bed303a189cfb216254"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Oneclick.php" hash="b0fb295f9a0572f92f0a1dc7108b9e8a"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="PayByMail.php" hash="3fa120141efed3f402aacf75f80432b4"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="2f6fbcfeb770a208abc9c8dd4cd1a613"/></dir><file name="PosExpressCheckout.php" hash="ee5348fb15ead9b2adb7c1ebd8b1b4df"/><file name="Redirect.php" hash="e17239447f47ada37fab15ff71141703"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="0a566f422191f5e365cc7a1811c00c20"/></dir></dir><file name="SavedCards.php" hash="3fe47b88678d0c30aa3fc6b2b9592eae"/><file name="ScanProduct.php" hash="31c08b14b9e17a8f065b7d553470d518"/></dir><dir name="Helper"><file name="Data.php" hash="7a6ed6773afa42076929074c8cda653e"/><file name="Installments.php" hash="6bfc01af88a457be9f444aade1fd5e1d"/><dir name="Payment"><file name="Data.php" hash="621d8a9f81f35109da2e879db0285b24"/></dir><file name="Pci.php" hash="1ea63057346675d2cbf337d124fc47b7"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="c36ff3865235dd989a1f5d84af6d8104"/><file name="Boleto.php" hash="4f43d3ca646794f16b8521cc3863690a"/><file name="Cash.php" hash="0ac9af55b6d62b9dcead5398b2916e44"/><file name="Cc.php" hash="60eb5ccdb0343b45236be522bddc652a"/><dir name="Data"><file name="Abstract.php" hash="90c19c5a7d79c1a53f85b77728ffc318"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Address.php" hash="1ebe7211a9ada35e346d50a43e4d1045"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BillingAddress.php" hash="05d2568acb382d242635b7fbfef26afe"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="DeliveryAddress.php" hash="8a97c0555842c9f8108a202125e48724"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="caa2f530ea8a2100fee55f9d16fa8235"/><file name="ModificationRequest.php" hash="14240a6cbc31ffed7ea7e052e20aed57"/><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="68391a7b4b2a460967ec0018a2300396"/><file name="PaymentRequest.php" hash="e06538a160005141a4e34be998191780"/><file name="PaymentRequest3d.php" hash="9db425c9bb6cf15498995afeb779a615"/><file name="Recurring.php" hash="ae069455222f0315c2eaee6cdf84f461"/><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="ab624ee949965819bcc629ce39946334"/><file name="Hpp.php" hash="dd6265bfde24693e92bc2c8e4371bf55"/><file name="Ideal.php" hash="ccd1c07806f9c31e0f391242e9cb4949"/><file name="Oneclick.php" hash="b0e39dec35993b775333b250ea66c339"/><file name="Openinvoice.php" hash="0323e497f44454de9d166a8090a68eb2"/><file name="PayByMail.php" hash="e861fa73b1f5f018430352d09e6e98c7"/><file name="Pos.php" hash="84b98b86d5ba76f85217a75dd98afcc4"/><file name="Sepa.php" hash="d37538658867fdd5b34b5cb7f2c647d1"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Authenticate.php" hash="fdc6bc00989a4aaadfc6f4a64395e278"/><file name="Cronjob.php" hash="3fa8291eb3f98a1ab48879fa467686b0"/><dir name="Event"><file name="Queue.php" hash="3f17b99a54cf5d910c3320e7a38d0ea3"/></dir><file name="Event.php" hash="632bfefbb6c2edab79d2be1b082a69bf"/><file name="GetPosOrderStatus.php" hash="682e47f436377b1f3e41f0092051bfc6"/><file name="Observer.php" hash="e8f1d0438068f1569706c7b13082811a"/><file name="Process.php" hash="fdbbfc7b61222edefcf81af81a12d0f4"/><file name="ProcessNotification.php" hash="63d5f54ce22d0413b5532003dc55d2db"/><file name="ProcessPosResult.php" hash="6630a1ed1d4a81996a7f3714d6ee6990"/><dir name="Resource"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="17ac8dbcf67d0df518ef2d94c3206fd5"/></dir><file name="Debug.php" hash="d1de3e55152ab586971d08950ced8faa"/><dir name="Event"><file name="Collection.php" hash="33b8b85c9c7b3d2428e9b23a9e7e0c72"/></dir><file name="Event.php" hash="4f398e0de5b8a2a9ec5f87480e13da67"/></dir><dir name="Event"><dir name="Queue"><file name="Collection.php" hash="9dffd9015dfa7cd8498e5961f9ab66f3"/></dir><file name="Queue.php" hash="b8a4c3ed5adaaacf8b6192d05937e390"/></dir><file name="Order.php" hash="32950fec5760e2e7f167af451e313129"/><file name="Setup.php" hash="4e2258146a321cad436984ca223a9e5b"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="a5b1568d998315c1fbfae5c74405e41b"/><file name="PaymentInstallmentFee.php" hash="da284541372973799ea956771799cb72"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CancelRedirect.php" hash="f71a598d56641cc5550812abd7f3d9b7"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="a27d98867f6c9d9245c242919a869ed6"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PayPalCaptureModes.php" hash="efdc4f49677ed257af337bb64d06d132"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><file name="Rendermode.php" hash="5d55655d4bd2a49b113446ec10519be6"/><file name="SepaFlow.php" hash="64e6fd9181772db70e3dfc012c117a46"/><dir name="Status"><file name="Complete.php" hash="1580706a7d28010ed5acc678f549df73"/><file name="Pending.php" hash="53e624a2a6b76b4e6dee7f4eece245b1"/><file name="Refund.php" hash="f763d00e989f39dce9daddb7c1bd28f6"/></dir><file name="VisibleType.php" hash="ecc88ad246d8e52316d53f879d615803"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir><dir name="Total"><dir name="PaymentFee"><file name="Creditmemo.php" hash="738f7b84586d51cd875011d6b31dfd3e"/><file name="Invoice.php" hash="8aa607b99f709a5eee9b76675e2d5ada"/></dir><dir name="PaymentInstallmentFee"><file name="Creditmemo.php" hash="b40551c179c19ccea7be11a5edf6be4c"/><file name="Invoice.php" hash="5f4563813511aff2eafb98cf4943d817"/></dir></dir><file name="ValidateResultUrl.php" hash="d9518d726eb205183b1779a75e5e6618"/><file name=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><file name="QueueController.php" hash="4349d643154b8ac0a10e1c36271882c7"/></dir></dir><file name="ExportAdyenSettingsController.php" hash="0e00e37b119d3b5b61d22f93d88046e1"/><file name="ValidateWebserverSettingsController.php" hash="70db09120f59b4933de5b83d5a83e6c0"/></dir><file name="CheckoutCashController.php" hash="33c9f26d8fa0260ec9daccea3638c609"/><file name="CheckoutPosController.php" hash="59a14c7e7e916ab79304551072b574bb"/><file name="GetInstallmentsController.php" hash="e8401d9b5dd01efc8f6ea535087963bd"/><file name="ProcessController.php" hash="39ffd8cabbd0e278372e5a56d9cd1527"/><file name="SavedCardController.php" hash="db57de304ee0cccc9bbec470ec27398a"/><file name="UpdateCartController.php" hash="c7280eb6b5b5f87e2dd9f06cc4370e97"/></dir><dir name="data"><dir name="adyen_setup"><file name="data-upgrade-2.1.2.3-2.1.2.4.php" hash="8262bf4038ba435fe15bd08c36814936"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="4190412f599a3eac827d7ed0931754da"/><file name="adminhtml.xml" hash="77f449af89755295ba515ea52dfda649"/><file name="config.xml" hash="668c7e132aa76fc2136f108589c0b241"/><file name="system.xml" hash="1f7b0e4dbba96e39fda98d0517b44361"/></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="91a318943b2ead4fd5d3dc7cfa04023e"/><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="b185927a102e0cefa08fe155cfa16004"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="fc4fc300116a7e471fd35699979f21f7"/><file name="mysql4-upgrade-2.1.1-2.1.2.1.php" hash="50716af509a51f67eb3535f59206d3c1"/><file name="mysql4-upgrade-2.1.2.1-2.1.2.2.php" hash="42480b5f0081e89faa8da76e53d10a91"/><file name="mysql4-upgrade-2.1.2.2-2.1.2.3.php" hash="3c68f09a8bcd44943587428ee24e0947"/><file name="mysql4-upgrade-2.2.0-2.2.0.1.php" hash="62cba81b54d9d8f09733946093da241a"/><file name="mysql4-upgrade-2.2.2-2.2.2.1.php" hash="c2353636858c03e61e782c7d809bbab5"/><file name="mysql4-upgrade-2.3.0-2.3.0.1.php" hash="292d256967fceedea3250c8084839ec1"/></dir></dir><file name=".DS_Store" hash="282419beef00918e7192da78057ace9d"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="088b576dc010f4a7983837fa13785472"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="d54095e88b03dcee8ef3183b24a2468b"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="38457f21f239afbed434bdae45bef0e3"/><file name="oneclick.phtml" hash="b02fcaf3400be660b4fcb45c3fbdcd05"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="3242268216a2a26cf28b97236cdc92a1"/></dir><dir name="info"><file name="boleto.phtml" hash="78f08b7f59ff049f189d61758b7abced"/><file name="cc.phtml" hash="608567b02456894e5b1dbaa2484a9380"/><file name="elv.phtml" hash="bda2d4870da5a283d9561b66b76e8114"/><file name="hpp.phtml" hash="ee5fd9ccc1b4f7fd1f575d0d53d87c8f"/><file name="openinvoice.phtml" hash="86fecfa81c87af7464f38f43c7db9be6"/><file name="pay_by_mail.phtml" hash="617bf20851918b200a4a980a68908162"/><file name="pos.phtml" hash="dfef416dc70f315bf9904dafce4f19d6"/><file name="sepa.phtml" hash="ca2a1b25f4652e9411ae6ff8b2a0f04e"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="ecc91b3df7776b2c2a6dc4a52d1892d2"/><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><dir name="system"><dir name="config"><file name="test_webserver_configuration.phtml" hash="e16033f88d5c5bc4a25cbb860f620022"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><dir name="checkout"><file name="success.phtml" hash="4c06b168acd8971e20a7c8d1205c264b"/><file name=".DS_Store" hash="21ecd78ea5715d7392b2d8a533c6630a"/></dir><dir name="form"><file name="boleto.phtml" hash="309a0152cd5219e2c22da4270307222c"/><file name="cc.phtml" hash="8c0ff09b5c12e0a7b6b6389c2c7d2a66"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="5e2f2ed4fb91dec2d62a0311a21415e0"/><file name="ideal.phtml" hash="d693c356f0e7f8eca20ac086c665a135"/><file name="oneclick.phtml" hash="e5c4ea733ca7235555207e4fa7efd4a6"/><file name="openinvoice.phtml" hash="659c5385af90f70f910d1f3605a0613b"/><file name="pos.phtml" hash="07cbc4b9dbbe63849599dbfd4339cd44"/><file name="sepa.phtml" hash="a479f68dd467d0cb7aa1c6fa2ce2aeb2"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="c540dddb22ca1c9f301c445291d82d16"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="8999dfee0c638f44b5010779b8bbf711"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pay_by_mail.phtml" hash="c09d9f774eeefeb465cc3f425bf7d54e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><dir name="payment"><file name="payment_method_label.phtml" hash="256b943044431874fbaea43760544fcc"/></dir><file name="pos_express_checkout.phtml" hash="9dbbc2237dfda2c735bfb853a5f20efd"/><file name="saved_cards.phtml" hash="b0ff50d615273804c0f6fef55ce31cf9"/><file name="scan_product.phtml" hash="b3b84dc6804f832919406644a0378492"/><file name=".DS_Store" hash="ab6d0ae72b40033c9fed5850d3f5d499"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="36aa974f8fb0e1480925a849309a71c8"/></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="de_DE"><file name="Adyen_Payment.csv" hash="6512eaeaacdfd84b94dbbae212b3f363"/></dir><dir name="es_ES"><file name="Adyen_Payment.csv" hash="b1b6ec9574d78d34839740daa4f0a6c4"/></dir><dir name="fr_FR"><file name="Adyen_Payment.csv" hash="1d55a9a934535f4366744deff69ab94a"/></dir><dir name="nl_NL"><file name="Adyen_Payment.csv" hash="9ff0d198b047eeca70c9fd87b7c96410"/></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="ae_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="afterpay_default.png" hash="a62e3982d50612522be071d4e86eaa6a"/><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="creditcard.png" hash="87a9f022a38f3e96981c420d6571381f"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="cup.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="cup_small.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="dankort.png" hash="aac4acc9e43e896973f36d3e7011a5af"/><file name="dc_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="di_small.png" hash="8573aebe4938afb288749badb22aa091"/><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="elo.png" hash="d8ed45be5e2a933584a58c78a5ec3568"/><file name="elo_small.png" hash="b0c3bec4e8cccf4339e142365a30fca7"/><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="hipercard.png" hash="9310c18cee9f43c4019a7560d74ffd4c"/><file name="hipercard_small.png" hash="d4d0e1aab233b3ec3f94cbbe985fd8ad"/><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="img_trans.gif" hash="325472601571f31e1bf00674c368d335"/><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="payshop.png" hash="c9c79c76313370d9165e814d3d81e062"/><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="pm_gloss.png" hash="dcfc71b0c819e58a1287cd206cfb9d14"/><file name="poli.png" hash="4e14e9d246fdbc07ae58ed8ae639f7b0"/><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="sm_small.png" hash="7814fbfff53e57643137fd68889ec807"/><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="vi_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><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="29f9866a0b5932a9784c063cfee17293"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="6e6d006f2ac96f33a4531d3115f2d852"/><file name="cc.js" hash="2e7a07ae072be379ae707b14771e5d0d"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/><file name="epos-device-2.6.0.js" hash="94c73689bec45b74a311d76400f05ba6"/><file name="epos-device-3.0.0.js" hash="0056bb4902efed998d1fdcfbb7ab3495"/></dir></dir></dir></target></contents>
|
24 |
<compatible/>
|
25 |
<dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
|
26 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Adyen_Payment</name>
|
4 |
+
<version>2.4.0</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>
|
8 |
<extends/>
|
9 |
<summary>Magento Plugin for Payment service provider Adyen</summary>
|
10 |
<description>Magento Plugin for Payment Service Provider Adyen. The plugin supports the Magento Community and Enterprise edition. Inhouse support on magento@adyen.com as well available through GitHub on https://github.com/adyenpayments/magento</description>
|
11 |
+
<notes>Adyen Payment 2.4.0
|
|
|
12 |

|
13 |
+
See release note: 
|
14 |
+
https://github.com/Adyen/magento/releases/tag/2.4.0</notes>
|
|
|
|
|
|
|
|
|
15 |
<authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
|
16 |
+
<date>2015-09-07</date>
|
17 |
+
<time>14:41:04</time>
|
18 |
+
<contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><dir name="Queue"><file name="Grid.php" hash="8638667d1d6a85f72341a839d00bcc19"/></dir><file name="Queue.php" hash="d9d4d4113656ba4d6c97cf8e4c52b903"/></dir></dir><dir name="Form"><dir name="Field"><file name="Installments.php" hash="e73b36349ac2ac5f9687cd5ce5958e53"/></dir></dir><dir name="Sales"><dir name="Billing"><dir name="Agreement"><file name="Grid.php" hash="c2e77faf071a3574af94ff68cf3d1504"/></dir></dir><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="1460f2048e15c0d08405c00e68653a47"/></dir><dir name="Filter"><file name="Adyen.php" hash="f0428953d0ffb335d0d4a1362500ec2e"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="187f435758aaf4d484c7c7a6ed1678b5"/></dir><file name="Totals.php" hash="e56db3fa837b78c3fa79851a82bac575"/></dir></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Expanded.php" hash="f66a1b3d4e0694536fc218c88119ef9a"/><file name="Fieldset.php" hash="d7c4f30338386632f7a83ae489d45a11"/><file name="Gettingstarted.php" hash="de64d67420b16a2d6b3df211404c64ce"/><file name="Method.php" hash="6fe238b70c25c1f8f4ba6f12a53962b9"/></dir><file name="HppPaymentMethodFee.php" hash="4d27e8d3b7f694c599ec2800f093d326"/><file name="TestWebserverConfiguration.php" hash="077e2befacb92e0eb9e5344fd3e0c4a5"/></dir></dir><file name="Version.php" hash="8ae6d538b9616499eb898579bef4abaa"/></dir><dir name="Checkout"><file name="Success.php" hash="b9df579840feb9a3579d563daa61425b"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Abstract.php" hash="0e0bfa5b88007c733d34aee307e0163d"/><file name="Boleto.php" hash="a38cfc7a4f87f487010ba17e3f56cd6c"/><file name="Cash.php" hash="9e002a75111dced6b0faee374676ed85"/><file name="Cc.php" hash="fbe7f107e5502db3298fbd65658d5cf8"/><file name="Elv.php" hash="17869926d968d14f79b5b8a057332634"/><file name="Hpp.php" hash="c3826522312ceb2c350e3a4dc6bb44f7"/><file name="Ideal.php" hash="1c8eff8a808d286b222788c8a2660683"/><file name="Oneclick.php" hash="5ebb577197b60a530098d626d5db15ae"/><file name="Openinvoice.php" hash="f6a93b41cc84a3c69449850cdcde37c7"/><file name="PayByMail.php" hash="251095b5bbe53c4453980afd198e3c10"/><file name="Pos.php" hash="11dff1727f935f2a4871a59e4a5bf9eb"/><file name="Sepa.php" hash="0588eedb4847894302e04b2425ab86ec"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="6068acbb3d3dec90a797390871150956"/><file name="Cash.php" hash="41a920940198d51029ad9cad8f6b6b00"/><file name="Cc.php" hash="11dfe3d43bb6a8d89bb1746c8c2f6415"/><file name="Elv.php" hash="09a10412250e2bed303a189cfb216254"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Oneclick.php" hash="b0fb295f9a0572f92f0a1dc7108b9e8a"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="PayByMail.php" hash="3fa120141efed3f402aacf75f80432b4"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="6ede5edccfa2ca2619edac446edb0bf2"/></dir><file name="PosExpressCheckout.php" hash="ee5348fb15ead9b2adb7c1ebd8b1b4df"/><file name="Redirect.php" hash="e17239447f47ada37fab15ff71141703"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="0a566f422191f5e365cc7a1811c00c20"/></dir></dir><file name="ScanProduct.php" hash="31c08b14b9e17a8f065b7d553470d518"/></dir><file name="Exception.php" hash="30fcde625fda56f7475e815d6603a6d2"/><dir name="Helper"><dir name="Billing"><file name="Agreement.php" hash="4df6f2936380229b80c97c70e4140d24"/></dir><file name="Data.php" hash="2b2d2ad2bd3f7bbaa598b78ccc5abecf"/><file name="Installments.php" hash="6bfc01af88a457be9f444aade1fd5e1d"/><dir name="Payment"><file name="Data.php" hash="a8145365557c486c73100740d6218414"/></dir><file name="Pci.php" hash="36f805e1f222973f48bb68623664e716"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="50793e7b14fb34b84422403f91ee5c84"/><file name="Boleto.php" hash="3aeb9b3ef94b2dc22b62165fc94411e8"/><file name="Cash.php" hash="0ac9af55b6d62b9dcead5398b2916e44"/><file name="Cc.php" hash="3aee12b4dec11d2139473844988699a7"/><dir name="Data"><file name="Abstract.php" hash="90c19c5a7d79c1a53f85b77728ffc318"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Address.php" hash="1ebe7211a9ada35e346d50a43e4d1045"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BillingAddress.php" hash="05d2568acb382d242635b7fbfef26afe"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="DeliveryAddress.php" hash="8a97c0555842c9f8108a202125e48724"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="caa2f530ea8a2100fee55f9d16fa8235"/><file name="ModificationRequest.php" hash="14240a6cbc31ffed7ea7e052e20aed57"/><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="68391a7b4b2a460967ec0018a2300396"/><file name="PaymentRequest.php" hash="ab45d534cd1c2aa429d27d6ff2b1f13c"/><file name="PaymentRequest3d.php" hash="9db425c9bb6cf15498995afeb779a615"/><file name="Recurring.php" hash="ae069455222f0315c2eaee6cdf84f461"/><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="4dec774fe32ba88fe0c691f813c2a09e"/><file name="Hpp.php" hash="a723e62f5349d99746f201ab2657c75a"/><file name="Ideal.php" hash="ef84f22f3008da93f9e8b9c1f3ac1648"/><file name="Oneclick.php" hash="97d897a99351a6e8ec832ca58a7c040a"/><file name="Openinvoice.php" hash="0323e497f44454de9d166a8090a68eb2"/><file name="PayByMail.php" hash="e861fa73b1f5f018430352d09e6e98c7"/><file name="Pos.php" hash="84b98b86d5ba76f85217a75dd98afcc4"/><file name="Sepa.php" hash="660d590f152171076194f86ab9e9626a"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Api.php" hash="f739379a164c1a4e0c0553423ebeb295"/><file name="Authenticate.php" hash="ed5dcfae45132082a875f2ea1089b7bd"/><dir name="Billing"><dir name="Agreement"><file name="Observer.php" hash="f301f1fc3cab902eb16d546022615bdd"/></dir><file name="Agreement.php" hash="ef5f57b680c37f767a21cbb5df4aee5b"/></dir><file name="Cronjob.php" hash="3fa8291eb3f98a1ab48879fa467686b0"/><dir name="Event"><file name="Queue.php" hash="3f17b99a54cf5d910c3320e7a38d0ea3"/></dir><file name="Event.php" hash="632bfefbb6c2edab79d2be1b082a69bf"/><file name="GetPosOrderStatus.php" hash="682e47f436377b1f3e41f0092051bfc6"/><file name="Observer.php" hash="9408e54c65f82d06c4a9c1161f75ecd0"/><file name="Process.php" hash="fdbbfc7b61222edefcf81af81a12d0f4"/><file name="ProcessNotification.php" hash="d2dab6a395f3a388e47c627a38ffaf35"/><file name="ProcessPosResult.php" hash="6630a1ed1d4a81996a7f3714d6ee6990"/><dir name="Resource"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="17ac8dbcf67d0df518ef2d94c3206fd5"/></dir><file name="Debug.php" hash="d1de3e55152ab586971d08950ced8faa"/><dir name="Event"><file name="Collection.php" hash="33b8b85c9c7b3d2428e9b23a9e7e0c72"/></dir><file name="Event.php" hash="4f398e0de5b8a2a9ec5f87480e13da67"/></dir><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="d5d31eed3999e2775b3cc861cd3a8e45"/></dir><file name="Agreement.php" hash="5a269b1255f103c7b81621ee3d39fa97"/></dir><dir name="Event"><dir name="Queue"><file name="Collection.php" hash="9dffd9015dfa7cd8498e5961f9ab66f3"/></dir><file name="Queue.php" hash="b8a4c3ed5adaaacf8b6192d05937e390"/></dir><file name="Order.php" hash="32950fec5760e2e7f167af451e313129"/><file name="Setup.php" hash="4e2258146a321cad436984ca223a9e5b"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="b0d4cb5adbff8e881bb28df7cd486b37"/><file name="PaymentInstallmentFee.php" hash="da284541372973799ea956771799cb72"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CancelRedirect.php" hash="f71a598d56641cc5550812abd7f3d9b7"/><file name="CaptureModes.php" hash="1ad7052016b75000de9950d55edb235d"/><file name="CcType.php" hash="a27d98867f6c9d9245c242919a869ed6"/><file name="DemoModes.php" hash="4e3ce8113a9c78f6403861f5661f585e"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PayPalCaptureModes.php" hash="20da86d8d4fd60abe2b3a307e12ada24"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringPaymentType.php" hash="3b137f547356d8336c3e12fb936d1a86"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><file name="Rendermode.php" hash="66be793f4d23896dbe194ec205f51718"/><file name="SepaFlow.php" hash="8a3ce7224b1878c7fb674114b688eb03"/><dir name="Status"><file name="Complete.php" hash="1580706a7d28010ed5acc678f549df73"/><file name="Pending.php" hash="53e624a2a6b76b4e6dee7f4eece245b1"/><file name="Refund.php" hash="632e0fc0b625e85716347d21b0f585be"/></dir><file name="VisibleType.php" hash="ecc88ad246d8e52316d53f879d615803"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir><dir name="Total"><dir name="PaymentFee"><file name="Creditmemo.php" hash="738f7b84586d51cd875011d6b31dfd3e"/><file name="Invoice.php" hash="8aa607b99f709a5eee9b76675e2d5ada"/></dir><dir name="PaymentInstallmentFee"><file name="Creditmemo.php" hash="b40551c179c19ccea7be11a5edf6be4c"/><file name="Invoice.php" hash="5f4563813511aff2eafb98cf4943d817"/></dir></dir><file name="ValidateResultUrl.php" hash="d9518d726eb205183b1779a75e5e6618"/><file name=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><file name="QueueController.php" hash="6000a2a39108fc5be4ce3253b495c656"/></dir></dir><file name="ExportAdyenSettingsController.php" hash="dd6a859865967b0b462be96a0a2295fd"/><file name="ValidateWebserverSettingsController.php" hash="d121f82efd3ddb01e9f979e12658cb65"/></dir><file name="CheckoutCashController.php" hash="33c9f26d8fa0260ec9daccea3638c609"/><file name="CheckoutPosController.php" hash="59a14c7e7e916ab79304551072b574bb"/><file name="GetInstallmentsController.php" hash="e8401d9b5dd01efc8f6ea535087963bd"/><file name="ProcessController.php" hash="4cfa4e11ca294886562ff59b68f8c9c5"/><file name="UpdateCartController.php" hash="8c41af95bb64352f7dd4024f9d210e77"/></dir><dir name="data"><dir name="adyen_setup"><file name="data-upgrade-2.1.2.3-2.1.2.4.php" hash="8262bf4038ba435fe15bd08c36814936"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="4190412f599a3eac827d7ed0931754da"/><file name="adminhtml.xml" hash="77f449af89755295ba515ea52dfda649"/><file name="config.xml" hash="ad1f5bdc8cffc2d4ba2009f940f85ab7"/><file name="system.xml" hash="c898e9bf12f646c136abe6235b34eb1c"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="668e04511f498a97c29b4386055cb78e"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="ef6d899eac5abc4d359074498168aef7"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="b4bb110ba7f92ae542c39471d3f7198f"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="c72653047e7c2ea03f8b8c4bd095389a"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="e167964ff1156ff52b48cef5f45c0cd2"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="5fbf7b5fc6389115c5a3cf33d091227a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="4eb123db99f8e42892cc8ea16a4ef54e"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="5fb0644cd6e55968f8922da5bffb23de"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="7f1f5240dbdd1fb37a23e16e41f5b477"/><file name="mysql4-upgrade-2.1.1-2.1.2.1.php" hash="5eea3604936ce4a041fccc9f0e0d159d"/><file name="mysql4-upgrade-2.1.2.1-2.1.2.2.php" hash="0cb4fa513156161c01b906ad3ad322ba"/><file name="mysql4-upgrade-2.1.2.2-2.1.2.3.php" hash="4c681a679ab8afa8fc145d0ecf242278"/><file name="mysql4-upgrade-2.2.0-2.2.0.1.php" hash="993470ec16fe56b3cd0024f3fb718e9b"/><file name="mysql4-upgrade-2.2.2-2.2.2.1.php" hash="c2353636858c03e61e782c7d809bbab5"/><file name="mysql4-upgrade-2.3.0-2.3.0.1.php" hash="292d256967fceedea3250c8084839ec1"/><file name="mysql4-upgrade-2.3.1.1-2.3.1.2.php" hash="1301a2d3d64855172579eb7375e17eed"/></dir></dir><file name=".DS_Store" hash="282419beef00918e7192da78057ace9d"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="fdc251a23de44368548748d25b86d345"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="6dc0219c76cd9849940247bcfce8cd99"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="37215ae3782ea83b05afa6fef361e3bf"/><file name="oneclick.phtml" hash="83b4dde8e30b8bcca800b8f9a2995eca"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="99386663d876a9bb2a4d71aec1fce74b"/></dir><dir name="info"><file name="boleto.phtml" hash="78f08b7f59ff049f189d61758b7abced"/><file name="cc.phtml" hash="608567b02456894e5b1dbaa2484a9380"/><file name="elv.phtml" hash="bda2d4870da5a283d9561b66b76e8114"/><file name="hpp.phtml" hash="ee5fd9ccc1b4f7fd1f575d0d53d87c8f"/><file name="openinvoice.phtml" hash="86fecfa81c87af7464f38f43c7db9be6"/><file name="pay_by_mail.phtml" hash="617bf20851918b200a4a980a68908162"/><file name="pos.phtml" hash="dfef416dc70f315bf9904dafce4f19d6"/><file name="sepa.phtml" hash="ca2a1b25f4652e9411ae6ff8b2a0f04e"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="ecc91b3df7776b2c2a6dc4a52d1892d2"/><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><dir name="system"><dir name="config"><file name="test_webserver_configuration.phtml" hash="37a164e5cd04d1acf1788530464c2f0d"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><dir name="checkout"><file name="success.phtml" hash="4c06b168acd8971e20a7c8d1205c264b"/><file name=".DS_Store" hash="21ecd78ea5715d7392b2d8a533c6630a"/></dir><dir name="form"><file name="boleto.phtml" hash="309a0152cd5219e2c22da4270307222c"/><file name="cc.phtml" hash="280e00a99e4f624802b783be55b2f16a"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="5e2f2ed4fb91dec2d62a0311a21415e0"/><file name="ideal.phtml" hash="d693c356f0e7f8eca20ac086c665a135"/><file name="oneclick.phtml" hash="5a41066b1452fdc7266b0ef6224c0ae3"/><file name="openinvoice.phtml" hash="659c5385af90f70f910d1f3605a0613b"/><file name="pos.phtml" hash="07cbc4b9dbbe63849599dbfd4339cd44"/><file name="sepa.phtml" hash="ff9e6c312e7620d31c6a657f31a16679"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="c540dddb22ca1c9f301c445291d82d16"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="8999dfee0c638f44b5010779b8bbf711"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pay_by_mail.phtml" hash="c09d9f774eeefeb465cc3f425bf7d54e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><dir name="payment"><file name="payment_method_label.phtml" hash="256b943044431874fbaea43760544fcc"/></dir><file name="pos_express_checkout.phtml" hash="9dbbc2237dfda2c735bfb853a5f20efd"/><file name="scan_product.phtml" hash="52debaeda87ba10822de566380c06c56"/><file name=".DS_Store" hash="ab6d0ae72b40033c9fed5850d3f5d499"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="89f26f2f2778d7e73ab597207bc59831"/></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="de_DE"><file name="Adyen_Payment.csv" hash="088e161df1b131f18fe37f99c84a6a76"/></dir><dir name="es_ES"><file name="Adyen_Payment.csv" hash="e43250c22a32cc8c27256cebb8f04c10"/></dir><dir name="fr_FR"><file name="Adyen_Payment.csv" hash="90f125a87e554a42546ab268b58df265"/></dir><dir name="nl_NL"><file name="Adyen_Payment.csv" hash="f60acbb4dab153dc69eece693db58274"/></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="ae_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="afterpay_default.png" hash="a62e3982d50612522be071d4e86eaa6a"/><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="alipay_wap.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_wap_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><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="creditcard.png" hash="87a9f022a38f3e96981c420d6571381f"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="cup.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="cup_small.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="dankort.png" hash="aac4acc9e43e896973f36d3e7011a5af"/><file name="dc_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="di_small.png" hash="8573aebe4938afb288749badb22aa091"/><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="elo.png" hash="d8ed45be5e2a933584a58c78a5ec3568"/><file name="elo_small.png" hash="b0c3bec4e8cccf4339e142365a30fca7"/><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="hipercard.png" hash="9310c18cee9f43c4019a7560d74ffd4c"/><file name="hipercard_small.png" hash="d4d0e1aab233b3ec3f94cbbe985fd8ad"/><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="img_trans.gif" hash="325472601571f31e1bf00674c368d335"/><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="payshop.png" hash="c9c79c76313370d9165e814d3d81e062"/><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="pm_gloss.png" hash="dcfc71b0c819e58a1287cd206cfb9d14"/><file name="poli.png" hash="4e14e9d246fdbc07ae58ed8ae639f7b0"/><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="sm_small.png" hash="7814fbfff53e57643137fd68889ec807"/><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="vi_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><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="b8ab0272f8e5bc859470a71529831e02"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="6e6d006f2ac96f33a4531d3115f2d852"/><file name="cc.js" hash="2e7a07ae072be379ae707b14771e5d0d"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/><file name="epos-device-2.6.0.js" hash="94c73689bec45b74a311d76400f05ba6"/><file name="epos-device-3.0.0.js" hash="0056bb4902efed998d1fdcfbb7ab3495"/><file name="iban.js" hash="92cff3bbc297f8aa60acca331e736063"/></dir></dir></dir></target><target name="mage"><dir name="shell"><file name="adyen.php" hash="23173d3362feab3675878eb51cebac02"/></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
|
21 |
</package>
|
shell/adyen.php
ADDED
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 adyen.php -action loadBillingAgreements
|
29 |
+
|
30 |
+
require_once 'abstract.php';
|
31 |
+
|
32 |
+
class Adyen_Payments_Shell extends Mage_Shell_Abstract
|
33 |
+
{
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Run script
|
37 |
+
*
|
38 |
+
* @return void
|
39 |
+
*/
|
40 |
+
public function run() {
|
41 |
+
$action = $this->getArg('action');
|
42 |
+
if (empty($action)) {
|
43 |
+
echo $this->usageHelp();
|
44 |
+
} else {
|
45 |
+
$actionMethodName = $action.'Action';
|
46 |
+
if (method_exists($this, $actionMethodName)) {
|
47 |
+
$this->$actionMethodName();
|
48 |
+
} else {
|
49 |
+
echo "Action $action not found!\n";
|
50 |
+
echo $this->usageHelp();
|
51 |
+
exit(1);
|
52 |
+
}
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Retrieve Usage Help Message
|
58 |
+
*
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
public function usageHelp() {
|
62 |
+
$help = 'Available actions: ' . "\n";
|
63 |
+
$methods = get_class_methods($this);
|
64 |
+
foreach ($methods as $method) {
|
65 |
+
if (substr($method, -6) == 'Action') {
|
66 |
+
$help .= ' -action ' . substr($method, 0, -6);
|
67 |
+
$helpMethod = $method.'Help';
|
68 |
+
if (method_exists($this, $helpMethod)) {
|
69 |
+
$help .= $this->$helpMethod();
|
70 |
+
}
|
71 |
+
$help .= "\n";
|
72 |
+
}
|
73 |
+
}
|
74 |
+
return $help;
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Method to load all billing agreements into Magento.*
|
80 |
+
* @todo move to seperate model so it's easier to call internally
|
81 |
+
* @throws Exception
|
82 |
+
* @throws Mage_Core_Exception
|
83 |
+
*/
|
84 |
+
public function loadBillingAgreementsAction()
|
85 |
+
{
|
86 |
+
$api = Mage::getSingleton('adyen/api');
|
87 |
+
|
88 |
+
foreach (Mage::app()->getStores(true) as $store) {
|
89 |
+
/** @var Mage_Core_Model_Store $store */
|
90 |
+
echo sprintf("Load for store %s\n", $store->getCode());
|
91 |
+
|
92 |
+
$customerCollection = Mage::getResourceModel('customer/customer_collection');
|
93 |
+
$customerCollection->addFieldToFilter('store_id', $store->getId());
|
94 |
+
|
95 |
+
$select = $customerCollection->getSelect();
|
96 |
+
$select->reset(Varien_Db_Select::COLUMNS);
|
97 |
+
$select->columns('e.entity_id');
|
98 |
+
$customerCollection->joinAttribute(
|
99 |
+
'adyen_customer_ref',
|
100 |
+
'customer/adyen_customer_ref',
|
101 |
+
'entity_id', null, 'left'
|
102 |
+
);
|
103 |
+
|
104 |
+
$customerReferences = $customerCollection->getConnection()->fetchPairs($select);
|
105 |
+
foreach ($customerReferences as $customerId => $adyenCustomerRef) {
|
106 |
+
$customerReference = $adyenCustomerRef ?: $customerId;
|
107 |
+
|
108 |
+
$recurringContracts = $api->listRecurringContracts($customerReference, $store);
|
109 |
+
echo sprintf("Found %s recurring contracts for customer %s (ref. %s)\n", count($recurringContracts), $customerId, $customerReference);
|
110 |
+
|
111 |
+
$billingAgreementCollection = Mage::getResourceModel('adyen/billing_agreement_collection')
|
112 |
+
->addCustomerFilter($customerId)
|
113 |
+
->addStoreFilter($store);
|
114 |
+
|
115 |
+
//Update the billing agreements
|
116 |
+
foreach ($recurringContracts as $recurringContract) {
|
117 |
+
/** @var Adyen_Payment_Model_Billing_Agreement $billingAgreement */
|
118 |
+
$billingAgreement = $billingAgreementCollection
|
119 |
+
->getItemByColumnValue('reference_id', $recurringContract['recurringDetailReference']);
|
120 |
+
|
121 |
+
if (! $billingAgreement) {
|
122 |
+
$billingAgreement = Mage::getModel('adyen/billing_agreement');
|
123 |
+
$billingAgreement->setCustomerId($customerId);
|
124 |
+
$billingAgreement->setStoreId($store->getId());
|
125 |
+
$billingAgreement->setStatus($billingAgreement::STATUS_ACTIVE);
|
126 |
+
} else {
|
127 |
+
$billingAgreement->setStatus($billingAgreement::STATUS_ACTIVE);
|
128 |
+
$billingAgreementCollection->removeItemByKey($billingAgreement->getId());
|
129 |
+
}
|
130 |
+
|
131 |
+
try {
|
132 |
+
$billingAgreement->parseRecurringContractData($recurringContract);
|
133 |
+
$billingAgreement->save();
|
134 |
+
} catch (Adyen_Payment_Exception $e) {
|
135 |
+
echo sprintf("Error while adding recurring contract data to billing agreement: %s\n", $e->getMessage());
|
136 |
+
var_dump($recurringContract);
|
137 |
+
} catch (Exception $e) {
|
138 |
+
throw $e;
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
foreach ($billingAgreementCollection as $billingAgreement) {
|
143 |
+
$billingAgreement->setStatus($billingAgreement::STATUS_CANCELED);
|
144 |
+
$billingAgreement->save();
|
145 |
+
}
|
146 |
+
}
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
+
public function listRecurringContractAction()
|
151 |
+
{
|
152 |
+
$api = Mage::getSingleton('adyen/api');
|
153 |
+
$recurringContracts = $api->listRecurringContracts($this->getArg('ref'), $this->getArg('store'));
|
154 |
+
print_r($recurringContracts);
|
155 |
+
}
|
156 |
+
|
157 |
+
|
158 |
+
public function pruneBillingAgreementsAction()
|
159 |
+
{
|
160 |
+
$billingAgreementCollection = Mage::getResourceModel('adyen/billing_agreement_collection')
|
161 |
+
->addFieldToFilter('status', Mage_Sales_Model_Billing_Agreement::STATUS_CANCELED);
|
162 |
+
foreach ($billingAgreementCollection as $billingAgreement) {
|
163 |
+
$billingAgreement->delete();
|
164 |
+
}
|
165 |
+
}
|
166 |
+
|
167 |
+
|
168 |
+
/**
|
169 |
+
* Display extra help
|
170 |
+
* @return string
|
171 |
+
*/
|
172 |
+
public function loadBillingAgreementsActionHelp() {
|
173 |
+
return "";
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
|
178 |
+
$shell = new Adyen_Payments_Shell();
|
179 |
+
$shell->run();
|
skin/frontend/base/default/css/adyenstyle.css
CHANGED
@@ -55,6 +55,11 @@
|
|
55 |
|
56 |
/* Credit Cards */
|
57 |
.sp-methods .form-list li.adyen_payment_creditcard_labels { margin-top:15px; }
|
|
|
|
|
|
|
|
|
|
|
58 |
.adyen_payment_creditcard_labels img.grey {
|
59 |
-webkit-filter: grayscale(100%);
|
60 |
filter: grayscale(100%);
|
55 |
|
56 |
/* Credit Cards */
|
57 |
.sp-methods .form-list li.adyen_payment_creditcard_labels { margin-top:15px; }
|
58 |
+
.sp-methods .form-list li.adyen_payment_creditcard_labels img {
|
59 |
+
display: block;
|
60 |
+
float: left;
|
61 |
+
margin-right: 10px;
|
62 |
+
}
|
63 |
.adyen_payment_creditcard_labels img.grey {
|
64 |
-webkit-filter: grayscale(100%);
|
65 |
filter: grayscale(100%);
|
skin/frontend/base/default/images/adyen/alipay_wap.png
ADDED
Binary file
|
skin/frontend/base/default/images/adyen/alipay_wap_small.png
ADDED
Binary file
|