Version Notes
Features:
* Make installments possible for the OneClick Payments
* Added cash express checkout button on the shopping card for easy pay with cash
* Added possibility to open cash drawer after cash payment
* Cancel the order in Adyen as well when order is cancelled in Magento
* Automatically create shipment for cash payment and added setting to do this for POS payments as well
* Added checkbox for shoppers in CreditCard payments to not save their creditcard data for OneClick payments
* Added Setting to disable payment method openinvoice(Klarna/AfterPay) when billing and delivery addresses differ
* Show the payment method in Payment Information block of the order
* After canceling payment on Adyen HPP reactivate current quote instead of creating a new quote
* Added client side validation on "delivery_days" on the settings page in Magento
* HPP Payment method show correct label in payment information panel in the Magento checkout page
* POS now acts on CAPTURE notification instead of AUTHORIZATION
* CANCEL_OR_REFUND improvements for POS
* Improved support for Scanners that press enter after scanning barcode
* OneStepCheckout improvments
Bugs:
* Fixed that OneClick will not breaks when creditcard name has special characters
* Fixed that the extra fee totals in the order confirmation email is not visible when the amount is zero.
* Fixed Directory Lookup for amounts under the one euro and improved error messages when payment methods cannot be shown because of incorrect settings
* Fixed that PaymentMethod is shown if you print the invoice
* Fixed incorrect rounding in tax for OpenInvoice payment method
* Fixed that GetInstallments call is not executed when installments are disabled
* Fixed Client side validation for JCB, Maestro and CarteBlue
* Fixed that in the backend the configuration are loaded from the store view where the order has been made instead of the default settings
* Fixed that BankTransfer and SEPA are always auto captured because you can’t capture the payment method
* Fixed that DeliveryDate For Boleto is now correctly send to Adyen platform
* Fixed that Ajax calls now support the HTTPS protocol
Release Info
Developer | Adyen |
Extension | Adyen_Payment |
Version | 2.1.1 |
Comparing to | |
See all releases |
Code changes from version 2.1.0 to 2.1.1
- app/code/community/Adyen/Payment/.DS_Store +0 -0
- app/code/community/Adyen/Payment/Block/Form/Cc.php +4 -0
- app/code/community/Adyen/Payment/Block/Form/Oneclick.php +10 -0
- app/code/community/Adyen/Payment/Block/Info/Boleto.php +1 -1
- app/code/community/Adyen/Payment/Block/Info/Cc.php +1 -1
- app/code/community/Adyen/Payment/Block/Info/Elv.php +1 -1
- app/code/community/Adyen/Payment/Block/Info/Sepa.php +1 -1
- app/code/community/Adyen/Payment/Block/PosExpressCheckout.php +10 -0
- app/code/community/Adyen/Payment/Block/Redirect.php +1 -1
- app/code/community/Adyen/Payment/Block/Sales/Order/Totals.php +31 -26
- app/code/community/Adyen/Payment/Block/SavedCards.php +55 -0
- app/code/community/Adyen/Payment/Block/ScanProduct.php +4 -0
- app/code/community/Adyen/Payment/Helper/Data.php +208 -0
- app/code/community/Adyen/Payment/Helper/Installments.php +63 -0
- app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +28 -99
- app/code/community/Adyen/Payment/Model/Adyen/Cc.php +16 -64
- app/code/community/Adyen/Payment/Model/Adyen/Data/InvoiceRow.php +4 -1
- app/code/community/Adyen/Payment/Model/Adyen/Data/ModificationRequest.php +4 -0
- app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +12 -3
- app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +139 -133
- app/code/community/Adyen/Payment/Model/Adyen/Oneclick.php +33 -14
- app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php +39 -20
- app/code/community/Adyen/Payment/Model/Event.php +1 -19
- app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Event.php +0 -17
- app/code/community/Adyen/Payment/Model/Mysql4/Adyen/Event/Collection.php +10 -0
- app/code/community/Adyen/Payment/Model/Observer.php +10 -0
- app/code/community/Adyen/Payment/Model/Process.php +171 -52
- app/code/community/Adyen/Payment/Model/Sales/Quote/Address/Total/PaymentInstallmentFee.php +1 -1
- app/code/community/Adyen/Payment/Model/Source/SepaFlow.php +37 -0
- app/code/community/Adyen/Payment/controllers/CheckoutCashController.php +87 -0
- app/code/community/Adyen/Payment/controllers/GetInstallmentsController.php +1 -59
- app/code/community/Adyen/Payment/controllers/ProcessController.php +140 -144
- app/code/community/Adyen/Payment/controllers/SavedCardController.php +74 -0
- app/code/community/Adyen/Payment/etc/Payment.wsdl +3 -0
- app/code/community/Adyen/Payment/etc/config.xml +23 -7
- app/code/community/Adyen/Payment/etc/system.xml +97 -12
- app/design/adminhtml/default/default/template/adyen/.DS_Store +0 -0
- app/design/adminhtml/default/default/template/adyen/info/cc.phtml +12 -7
- app/design/adminhtml/default/default/template/adyen/info/hpp.phtml +1 -1
- app/design/adminhtml/default/default/template/adyen/order/view/history.phtml +0 -80
- app/design/adminhtml/default/default/template/adyen/pdf.tar.bz2 +0 -0
- app/design/frontend/base/default/layout/adyen.xml +37 -0
- app/design/frontend/{rwd/adyen/template → base/default/template/adyen}/checkout/onepage/payment/methods.phtml +14 -0
- app/design/frontend/base/default/template/adyen/form/cc.phtml +41 -28
- app/design/frontend/base/default/template/adyen/form/hpp.phtml +15 -0
- app/design/frontend/base/default/template/adyen/form/oneclick.phtml +32 -0
- app/design/frontend/base/default/template/adyen/info/hpp.phtml +5 -1
- app/design/frontend/base/default/template/adyen/posExpressCheckout.phtml +20 -7
- app/design/frontend/base/default/template/adyen/savedCards.phtml +77 -0
- app/design/frontend/base/default/template/adyen/scanProduct.phtml +20 -4
- app/design/frontend/default/adyen/template/checkout/onepage/payment/methods.phtml +0 -149
- app/design/frontend/enterprise/adyen/template/checkout/onepage/payment/methods.phtml +0 -139
- package.xml +33 -28
- skin/frontend/base/default/css/adyenstyle.css +52 -7
- skin/frontend/default/adyen/onestepcheckout/js/onestepcheckout.js +58 -2
- skin/frontend/enterprise/adyen/onestepcheckout/js/onestepcheckout.js +58 -2
- skin/frontend/rwd/adyen/onestepcheckout/js/onestepcheckout.js +58 -2
Binary file
|
@@ -56,6 +56,10 @@ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc {
|
|
56 |
return Mage::helper('adyen/installments')->isInstallmentsEnabled();
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
59 |
/**
|
60 |
* Alway's return true for creditcard verification otherwise api call to adyen won't work
|
61 |
*
|
56 |
return Mage::helper('adyen/installments')->isInstallmentsEnabled();
|
57 |
}
|
58 |
|
59 |
+
public function getRecurringType() {
|
60 |
+
return $this->getMethod()->getRecurringType();
|
61 |
+
}
|
62 |
+
|
63 |
/**
|
64 |
* Alway's return true for creditcard verification otherwise api call to adyen won't work
|
65 |
*
|
@@ -39,4 +39,14 @@ class Adyen_Payment_Block_Form_Oneclick extends Adyen_Payment_Block_Form_Cc {
|
|
39 |
public function isNotRecurring() {
|
40 |
return $this->getMethod()->isNotRecurring();
|
41 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
39 |
public function isNotRecurring() {
|
40 |
return $this->getMethod()->isNotRecurring();
|
41 |
}
|
42 |
+
|
43 |
+
public function getInstallmentForCreditCardType($ccType) {
|
44 |
+
|
45 |
+
// map $ccType to creditcard type we saved in backend
|
46 |
+
|
47 |
+
$ccType = Mage::helper('adyen/data')->getMagentoCreditCartType($ccType);
|
48 |
+
$result = Mage::helper('adyen/installments')->getInstallmentForCreditCardType($ccType);
|
49 |
+
|
50 |
+
return $result;
|
51 |
+
}
|
52 |
}
|
@@ -36,7 +36,7 @@ class Adyen_Payment_Block_Info_Boleto extends Mage_Payment_Block_Info {
|
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
-
$this->setTemplate('adyen/
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
+
$this->setTemplate('adyen/pdf/boleto.phtml');
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
@@ -40,7 +40,7 @@ class Adyen_Payment_Block_Info_Cc extends Mage_Payment_Block_Info_Cc {
|
|
40 |
}
|
41 |
|
42 |
public function toPdf() {
|
43 |
-
$this->setTemplate('adyen/
|
44 |
return $this->toHtml();
|
45 |
}
|
46 |
|
40 |
}
|
41 |
|
42 |
public function toPdf() {
|
43 |
+
$this->setTemplate('adyen/pdf/cc.phtml');
|
44 |
return $this->toHtml();
|
45 |
}
|
46 |
|
@@ -36,7 +36,7 @@ class Adyen_Payment_Block_Info_Elv extends Mage_Payment_Block_Info {
|
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
-
$this->setTemplate('adyen/
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
+
$this->setTemplate('adyen/pdf/elv.phtml');
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
@@ -36,7 +36,7 @@ class Adyen_Payment_Block_Info_Sepa extends Mage_Payment_Block_Info {
|
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
-
$this->setTemplate('adyen/
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
36 |
}
|
37 |
|
38 |
public function toPdf() {
|
39 |
+
$this->setTemplate('adyen/pdf/sepa.phtml');
|
40 |
return $this->toHtml();
|
41 |
}
|
42 |
|
@@ -38,4 +38,14 @@ class Adyen_Payment_Block_PosExpressCheckout extends Mage_Core_Block_Template
|
|
38 |
}
|
39 |
}
|
40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
}
|
38 |
}
|
39 |
}
|
40 |
|
41 |
+
public function hasCashExpressCheckout()
|
42 |
+
{
|
43 |
+
// must be login to show this checkout option
|
44 |
+
if(Mage::getSingleton('customer/session')->isLoggedIn()) {
|
45 |
+
return (string) Mage::helper('adyen')->hasCashExpressCheckout();
|
46 |
+
} else {
|
47 |
+
return false;
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
}
|
@@ -94,7 +94,7 @@
|
|
94 |
|
95 |
function checkStatus() {
|
96 |
$.ajax({
|
97 |
-
url: "'. $this->getUrl('adyen/process/getOrderStatus') . '",
|
98 |
type: "POST",
|
99 |
data: "merchantReference='.$adyFields['merchantReference'] .'",
|
100 |
success: function(data) {
|
94 |
|
95 |
function checkStatus() {
|
96 |
$.ajax({
|
97 |
+
url: "'. $this->getUrl('adyen/process/getOrderStatus', array('_secure'=>true)) . '",
|
98 |
type: "POST",
|
99 |
data: "merchantReference='.$adyFields['merchantReference'] .'",
|
100 |
success: function(data) {
|
@@ -30,33 +30,38 @@ class Adyen_Payment_Block_Sales_Order_Totals extends Mage_Sales_Block_Order_Tota
|
|
30 |
protected function _initTotals()
|
31 |
{
|
32 |
parent::_initTotals();
|
33 |
-
$this->addTotal(
|
34 |
-
new Varien_Object(
|
35 |
-
array(
|
36 |
-
'code' => 'payment_fee',
|
37 |
-
'strong' => false,
|
38 |
-
'value' => $this->getSource()->getPaymentFeeAmount(),
|
39 |
-
'base_value'=> $this->getSource()->getBasePaymentFeeAmount(),
|
40 |
-
'label' => $this->helper('adyen')->__('Payment Fee'),
|
41 |
-
'area' => '',
|
42 |
-
)
|
43 |
-
),
|
44 |
-
'subtotal'
|
45 |
-
);
|
46 |
|
47 |
-
$this->
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
return $this;
|
61 |
}
|
62 |
}
|
30 |
protected function _initTotals()
|
31 |
{
|
32 |
parent::_initTotals();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
34 |
+
if (((float)$this->getSource()->getPaymentFeeAmount()) != 0) {
|
35 |
+
$this->addTotal(
|
36 |
+
new Varien_Object(
|
37 |
+
array(
|
38 |
+
'code' => 'payment_fee',
|
39 |
+
'strong' => false,
|
40 |
+
'value' => $this->getSource()->getPaymentFeeAmount(),
|
41 |
+
'base_value'=> $this->getSource()->getBasePaymentFeeAmount(),
|
42 |
+
'label' => $this->helper('adyen')->__('Payment Fee'),
|
43 |
+
'area' => '',
|
44 |
+
)
|
45 |
+
),
|
46 |
+
'subtotal'
|
47 |
+
);
|
48 |
+
}
|
49 |
+
|
50 |
+
if (((float)$this->getSource()->getPaymentInstallmentFeeAmount()) != 0) {
|
51 |
+
$this->addTotal(
|
52 |
+
new Varien_Object(
|
53 |
+
array(
|
54 |
+
'code' => 'payment_installment_fee',
|
55 |
+
'strong' => false,
|
56 |
+
'value' => $this->getSource()->getPaymentInstallmentFeeAmount(),
|
57 |
+
'base_value'=> $this->getSource()->getBasePaymentInstallmentFeeAmount(),
|
58 |
+
'label' => $this->helper('adyen')->__('Payment Fee Installments'),
|
59 |
+
'area' => '',
|
60 |
+
)
|
61 |
+
),
|
62 |
+
'subtotal'
|
63 |
+
);
|
64 |
+
}
|
65 |
return $this;
|
66 |
}
|
67 |
}
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Adyen Payment Module
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* @category Adyen
|
17 |
+
* @package Adyen_Payment
|
18 |
+
* @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
|
19 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
+
*/
|
21 |
+
/**
|
22 |
+
* @category Payment Gateway
|
23 |
+
* @package Adyen_Payment
|
24 |
+
* @author Adyen
|
25 |
+
* @property Adyen B.V
|
26 |
+
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Adyen_Payment_Block_SavedCards extends Mage_Core_Block_Template {
|
30 |
+
|
31 |
+
|
32 |
+
public function getlistRecurringDetails() {
|
33 |
+
|
34 |
+
|
35 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
36 |
+
$customer = Mage::registry('current_customer');
|
37 |
+
$customerId = $customer->getId();
|
38 |
+
$merchantAccount = Mage::getStoreConfig("payment/adyen_abstract/merchantAccount", $storeId);
|
39 |
+
$recurringType = Mage::getStoreConfig("payment/adyen_abstract/recurringtypes", $storeId);
|
40 |
+
|
41 |
+
return Mage::helper('adyen')->getRecurringCards($merchantAccount, $customerId, $recurringType);
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
public function getBackUrl()
|
46 |
+
{
|
47 |
+
if ($this->getRefererUrl()) {
|
48 |
+
return $this->getRefererUrl();
|
49 |
+
}
|
50 |
+
return $this->getUrl('customer/account/', array('_secure'=>true));
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
+
|
55 |
+
}
|
@@ -33,4 +33,8 @@ class Adyen_Payment_Block_ScanProduct extends Mage_Core_Block_Template
|
|
33 |
return (string) Mage::helper('adyen')->hasEnableScanner();
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
36 |
}
|
33 |
return (string) Mage::helper('adyen')->hasEnableScanner();
|
34 |
}
|
35 |
|
36 |
+
public function hasAutoSubmitScanner() {
|
37 |
+
return (string) Mage::helper('adyen')->hasAutoSubmitScanner();
|
38 |
+
}
|
39 |
+
|
40 |
}
|
@@ -27,6 +27,12 @@
|
|
27 |
*/
|
28 |
class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
public function getCcTypes() {
|
31 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
|
32 |
uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
|
@@ -72,10 +78,18 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
72 |
return (int) Mage::getStoreConfig('payment/adyen_pos/enable_scanner');
|
73 |
}
|
74 |
|
|
|
|
|
|
|
|
|
75 |
public function hasExpressCheckout() {
|
76 |
return (int) Mage::getStoreConfig('payment/adyen_pos/express_checkout');
|
77 |
}
|
78 |
|
|
|
|
|
|
|
|
|
79 |
public function getOrderStatus() {
|
80 |
return Mage::getStoreConfig('payment/adyen_abstract/order_status');
|
81 |
}
|
@@ -144,4 +158,198 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
|
144 |
return number_format($amount, $format, '', '');
|
145 |
}
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
27 |
*/
|
28 |
class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data {
|
29 |
|
30 |
+
/**
|
31 |
+
* Zend_Log debug level
|
32 |
+
* @var unknown_type
|
33 |
+
*/
|
34 |
+
const DEBUG_LEVEL = 7;
|
35 |
+
|
36 |
public function getCcTypes() {
|
37 |
$_types = Mage::getConfig()->getNode('default/adyen/payment/cctypes')->asArray();
|
38 |
uasort($_types, array('Mage_Payment_Model_Config', 'compareCcTypes'));
|
78 |
return (int) Mage::getStoreConfig('payment/adyen_pos/enable_scanner');
|
79 |
}
|
80 |
|
81 |
+
public function hasAutoSubmitScanner() {
|
82 |
+
return (int) Mage::getStoreConfig('payment/adyen_pos/auto_submit_scanner');
|
83 |
+
}
|
84 |
+
|
85 |
public function hasExpressCheckout() {
|
86 |
return (int) Mage::getStoreConfig('payment/adyen_pos/express_checkout');
|
87 |
}
|
88 |
|
89 |
+
public function hasCashExpressCheckout() {
|
90 |
+
return (int) Mage::getStoreConfig('payment/adyen_pos/cash_express_checkout');
|
91 |
+
}
|
92 |
+
|
93 |
public function getOrderStatus() {
|
94 |
return Mage::getStoreConfig('payment/adyen_abstract/order_status');
|
95 |
}
|
158 |
return number_format($amount, $format, '', '');
|
159 |
}
|
160 |
|
161 |
+
/*
|
162 |
+
* creditcard type that is selected is different from creditcard type that we get back from the request
|
163 |
+
* this function get the magento creditcard type this is needed for getting settings like installments
|
164 |
+
*/
|
165 |
+
public function getMagentoCreditCartType($ccType) {
|
166 |
+
|
167 |
+
$ccTypesMapper = array("amex" => "AE",
|
168 |
+
"visa" => "VI",
|
169 |
+
"mastercard" => "MC",
|
170 |
+
"discover" => "DI",
|
171 |
+
"diners" => "DC",
|
172 |
+
"maestro" => "SM",
|
173 |
+
"jcb" => "JCB",
|
174 |
+
// "" => "CB" cart blue is just visa
|
175 |
+
);
|
176 |
+
|
177 |
+
if(isset($ccTypesMapper[$ccType])) {
|
178 |
+
$ccType = $ccTypesMapper[$ccType];
|
179 |
+
}
|
180 |
+
|
181 |
+
return $ccType;
|
182 |
+
}
|
183 |
+
|
184 |
+
public function getRecurringCards($merchantAccount, $customerId, $recurringType) {
|
185 |
+
|
186 |
+
// create a arraylist with the cards
|
187 |
+
$recurringCards = array();
|
188 |
+
|
189 |
+
// do not show the oneclick if recurring type is empty or recurring
|
190 |
+
if($recurringType == "ONECLICK" || $recurringType == "ONECLICK,RECURRING" || $recurringType == "RECURRING")
|
191 |
+
{
|
192 |
+
// recurring type is always ONECLICK
|
193 |
+
if($recurringType == "ONECLICK,RECURRING") {
|
194 |
+
$recurringType = "ONECLICK";
|
195 |
+
}
|
196 |
+
|
197 |
+
// rest call to get listrecurring details
|
198 |
+
$request = array(
|
199 |
+
"action" => "Recurring.listRecurringDetails",
|
200 |
+
"recurringDetailsRequest.merchantAccount" => $merchantAccount,
|
201 |
+
"recurringDetailsRequest.shopperReference" => $customerId,
|
202 |
+
"recurringDetailsRequest.recurring.contract" => $recurringType, // i.e.: "ONECLICK" Or "RECURRING"
|
203 |
+
);
|
204 |
+
|
205 |
+
$ch = curl_init();
|
206 |
+
|
207 |
+
$isConfigDemoMode = $this->getConfigDataDemoMode($storeId = null);
|
208 |
+
$wsUsername = $this->getConfigDataWsUserName($storeId);
|
209 |
+
$wsPassword = $this->getConfigDataWsPassword($storeId);
|
210 |
+
|
211 |
+
if ($isConfigDemoMode)
|
212 |
+
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/adapter/httppost");
|
213 |
+
else
|
214 |
+
curl_setopt($ch, CURLOPT_URL, "https://pal-live.adyen.com/pal/adapter/httppost");
|
215 |
+
|
216 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
217 |
+
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
|
218 |
+
curl_setopt($ch, CURLOPT_USERPWD,$wsUsername.":".$wsPassword);
|
219 |
+
curl_setopt($ch, CURLOPT_POST,count($request));
|
220 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($request));
|
221 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
222 |
+
|
223 |
+
$result = curl_exec($ch);
|
224 |
+
|
225 |
+
if($result === false) {
|
226 |
+
Mage::log("List recurring is failing error is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
227 |
+
Mage::throwException(Mage::helper('adyen')->__('List recurring is generating the error see the log'));
|
228 |
+
} else{
|
229 |
+
/**
|
230 |
+
* The $result contains a JSON array containing
|
231 |
+
* the available payment methods for the merchant account.
|
232 |
+
*/
|
233 |
+
|
234 |
+
// convert result to utf8 characters
|
235 |
+
$result = utf8_encode(urldecode($result));
|
236 |
+
// convert to array
|
237 |
+
parse_str($result,$result);
|
238 |
+
|
239 |
+
Mage::log("List recurring result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
240 |
+
|
241 |
+
foreach($result as $key => $value) {
|
242 |
+
// strip the key
|
243 |
+
$key = str_replace("recurringDetailsResult_details_", "", $key);
|
244 |
+
$key2 = strstr($key, '_');
|
245 |
+
$keyNumber = str_replace($key2, "", $key);
|
246 |
+
$keyAttribute = substr($key2, 1);
|
247 |
+
$recurringCards[$keyNumber][$keyAttribute] = $value;
|
248 |
+
}
|
249 |
+
// unset the recurringDetailsResult because this is not a card
|
250 |
+
unset($recurringCards["recurringDetailsResult"]);
|
251 |
+
|
252 |
+
// filter out all non-creditcards
|
253 |
+
foreach($recurringCards as $key => $recurringCard) {
|
254 |
+
|
255 |
+
if(!(isset($recurringCard["recurringDetailReference"]) && isset($recurringCard["variant"]) && isset($recurringCard["card_number"])
|
256 |
+
&& isset($recurringCard["card_expiryMonth"]) && isset($recurringCard["card_expiryYear"]))) {
|
257 |
+
|
258 |
+
unset($recurringCards[$key]);
|
259 |
+
}
|
260 |
+
}
|
261 |
+
}
|
262 |
+
}
|
263 |
+
return $recurringCards;
|
264 |
+
}
|
265 |
+
|
266 |
+
public function removeRecurringCart($merchantAccount, $shopperReference, $recurringDetailReference) {
|
267 |
+
|
268 |
+
// rest call to disable cart
|
269 |
+
$request = array(
|
270 |
+
"action" => "Recurring.disable",
|
271 |
+
"disableRequest.merchantAccount" => $merchantAccount,
|
272 |
+
"disableRequest.shopperReference" => $shopperReference,
|
273 |
+
"disableRequest.recurringDetailReference" => $recurringDetailReference
|
274 |
+
);
|
275 |
+
|
276 |
+
$ch = curl_init();
|
277 |
+
|
278 |
+
$isConfigDemoMode = $this->getConfigDataDemoMode();
|
279 |
+
$wsUsername = $this->getConfigDataWsUserName();
|
280 |
+
$wsPassword = $this->getConfigDataWsPassword();
|
281 |
+
|
282 |
+
if ($isConfigDemoMode)
|
283 |
+
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/adapter/httppost");
|
284 |
+
else
|
285 |
+
curl_setopt($ch, CURLOPT_URL, "https://pal-live.adyen.com/pal/adapter/httppost");
|
286 |
+
|
287 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
288 |
+
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
|
289 |
+
curl_setopt($ch, CURLOPT_USERPWD,$wsUsername.":".$wsPassword);
|
290 |
+
curl_setopt($ch, CURLOPT_POST,count($request));
|
291 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($request));
|
292 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
293 |
+
|
294 |
+
$result = curl_exec($ch);
|
295 |
+
|
296 |
+
if($result === false) {
|
297 |
+
Mage::log("Disable recurring contract is failing, error is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
298 |
+
Mage::throwException(Mage::helper('adyen')->__('Disable recurring contract is generating the error see the log'));
|
299 |
+
} else{
|
300 |
+
|
301 |
+
// convert result to utf8 characters
|
302 |
+
$result = utf8_encode(urldecode($result));
|
303 |
+
|
304 |
+
if($result != "disableResult.response=[detail-successfully-disabled]") {
|
305 |
+
Mage::log("Disable contract is not succeeded the response is: " . $result, self::DEBUG_LEVEL, 'http-request.log',true);
|
306 |
+
return false;
|
307 |
+
}
|
308 |
+
return true;
|
309 |
+
}
|
310 |
+
return false;
|
311 |
+
}
|
312 |
+
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Used via Payment method.Notice via configuration ofcourse Y or N
|
316 |
+
* @return boolean true on demo, else false
|
317 |
+
*/
|
318 |
+
public function getConfigDataDemoMode($storeId = null) {
|
319 |
+
if ($this->_getConfigData('demoMode', null, $storeId) == 'Y') {
|
320 |
+
return true;
|
321 |
+
}
|
322 |
+
return false;
|
323 |
+
}
|
324 |
+
|
325 |
+
public function getConfigDataWsUserName($storeId = null) {
|
326 |
+
if ($this->getConfigDataDemoMode($storeId)) {
|
327 |
+
return $this->_getConfigData('ws_username_test', null, $storeId);
|
328 |
+
}
|
329 |
+
return $this->_getConfigData('ws_username_live', null, $storeId);
|
330 |
+
}
|
331 |
+
|
332 |
+
public function getConfigDataWsPassword($storeId = null) {
|
333 |
+
if ($this->getConfigDataDemoMode($storeId)) {
|
334 |
+
return $this->_getConfigData('ws_password_test', null, $storeId);
|
335 |
+
}
|
336 |
+
return $this->_getConfigData('ws_password_live', null, $storeId);
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* @desc Give Default settings
|
341 |
+
* @example $this->_getConfigData('demoMode','adyen_abstract')
|
342 |
+
* @since 0.0.2
|
343 |
+
* @param string $code
|
344 |
+
*/
|
345 |
+
public function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
|
346 |
+
if (null === $storeId) {
|
347 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
348 |
+
}
|
349 |
+
if (empty($paymentMethodCode)) {
|
350 |
+
return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
|
351 |
+
}
|
352 |
+
return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
|
353 |
+
}
|
354 |
+
|
355 |
}
|
@@ -179,6 +179,69 @@ class Adyen_Payment_Helper_Installments
|
|
179 |
return $value;
|
180 |
}
|
181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
/**
|
183 |
* Make value readable by Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
184 |
*
|
179 |
return $value;
|
180 |
}
|
181 |
|
182 |
+
|
183 |
+
|
184 |
+
public function getInstallmentForCreditCardType($ccType) {
|
185 |
+
|
186 |
+
// retrieving quote
|
187 |
+
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
188 |
+
|
189 |
+
$currency = $quote->getQuoteCurrencyCode();
|
190 |
+
|
191 |
+
if($quote->isVirtual()) {
|
192 |
+
$address = $this->getBillingAddress();
|
193 |
+
} else {
|
194 |
+
$address = $quote->getShippingAddress();
|
195 |
+
}
|
196 |
+
|
197 |
+
// distract the already included added fee for installment you selected before
|
198 |
+
if($address->getBasePaymentInstallmentFeeAmount() > 0) {
|
199 |
+
$amount = (double) ($quote->getGrandTotal() - $address->getBasePaymentInstallmentFeeAmount());
|
200 |
+
} else {
|
201 |
+
$amount = (double) $quote->getGrandTotal();
|
202 |
+
}
|
203 |
+
|
204 |
+
// installment key where installents are saved in settings
|
205 |
+
$ccTypeInstallments = "installments_".$ccType;
|
206 |
+
|
207 |
+
// check if this type has installments configured
|
208 |
+
$all_installments = $this->getInstallments(null, $ccTypeInstallments);
|
209 |
+
|
210 |
+
if(empty($all_installments)) {
|
211 |
+
// no installments congigure fall back on default
|
212 |
+
$ccTypeInstallments = null;
|
213 |
+
} else {
|
214 |
+
$max_installments = $this->getConfigValue($currency,$amount, null, $ccTypeInstallments);
|
215 |
+
}
|
216 |
+
|
217 |
+
// Fallback to the default installments if creditcard type has no one configured
|
218 |
+
if($ccTypeInstallments == null) {
|
219 |
+
$max_installments = $this->getConfigValue($currency,$amount, null);
|
220 |
+
$all_installments = $this->getInstallments();
|
221 |
+
}
|
222 |
+
|
223 |
+
// result array here
|
224 |
+
for($i=1;$i<=$max_installments;$i++){
|
225 |
+
|
226 |
+
// check if installment has extra interest
|
227 |
+
$key = $i-1;
|
228 |
+
$installment = $all_installments[$key];
|
229 |
+
if(isset($installment[3]) && $installment[3] > 0) {
|
230 |
+
$total_amount_with_interest = $amount + ($amount * ($installment[3] / 100));
|
231 |
+
} else {
|
232 |
+
$total_amount_with_interest = $amount;
|
233 |
+
}
|
234 |
+
|
235 |
+
$partial_amount = ((double)$total_amount_with_interest)/$i;
|
236 |
+
$result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
|
237 |
+
}
|
238 |
+
return $result;
|
239 |
+
}
|
240 |
+
|
241 |
+
|
242 |
+
|
243 |
+
|
244 |
+
|
245 |
/**
|
246 |
* Make value readable by Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
247 |
*
|
@@ -169,10 +169,17 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
169 |
*/
|
170 |
protected function _processRequest(Varien_Object $payment, $amount, $request, $pspReference = null) {
|
171 |
$this->_initOrder();
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
$modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
|
177 |
$requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
|
178 |
->create($payment, $amount, $this->_order, $merchantAccount, $pspReference);
|
@@ -230,71 +237,8 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
230 |
$merchantAccount = trim($this->_getConfigData('merchantAccount'));
|
231 |
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
232 |
|
233 |
-
|
234 |
-
|
235 |
-
if($recurringType == "ONECLICK" || $recurringType == "ONECLICK,RECURRING" || $recurringType == "RECURRING")
|
236 |
-
{
|
237 |
-
// recurring type is always ONECLICK
|
238 |
-
if($recurringType == "ONECLICK,RECURRING") {
|
239 |
-
$recurringType = "ONECLICK";
|
240 |
-
}
|
241 |
-
|
242 |
-
// rest call to get listrecurring details
|
243 |
-
$request = array(
|
244 |
-
"action" => "Recurring.listRecurringDetails",
|
245 |
-
"recurringDetailsRequest.merchantAccount" => $merchantAccount,
|
246 |
-
"recurringDetailsRequest.shopperReference" => $customerId,
|
247 |
-
"recurringDetailsRequest.recurring.contract" => $recurringType, // i.e.: "ONECLICK" Or "RECURRING"
|
248 |
-
);
|
249 |
-
|
250 |
-
$ch = curl_init();
|
251 |
-
|
252 |
-
$isConfigDemoMode = $this->getConfigDataDemoMode();
|
253 |
-
$wsUsername = $this->getConfigDataWsUserName();
|
254 |
-
$wsPassword = $this->getConfigDataWsPassword();
|
255 |
-
|
256 |
-
if ($isConfigDemoMode)
|
257 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/adapter/httppost");
|
258 |
-
else
|
259 |
-
curl_setopt($ch, CURLOPT_URL, "https://pal-live.adyen.com/pal/adapter/httppost");
|
260 |
-
|
261 |
-
curl_setopt($ch, CURLOPT_HEADER, false);
|
262 |
-
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
|
263 |
-
curl_setopt($ch, CURLOPT_USERPWD,$wsUsername.":".$wsPassword);
|
264 |
-
curl_setopt($ch, CURLOPT_POST,count($request));
|
265 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($request));
|
266 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
267 |
-
|
268 |
-
$result = curl_exec($ch);
|
269 |
-
|
270 |
-
if($result === false) {
|
271 |
-
Mage::log("List recurring is failing error is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
272 |
-
Mage::throwException(Mage::helper('adyen')->__('List recurring is generating the error see the log'));
|
273 |
-
} else{
|
274 |
-
/**
|
275 |
-
* The $result contains a JSON array containing
|
276 |
-
* the available payment methods for the merchant account.
|
277 |
-
*/
|
278 |
-
parse_str($result,$result);
|
279 |
-
Mage::log("List recurring result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
280 |
-
|
281 |
-
// create a arraylist with the cards
|
282 |
-
$recurringCards = array();
|
283 |
-
|
284 |
-
foreach($result as $key => $value) {
|
285 |
-
// strip the key
|
286 |
-
$key = str_replace("recurringDetailsResult_details_", "", $key);
|
287 |
-
$key2 = strstr($key, '_');
|
288 |
-
$keyNumber = str_replace($key2, "", $key);
|
289 |
-
$keyAttribute = substr($key2, 1);
|
290 |
-
$recurringCards[$keyNumber][$keyAttribute] = $value;
|
291 |
-
}
|
292 |
-
// unset the recurringDetailsResult because this is not a card
|
293 |
-
unset($recurringCards["recurringDetailsResult"]);
|
294 |
-
|
295 |
-
return $recurringCards;
|
296 |
-
}
|
297 |
-
}
|
298 |
}
|
299 |
|
300 |
/**
|
@@ -409,8 +353,8 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
409 |
* @desc Get SOAP client
|
410 |
* @return Adyen_Payment_Model_Adyen_Abstract
|
411 |
*/
|
412 |
-
protected function _initService() {
|
413 |
-
$accountData = $this->getAccountData();
|
414 |
$wsdl = $accountData['url']['wsdl'];
|
415 |
$location = $accountData['url']['location'];
|
416 |
$login = $accountData['login'];
|
@@ -437,7 +381,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
437 |
* @desc soap urls
|
438 |
* @return string
|
439 |
*/
|
440 |
-
protected function _getAdyenUrls() {
|
441 |
$test = array(
|
442 |
'location' => "https://pal-test.adyen.com/pal/servlet/soap/Payment",
|
443 |
'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
|
@@ -446,7 +390,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
446 |
'location' => "https://pal-live.adyen.com/pal/servlet/soap/Payment",
|
447 |
'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
|
448 |
);
|
449 |
-
if ($this->getConfigDataDemoMode()) {
|
450 |
return $test;
|
451 |
} else {
|
452 |
return $live;
|
@@ -470,10 +414,10 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
470 |
/**
|
471 |
* Adyen User Account Data
|
472 |
*/
|
473 |
-
public function getAccountData() {
|
474 |
-
$url = $this->_getAdyenUrls();
|
475 |
-
$wsUsername = $this->getConfigDataWsUserName();
|
476 |
-
$wsPassword = $this->getConfigDataWsPassword();
|
477 |
$account = array(
|
478 |
'url' => $url,
|
479 |
'login' => $wsUsername,
|
@@ -614,38 +558,23 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
|
|
614 |
* @param string $code
|
615 |
*/
|
616 |
protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
|
617 |
-
|
618 |
-
$storeId = $this->getStore();
|
619 |
-
}
|
620 |
-
if (empty($paymentMethodCode)) {
|
621 |
-
return Mage::getStoreConfig("payment/adyen_abstract/$code", $storeId);
|
622 |
-
}
|
623 |
-
return Mage::getStoreConfig("payment/$paymentMethodCode/$code", $storeId);
|
624 |
}
|
625 |
|
626 |
/**
|
627 |
* Used via Payment method.Notice via configuration ofcourse Y or N
|
628 |
* @return boolean true on demo, else false
|
629 |
*/
|
630 |
-
public function getConfigDataDemoMode() {
|
631 |
-
|
632 |
-
return true;
|
633 |
-
}
|
634 |
-
return false;
|
635 |
}
|
636 |
|
637 |
-
public function getConfigDataWsUserName() {
|
638 |
-
|
639 |
-
return $this->_getConfigData('ws_username_test');
|
640 |
-
}
|
641 |
-
return $this->_getConfigData('ws_username_live');
|
642 |
}
|
643 |
|
644 |
-
public function getConfigDataWsPassword() {
|
645 |
-
|
646 |
-
return $this->_getConfigData('ws_password_test');
|
647 |
-
}
|
648 |
-
return $this->_getConfigData('ws_password_live');
|
649 |
}
|
650 |
|
651 |
/**
|
169 |
*/
|
170 |
protected function _processRequest(Varien_Object $payment, $amount, $request, $pspReference = null) {
|
171 |
$this->_initOrder();
|
172 |
+
|
173 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
174 |
+
$storeId = $this->_order->getStoreId();
|
175 |
+
} else {
|
176 |
+
$storeId = null;
|
177 |
+
}
|
178 |
+
|
179 |
+
$this->_initService($storeId);
|
180 |
+
$merchantAccount = trim($this->_getConfigData('merchantAccount', 'adyen_abstract', $storeId));
|
181 |
+
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract', $storeId);
|
182 |
+
$enableMoto = (int) $this->_getConfigData('enable_moto', 'adyen_cc', $storeId);
|
183 |
$modificationResult = Mage::getModel('adyen/adyen_data_modificationResult');
|
184 |
$requestData = Mage::getModel('adyen/adyen_data_modificationRequest')
|
185 |
->create($payment, $amount, $this->_order, $merchantAccount, $pspReference);
|
237 |
$merchantAccount = trim($this->_getConfigData('merchantAccount'));
|
238 |
$recurringType = $this->_getConfigData('recurringtypes', 'adyen_abstract');
|
239 |
|
240 |
+
// call to helper
|
241 |
+
return Mage::helper('adyen')->getRecurringCards($merchantAccount, $customerId, $recurringType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
}
|
243 |
|
244 |
/**
|
353 |
* @desc Get SOAP client
|
354 |
* @return Adyen_Payment_Model_Adyen_Abstract
|
355 |
*/
|
356 |
+
protected function _initService($storeId = null) {
|
357 |
+
$accountData = $this->getAccountData($storeId);
|
358 |
$wsdl = $accountData['url']['wsdl'];
|
359 |
$location = $accountData['url']['location'];
|
360 |
$login = $accountData['login'];
|
381 |
* @desc soap urls
|
382 |
* @return string
|
383 |
*/
|
384 |
+
protected function _getAdyenUrls($storeId = null) {
|
385 |
$test = array(
|
386 |
'location' => "https://pal-test.adyen.com/pal/servlet/soap/Payment",
|
387 |
'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
|
390 |
'location' => "https://pal-live.adyen.com/pal/servlet/soap/Payment",
|
391 |
'wsdl' => Mage::getModuleDir('etc', 'Adyen_Payment') . DS . 'Payment.wsdl'
|
392 |
);
|
393 |
+
if ($this->getConfigDataDemoMode($storeId)) {
|
394 |
return $test;
|
395 |
} else {
|
396 |
return $live;
|
414 |
/**
|
415 |
* Adyen User Account Data
|
416 |
*/
|
417 |
+
public function getAccountData($storeId = null) {
|
418 |
+
$url = $this->_getAdyenUrls($storeId);
|
419 |
+
$wsUsername = $this->getConfigDataWsUserName($storeId);
|
420 |
+
$wsPassword = $this->getConfigDataWsPassword($storeId);
|
421 |
$account = array(
|
422 |
'url' => $url,
|
423 |
'login' => $wsUsername,
|
558 |
* @param string $code
|
559 |
*/
|
560 |
protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null) {
|
561 |
+
return Mage::helper('adyen')->_getConfigData($code, $paymentMethodCode, $storeId);
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
}
|
563 |
|
564 |
/**
|
565 |
* Used via Payment method.Notice via configuration ofcourse Y or N
|
566 |
* @return boolean true on demo, else false
|
567 |
*/
|
568 |
+
public function getConfigDataDemoMode($storeId = null) {
|
569 |
+
return Mage::helper('adyen')->getConfigDataDemoMode($storeId);
|
|
|
|
|
|
|
570 |
}
|
571 |
|
572 |
+
public function getConfigDataWsUserName($storeId = null) {
|
573 |
+
return Mage::helper('adyen')->getConfigDataWsUserName($storeId);
|
|
|
|
|
|
|
574 |
}
|
575 |
|
576 |
+
public function getConfigDataWsPassword($storeId) {
|
577 |
+
return Mage::helper('adyen')->getConfigDataWsPassword($storeId);
|
|
|
|
|
|
|
578 |
}
|
579 |
|
580 |
/**
|
@@ -49,7 +49,11 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
|
|
49 |
// set number of installements
|
50 |
$info->setAdditionalInformation('number_of_installments', $data->getAdditionalData());
|
51 |
|
|
|
|
|
|
|
52 |
if ($this->isCseEnabled()) {
|
|
|
53 |
$info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
|
54 |
}
|
55 |
else {
|
@@ -73,7 +77,7 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
|
|
73 |
|
74 |
return $this;
|
75 |
}
|
76 |
-
|
77 |
public function getPossibleInstallments() {
|
78 |
// retrieving quote
|
79 |
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
@@ -81,94 +85,42 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract {
|
|
81 |
// get selected payment method for now
|
82 |
$payment = $quote->getPayment();
|
83 |
|
84 |
-
$
|
85 |
-
|
86 |
-
if($quote->isVirtual()) {
|
87 |
-
$address = $this->getBillingAddress();
|
88 |
-
} else {
|
89 |
-
$address = $quote->getShippingAddress();
|
90 |
-
}
|
91 |
-
|
92 |
-
// distract the already included added fee for installment you selected before
|
93 |
-
if($address->getBasePaymentInstallmentFeeAmount() > 0) {
|
94 |
-
$amount = (double) ($quote->getGrandTotal() - $address->getBasePaymentInstallmentFeeAmount());
|
95 |
-
} else {
|
96 |
-
$amount = (double) $quote->getGrandTotal();
|
97 |
-
}
|
98 |
-
|
99 |
-
$currency = $quote->getQuoteCurrencyCode();
|
100 |
-
|
101 |
-
$ccTypeInstallments = null;
|
102 |
-
// check if creditcard type is already selected if this is the case show installments for this card if they have one configured
|
103 |
if($payment && !empty($payment)) {
|
104 |
if($payment->getMethod()) {
|
105 |
$info = $payment->getMethodInstance();
|
106 |
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
// this creditcard type is selected
|
111 |
-
if($ccType != "") {
|
112 |
-
|
113 |
-
// installment key where installents are saved in settings
|
114 |
-
$ccTypeInstallments = "installments_".$ccType;
|
115 |
-
|
116 |
-
// check if this type has installments configured
|
117 |
-
$all_installments = Mage::helper('adyen/installments')->getInstallments(null, $ccTypeInstallments);
|
118 |
-
|
119 |
-
if(empty($all_installments)) {
|
120 |
-
// no installments congigure fall back on default
|
121 |
-
$ccTypeInstallments = null;
|
122 |
-
} else {
|
123 |
-
$max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount, null, $ccTypeInstallments);
|
124 |
-
}
|
125 |
-
}
|
126 |
}
|
127 |
}
|
128 |
|
129 |
-
|
130 |
-
if($ccTypeInstallments == null) {
|
131 |
-
$max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount, null);
|
132 |
-
$all_installments = Mage::helper('adyen/installments')->getInstallments();
|
133 |
-
}
|
134 |
-
|
135 |
-
// result array here
|
136 |
-
for($i=1;$i<=$max_installments;$i++){
|
137 |
-
|
138 |
-
// check if installment has extra interest
|
139 |
-
$key = $i-1;
|
140 |
-
$installment = $all_installments[$key];
|
141 |
-
if(isset($installment[3]) && $installment[3] > 0) {
|
142 |
-
$total_amount_with_interest = $amount + ($amount * ($installment[3] / 100));
|
143 |
-
} else {
|
144 |
-
$total_amount_with_interest = $amount;
|
145 |
-
}
|
146 |
-
|
147 |
-
$partial_amount = ((double)$total_amount_with_interest)/$i;
|
148 |
-
$result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
|
149 |
-
}
|
150 |
|
151 |
-
|
152 |
-
|
153 |
return $result;
|
154 |
}
|
155 |
-
|
156 |
/**
|
157 |
* @desc Called just after asssign data
|
158 |
*/
|
159 |
public function prepareSave() {
|
160 |
parent::prepareSave();
|
161 |
}
|
162 |
-
|
163 |
/**
|
164 |
* @desc Helper functions to get config data
|
165 |
*/
|
166 |
public function isCseEnabled() {
|
167 |
return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
|
168 |
}
|
|
|
169 |
public function getCsePublicKey() {
|
170 |
return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
|
171 |
}
|
|
|
|
|
|
|
|
|
172 |
|
173 |
/**
|
174 |
* @desc Specific functions for 3d secure validation
|
49 |
// set number of installements
|
50 |
$info->setAdditionalInformation('number_of_installments', $data->getAdditionalData());
|
51 |
|
52 |
+
// save value remember details checkbox
|
53 |
+
$info->setAdditionalInformation('store_cc', $data->getStoreCc());
|
54 |
+
|
55 |
if ($this->isCseEnabled()) {
|
56 |
+
$info->setCcType($data->getCcType());
|
57 |
$info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
|
58 |
}
|
59 |
else {
|
77 |
|
78 |
return $this;
|
79 |
}
|
80 |
+
|
81 |
public function getPossibleInstallments() {
|
82 |
// retrieving quote
|
83 |
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
85 |
// get selected payment method for now
|
86 |
$payment = $quote->getPayment();
|
87 |
|
88 |
+
$ccType = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
if($payment && !empty($payment)) {
|
90 |
if($payment->getMethod()) {
|
91 |
$info = $payment->getMethodInstance();
|
92 |
|
93 |
+
$instance = $info->getInfoInstance();
|
94 |
+
$ccType = $instance->getCcType();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
}
|
97 |
|
98 |
+
$result = Mage::helper('adyen/installments')->getInstallmentForCreditCardType($ccType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
|
|
|
|
100 |
return $result;
|
101 |
}
|
102 |
+
|
103 |
/**
|
104 |
* @desc Called just after asssign data
|
105 |
*/
|
106 |
public function prepareSave() {
|
107 |
parent::prepareSave();
|
108 |
}
|
109 |
+
|
110 |
/**
|
111 |
* @desc Helper functions to get config data
|
112 |
*/
|
113 |
public function isCseEnabled() {
|
114 |
return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
|
115 |
}
|
116 |
+
|
117 |
public function getCsePublicKey() {
|
118 |
return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
|
119 |
}
|
120 |
+
|
121 |
+
public function getRecurringType() {
|
122 |
+
return trim(Mage::getStoreConfig("payment/adyen_abstract/recurringtypes"));
|
123 |
+
}
|
124 |
|
125 |
/**
|
126 |
* @desc Specific functions for 3d secure validation
|
@@ -40,7 +40,10 @@ class Adyen_Payment_Model_Adyen_Data_InvoiceRow extends Adyen_Payment_Model_Adye
|
|
40 |
$this->currency = $currency;
|
41 |
$this->description = $item->getName();
|
42 |
$this->itemPrice = Mage::helper('adyen')->formatAmount($item->getPrice(), $currency);
|
43 |
-
$this->itemVAT =
|
|
|
|
|
|
|
44 |
$this->lineReference = $count;
|
45 |
$this->numberOfItems = (int) $item->getQtyOrdered();
|
46 |
$this->vatCategory = "None";
|
40 |
$this->currency = $currency;
|
41 |
$this->description = $item->getName();
|
42 |
$this->itemPrice = Mage::helper('adyen')->formatAmount($item->getPrice(), $currency);
|
43 |
+
$this->itemVAT = ($item->getTaxAmount()>0 && $item->getPriceInclTax()>0)?
|
44 |
+
Mage::helper('adyen')->formatAmount($item->getPriceInclTax(), $currency) -
|
45 |
+
Mage::helper('adyen')->formatAmount($item->getPrice(), $currency):
|
46 |
+
Mage::helper('adyen')->formatAmount($item->getTaxAmount(), $currency);
|
47 |
$this->lineReference = $count;
|
48 |
$this->numberOfItems = (int) $item->getQtyOrdered();
|
49 |
$this->vatCategory = "None";
|
@@ -30,14 +30,18 @@ class Adyen_Payment_Model_Adyen_Data_ModificationRequest extends Adyen_Payment_M
|
|
30 |
public $anyType2anyTypeMap;
|
31 |
public $authorisationCode;
|
32 |
public $merchantAccount;
|
|
|
33 |
public $modificationAmount;
|
34 |
public $originalReference;
|
35 |
|
36 |
public function create(Varien_Object $payment, $amount, $order, $merchantAccount, $pspReference = null) {
|
37 |
$currency = $order->getOrderCurrencyCode();
|
|
|
|
|
38 |
$this->anyType2anyTypeMap = null;
|
39 |
$this->authorisationCode = null;
|
40 |
$this->merchantAccount = $merchantAccount;
|
|
|
41 |
if($amount) {
|
42 |
$this->modificationAmount = new Adyen_Payment_Model_Adyen_Data_Amount();
|
43 |
$this->modificationAmount->value = Mage::helper('adyen')->formatAmount($amount, $currency);
|
30 |
public $anyType2anyTypeMap;
|
31 |
public $authorisationCode;
|
32 |
public $merchantAccount;
|
33 |
+
public $merchantReference;
|
34 |
public $modificationAmount;
|
35 |
public $originalReference;
|
36 |
|
37 |
public function create(Varien_Object $payment, $amount, $order, $merchantAccount, $pspReference = null) {
|
38 |
$currency = $order->getOrderCurrencyCode();
|
39 |
+
$incrementId = $order->getIncrementId();
|
40 |
+
|
41 |
$this->anyType2anyTypeMap = null;
|
42 |
$this->authorisationCode = null;
|
43 |
$this->merchantAccount = $merchantAccount;
|
44 |
+
$this->reference = $incrementId;
|
45 |
if($amount) {
|
46 |
$this->modificationAmount = new Adyen_Payment_Model_Adyen_Data_Amount();
|
47 |
$this->modificationAmount->value = Mage::helper('adyen')->formatAmount($amount, $currency);
|
@@ -34,7 +34,6 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
34 |
public $card;
|
35 |
public $dccQuote;
|
36 |
public $deliveryAddress;
|
37 |
-
public $deliveryDate;
|
38 |
public $elv;
|
39 |
public $fraudOffset;
|
40 |
public $merchantAccount;
|
@@ -86,8 +85,17 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
86 |
|
87 |
// add recurring type for oneclick and recurring
|
88 |
if($recurringType) {
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
|
93 |
/**
|
@@ -169,6 +177,7 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
|
|
169 |
$this->installments = new Adyen_Payment_Model_Adyen_Data_Installments();
|
170 |
$this->installments->value = $payment->getAdditionalInformation('number_of_installments');
|
171 |
}
|
|
|
172 |
break;
|
173 |
case "boleto":
|
174 |
$boleto = unserialize($payment->getPoNumber());
|
34 |
public $card;
|
35 |
public $dccQuote;
|
36 |
public $deliveryAddress;
|
|
|
37 |
public $elv;
|
38 |
public $fraudOffset;
|
39 |
public $merchantAccount;
|
85 |
|
86 |
// add recurring type for oneclick and recurring
|
87 |
if($recurringType) {
|
88 |
+
|
89 |
+
/* if user uncheck the checkbox store creditcard don't set ONECLICK in the recurring contract
|
90 |
+
* for contracttype oneclick,recurring it means it will use recurring and if contracttype is recurring this can stay on recurring
|
91 |
+
*/
|
92 |
+
if($paymentMethod == "cc" && $payment->getAdditionalInformation("store_cc") == "" && $recurringType == "ONECLICK,RECURRING") {
|
93 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
94 |
+
$this->recurring->contract = "RECURRING";
|
95 |
+
} else if(!($paymentMethod == "cc" && $payment->getAdditionalInformation("store_cc") == "" && $recurringType != "RECURRING")) {
|
96 |
+
$this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
|
97 |
+
$this->recurring->contract = $recurringType;
|
98 |
+
}
|
99 |
}
|
100 |
|
101 |
/**
|
177 |
$this->installments = new Adyen_Payment_Model_Adyen_Data_Installments();
|
178 |
$this->installments->value = $payment->getAdditionalInformation('number_of_installments');
|
179 |
}
|
180 |
+
|
181 |
break;
|
182 |
case "boleto":
|
183 |
$boleto = unserialize($payment->getPoNumber());
|
@@ -58,8 +58,14 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
58 |
}
|
59 |
$info = $this->getInfoInstance();
|
60 |
$hppType = $data->getHppType();
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
$info->setCcType($hppType)
|
62 |
-
|
63 |
$config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
|
64 |
if (empty($hppType) && empty($config)) {
|
65 |
Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
|
@@ -108,13 +114,13 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
108 |
$shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : Mage::app()->getLocale()->getLocaleCode();
|
109 |
$countryCode = trim($this->_getConfigData('countryCode'));
|
110 |
$countryCode = (!empty($countryCode)) ? $countryCode : false;
|
111 |
-
|
112 |
-
|
113 |
// if directory lookup is enabled use the billingadress as countrycode
|
114 |
if($countryCode == false) {
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
}
|
119 |
|
120 |
$adyFields = array();
|
@@ -122,7 +128,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
122 |
$deliveryDays = (!empty($deliveryDays)) ? $deliveryDays : 55;
|
123 |
$adyFields['merchantAccount'] = $merchantAccount;
|
124 |
$adyFields['merchantReference'] = $realOrderId;
|
125 |
-
$adyFields['paymentAmount'] = $amount;
|
126 |
$adyFields['currencyCode'] = $orderCurrencyCode;
|
127 |
$adyFields['shipBeforeDate'] = date("Y-m-d", mktime(date("H"), date("i"), date("s"), date("m"), date("j") + $deliveryDays, date("Y")));
|
128 |
$adyFields['skinCode'] = $skinCode;
|
@@ -157,51 +163,51 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
157 |
//blocked methods
|
158 |
$adyFields['blockedMethods'] = "";
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
//the data that needs to be signed is a concatenated string of the form data
|
173 |
$sign = $adyFields['paymentAmount'] .
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
//Generate HMAC encrypted merchant signature
|
189 |
$secretWord = $this->_getSecretWord();
|
190 |
$signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
|
191 |
$adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
|
192 |
-
|
193 |
-
|
194 |
$adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields,$this->_order);
|
195 |
-
|
196 |
//IDEAL
|
197 |
if (strpos($this->getInfoInstance()->getCcType(),"ideal") !== false) {
|
198 |
$bankData = $this->getInfoInstance()->getPoNumber();
|
199 |
-
if (!empty($bankData)) {
|
200 |
$id = explode(DS, $bankData);
|
201 |
$adyFields['skipSelection'] = 'true';
|
202 |
$adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
|
203 |
-
$adyFields['idealIssuerId'] = $id['0'];
|
204 |
-
}
|
205 |
}
|
206 |
|
207 |
|
@@ -253,8 +259,8 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
253 |
$url = 'https://test.adyen.com/hpp/pay.shtml';
|
254 |
} else {
|
255 |
$url = (empty($brandCode)) ?
|
256 |
-
|
257 |
-
|
258 |
}
|
259 |
break;
|
260 |
default:
|
@@ -262,8 +268,8 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
262 |
$url = 'https://live.adyen.com/hpp/pay.shtml';
|
263 |
} else {
|
264 |
$url = (empty($brandCode)) ?
|
265 |
-
|
266 |
-
|
267 |
}
|
268 |
break;
|
269 |
}
|
@@ -273,8 +279,8 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
273 |
$bankData = $this->getInfoInstance()->getPoNumber();
|
274 |
if ($brandCode == 'ideal' && !empty($bankData)) {
|
275 |
$idealBankUrl = ($isConfigDemoMode == true) ?
|
276 |
-
|
277 |
-
|
278 |
}
|
279 |
|
280 |
|
@@ -282,7 +288,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
282 |
}
|
283 |
|
284 |
public function getFormName() {
|
285 |
-
|
286 |
}
|
287 |
|
288 |
/**
|
@@ -323,15 +329,15 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
323 |
|
324 |
if(empty($countryCode)) {
|
325 |
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
// $ip = $this->getClientIp();
|
333 |
// $countryCode = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);
|
334 |
-
|
335 |
}
|
336 |
|
337 |
// check if cache setting is on
|
@@ -344,25 +350,26 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
344 |
return unserialize($data);
|
345 |
}
|
346 |
}
|
|
|
347 |
// directory lookup to search for available payment methods
|
348 |
$adyFields = array(
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
);
|
359 |
|
360 |
$sign = $adyFields['paymentAmount'] .
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
|
367 |
//Generate HMAC encrypted merchant signature
|
368 |
$secretWord = $this->_getSecretWord();
|
@@ -378,11 +385,11 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
378 |
|
379 |
$isConfigDemoMode = $this->getConfigDataDemoMode();
|
380 |
if ($isConfigDemoMode)
|
381 |
-
|
382 |
else
|
383 |
-
|
384 |
|
385 |
-
|
386 |
curl_setopt($ch, CURLOPT_POST,count($adyFields));
|
387 |
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($adyFields));
|
388 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // do not print results if you do curl_exec
|
@@ -390,48 +397,47 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
390 |
$results = curl_exec($ch);
|
391 |
|
392 |
if($results === false) {
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
} else{
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
}
|
435 |
}
|
436 |
|
437 |
// if cache is on cache this result
|
@@ -445,29 +451,29 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract {
|
|
445 |
public function getHppOptionsDisabled() {
|
446 |
return Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
|
447 |
}
|
448 |
-
|
449 |
// Function to get the client ip address
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
|
472 |
|
473 |
}
|
58 |
}
|
59 |
$info = $this->getInfoInstance();
|
60 |
$hppType = $data->getHppType();
|
61 |
+
|
62 |
+
// get the label name and save it so we can show it in the information tab
|
63 |
+
$hppTypeLabel = "hpp_type_label_";
|
64 |
+
$hppTypeLabelValue = $data->getData($hppTypeLabel . $hppType);
|
65 |
+
$info->setAdditionalInformation('hpp_type_label', $hppTypeLabelValue);
|
66 |
+
|
67 |
$info->setCcType($hppType)
|
68 |
+
->setPoNumber($data->getData('hpp_ideal_type')); /* @note misused field */
|
69 |
$config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
|
70 |
if (empty($hppType) && empty($config)) {
|
71 |
Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
|
114 |
$shopperLocale = (!empty($shopperLocale)) ? $shopperLocale : Mage::app()->getLocale()->getLocaleCode();
|
115 |
$countryCode = trim($this->_getConfigData('countryCode'));
|
116 |
$countryCode = (!empty($countryCode)) ? $countryCode : false;
|
117 |
+
|
118 |
+
|
119 |
// if directory lookup is enabled use the billingadress as countrycode
|
120 |
if($countryCode == false) {
|
121 |
+
if(is_object($order->getBillingAddress()) && $order->getBillingAddress()->getCountry() != "") {
|
122 |
+
$countryCode = $order->getBillingAddress()->getCountry();
|
123 |
+
}
|
124 |
}
|
125 |
|
126 |
$adyFields = array();
|
128 |
$deliveryDays = (!empty($deliveryDays)) ? $deliveryDays : 55;
|
129 |
$adyFields['merchantAccount'] = $merchantAccount;
|
130 |
$adyFields['merchantReference'] = $realOrderId;
|
131 |
+
$adyFields['paymentAmount'] = (int)$amount;
|
132 |
$adyFields['currencyCode'] = $orderCurrencyCode;
|
133 |
$adyFields['shipBeforeDate'] = date("Y-m-d", mktime(date("H"), date("i"), date("s"), date("m"), date("j") + $deliveryDays, date("Y")));
|
134 |
$adyFields['skinCode'] = $skinCode;
|
163 |
//blocked methods
|
164 |
$adyFields['blockedMethods'] = "";
|
165 |
|
166 |
+
$openinvoiceType = $this->_getConfigData('openinvoicetypes', 'adyen_openinvoice');
|
167 |
+
|
168 |
+
if($this->_code == "adyen_openinvoice" || $this->getInfoInstance()->getCcType() == "klarna" || $this->getInfoInstance()->getCcType() == "afterpay_default") {
|
169 |
+
$adyFields['billingAddressType'] = "1";
|
170 |
+
$adyFields['deliveryAddressType'] = "1";
|
171 |
+
$adyFields['shopperType'] = "1";
|
172 |
+
} else {
|
173 |
+
$adyFields['billingAddressType'] = "";
|
174 |
+
$adyFields['deliveryAddressType'] = "";
|
175 |
+
$adyFields['shopperType'] = "";
|
176 |
+
}
|
177 |
+
|
178 |
//the data that needs to be signed is a concatenated string of the form data
|
179 |
$sign = $adyFields['paymentAmount'] .
|
180 |
+
$adyFields['currencyCode'] .
|
181 |
+
$adyFields['shipBeforeDate'] .
|
182 |
+
$adyFields['merchantReference'] .
|
183 |
+
$adyFields['skinCode'] .
|
184 |
+
$adyFields['merchantAccount'] .
|
185 |
+
$adyFields['sessionValidity'] .
|
186 |
+
$adyFields['shopperEmail'] .
|
187 |
+
$adyFields['shopperReference'] .
|
188 |
+
$adyFields['recurringContract'] .
|
189 |
+
$adyFields['blockedMethods'] .
|
190 |
+
$adyFields['billingAddressType'] .
|
191 |
+
$adyFields['deliveryAddressType'] .
|
192 |
+
$adyFields['shopperType'];
|
193 |
+
|
194 |
//Generate HMAC encrypted merchant signature
|
195 |
$secretWord = $this->_getSecretWord();
|
196 |
$signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign);
|
197 |
$adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
|
198 |
+
|
199 |
+
// get extra fields
|
200 |
$adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields,$this->_order);
|
201 |
+
|
202 |
//IDEAL
|
203 |
if (strpos($this->getInfoInstance()->getCcType(),"ideal") !== false) {
|
204 |
$bankData = $this->getInfoInstance()->getPoNumber();
|
205 |
+
if (!empty($bankData)) {
|
206 |
$id = explode(DS, $bankData);
|
207 |
$adyFields['skipSelection'] = 'true';
|
208 |
$adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
|
209 |
+
$adyFields['idealIssuerId'] = $id['0'];
|
210 |
+
}
|
211 |
}
|
212 |
|
213 |
|
259 |
$url = 'https://test.adyen.com/hpp/pay.shtml';
|
260 |
} else {
|
261 |
$url = (empty($brandCode)) ?
|
262 |
+
'https://test.adyen.com/hpp/select.shtml' :
|
263 |
+
"https://test.adyen.com/hpp/details.shtml?brandCode=$brandCode";
|
264 |
}
|
265 |
break;
|
266 |
default:
|
268 |
$url = 'https://live.adyen.com/hpp/pay.shtml';
|
269 |
} else {
|
270 |
$url = (empty($brandCode)) ?
|
271 |
+
'https://live.adyen.com/hpp/select.shtml' :
|
272 |
+
"https://live.adyen.com/hpp/details.shtml?brandCode=$brandCode";
|
273 |
}
|
274 |
break;
|
275 |
}
|
279 |
$bankData = $this->getInfoInstance()->getPoNumber();
|
280 |
if ($brandCode == 'ideal' && !empty($bankData)) {
|
281 |
$idealBankUrl = ($isConfigDemoMode == true) ?
|
282 |
+
'https://test.adyen.com/hpp/redirectIdeal.shtml' :
|
283 |
+
'https://live.adyen.com/hpp/redirectIdeal.shtml';
|
284 |
}
|
285 |
|
286 |
|
288 |
}
|
289 |
|
290 |
public function getFormName() {
|
291 |
+
return "Adyen HPP";
|
292 |
}
|
293 |
|
294 |
/**
|
329 |
|
330 |
if(empty($countryCode)) {
|
331 |
|
332 |
+
// check if billingcountry is filled in
|
333 |
+
if(is_object(Mage::helper('checkout/cart')->getQuote()->getBillingAddress()) && Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry() != "") {
|
334 |
+
$countryCode = Mage::helper('checkout/cart')->getQuote()->getBillingAddress()->getCountry();
|
335 |
+
} else {
|
336 |
+
$countryCode = ""; // don't set countryCode so you get all the payment methods
|
337 |
+
// You could do ip lookup but availability and performace is not guaranteed
|
338 |
// $ip = $this->getClientIp();
|
339 |
// $countryCode = file_get_contents('http://api.hostip.info/country.php?ip='.$ip);
|
340 |
+
}
|
341 |
}
|
342 |
|
343 |
// check if cache setting is on
|
350 |
return unserialize($data);
|
351 |
}
|
352 |
}
|
353 |
+
|
354 |
// directory lookup to search for available payment methods
|
355 |
$adyFields = array(
|
356 |
+
"paymentAmount" => (int)$amount,
|
357 |
+
"currencyCode" => $orderCurrencyCode,
|
358 |
+
"merchantReference" => "Get Payment methods",
|
359 |
+
"skinCode" => $skinCode,
|
360 |
+
"merchantAccount" => $merchantAccount,
|
361 |
+
"sessionValidity" => $sessionValidity,
|
362 |
+
"countryCode" => $countryCode,
|
363 |
+
"shopperLocale" => $countryCode,
|
364 |
+
"merchantSig" => "",
|
365 |
);
|
366 |
|
367 |
$sign = $adyFields['paymentAmount'] .
|
368 |
+
$adyFields['currencyCode'] .
|
369 |
+
$adyFields['merchantReference'] .
|
370 |
+
$adyFields['skinCode'] .
|
371 |
+
$adyFields['merchantAccount'] .
|
372 |
+
$adyFields['sessionValidity'];
|
373 |
|
374 |
//Generate HMAC encrypted merchant signature
|
375 |
$secretWord = $this->_getSecretWord();
|
385 |
|
386 |
$isConfigDemoMode = $this->getConfigDataDemoMode();
|
387 |
if ($isConfigDemoMode)
|
388 |
+
curl_setopt($ch, CURLOPT_URL, "https://test.adyen.com/hpp/directory.shtml");
|
389 |
else
|
390 |
+
curl_setopt($ch, CURLOPT_URL, "https://live.adyen.com/hpp/directory.shtml");
|
391 |
|
392 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
393 |
curl_setopt($ch, CURLOPT_POST,count($adyFields));
|
394 |
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($adyFields));
|
395 |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // do not print results if you do curl_exec
|
397 |
$results = curl_exec($ch);
|
398 |
|
399 |
if($results === false) {
|
400 |
+
echo "Error: " . curl_error($ch);
|
401 |
+
Mage::log("Payment methods are not available on this merchantaccount\skin result is: " . curl_error($ch), self::DEBUG_LEVEL, 'http-request.log',true);
|
402 |
+
Mage::throwException(Mage::helper('adyen')->__('Payment methods are not available on this merchantaccount\skin'));
|
403 |
} else{
|
404 |
+
/**
|
405 |
+
* The $result contains a JSON array containing
|
406 |
+
* the available payment methods for the merchant account.
|
407 |
+
*/
|
408 |
+
$results_json = json_decode($results);
|
409 |
+
|
410 |
+
if($results_json == null) {
|
411 |
+
// no valid json so show the error
|
412 |
+
Mage::log("Payment methods are empty on this merchantaccount\skin. results_json is incorrect result is:" . $results, self::DEBUG_LEVEL, 'http-request.log',true);
|
413 |
+
Mage::throwException(Mage::helper('adyen')->__('Payment methods are empty on this merchantaccount\skin' . $results));
|
414 |
+
}
|
415 |
+
|
416 |
+
$payment_methods = $results_json->paymentMethods;
|
417 |
+
|
418 |
+
$result_array = array();
|
419 |
+
foreach($payment_methods as $payment_method) {
|
420 |
+
|
421 |
+
// if openinvoice is activated don't show this in HPP options
|
422 |
+
if(Mage::getStoreConfig("payment/adyen_openinvoice/active")) {
|
423 |
+
if(Mage::getStoreConfig("payment/adyen_openinvoice/openinvoicetypes") == $payment_method->brandCode) {
|
424 |
+
continue;
|
425 |
+
}
|
426 |
+
}
|
427 |
+
|
428 |
+
$result_array[$payment_method->brandCode]['name'] = $payment_method->name;
|
429 |
+
|
430 |
+
if(isset($payment_method->issuers)) {
|
431 |
+
// for ideal go through the issuers
|
432 |
+
if(count($payment_method->issuers) > 0)
|
433 |
+
{
|
434 |
+
foreach($payment_method->issuers as $issuer) {
|
435 |
+
$result_array[$payment_method->brandCode]['issuers'][$issuer->issuerId] = $issuer->name;
|
436 |
+
}
|
437 |
+
}
|
438 |
+
ksort($result_array[$payment_method->brandCode]['issuers']); // sort on key
|
439 |
+
}
|
440 |
+
}
|
|
|
441 |
}
|
442 |
|
443 |
// if cache is on cache this result
|
451 |
public function getHppOptionsDisabled() {
|
452 |
return Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
|
453 |
}
|
454 |
+
|
455 |
// Function to get the client ip address
|
456 |
+
public function getClientIp() {
|
457 |
+
|
458 |
+
$ipaddress = '';
|
459 |
+
|
460 |
+
if (isset($_SERVER['HTTP_CLIENT_IP']))
|
461 |
+
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
|
462 |
+
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
|
463 |
+
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
464 |
+
else if(isset($_SERVER['HTTP_X_FORWARDED']))
|
465 |
+
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
|
466 |
+
else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
|
467 |
+
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
|
468 |
+
else if(isset($_SERVER['HTTP_FORWARDED']))
|
469 |
+
$ipaddress = $_SERVER['HTTP_FORWARDED'];
|
470 |
+
else if(isset($_SERVER['REMOTE_ADDR']))
|
471 |
+
$ipaddress = $_SERVER['REMOTE_ADDR'];
|
472 |
+
else
|
473 |
+
$ipaddress = '';
|
474 |
+
|
475 |
+
return $ipaddress;
|
476 |
+
}
|
477 |
|
478 |
|
479 |
}
|
@@ -60,6 +60,15 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
|
|
60 |
// get the selected recurring card
|
61 |
$recurringSelectedKey = $data->getRecurring();
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
// get cvc code for this creditcard
|
64 |
$recurringDetailReferenceKey = "recurringDetailReference_".$recurringSelectedKey;
|
65 |
$cvcKey = "oneclick_cid_".$recurringSelectedKey;
|
@@ -71,29 +80,39 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
|
|
71 |
// save information as additional information so you don't have to add column in table
|
72 |
$info->setAdditionalInformation('recurring_detail_reference', $recurringDetailReference);
|
73 |
|
|
|
|
|
|
|
74 |
if ($this->isCseEnabled()) {
|
|
|
|
|
|
|
|
|
75 |
$info->setAdditionalInformation('encrypted_data', $data->getEncryptedDataOneclick());
|
76 |
}
|
77 |
else {
|
78 |
|
79 |
-
if
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
->setCcExpYear($data->getData("oneclick_exp_year_" . $recurringSelectedKey))
|
91 |
-
->setCcCid($data->getData("oneclick_cid_" . $recurringSelectedKey));
|
92 |
-
}
|
93 |
}
|
94 |
} else {
|
95 |
Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
|
96 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
return $this;
|
98 |
}
|
99 |
|
60 |
// get the selected recurring card
|
61 |
$recurringSelectedKey = $data->getRecurring();
|
62 |
|
63 |
+
|
64 |
+
if(Mage::helper('adyen/installments')->isInstallmentsEnabled()) {
|
65 |
+
$installmentReferenceKey = "installment_".$recurringSelectedKey;
|
66 |
+
$info->setAdditionalInformation('number_of_installments', $data->getData($installmentReferenceKey));
|
67 |
+
} else {
|
68 |
+
$info->setAdditionalInformation('number_of_installments', "");
|
69 |
+
|
70 |
+
}
|
71 |
+
|
72 |
// get cvc code for this creditcard
|
73 |
$recurringDetailReferenceKey = "recurringDetailReference_".$recurringSelectedKey;
|
74 |
$cvcKey = "oneclick_cid_".$recurringSelectedKey;
|
80 |
// save information as additional information so you don't have to add column in table
|
81 |
$info->setAdditionalInformation('recurring_detail_reference', $recurringDetailReference);
|
82 |
|
83 |
+
// save creditcard type
|
84 |
+
|
85 |
+
|
86 |
if ($this->isCseEnabled()) {
|
87 |
+
$ccType = $data->getData("oneclick_type_" . $recurringSelectedKey);
|
88 |
+
$ccType = Mage::helper('adyen/data')->getMagentoCreditCartType($ccType);
|
89 |
+
|
90 |
+
$info->setCcType($ccType);
|
91 |
$info->setAdditionalInformation('encrypted_data', $data->getEncryptedDataOneclick());
|
92 |
}
|
93 |
else {
|
94 |
|
95 |
+
// check if expiry month and year is changed
|
96 |
+
$expiryMonth = $data->getData("oneclick_exp_month" . $recurringSelectedKey);
|
97 |
+
$expiryYear = $data->getData("oneclick_exp_year_" . $recurringSelectedKey);
|
98 |
+
|
99 |
+
// just set default data for info block only
|
100 |
+
$info->setCcType($data->getData("oneclick_type_" . $recurringSelectedKey))
|
101 |
+
->setCcOwner($data->getData("oneclick_owner_" . $recurringSelectedKey))
|
102 |
+
->setCcLast4($data->getData("oneclick_last_4_" . $recurringSelectedKey))
|
103 |
+
->setCcExpMonth($data->getData("oneclick_exp_month_" . $recurringSelectedKey))
|
104 |
+
->setCcExpYear($data->getData("oneclick_exp_year_" . $recurringSelectedKey))
|
105 |
+
->setCcCid($data->getData("oneclick_cid_" . $recurringSelectedKey));
|
|
|
|
|
|
|
106 |
}
|
107 |
} else {
|
108 |
Mage::throwException(Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment'));
|
109 |
}
|
110 |
+
|
111 |
+
// recalculate the totals so that extra fee is defined
|
112 |
+
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
113 |
+
$quote->setTotalsCollectedFlag(false);
|
114 |
+
$quote->collectTotals();
|
115 |
+
|
116 |
return $this;
|
117 |
}
|
118 |
|
@@ -33,6 +33,38 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
|
|
33 |
protected $_infoBlockType = 'adyen/info_openinvoice';
|
34 |
protected $_paymentMethod = 'openinvoice';
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
public function assignData($data) {
|
37 |
if (!($data instanceof Varien_Object)) {
|
38 |
$data = new Varien_Object($data);
|
@@ -256,8 +288,8 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
|
|
256 |
$additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
|
257 |
$additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
|
258 |
$additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = Mage::helper('adyen')->formatAmount($item->getPrice(), $currency);
|
259 |
-
|
260 |
-
|
261 |
$additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
|
262 |
}
|
263 |
|
@@ -315,30 +347,17 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
|
|
315 |
ksort($additional_data_sign);
|
316 |
|
317 |
// signature is first alphabatical keys seperate by : and then | and then the values seperate by :
|
318 |
-
$sign_additional_data_keys = "";
|
319 |
-
$sign_additional_data_values = "";
|
320 |
foreach($additional_data_sign as $key => $value) {
|
321 |
-
|
322 |
// add to fields
|
323 |
$adyFields[$key] = $value;
|
324 |
-
|
325 |
-
// create sign
|
326 |
-
$sign_additional_data_keys .= $key;
|
327 |
-
$sign_additional_data_values .= $value;
|
328 |
-
|
329 |
-
$keys = array_keys($additional_data_sign);
|
330 |
-
if(end($keys) != $key) {
|
331 |
-
$sign_additional_data_keys .= ":";
|
332 |
-
$sign_additional_data_values .= ":";
|
333 |
-
}
|
334 |
}
|
335 |
-
|
336 |
-
$
|
337 |
-
|
|
|
338 |
$signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign_additional_data);
|
339 |
$adyFields['openinvoicedata.sig'] = base64_encode(pack('H*', $signMac));
|
340 |
-
|
341 |
-
|
342 |
Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log');
|
343 |
|
344 |
return $adyFields;
|
33 |
protected $_infoBlockType = 'adyen/info_openinvoice';
|
34 |
protected $_paymentMethod = 'openinvoice';
|
35 |
|
36 |
+
|
37 |
+
public function isApplicableToQuote($quote, $checksBitMask)
|
38 |
+
{
|
39 |
+
// different don't show
|
40 |
+
if($this->_getConfigData('different_address_disable', 'adyen_openinvoice')) {
|
41 |
+
|
42 |
+
// get billing and shipping information
|
43 |
+
$quote = $this->getQuote();
|
44 |
+
$billing = $quote->getBillingAddress()->getData();
|
45 |
+
$shipping = $quote->getShippingAddress()->getData();
|
46 |
+
|
47 |
+
// check if the following items are different: street, city, postcode, region, countryid
|
48 |
+
if(isset($billing['street']) && isset($billing['city']) && $billing['postcode'] && isset($billing['region']) && isset($billing['country_id'])) {
|
49 |
+
$billingAddress = array($billing['street'], $billing['city'], $billing['postcode'], $billing['region'],$billing['country_id']);
|
50 |
+
} else {
|
51 |
+
$billingAddress = array();
|
52 |
+
}
|
53 |
+
if(isset($shipping['street']) && isset($shipping['city']) && $shipping['postcode'] && isset($shipping['region']) && isset($shipping['country_id'])) {
|
54 |
+
$shippingAddress = array($shipping['street'], $shipping['city'], $shipping['postcode'], $shipping['region'],$shipping['country_id']);
|
55 |
+
} else {
|
56 |
+
$shippingAddress = array();
|
57 |
+
}
|
58 |
+
|
59 |
+
// if the result are not the same don't show the payment method open invoice
|
60 |
+
$diff = array_diff($billingAddress,$shippingAddress);
|
61 |
+
if(is_array($diff) && !empty($diff)) {
|
62 |
+
return false;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
return true;
|
66 |
+
}
|
67 |
+
|
68 |
public function assignData($data) {
|
69 |
if (!($data instanceof Varien_Object)) {
|
70 |
$data = new Varien_Object($data);
|
288 |
$additional_data_sign['openinvoicedata.' . $linename . '.currencyCode'] = $currency;
|
289 |
$additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
|
290 |
$additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = Mage::helper('adyen')->formatAmount($item->getPrice(), $currency);
|
291 |
+
$additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = ($item->getTaxAmount() > 0 && $item->getPriceInclTax() > 0) ? Mage::helper('adyen')->formatAmount($item->getPriceInclTax(), $currency) - Mage::helper('adyen')->formatAmount($item->getPrice(), $currency):Mage::helper('adyen')->formatAmount($item->getTaxAmount(), $currency);
|
292 |
+
$additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
|
293 |
$additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "None";
|
294 |
}
|
295 |
|
347 |
ksort($additional_data_sign);
|
348 |
|
349 |
// signature is first alphabatical keys seperate by : and then | and then the values seperate by :
|
|
|
|
|
350 |
foreach($additional_data_sign as $key => $value) {
|
|
|
351 |
// add to fields
|
352 |
$adyFields[$key] = $value;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
}
|
354 |
+
|
355 |
+
$keys = implode(':',array_keys($additional_data_sign));
|
356 |
+
$values = implode(':',$additional_data_sign);
|
357 |
+
$sign_additional_data = trim($keys) . '|' . trim($values);
|
358 |
$signMac = Zend_Crypt_Hmac::compute($secretWord, 'sha1', $sign_additional_data);
|
359 |
$adyFields['openinvoicedata.sig'] = base64_encode(pack('H*', $signMac));
|
360 |
+
|
|
|
361 |
Mage::log($adyFields, self::DEBUG_LEVEL, 'http-request.log');
|
362 |
|
363 |
return $adyFields;
|
@@ -39,7 +39,7 @@ class Adyen_Payment_Model_Event extends Mage_Core_Model_Abstract {
|
|
39 |
const ADYEN_EVENT_CAPTURE_FAILED = 'CAPTURE_FAILED';
|
40 |
const ADYEN_EVENT_CANCELLATION = 'CANCELLATION';
|
41 |
const ADYEN_EVENT_POSAPPROVED = 'POS_APPROVED';
|
42 |
-
const
|
43 |
|
44 |
/**
|
45 |
* Initialize resources
|
@@ -87,22 +87,4 @@ class Adyen_Payment_Model_Event extends Mage_Core_Model_Abstract {
|
|
87 |
$originalReference = $this->getResource()->getOriginalPspReference($incrementId);
|
88 |
return (!empty($originalReference)) ? $originalReference['psp_reference'] : false;
|
89 |
}
|
90 |
-
|
91 |
-
/**
|
92 |
-
* Detect Bank Transfer
|
93 |
-
* @param type $incrementId
|
94 |
-
* @param type $adyenEventCode
|
95 |
-
* @return boolean true if bankTrasnfer
|
96 |
-
*/
|
97 |
-
public function isBanktransfer($incrementId, $adyenEventCode = 'PENDING') {
|
98 |
-
$_incrementId = trim($incrementId);
|
99 |
-
$_adyenEventCode = trim($adyenEventCode);
|
100 |
-
$pendingEvent = $this->getResource()->getBanktransferEvent($_incrementId, $_adyenEventCode);
|
101 |
-
if (empty($pendingEvent))
|
102 |
-
return false;
|
103 |
-
if (!isset($pendingEvent['payment_method']))
|
104 |
-
return false;
|
105 |
-
return strpos($pendingEvent['payment_method'], 'bankTransfer') !== false ? true : false;
|
106 |
-
}
|
107 |
-
|
108 |
}
|
39 |
const ADYEN_EVENT_CAPTURE_FAILED = 'CAPTURE_FAILED';
|
40 |
const ADYEN_EVENT_CANCELLATION = 'CANCELLATION';
|
41 |
const ADYEN_EVENT_POSAPPROVED = 'POS_APPROVED';
|
42 |
+
const ADYEN_EVENT_HANDLED_EXTERNALLY = 'HANDLED_EXTERNALLY';
|
43 |
|
44 |
/**
|
45 |
* Initialize resources
|
87 |
$originalReference = $this->getResource()->getOriginalPspReference($incrementId);
|
88 |
return (!empty($originalReference)) ? $originalReference['psp_reference'] : false;
|
89 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
}
|
@@ -77,23 +77,6 @@ class Adyen_Payment_Model_Mysql4_Adyen_Event extends Mage_Core_Model_Mysql4_Abst
|
|
77 |
return $db->fetchOne($sql);
|
78 |
}
|
79 |
|
80 |
-
/**
|
81 |
-
* Detect BankTransfer
|
82 |
-
* @param type $incrementId
|
83 |
-
* @param type $adyenEventCode
|
84 |
-
* @return type
|
85 |
-
*/
|
86 |
-
public function getBanktransferEvent($incrementId, $adyenEventCode = 'PENDING') {
|
87 |
-
$db = $this->_getReadAdapter();
|
88 |
-
$sql = $db->select()
|
89 |
-
->from($this->getMainTable(), array('payment_method'))
|
90 |
-
->where('increment_id = ?', $incrementId)
|
91 |
-
->where('adyen_event_result = ?',$adyenEventCode)
|
92 |
-
;
|
93 |
-
$stmt = $db->query($sql);
|
94 |
-
return $stmt->fetch();
|
95 |
-
}
|
96 |
-
|
97 |
public function saveData($obj) {
|
98 |
$db = $this->_getWriteAdapter();
|
99 |
$db->insert($this->getMainTable(), $obj->getData());
|
77 |
return $db->fetchOne($sql);
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
public function saveData($obj) {
|
81 |
$db = $this->_getWriteAdapter();
|
82 |
$db->insert($this->getMainTable(), $obj->getData());
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Adyen_Payment_Model_Mysql4_Adyen_Event_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
|
4 |
+
{
|
5 |
+
protected function _construct()
|
6 |
+
{
|
7 |
+
$this->_init('adyen/adyen_event');
|
8 |
+
$this->setItemObjectClass('adyen/event');
|
9 |
+
}
|
10 |
+
}
|
@@ -49,6 +49,16 @@ class Adyen_Payment_Model_Observer {
|
|
49 |
return false;
|
50 |
}
|
51 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
/**
|
53 |
* Determine if the payment method is Adyen
|
54 |
* @param type $order
|
49 |
return false;
|
50 |
}
|
51 |
|
52 |
+
public function salesOrderPaymentCancel(Varien_Event_Observer $observer) {
|
53 |
+
// observer is payment object
|
54 |
+
$payment = $observer->getEvent()->getPayment();
|
55 |
+
|
56 |
+
$order = $payment->getOrder();
|
57 |
+
// print_r($payment);
|
58 |
+
$pspReference = Mage::getModel('adyen/event')->getOriginalPspReference($order->getIncrementId());
|
59 |
+
$payment->getMethodInstance()->SendCancelOrRefund($payment, null, $pspReference);
|
60 |
+
}
|
61 |
+
|
62 |
/**
|
63 |
* Determine if the payment method is Adyen
|
64 |
* @param type $order
|
@@ -209,31 +209,20 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
209 |
}
|
210 |
} else {
|
211 |
|
212 |
-
$
|
213 |
-
->
|
214 |
-
//attempt to hold/cancel (exceptional to BankTransfer they stay in previous status/pending)
|
215 |
-
|
216 |
-
if (!$isBankTransfer) {
|
217 |
-
|
218 |
-
$comment = Mage::helper('adyen')
|
219 |
-
->__('%s <br /> Result: %s <br /> paymentMethod: %s', 'Adyen App Result URL Notification:', $result, 'POS');
|
220 |
-
|
221 |
-
$order->addStatusHistoryComment($comment, Mage_Sales_Model_Order::STATE_CANCELED);
|
222 |
|
223 |
-
|
224 |
|
225 |
-
|
226 |
-
$this->_writeLog('order can not be canceled', $order);
|
227 |
-
$order->addStatusHistoryComment($helper->__('Order can not be canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
|
228 |
-
$order->save();
|
229 |
|
230 |
-
|
231 |
-
|
232 |
-
|
|
|
233 |
|
234 |
} else {
|
235 |
-
$
|
236 |
-
$status = true;
|
237 |
}
|
238 |
}
|
239 |
}
|
@@ -245,7 +234,7 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
245 |
function closeWindow() {
|
246 |
window.open('', '_self', '');
|
247 |
window.close();
|
248 |
-
|
249 |
setTimeout(closeWindow, 500);
|
250 |
</script>
|
251 |
</body></html>";
|
@@ -313,6 +302,53 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
313 |
->setOrder($order);
|
314 |
$history->save();
|
315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
return $status;
|
317 |
}
|
318 |
}
|
@@ -370,6 +406,7 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
370 |
$success = (trim($response->getData('success')) == "true") ? true : false;
|
371 |
$eventData = (!empty($eventCode)) ? $eventCode : $authResult;
|
372 |
$paymentObj = $order->getPayment();
|
|
|
373 |
|
374 |
$paymentObj->setLastTransId($incrementId)
|
375 |
->setAdyenPaymentMethod($paymentMethod)
|
@@ -387,7 +424,9 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
387 |
|
388 |
//only original here
|
389 |
if ($eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED
|
390 |
-
|| $eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION
|
|
|
|
|
391 |
{
|
392 |
$paymentObj->setAdyenPspReference($pspReference);
|
393 |
if($klarnaReservationNumber != "") {
|
@@ -457,8 +496,9 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
457 |
// don't save the order because of interferrence with order status (set by notifications)
|
458 |
break;
|
459 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
|
460 |
-
$
|
461 |
-
|
|
|
462 |
//attempt to hold/cancel (exceptional to BankTransfer they stay in previous status/pending)
|
463 |
if (!$isBankTransfer) {
|
464 |
$this->_addStatusHistoryComment($order, $params);
|
@@ -535,10 +575,15 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
535 |
$valid = $this->notificationHandler($order, $response); //hmt: added $valid
|
536 |
|
537 |
if ($valid) {
|
|
|
|
|
|
|
|
|
538 |
$eventCode = trim($response->getData('eventCode'));
|
539 |
|
540 |
$success = (bool) trim($response->getData('success'));
|
541 |
$payment_method = trim($response->getData('paymentMethod'));
|
|
|
542 |
switch ($eventCode) {
|
543 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_REFUND:
|
544 |
|
@@ -549,36 +594,43 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
549 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_PENDING:
|
550 |
//add comment to the order
|
551 |
break;
|
552 |
-
case Adyen_Payment_Model_Event::
|
553 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION:
|
554 |
-
//
|
555 |
-
$
|
556 |
-
|
557 |
-
/*
|
558 |
-
* For AliPay or UnionPay sometimes it first send a AUTHORISATION false notification and then
|
559 |
-
* a AUTHORISATION true notification. The second time it must revert the cancelled of the first notification before we can
|
560 |
-
* assign a new status
|
561 |
-
*/
|
562 |
-
if($success == "true") {
|
563 |
-
if($payment_method == "alipay" || $payment_method == "unionpay") {
|
564 |
-
foreach ($order->getAllItems() as $item) {
|
565 |
-
$item->setQtyCanceled(0);
|
566 |
-
$item->save();
|
567 |
-
}
|
568 |
-
}
|
569 |
}
|
570 |
-
$this->setPrePaymentAuthorized($order, $success);
|
571 |
-
|
572 |
-
$this->createInvoice($order, $response);
|
573 |
break;
|
574 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE:
|
575 |
-
|
|
|
|
|
|
|
|
|
|
|
576 |
break;
|
577 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE_FAILED:
|
578 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLATION:
|
579 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
|
580 |
$this->holdCancelOrder($order, $response);
|
581 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
default:
|
583 |
//@todo fix me cancel && error here
|
584 |
$order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
|
@@ -587,6 +639,35 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
587 |
}
|
588 |
}
|
589 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
590 |
/**
|
591 |
* @since v0.1.0.5
|
592 |
* @param type $order
|
@@ -678,11 +759,17 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
678 |
* @notice ideal is exception here
|
679 |
* @since 0.0.9.x
|
680 |
*/
|
681 |
-
public function isAutoCapture($response) {
|
682 |
$paymentMethod = trim($response->getData('paymentMethod'));
|
683 |
$captureMode = trim($this->_getConfigData('capture_mode'));
|
684 |
-
|
685 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
return true;
|
687 |
}
|
688 |
if (strcmp($captureMode, 'manual') === 0) {
|
@@ -695,6 +782,14 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
695 |
return true;
|
696 |
}
|
697 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
698 |
/**
|
699 |
* @desc Handle Refund here
|
700 |
* @todo create credit memo && set order status to closed
|
@@ -775,7 +870,7 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
775 |
}
|
776 |
|
777 |
//capture mode
|
778 |
-
if (!$this->isAutoCapture($response)) {
|
779 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Capture Mode set to Manual'));
|
780 |
$order->sendOrderUpdateEmail($_mail);
|
781 |
$order->save();
|
@@ -809,6 +904,30 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
809 |
$order->save();
|
810 |
}
|
811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
812 |
/**
|
813 |
* @desc order comments or history
|
814 |
* @param type $order
|
@@ -914,8 +1033,8 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
914 |
case Mage_Sales_Model_Order::STATE_HOLDED:
|
915 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_HOLD, true);
|
916 |
if (!$order->canHold()) {
|
917 |
-
$this->_writeLog('order can not hold', $order);
|
918 |
-
$order->addStatusHistoryComment($helper->__('Order can not Hold'), Mage_Sales_Model_Order::STATE_HOLDED);
|
919 |
$order->save();
|
920 |
return false;
|
921 |
}
|
@@ -925,7 +1044,7 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
925 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
|
926 |
if (!$order->canCancel()) {
|
927 |
$this->_writeLog('order can not be canceled', $order);
|
928 |
-
$order->addStatusHistoryComment($helper->__('Order can not be canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
|
929 |
$order->save();
|
930 |
return false;
|
931 |
}
|
@@ -1001,4 +1120,4 @@ class Adyen_Payment_Model_Process extends Mage_Core_Model_Abstract {
|
|
1001 |
return Mage::app()->getRequest();
|
1002 |
}
|
1003 |
|
1004 |
-
}
|
209 |
}
|
210 |
} else {
|
211 |
|
212 |
+
$comment = Mage::helper('adyen')
|
213 |
+
->__('%s <br /> Result: %s <br /> paymentMethod: %s', 'Adyen App Result URL Notification:', $result, 'POS');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
|
215 |
+
$order->addStatusHistoryComment($comment, Mage_Sales_Model_Order::STATE_CANCELED);
|
216 |
|
217 |
+
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
|
|
|
|
|
|
|
218 |
|
219 |
+
if (!$order->canCancel()) {
|
220 |
+
$this->_writeLog('order can not be canceled', $order);
|
221 |
+
$order->addStatusHistoryComment($helper->__('Order can not be canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
|
222 |
+
$order->save();
|
223 |
|
224 |
} else {
|
225 |
+
$order->cancel()->save();
|
|
|
226 |
}
|
227 |
}
|
228 |
}
|
234 |
function closeWindow() {
|
235 |
window.open('', '_self', '');
|
236 |
window.close();
|
237 |
+
}
|
238 |
setTimeout(closeWindow, 500);
|
239 |
</script>
|
240 |
</body></html>";
|
302 |
->setOrder($order);
|
303 |
$history->save();
|
304 |
|
305 |
+
|
306 |
+
if($this->_getConfigData('cash_drawer', 'adyen_pos')) {
|
307 |
+
|
308 |
+
$printerIp = trim($this->_getConfigData('cash_drawer_printer_ip', 'adyen_pos'));
|
309 |
+
|
310 |
+
if($printerIp != "") {
|
311 |
+
|
312 |
+
$drawCodeConfig = trim($this->_getConfigData('cash_drawer_code', 'adyen_pos'));
|
313 |
+
|
314 |
+
if($drawCodeConfig != "") {
|
315 |
+
|
316 |
+
// split comm based
|
317 |
+
$drawCodes = explode(",", $drawCodeConfig);
|
318 |
+
|
319 |
+
// open the cash drawer
|
320 |
+
try {
|
321 |
+
$esc = "\x1b";
|
322 |
+
$fp = fsockopen($printerIp, 9100);
|
323 |
+
fwrite($fp, $esc . "@");
|
324 |
+
$write = "";
|
325 |
+
$count = 0;
|
326 |
+
foreach($drawCodes as $drawCode) {
|
327 |
+
// first code 27 must be special character to let it work
|
328 |
+
if($count == 0 && $drawCode == "27") {
|
329 |
+
$write .= $esc;
|
330 |
+
} else {
|
331 |
+
$write .= chr($drawCode);
|
332 |
+
}
|
333 |
+
++$count;
|
334 |
+
}
|
335 |
+
// example: fwrite($fp, $esc . chr(112) . chr(48) . chr(55) . chr(121));
|
336 |
+
fwrite($fp, $write);
|
337 |
+
// close connection
|
338 |
+
fclose($fp);
|
339 |
+
} catch(Exception $e) {
|
340 |
+
Mage::logException($e);
|
341 |
+
Mage::throwException($e->getMessage());
|
342 |
+
}
|
343 |
+
} else {
|
344 |
+
Mage::log("Cash drawer Code not filled in check your Adyen POS settings", Zend_Log::DEBUG, "adyen_notification.log", true);
|
345 |
+
Mage::throwException('Cash drawer Code not filled in check your Adyen POS settings');
|
346 |
+
}
|
347 |
+
} else {
|
348 |
+
Mage::log("Cash drawer Code not filled in check your Adyen POS settings", Zend_Log::DEBUG, "adyen_notification.log", true);
|
349 |
+
Mage::throwException('Cash drawer IP not filled in check your Adyen POS settings');
|
350 |
+
}
|
351 |
+
}
|
352 |
return $status;
|
353 |
}
|
354 |
}
|
406 |
$success = (trim($response->getData('success')) == "true") ? true : false;
|
407 |
$eventData = (!empty($eventCode)) ? $eventCode : $authResult;
|
408 |
$paymentObj = $order->getPayment();
|
409 |
+
$_paymentCode = $this->_paymentMethodCode($order);
|
410 |
|
411 |
$paymentObj->setLastTransId($incrementId)
|
412 |
->setAdyenPaymentMethod($paymentMethod)
|
424 |
|
425 |
//only original here
|
426 |
if ($eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED
|
427 |
+
|| $eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION
|
428 |
+
|| $eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_HANDLED_EXTERNALLY
|
429 |
+
|| ($eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE && $_paymentCode == "adyen_pos"))
|
430 |
{
|
431 |
$paymentObj->setAdyenPspReference($pspReference);
|
432 |
if($klarnaReservationNumber != "") {
|
496 |
// don't save the order because of interferrence with order status (set by notifications)
|
497 |
break;
|
498 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
|
499 |
+
$paymentMethod = trim($params->getData('paymentMethod'));
|
500 |
+
$isBankTransfer = $this->isBankTransfer($paymentMethod);
|
501 |
+
|
502 |
//attempt to hold/cancel (exceptional to BankTransfer they stay in previous status/pending)
|
503 |
if (!$isBankTransfer) {
|
504 |
$this->_addStatusHistoryComment($order, $params);
|
575 |
$valid = $this->notificationHandler($order, $response); //hmt: added $valid
|
576 |
|
577 |
if ($valid) {
|
578 |
+
Mage::dispatchEvent('adyen_payment_process_notifications_before', array('order' => $order, 'adyen_response' => $response));
|
579 |
+
if ($response->getData('handled')) {
|
580 |
+
return;
|
581 |
+
}
|
582 |
$eventCode = trim($response->getData('eventCode'));
|
583 |
|
584 |
$success = (bool) trim($response->getData('success'));
|
585 |
$payment_method = trim($response->getData('paymentMethod'));
|
586 |
+
$_paymentCode = $this->_paymentMethodCode($order);
|
587 |
switch ($eventCode) {
|
588 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_REFUND:
|
589 |
|
594 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_PENDING:
|
595 |
//add comment to the order
|
596 |
break;
|
597 |
+
case Adyen_Payment_Model_Event::ADYEN_EVENT_HANDLED_EXTERNALLY:
|
598 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION:
|
599 |
+
// for POS don't do anything on the AUTHORIZATION
|
600 |
+
if($_paymentCode != "adyen_pos") {
|
601 |
+
$this->authorizePayment($order, $success, $payment_method, $response);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
}
|
|
|
|
|
|
|
603 |
break;
|
604 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE:
|
605 |
+
if($_paymentCode != "adyen_pos") {
|
606 |
+
$this->setPaymentAuthorized($order, $success, $response);
|
607 |
+
} else {
|
608 |
+
// FOR POS authorize the payment on the CAPTURE notification
|
609 |
+
$this->authorizePayment($order, $success, $payment_method, $response);
|
610 |
+
}
|
611 |
break;
|
612 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE_FAILED:
|
613 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLATION:
|
614 |
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED:
|
615 |
$this->holdCancelOrder($order, $response);
|
616 |
break;
|
617 |
+
case Adyen_Payment_Model_Event::ADYEN_EVENT_CANCEL_OR_REFUND:
|
618 |
+
|
619 |
+
$resultModification = trim($response->getData('additionalData_modification_action'));
|
620 |
+
if(isset($resultModification) && $resultModification != "") {
|
621 |
+
if($resultModification == "cancel") {
|
622 |
+
$this->holdCancelOrder($order, $response);
|
623 |
+
} elseif($resultModification == "refund") {
|
624 |
+
$this->refundOrder($order, $response);
|
625 |
+
//refund completed
|
626 |
+
$this->setRefundAuthorized($order, $success);
|
627 |
+
}
|
628 |
+
} else {
|
629 |
+
// not sure if it cancelled or refund the order
|
630 |
+
$helper = Mage::helper('adyen');
|
631 |
+
$order->addStatusHistoryComment($helper->__('Order is cancelled or refunded'));
|
632 |
+
$order->save();
|
633 |
+
}
|
634 |
default:
|
635 |
//@todo fix me cancel && error here
|
636 |
$order->getPayment()->getMethodInstance()->writeLog('notification event not supported!');
|
639 |
}
|
640 |
}
|
641 |
|
642 |
+
public function authorizePayment($order, $success, $payment_method, $response) {
|
643 |
+
|
644 |
+
//pre-authorise if success
|
645 |
+
$order->sendNewOrderEmail(); // send order email
|
646 |
+
|
647 |
+
/*
|
648 |
+
* For AliPay or UnionPay sometimes it first send a AUTHORISATION false notification and then
|
649 |
+
* a AUTHORISATION true notification. The second time it must revert the cancelled of the first notification before we can
|
650 |
+
* assign a new status
|
651 |
+
*/
|
652 |
+
if($success == "true") {
|
653 |
+
if($payment_method == "alipay" || $payment_method == "unionpay") {
|
654 |
+
foreach ($order->getAllItems() as $item) {
|
655 |
+
$item->setQtyCanceled(0);
|
656 |
+
$item->save();
|
657 |
+
}
|
658 |
+
}
|
659 |
+
}
|
660 |
+
$this->setPrePaymentAuthorized($order, $success);
|
661 |
+
|
662 |
+
$this->createInvoice($order, $response);
|
663 |
+
|
664 |
+
$_paymentCode = $this->_paymentMethodCode($order);
|
665 |
+
if($payment_method == "c_cash" || ($this->_getConfigData('cash_drawer', 'adyen_pos') && $_paymentCode = "adyen_pos"))
|
666 |
+
{
|
667 |
+
$this->createShipment($order);
|
668 |
+
}
|
669 |
+
}
|
670 |
+
|
671 |
/**
|
672 |
* @since v0.1.0.5
|
673 |
* @param type $order
|
759 |
* @notice ideal is exception here
|
760 |
* @since 0.0.9.x
|
761 |
*/
|
762 |
+
public function isAutoCapture($response, $order) {
|
763 |
$paymentMethod = trim($response->getData('paymentMethod'));
|
764 |
$captureMode = trim($this->_getConfigData('capture_mode'));
|
765 |
+
$sepaFlow = trim($this->_getConfigData('capture_mode', 'adyen_sepa'));
|
766 |
+
$_paymentCode = $this->_paymentMethodCode($order);
|
767 |
+
|
768 |
+
//check if it is a banktransfer. Banktransfer only a Authorize notification is send.
|
769 |
+
$isBankTransfer = $this->isBankTransfer($paymentMethod);
|
770 |
+
|
771 |
+
// payment method ideal, cash or adyen_pos has direct capture
|
772 |
+
if (strcmp($paymentMethod, 'ideal') === 0 || strcmp($paymentMethod, 'c_cash' ) === 0 || $_paymentCode == "adyen_pos" || $isBankTransfer == true || ($_paymentCode == "adyen_sepa" && $sepaFlow != "authcap")) {
|
773 |
return true;
|
774 |
}
|
775 |
if (strcmp($captureMode, 'manual') === 0) {
|
782 |
return true;
|
783 |
}
|
784 |
|
785 |
+
public function isBankTransfer($paymentMethod) {
|
786 |
+
if(strlen($paymentMethod) >= 12 && substr($paymentMethod, 0, 12) == "bankTransfer") {
|
787 |
+
$isBankTransfer = true;
|
788 |
+
} else {
|
789 |
+
$isBankTransfer = false;
|
790 |
+
}
|
791 |
+
}
|
792 |
+
|
793 |
/**
|
794 |
* @desc Handle Refund here
|
795 |
* @todo create credit memo && set order status to closed
|
870 |
}
|
871 |
|
872 |
//capture mode
|
873 |
+
if (!$this->isAutoCapture($response, $order)) {
|
874 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Capture Mode set to Manual'));
|
875 |
$order->sendOrderUpdateEmail($_mail);
|
876 |
$order->save();
|
904 |
$order->save();
|
905 |
}
|
906 |
|
907 |
+
public function createShipment($order) {
|
908 |
+
// create shipment for cash payment
|
909 |
+
$payment = $order->getPayment()->getMethodInstance();
|
910 |
+
if($order->canShip()) {
|
911 |
+
// $itemQty = $order->getItemsCollection()->count();
|
912 |
+
|
913 |
+
$itemQty = array();
|
914 |
+
// $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty);
|
915 |
+
$shipment = $order->prepareShipment($itemQty);
|
916 |
+
if($shipment) {
|
917 |
+
$shipment->register();
|
918 |
+
$shipment->getOrder()->setIsInProcess(true);
|
919 |
+
$comment = Mage::helper('adyen')->__('Shipment created by Adyen');
|
920 |
+
$shipment->addComment($comment);
|
921 |
+
Mage::getModel('core/resource_transaction')
|
922 |
+
->addObject($shipment)
|
923 |
+
->addObject($shipment->getOrder())
|
924 |
+
->save();
|
925 |
+
}
|
926 |
+
} else {
|
927 |
+
$payment->writeLog("Order can't be shipped");
|
928 |
+
}
|
929 |
+
}
|
930 |
+
|
931 |
/**
|
932 |
* @desc order comments or history
|
933 |
* @param type $order
|
1033 |
case Mage_Sales_Model_Order::STATE_HOLDED:
|
1034 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_HOLD, true);
|
1035 |
if (!$order->canHold()) {
|
1036 |
+
$this->_writeLog('order can not hold or is already on Hold', $order);
|
1037 |
+
$order->addStatusHistoryComment($helper->__('Order can not Hold or is already on Hold'), Mage_Sales_Model_Order::STATE_HOLDED);
|
1038 |
$order->save();
|
1039 |
return false;
|
1040 |
}
|
1044 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
|
1045 |
if (!$order->canCancel()) {
|
1046 |
$this->_writeLog('order can not be canceled', $order);
|
1047 |
+
$order->addStatusHistoryComment($helper->__('Order can not be canceled or is already canceled'), Mage_Sales_Model_Order::STATE_CANCELED);
|
1048 |
$order->save();
|
1049 |
return false;
|
1050 |
}
|
1120 |
return Mage::app()->getRequest();
|
1121 |
}
|
1122 |
|
1123 |
+
}
|
@@ -47,7 +47,7 @@ class Adyen_Payment_Model_Sales_Quote_Address_Total_PaymentInstallmentFee extend
|
|
47 |
|
48 |
$paymentMethod = $quote->getPayment()->getMethod() ;
|
49 |
|
50 |
-
if($paymentMethod == "adyen_cc") {
|
51 |
|
52 |
$info = $payment->getMethodInstance();
|
53 |
|
47 |
|
48 |
$paymentMethod = $quote->getPayment()->getMethod() ;
|
49 |
|
50 |
+
if($paymentMethod == "adyen_cc" || $paymentMethod == "adyen_oneclick" ) {
|
51 |
|
52 |
$info = $payment->getMethodInstance();
|
53 |
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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_SepaFlow {
|
29 |
+
|
30 |
+
public function toOptionArray() {
|
31 |
+
return array(
|
32 |
+
array('value' => 'sales', 'label' => 'Sales'),
|
33 |
+
array('value' => 'authcap', 'label' => 'Auth/Cap'),
|
34 |
+
);
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Adyen Payment Module
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* @category Adyen
|
17 |
+
* @package Adyen_Payment
|
18 |
+
* @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
|
19 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
+
*/
|
21 |
+
/**
|
22 |
+
* @category Payment Gateway
|
23 |
+
* @package Adyen_Payment
|
24 |
+
* @author Adyen
|
25 |
+
* @property Adyen B.V
|
26 |
+
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
27 |
+
*/
|
28 |
+
|
29 |
+
class Adyen_Payment_CheckoutCashController extends Mage_Core_Controller_Front_Action {
|
30 |
+
|
31 |
+
public function indexAction()
|
32 |
+
{
|
33 |
+
|
34 |
+
$customer = Mage::getSingleton('customer/session');
|
35 |
+
|
36 |
+
// only proceed if customer is logged in
|
37 |
+
if($customer->isLoggedIn()) {
|
38 |
+
|
39 |
+
// get email
|
40 |
+
$params = $this->getRequest()->getParams();
|
41 |
+
$adyenPosEmail = isset($params['adyenPosEmail']) ? $params['adyenPosEmail'] : "";
|
42 |
+
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
43 |
+
|
44 |
+
// get customer object from session
|
45 |
+
$customerObject = Mage::getModel('customer/customer')->load($customer->getId());
|
46 |
+
|
47 |
+
// important update the shippingaddress and billingaddress this can be null sometimes.
|
48 |
+
$quote->assignCustomerWithAddressChange($customerObject);
|
49 |
+
|
50 |
+
// update email with customer Email
|
51 |
+
if($adyenPosEmail != "") {
|
52 |
+
$quote->setCustomerEmail($adyenPosEmail);
|
53 |
+
}
|
54 |
+
|
55 |
+
$shippingAddress = $quote->getShippingAddress();
|
56 |
+
|
57 |
+
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()
|
58 |
+
->setShippingMethod('freeshipping_freeshipping')
|
59 |
+
->setPaymentMethod('adyen_pos');
|
60 |
+
|
61 |
+
$payment = $quote->getPayment();
|
62 |
+
$payment->importData(array('method' => 'adyen_hpp', 'hpp_type' => "c_cash"));
|
63 |
+
|
64 |
+
$quote->collectTotals()->save();
|
65 |
+
$session = Mage::getSingleton('checkout/session');
|
66 |
+
|
67 |
+
$service = Mage::getModel('sales/service_quote', $quote);
|
68 |
+
$service->submitAll();
|
69 |
+
$order = $service->getOrder();
|
70 |
+
|
71 |
+
$oderStatus = Mage::helper('adyen')->getOrderStatus();
|
72 |
+
$order->setStatus($oderStatus);
|
73 |
+
$order->save();
|
74 |
+
|
75 |
+
// add order information to the session
|
76 |
+
$session->setLastOrderId($order->getId())
|
77 |
+
->setLastRealOrderId($order->getIncrementId())
|
78 |
+
->setLastSuccessQuoteId($order->getQuoteId())
|
79 |
+
->setLastQuoteId($order->getQuoteId());
|
80 |
+
|
81 |
+
$this->_redirect('adyen/process/redirect');
|
82 |
+
return $this;
|
83 |
+
} else {
|
84 |
+
Mage::throwException('Customer is not logged in.');
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
@@ -36,70 +36,12 @@ class Adyen_Payment_GetInstallmentsController extends Mage_Core_Controller_Front
|
|
36 |
// get installments for cctype
|
37 |
$ccType = $params['ccType'];
|
38 |
|
39 |
-
|
40 |
-
$quote = (Mage::getModel('checkout/type_onepage') !== false)? Mage::getModel('checkout/type_onepage')->getQuote(): Mage::getModel('checkout/session')->getQuote();
|
41 |
-
|
42 |
-
if($quote->isVirtual()) {
|
43 |
-
$address = $this->getBillingAddress();
|
44 |
-
} else {
|
45 |
-
$address = $quote->getShippingAddress();
|
46 |
-
}
|
47 |
-
|
48 |
-
// distract the already included added fee for installment you selected before
|
49 |
-
if($address->getBasePaymentInstallmentFeeAmount() > 0) {
|
50 |
-
$amount = (double) ($quote->getGrandTotal() - $address->getBasePaymentInstallmentFeeAmount());
|
51 |
-
} else {
|
52 |
-
$amount = (double) $quote->getGrandTotal();
|
53 |
-
}
|
54 |
-
|
55 |
-
$currency = $quote->getQuoteCurrencyCode();
|
56 |
-
|
57 |
-
|
58 |
-
// this creditcard type is selected
|
59 |
-
if($ccType != "") {
|
60 |
-
|
61 |
-
// installment key where installents are saved in settings
|
62 |
-
$ccTypeInstallments = "installments_".$ccType;
|
63 |
-
|
64 |
-
// check if this type has installments configured
|
65 |
-
$all_installments = Mage::helper('adyen/installments')->getInstallments(null, $ccTypeInstallments);
|
66 |
-
|
67 |
-
if(empty($all_installments)) {
|
68 |
-
// no installments congigure fall back on default
|
69 |
-
$ccTypeInstallments = null;
|
70 |
-
} else {
|
71 |
-
$max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount, null, $ccTypeInstallments);
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
// Fallback to the default installments if creditcard type has no one configured
|
76 |
-
if($ccTypeInstallments == null) {
|
77 |
-
$max_installments = Mage::helper('adyen/installments')->getConfigValue($currency,$amount, null);
|
78 |
-
$all_installments = Mage::helper('adyen/installments')->getInstallments();
|
79 |
-
}
|
80 |
-
|
81 |
-
// result array here
|
82 |
-
for($i=1;$i<=$max_installments;$i++){
|
83 |
-
|
84 |
-
// check if installment has extra interest
|
85 |
-
$key = $i-1;
|
86 |
-
$installment = $all_installments[$key];
|
87 |
-
if(isset($installment[3]) && $installment[3] > 0) {
|
88 |
-
$total_amount_with_interest = $amount + ($amount * ($installment[3] / 100));
|
89 |
-
} else {
|
90 |
-
$total_amount_with_interest = $amount;
|
91 |
-
}
|
92 |
-
|
93 |
-
$partial_amount = ((double)$total_amount_with_interest)/$i;
|
94 |
-
$result[(string)$i] = $i."x ".$currency." ".number_format($partial_amount,2);
|
95 |
-
}
|
96 |
|
97 |
$jsonData = json_encode($result);
|
98 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
99 |
$this->getResponse()->setBody($jsonData);
|
100 |
|
101 |
-
|
102 |
-
|
103 |
}
|
104 |
|
105 |
}
|
36 |
// get installments for cctype
|
37 |
$ccType = $params['ccType'];
|
38 |
|
39 |
+
$result = Mage::helper('adyen/installments')->getInstallmentForCreditCardType($params['ccType']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
$jsonData = json_encode($result);
|
42 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
43 |
$this->getResponse()->setBody($jsonData);
|
44 |
|
|
|
|
|
45 |
}
|
46 |
|
47 |
}
|
@@ -73,8 +73,8 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
73 |
public function openinvoiceAction() {
|
74 |
$_mode = $this->_getConfigData('demoMode');
|
75 |
$wsdl = ($_mode == 'Y') ?
|
76 |
-
|
77 |
-
|
78 |
$server = new SoapServer($wsdl);
|
79 |
$server->setClass(self::OPENINVOICE_SOAP_SERVER);
|
80 |
$server->addFunction(SOAP_FUNCTIONS_ALL);
|
@@ -108,23 +108,23 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
108 |
|
109 |
//redirect only if this order is never recorded
|
110 |
$hasEvent = Mage::getResourceModel('adyen/adyen_event')
|
111 |
-
|
112 |
if (!empty($hasEvent) || !$order->getId()) {
|
113 |
$this->_redirect('/');
|
114 |
return $this;
|
115 |
}
|
116 |
-
|
117 |
//redirect to adyen
|
118 |
if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
|
119 |
-
|
120 |
$_status = $this->_getConfigData('order_status');
|
121 |
// FIXME this status won't be added because order is not saved $order->save() missing
|
122 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Customer was redirected to Adyen.'), $_status);
|
123 |
$this->getResponse()->setBody(
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
);
|
129 |
$session->unsQuoteId();
|
130 |
}
|
@@ -138,93 +138,95 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
138 |
$this->cancel();
|
139 |
}
|
140 |
}
|
141 |
-
|
142 |
public function validate3dAction() {
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
} catch (Exception $e) {
|
213 |
$session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
|
214 |
$this->cancel();
|
215 |
}
|
216 |
-
|
217 |
|
218 |
/**
|
219 |
* Adyen returns POST variables to this action
|
220 |
*/
|
221 |
public function successAction() {
|
222 |
$status = $this->processResponse();
|
223 |
-
|
224 |
-
$
|
225 |
-
|
226 |
-
|
227 |
-
|
|
|
|
|
228 |
$this->_redirect('checkout/onepage/success');
|
229 |
} else {
|
230 |
$this->cancel();
|
@@ -236,20 +238,24 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
236 |
* @since v009
|
237 |
*/
|
238 |
public function cancel() {
|
239 |
-
|
240 |
$session = $this->_getCheckout();
|
241 |
$order = Mage::getModel('sales/order');
|
242 |
$incrementId = $session->getLastRealOrderId();
|
243 |
-
|
244 |
-
$session->clear();
|
245 |
if (empty($incrementId)) {
|
246 |
$session->addError($this->__('Your payment failed, Please try again later'));
|
247 |
$this->_redirect('checkout/cart');
|
248 |
return;
|
249 |
}
|
250 |
-
|
251 |
$order->loadByIncrementId($incrementId);
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
253 |
//handle the old order here
|
254 |
try {
|
255 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
|
@@ -257,17 +263,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
257 |
} catch (Mage_Core_Exception $e) {
|
258 |
Mage::logException($e);
|
259 |
}
|
260 |
-
|
261 |
-
foreach ($items as $item) {
|
262 |
-
try {
|
263 |
-
$cart->addOrderItem($item);
|
264 |
-
} catch (Mage_Core_Exception $e) {
|
265 |
-
$session->addError($this->__($e->getMessage()));
|
266 |
-
Mage::logException($e);
|
267 |
-
continue;
|
268 |
-
}
|
269 |
-
}
|
270 |
-
$cart->save();
|
271 |
$session->addError($this->__('Your payment failed. Please try again later'));
|
272 |
$this->_redirect('checkout/cart');
|
273 |
}
|
@@ -275,72 +271,72 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
275 |
public function insAction() {
|
276 |
try {
|
277 |
|
278 |
-
|
279 |
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
} catch (Exception $e) {
|
286 |
Mage::logException($e);
|
287 |
}
|
288 |
-
|
289 |
exit();
|
290 |
}
|
291 |
-
|
292 |
public function cashAction() {
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
}
|
306 |
-
|
307 |
/* START actions for POS */
|
308 |
public function successPosAction() {
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
}
|
313 |
|
314 |
public function getOrderStatusAction()
|
315 |
{
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
}
|
326 |
-
|
327 |
public function cancelAction()
|
328 |
{
|
329 |
-
|
330 |
}
|
331 |
-
|
332 |
-
|
333 |
public function processPosResponse() {
|
334 |
-
|
335 |
}
|
336 |
/* END actions for POS */
|
337 |
-
|
338 |
public function processCashResponse() {
|
339 |
-
|
340 |
}
|
341 |
|
342 |
protected function _return401(){
|
343 |
-
|
344 |
}
|
345 |
|
346 |
/**
|
@@ -351,7 +347,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
351 |
public function processResponse($soapItem = null) {
|
352 |
return Mage::getModel('adyen/process')->processResponse($soapItem);
|
353 |
}
|
354 |
-
|
355 |
protected function _getCheckout() {
|
356 |
return Mage::getSingleton('checkout/session');
|
357 |
}
|
@@ -359,7 +355,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
|
|
359 |
protected function _getOrder() {
|
360 |
return Mage::getModel('sales/order');
|
361 |
}
|
362 |
-
|
363 |
/**
|
364 |
* @desc Give Default settings
|
365 |
* @example $this->_getConfigData('demoMode','adyen_abstract')
|
73 |
public function openinvoiceAction() {
|
74 |
$_mode = $this->_getConfigData('demoMode');
|
75 |
$wsdl = ($_mode == 'Y') ?
|
76 |
+
'https://ca-test.adyen.com/ca/services/OpenInvoiceDetail?wsdl' :
|
77 |
+
'https://ca-live.adyen.com/ca/services/OpenInvoiceDetail?wsdl';
|
78 |
$server = new SoapServer($wsdl);
|
79 |
$server->setClass(self::OPENINVOICE_SOAP_SERVER);
|
80 |
$server->addFunction(SOAP_FUNCTIONS_ALL);
|
108 |
|
109 |
//redirect only if this order is never recorded
|
110 |
$hasEvent = Mage::getResourceModel('adyen/adyen_event')
|
111 |
+
->getLatestStatus($session->getLastRealOrderId());
|
112 |
if (!empty($hasEvent) || !$order->getId()) {
|
113 |
$this->_redirect('/');
|
114 |
return $this;
|
115 |
}
|
116 |
+
|
117 |
//redirect to adyen
|
118 |
if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
|
119 |
+
(strcmp($order->getState(), Mage_Sales_Model_Order::STATE_NEW) === 0)) {
|
120 |
$_status = $this->_getConfigData('order_status');
|
121 |
// FIXME this status won't be added because order is not saved $order->save() missing
|
122 |
$order->addStatusHistoryComment(Mage::helper('adyen')->__('Customer was redirected to Adyen.'), $_status);
|
123 |
$this->getResponse()->setBody(
|
124 |
+
$this->getLayout()
|
125 |
+
->createBlock($this->_redirectBlockType)
|
126 |
+
->setOrder($order)
|
127 |
+
->toHtml()
|
128 |
);
|
129 |
$session->unsQuoteId();
|
130 |
}
|
138 |
$this->cancel();
|
139 |
}
|
140 |
}
|
141 |
+
|
142 |
public function validate3dAction() {
|
143 |
+
try {
|
144 |
+
// get current order
|
145 |
+
$session = $this->_getCheckout();
|
146 |
+
$order = $this->_getOrder();
|
147 |
+
$session->setAdyenQuoteId($session->getQuoteId());
|
148 |
+
$session->setAdyenRealOrderId($session->getLastRealOrderId());
|
149 |
+
$order->loadByIncrementId($session->getLastRealOrderId());
|
150 |
+
$adyenStatus = $order->getAdyenEventCode();
|
151 |
+
|
152 |
+
// get payment details
|
153 |
+
$payment = $order->getPayment();
|
154 |
+
$paRequest = $payment->getAdditionalInformation('paRequest');
|
155 |
+
$md = $payment->getAdditionalInformation('md');
|
156 |
+
$issuerUrl = $payment->getAdditionalInformation('issuerUrl');
|
157 |
+
|
158 |
+
$infoAvailable = $payment && !empty($paRequest) && !empty($md) && !empty($issuerUrl);
|
159 |
+
|
160 |
+
// check adyen status and check if all information is available
|
161 |
+
if (!empty($adyenStatus) && $adyenStatus == 'RedirectShopper' && $infoAvailable) {
|
162 |
+
|
163 |
+
$request = $this->getRequest();
|
164 |
+
$requestMD = $request->getPost('MD');
|
165 |
+
$requestPaRes = $request->getPost('PaRes');
|
166 |
+
|
167 |
+
// authorise the payment if the user is back from the external URL
|
168 |
+
if ($request->isPost() && !empty($requestMD) && !empty($requestPaRes)) {
|
169 |
+
if ($requestMD == $md) {
|
170 |
+
$payment->setAdditionalInformation('paResponse', $requestPaRes);
|
171 |
+
// send autorise3d request, catch exception in case of 'Refused'
|
172 |
+
try {
|
173 |
+
$result = $payment->getMethodInstance()->authorise3d($payment, $order->getGrandTotal());
|
174 |
+
} catch (Exception $e) {
|
175 |
+
$result = 'Refused';
|
176 |
+
$order->setAdyenEventCode($result)->save();
|
177 |
+
}
|
178 |
+
|
179 |
+
// check if authorise3d was successful
|
180 |
+
if ($result == 'Authorised') {
|
181 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true,
|
182 |
+
Mage::helper('adyen')->__('3D-secure validation was successful.'))->save();
|
183 |
+
$this->_redirect('checkout/onepage/success');
|
184 |
+
}
|
185 |
+
else {
|
186 |
+
$order->addStatusHistoryComment(Mage::helper('adyen')->__('3D-secure validation was unsuccessful.'))->save();
|
187 |
+
$session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
|
188 |
+
$this->cancel();
|
189 |
+
}
|
190 |
+
}
|
191 |
+
else {
|
192 |
+
$this->_redirect('/');
|
193 |
+
return $this;
|
194 |
+
}
|
195 |
+
|
196 |
+
}
|
197 |
+
|
198 |
+
// otherwise, redirect to the external URL
|
199 |
+
else {
|
200 |
+
$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true,
|
201 |
+
Mage::helper('adyen')->__('Customer was redirected to bank for 3D-secure validation.'))->save();
|
202 |
+
$this->getResponse()->setBody(
|
203 |
+
$this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
|
204 |
+
);
|
205 |
+
}
|
206 |
+
|
207 |
+
}
|
208 |
+
else {
|
209 |
+
$this->_redirect('/');
|
210 |
+
return $this;
|
211 |
+
}
|
212 |
} catch (Exception $e) {
|
213 |
$session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
|
214 |
$this->cancel();
|
215 |
}
|
216 |
+
}
|
217 |
|
218 |
/**
|
219 |
* Adyen returns POST variables to this action
|
220 |
*/
|
221 |
public function successAction() {
|
222 |
$status = $this->processResponse();
|
223 |
+
|
224 |
+
if ($status) {
|
225 |
+
$session = $this->_getCheckout();
|
226 |
+
$session->unsAdyenRealOrderId();
|
227 |
+
$session->setQuoteId($session->getAdyenQuoteId(true));
|
228 |
+
$session->getQuote()->setIsActive(false)->save();
|
229 |
+
|
230 |
$this->_redirect('checkout/onepage/success');
|
231 |
} else {
|
232 |
$this->cancel();
|
238 |
* @since v009
|
239 |
*/
|
240 |
public function cancel() {
|
241 |
+
|
242 |
$session = $this->_getCheckout();
|
243 |
$order = Mage::getModel('sales/order');
|
244 |
$incrementId = $session->getLastRealOrderId();
|
245 |
+
|
|
|
246 |
if (empty($incrementId)) {
|
247 |
$session->addError($this->__('Your payment failed, Please try again later'));
|
248 |
$this->_redirect('checkout/cart');
|
249 |
return;
|
250 |
}
|
251 |
+
|
252 |
$order->loadByIncrementId($incrementId);
|
253 |
+
|
254 |
+
// reactivate the quote again
|
255 |
+
$quoteId = $order->getQuoteId();
|
256 |
+
$cart = Mage::getModel('sales/quote')->load($quoteId);
|
257 |
+
$cart->setIsActive(true)->save();
|
258 |
+
|
259 |
//handle the old order here
|
260 |
try {
|
261 |
$order->setActionFlag(Mage_Sales_Model_Order::ACTION_FLAG_CANCEL, true);
|
263 |
} catch (Mage_Core_Exception $e) {
|
264 |
Mage::logException($e);
|
265 |
}
|
266 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
$session->addError($this->__('Your payment failed. Please try again later'));
|
268 |
$this->_redirect('checkout/cart');
|
269 |
}
|
271 |
public function insAction() {
|
272 |
try {
|
273 |
|
274 |
+
$status = $this->processResponse();
|
275 |
|
276 |
+
if($status == "401"){
|
277 |
+
$this->_return401();
|
278 |
+
} else {
|
279 |
+
echo "[accepted]";
|
280 |
+
}
|
281 |
} catch (Exception $e) {
|
282 |
Mage::logException($e);
|
283 |
}
|
284 |
+
|
285 |
exit();
|
286 |
}
|
287 |
+
|
288 |
public function cashAction() {
|
289 |
+
|
290 |
+
$status = $this->processCashResponse();
|
291 |
+
|
292 |
+
$session = $this->_getCheckout();
|
293 |
+
$session->unsAdyenRealOrderId();
|
294 |
+
$session->setQuoteId($session->getAdyenQuoteId(true));
|
295 |
+
$session->getQuote()->setIsActive(false)->save();
|
296 |
+
if ($status) {
|
297 |
+
$this->_redirect('checkout/onepage/success');
|
298 |
+
} else {
|
299 |
+
$this->cancel();
|
300 |
+
}
|
301 |
}
|
302 |
+
|
303 |
/* START actions for POS */
|
304 |
public function successPosAction() {
|
305 |
+
|
306 |
+
echo $this->processPosResponse();
|
307 |
+
return $this;
|
308 |
}
|
309 |
|
310 |
public function getOrderStatusAction()
|
311 |
{
|
312 |
+
if($_POST['merchantReference'] != "") {
|
313 |
+
// get the order
|
314 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($_POST['merchantReference']);
|
315 |
+
// if order is not cancelled then order is success
|
316 |
+
if($order->getStatus() == Mage_Sales_Model_Order::STATE_PROCESSING || $order->getAdyenEventCode() == Adyen_Payment_Model_Event::ADYEN_EVENT_POSAPPROVED) {
|
317 |
+
echo 'true';
|
318 |
+
}
|
319 |
+
}
|
320 |
+
return;
|
321 |
}
|
322 |
+
|
323 |
public function cancelAction()
|
324 |
{
|
325 |
+
$this->cancel();
|
326 |
}
|
327 |
+
|
328 |
+
|
329 |
public function processPosResponse() {
|
330 |
+
return Mage::getModel('adyen/process')->processPosResponse();
|
331 |
}
|
332 |
/* END actions for POS */
|
333 |
+
|
334 |
public function processCashResponse() {
|
335 |
+
return Mage::getModel('adyen/process')->processCashResponse();
|
336 |
}
|
337 |
|
338 |
protected function _return401(){
|
339 |
+
header('HTTP/1.1 401 Unauthorized',true,401);
|
340 |
}
|
341 |
|
342 |
/**
|
347 |
public function processResponse($soapItem = null) {
|
348 |
return Mage::getModel('adyen/process')->processResponse($soapItem);
|
349 |
}
|
350 |
+
|
351 |
protected function _getCheckout() {
|
352 |
return Mage::getSingleton('checkout/session');
|
353 |
}
|
355 |
protected function _getOrder() {
|
356 |
return Mage::getModel('sales/order');
|
357 |
}
|
358 |
+
|
359 |
/**
|
360 |
* @desc Give Default settings
|
361 |
* @example $this->_getConfigData('demoMode','adyen_abstract')
|
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Adyen_Payment_SavedCardController extends Mage_Core_Controller_Front_Action
|
4 |
+
{
|
5 |
+
|
6 |
+
/**
|
7 |
+
*
|
8 |
+
* @var Mage_Customer_Model_Session
|
9 |
+
*/
|
10 |
+
protected $_session = null;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Make sure customer is logged in and put it into registry
|
14 |
+
*/
|
15 |
+
public function preDispatch()
|
16 |
+
{
|
17 |
+
parent::preDispatch();
|
18 |
+
if (!$this->getRequest()->isDispatched()) {
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
$this->_session = Mage::getSingleton('customer/session');
|
22 |
+
if (!$this->_session->authenticate($this)) {
|
23 |
+
$this->setFlag('', 'no-dispatch', true);
|
24 |
+
}
|
25 |
+
Mage::register('current_customer', $this->_session->getCustomer());
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Profiles listing
|
30 |
+
*/
|
31 |
+
public function indexAction()
|
32 |
+
{
|
33 |
+
// check if there is a submit on card delete
|
34 |
+
if ($this->getRequest()->isPost()) {
|
35 |
+
$recurringDetailReference = $this->getRequest()->getParam('recurringDetailReference');
|
36 |
+
if($recurringDetailReference != "") {
|
37 |
+
$storeId = Mage::app()->getStore()->getStoreId();
|
38 |
+
$merchantAccount = Mage::getStoreConfig("payment/adyen_abstract/merchantAccount", $storeId);
|
39 |
+
$customer = Mage::registry('current_customer');
|
40 |
+
$shopperReference = $customer->getId();
|
41 |
+
// do api call to delete this card
|
42 |
+
$success = Mage::helper('adyen')->removeRecurringCart($merchantAccount, $shopperReference, $recurringDetailReference);
|
43 |
+
|
44 |
+
// show result message
|
45 |
+
if($success) {
|
46 |
+
$this->_getSession()->addSuccess(Mage::helper('adyen')->__('The card has been deleted.'));
|
47 |
+
} else {
|
48 |
+
$this->_getSession()->addError(Mage::helper('adyen')->__('The card has not been deleted, please contact us.'));
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
$this->_title($this->__('Saved Cards'));
|
54 |
+
$this->loadLayout();
|
55 |
+
$this->_initLayoutMessages('customer/session');
|
56 |
+
$block = $this->getLayout()->getBlock('adyen.savedCards');
|
57 |
+
if ($block) {
|
58 |
+
$block->setRefererUrl($this->_getRefererUrl());
|
59 |
+
}
|
60 |
+
$this->renderLayout();
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Retrieve customer session object
|
65 |
+
*
|
66 |
+
* @return Mage_Customer_Model_Session
|
67 |
+
*/
|
68 |
+
protected function _getSession()
|
69 |
+
{
|
70 |
+
return Mage::getSingleton('customer/session');
|
71 |
+
}
|
72 |
+
|
73 |
+
|
74 |
+
}
|
@@ -16,6 +16,7 @@
|
|
16 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
17 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
18 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
|
|
19 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
20 |
<xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
|
21 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
@@ -265,6 +266,7 @@
|
|
265 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
266 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
267 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
|
|
268 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
269 |
<xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
|
270 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
@@ -299,6 +301,7 @@
|
|
299 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
300 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
301 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
|
|
302 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
303 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
304 |
<xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
|
16 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
17 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
18 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
19 |
+
<xsd:element minOccurs="0" name="deliveryDate" nillable="true" type="xsd:dateTime" />
|
20 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
21 |
<xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
|
22 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
266 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
267 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
268 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
269 |
+
<xsd:element minOccurs="0" name="deliveryDate" nillable="true" type="xsd:dateTime" />
|
270 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
271 |
<xsd:element minOccurs="0" name="elv" nillable="true" type="tns:ELV"/>
|
272 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
301 |
<xsd:element minOccurs="0" name="dateOfBirth" nillable="true" type="xsd:dateTime"/>
|
302 |
<xsd:element minOccurs="0" name="dccQuote" nillable="true" type="tns:ForexQuote"/>
|
303 |
<xsd:element minOccurs="0" name="deliveryAddress" nillable="true" type="ns1:Address"/>
|
304 |
+
<xsd:element minOccurs="0" name="deliveryDate" nillable="true" type="xsd:dateTime" />
|
305 |
<xsd:element minOccurs="0" name="deviceFingerprint" nillable="true" type="xsd:string"/>
|
306 |
<xsd:element minOccurs="0" name="fraudOffset" nillable="true" type="xsd:int"/>
|
307 |
<xsd:element minOccurs="0" name="installments" nillable="true" type="ns1:Installments"/>
|
@@ -29,7 +29,7 @@
|
|
29 |
<config>
|
30 |
<modules>
|
31 |
<Adyen_Payment>
|
32 |
-
<version>2.1.
|
33 |
</Adyen_Payment>
|
34 |
</modules>
|
35 |
<global>
|
@@ -212,6 +212,14 @@
|
|
212 |
</adyen_manual_online_capture>
|
213 |
</observers>
|
214 |
</sales_order_invoice_pay>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
</events>
|
216 |
</adminhtml>
|
217 |
<default>
|
@@ -261,7 +269,13 @@
|
|
261 |
<title>Adyen POS</title>
|
262 |
<recurringtypes>ONECLICK</recurringtypes>
|
263 |
<enable_scanner>0</enable_scanner>
|
|
|
264 |
<express_checkout>0</express_checkout>
|
|
|
|
|
|
|
|
|
|
|
265 |
<allowspecific>0</allowspecific>
|
266 |
<sort_order>80</sort_order>
|
267 |
</adyen_pos>
|
@@ -274,6 +288,7 @@
|
|
274 |
<openinvoicetypes>openinvoice</openinvoicetypes>
|
275 |
<gender_show>0</gender_show>
|
276 |
<dob_show>0</dob_show>
|
|
|
277 |
<sort_order>40</sort_order>
|
278 |
</adyen_openinvoice>
|
279 |
<adyen_cc translate="title" module="adyen">
|
@@ -327,6 +342,7 @@
|
|
327 |
<title>Adyen SEPA</title>
|
328 |
<sort_order>60</sort_order>
|
329 |
<validate_iban>0</validate_iban>
|
|
|
330 |
</adyen_sepa>
|
331 |
</payment>
|
332 |
<adyen>
|
@@ -362,18 +378,18 @@
|
|
362 |
<order>40</order>
|
363 |
<is_cvv_required>1</is_cvv_required>
|
364 |
</DC>
|
365 |
-
<
|
366 |
-
<code>
|
367 |
<name>Maestro</name>
|
368 |
<order>60</order>
|
369 |
<is_cvv_required>0</is_cvv_required>
|
370 |
-
</
|
371 |
-
<
|
372 |
-
<code>
|
373 |
<name>JCB</name>
|
374 |
<order>70</order>
|
375 |
<is_cvv_required>0</is_cvv_required>
|
376 |
-
</
|
377 |
<CB>
|
378 |
<code>CB</code>
|
379 |
<name>CarteBleue</name>
|
29 |
<config>
|
30 |
<modules>
|
31 |
<Adyen_Payment>
|
32 |
+
<version>2.1.1</version>
|
33 |
</Adyen_Payment>
|
34 |
</modules>
|
35 |
<global>
|
212 |
</adyen_manual_online_capture>
|
213 |
</observers>
|
214 |
</sales_order_invoice_pay>
|
215 |
+
<sales_order_payment_cancel>
|
216 |
+
<observers>
|
217 |
+
<adyen_payment>
|
218 |
+
<class>adyen/observer</class>
|
219 |
+
<method>salesOrderPaymentCancel</method>
|
220 |
+
</adyen_payment>
|
221 |
+
</observers>
|
222 |
+
</sales_order_payment_cancel>
|
223 |
</events>
|
224 |
</adminhtml>
|
225 |
<default>
|
269 |
<title>Adyen POS</title>
|
270 |
<recurringtypes>ONECLICK</recurringtypes>
|
271 |
<enable_scanner>0</enable_scanner>
|
272 |
+
<submit_scanner>0</submit_scanner>
|
273 |
<express_checkout>0</express_checkout>
|
274 |
+
<create_shipment>0</create_shipment>
|
275 |
+
<cash_express_checkout>0</cash_express_checkout>
|
276 |
+
<cash_drawer>0</cash_drawer>
|
277 |
+
<cash_drawer_printer_ip></cash_drawer_printer_ip>
|
278 |
+
<cash_drawer_code>27,112,48,55,121</cash_drawer_code>
|
279 |
<allowspecific>0</allowspecific>
|
280 |
<sort_order>80</sort_order>
|
281 |
</adyen_pos>
|
288 |
<openinvoicetypes>openinvoice</openinvoicetypes>
|
289 |
<gender_show>0</gender_show>
|
290 |
<dob_show>0</dob_show>
|
291 |
+
<different_address_disable>0</different_address_disable>
|
292 |
<sort_order>40</sort_order>
|
293 |
</adyen_openinvoice>
|
294 |
<adyen_cc translate="title" module="adyen">
|
342 |
<title>Adyen SEPA</title>
|
343 |
<sort_order>60</sort_order>
|
344 |
<validate_iban>0</validate_iban>
|
345 |
+
<flow>sales</flow>
|
346 |
</adyen_sepa>
|
347 |
</payment>
|
348 |
<adyen>
|
378 |
<order>40</order>
|
379 |
<is_cvv_required>1</is_cvv_required>
|
380 |
</DC>
|
381 |
+
<SM>
|
382 |
+
<code>SM</code>
|
383 |
<name>Maestro</name>
|
384 |
<order>60</order>
|
385 |
<is_cvv_required>0</is_cvv_required>
|
386 |
+
</SM>
|
387 |
+
<JCB>
|
388 |
+
<code>JCB</code>
|
389 |
<name>JCB</name>
|
390 |
<order>70</order>
|
391 |
<is_cvv_required>0</is_cvv_required>
|
392 |
+
</JCB>
|
393 |
<CB>
|
394 |
<code>CB</code>
|
395 |
<name>CarteBleue</name>
|
@@ -45,14 +45,14 @@
|
|
45 |
</p>]]></comment>
|
46 |
<fields>
|
47 |
<version translate="label">
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
<merchantAccount translate="label">
|
57 |
<label>Merchant Account</label>
|
58 |
<comment>You can find this in the Adyen backoffice.</comment>
|
@@ -308,6 +308,7 @@
|
|
308 |
</payment_routines>
|
309 |
<delivery_days translate="label">
|
310 |
<label>Days for Delivery</label>
|
|
|
311 |
<comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
|
312 |
<frontend_type>text</frontend_type>
|
313 |
<sort_order>70</sort_order>
|
@@ -421,20 +422,84 @@
|
|
421 |
<show_in_website>1</show_in_website>
|
422 |
<show_in_store>1</show_in_store>
|
423 |
</enable_scanner>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
424 |
<express_checkout>
|
425 |
<label>Express checkout</label>
|
426 |
-
<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
|
427 |
<frontend_type>select</frontend_type>
|
428 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
429 |
-
<sort_order>
|
430 |
<show_in_default>1</show_in_default>
|
431 |
<show_in_website>1</show_in_website>
|
432 |
<show_in_store>1</show_in_store>
|
433 |
</express_checkout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
<allowspecific translate="label">
|
435 |
<label>Payment to applicable countries</label>
|
436 |
<frontend_type>allowspecific</frontend_type>
|
437 |
-
<sort_order>
|
438 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
439 |
<show_in_default>1</show_in_default>
|
440 |
<show_in_website>1</show_in_website>
|
@@ -513,10 +578,20 @@
|
|
513 |
<show_in_website>1</show_in_website>
|
514 |
<show_in_store>1</show_in_store>
|
515 |
</dob_show>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
516 |
<fee translate="label">
|
517 |
<label>Fee</label>
|
518 |
<frontend_type>text</frontend_type>
|
519 |
-
<sort_order>
|
520 |
<show_in_default>1</show_in_default>
|
521 |
<show_in_website>1</show_in_website>
|
522 |
<show_in_store>1</show_in_store>
|
@@ -946,6 +1021,16 @@
|
|
946 |
<show_in_website>1</show_in_website>
|
947 |
<show_in_store>1</show_in_store>
|
948 |
</validate_iban>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
949 |
<allowspecific translate="label">
|
950 |
<label>Payment to applicable countries</label>
|
951 |
<frontend_type>allowspecific</frontend_type>
|
45 |
</p>]]></comment>
|
46 |
<fields>
|
47 |
<version translate="label">
|
48 |
+
<label>Extension version</label>
|
49 |
+
<frontend_type>label</frontend_type>
|
50 |
+
<frontend_model>Adyen_Payment_Block_Adminhtml_Version</frontend_model>
|
51 |
+
<sort_order>0</sort_order>
|
52 |
+
<show_in_default>1</show_in_default>
|
53 |
+
<show_in_website>1</show_in_website>
|
54 |
+
<show_in_store>1</show_in_store>
|
55 |
+
</version>
|
56 |
<merchantAccount translate="label">
|
57 |
<label>Merchant Account</label>
|
58 |
<comment>You can find this in the Adyen backoffice.</comment>
|
308 |
</payment_routines>
|
309 |
<delivery_days translate="label">
|
310 |
<label>Days for Delivery</label>
|
311 |
+
<validate>validate-digits</validate>
|
312 |
<comment>How many days to be added to the current date for delivery. ONLY numbers allowed.</comment>
|
313 |
<frontend_type>text</frontend_type>
|
314 |
<sort_order>70</sort_order>
|
422 |
<show_in_website>1</show_in_website>
|
423 |
<show_in_store>1</show_in_store>
|
424 |
</enable_scanner>
|
425 |
+
<auto_submit_scanner>
|
426 |
+
<label>Auto submit scanner</label>
|
427 |
+
<comment>If you have a scanner that puss a enter command after scanning turn this setting on.</comment>
|
428 |
+
<frontend_type>select</frontend_type>
|
429 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
430 |
+
<sort_order>36</sort_order>
|
431 |
+
<show_in_default>1</show_in_default>
|
432 |
+
<show_in_website>1</show_in_website>
|
433 |
+
<show_in_store>1</show_in_store>
|
434 |
+
<depends><enable_scanner>1</enable_scanner></depends>
|
435 |
+
</auto_submit_scanner>
|
436 |
<express_checkout>
|
437 |
<label>Express checkout</label>
|
438 |
+
<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>
|
439 |
<frontend_type>select</frontend_type>
|
440 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
441 |
+
<sort_order>37</sort_order>
|
442 |
<show_in_default>1</show_in_default>
|
443 |
<show_in_website>1</show_in_website>
|
444 |
<show_in_store>1</show_in_store>
|
445 |
</express_checkout>
|
446 |
+
<create_shipment>
|
447 |
+
<label>Create Shipment</label>
|
448 |
+
<comment>If you enable this there will be automatically be created a shipment if the invoice is created</comment>
|
449 |
+
<frontend_type>select</frontend_type>
|
450 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
451 |
+
<sort_order>38</sort_order>
|
452 |
+
<show_in_default>1</show_in_default>
|
453 |
+
<show_in_website>1</show_in_website>
|
454 |
+
<show_in_store>1</show_in_store>
|
455 |
+
</create_shipment>
|
456 |
+
<cash_express_checkout>
|
457 |
+
<label>Cash Express checkout</label>
|
458 |
+
<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>
|
459 |
+
<frontend_type>select</frontend_type>
|
460 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
461 |
+
<sort_order>39</sort_order>
|
462 |
+
<show_in_default>1</show_in_default>
|
463 |
+
<show_in_website>1</show_in_website>
|
464 |
+
<show_in_store>1</show_in_store>
|
465 |
+
</cash_express_checkout>
|
466 |
+
<cash_drawer>
|
467 |
+
<label>Open Cash Drawer</label>
|
468 |
+
<comment>Open the Cash drawer if you connect this to your printer</comment>
|
469 |
+
<frontend_type>select</frontend_type>
|
470 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
471 |
+
<sort_order>40</sort_order>
|
472 |
+
<show_in_default>1</show_in_default>
|
473 |
+
<show_in_website>1</show_in_website>
|
474 |
+
<show_in_store>1</show_in_store>
|
475 |
+
<depends><cash_express_checkout>1</cash_express_checkout></depends>
|
476 |
+
</cash_drawer>
|
477 |
+
<cash_drawer_printer_ip>
|
478 |
+
<label>IP address printer</label>
|
479 |
+
<comment>Enter here the IP address of the printer where the cash drawer is connected to</comment>
|
480 |
+
<frontend_type>text</frontend_type>
|
481 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
482 |
+
<sort_order>41</sort_order>
|
483 |
+
<show_in_default>1</show_in_default>
|
484 |
+
<show_in_website>1</show_in_website>
|
485 |
+
<show_in_store>1</show_in_store>
|
486 |
+
<depends><cash_drawer>1</cash_drawer></depends>
|
487 |
+
</cash_drawer_printer_ip>
|
488 |
+
<cash_drawer_code>
|
489 |
+
<label>Cash Drawer Code</label>
|
490 |
+
<comment><![CDATA[Add your cash drawer code for example: 27,112,48,55,121 <a href="http://keyhut.com/popopen.htm" target="_blank">see overview codes here</a> ]]></comment>
|
491 |
+
<frontend_type>text</frontend_type>
|
492 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
493 |
+
<sort_order>42</sort_order>
|
494 |
+
<show_in_default>1</show_in_default>
|
495 |
+
<show_in_website>1</show_in_website>
|
496 |
+
<show_in_store>1</show_in_store>
|
497 |
+
<depends><cash_drawer>1</cash_drawer></depends>
|
498 |
+
</cash_drawer_code>
|
499 |
<allowspecific translate="label">
|
500 |
<label>Payment to applicable countries</label>
|
501 |
<frontend_type>allowspecific</frontend_type>
|
502 |
+
<sort_order>49</sort_order>
|
503 |
<source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
|
504 |
<show_in_default>1</show_in_default>
|
505 |
<show_in_website>1</show_in_website>
|
578 |
<show_in_website>1</show_in_website>
|
579 |
<show_in_store>1</show_in_store>
|
580 |
</dob_show>
|
581 |
+
<different_address_disable>
|
582 |
+
<label>Disable on Different Address</label>
|
583 |
+
<comment>If the delivery address and billing address in the checkout is not the same disable this payment method because Klarna will most likely reject it</comment>
|
584 |
+
<frontend_type>select</frontend_type>
|
585 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
586 |
+
<sort_order>37</sort_order>
|
587 |
+
<show_in_default>1</show_in_default>
|
588 |
+
<show_in_website>1</show_in_website>
|
589 |
+
<show_in_store>1</show_in_store>
|
590 |
+
</different_address_disable>
|
591 |
<fee translate="label">
|
592 |
<label>Fee</label>
|
593 |
<frontend_type>text</frontend_type>
|
594 |
+
<sort_order>38</sort_order>
|
595 |
<show_in_default>1</show_in_default>
|
596 |
<show_in_website>1</show_in_website>
|
597 |
<show_in_store>1</show_in_store>
|
1021 |
<show_in_website>1</show_in_website>
|
1022 |
<show_in_store>1</show_in_store>
|
1023 |
</validate_iban>
|
1024 |
+
<flow>
|
1025 |
+
<label>Flow</label>
|
1026 |
+
<frontend_type>select</frontend_type>
|
1027 |
+
<source_model>adyen/source_SepaFlow</source_model>
|
1028 |
+
<sort_order>30</sort_order>
|
1029 |
+
<comment>If you are not sure just use the default => Sales</comment>
|
1030 |
+
<show_in_default>1</show_in_default>
|
1031 |
+
<show_in_website>1</show_in_website>
|
1032 |
+
<show_in_store>1</show_in_store>
|
1033 |
+
</flow>
|
1034 |
<allowspecific translate="label">
|
1035 |
<label>Payment to applicable countries</label>
|
1036 |
<frontend_type>allowspecific</frontend_type>
|
Binary file
|
@@ -25,17 +25,19 @@
|
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
?>
|
28 |
-
<?php
|
29 |
$ownerInformation = $this->getInfo()->getCcOwner();
|
30 |
$cseEnabled = empty($ownerInformation);
|
31 |
echo $this->htmlEscape($this->getMethod()->getTitle());
|
32 |
echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
|
33 |
?><br/>
|
34 |
<?php if ($_info = $this->getInfo()): ?>
|
35 |
-
<?php if ($_info->getAdyenPspReference() == ''): ?>
|
36 |
-
<?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
|
37 |
<?php else :?>
|
38 |
-
<?php
|
|
|
|
|
39 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
40 |
<?php else : ?>
|
41 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
@@ -51,10 +53,13 @@ echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
|
|
51 |
<?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
|
52 |
<?php echo Mage::helper('adyen')->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br/>
|
53 |
<?php else : ?>
|
54 |
-
<?php
|
55 |
-
|
|
|
|
|
|
|
|
|
56 |
<?php endif;?>
|
57 |
-
|
58 |
<?php if($this->htmlEscape($this->getInfo()->getAdyenAvsResult()) != ""): ?>
|
59 |
<?php echo Mage::helper('adyen')->__('Avs result: %s', $this->htmlEscape($this->getInfo()->getAdyenAvsResult())) ?><br/>
|
60 |
<?php endif; ?>
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
?>
|
28 |
+
<?php
|
29 |
$ownerInformation = $this->getInfo()->getCcOwner();
|
30 |
$cseEnabled = empty($ownerInformation);
|
31 |
echo $this->htmlEscape($this->getMethod()->getTitle());
|
32 |
echo ($cseEnabled ? " (with Client-Side Encryption)" : "");
|
33 |
?><br/>
|
34 |
<?php if ($_info = $this->getInfo()): ?>
|
35 |
+
<?php if ($_info->getAdyenPspReference() == ''): ?>
|
36 |
+
<?php echo Mage::helper('adyen')->__('Payment has not been processed yet.') ?> <br/>
|
37 |
<?php else :?>
|
38 |
+
<?php
|
39 |
+
$storeId = $this->getMethod()->getInfoInstance()->getOrder()->getStoreId();
|
40 |
+
if($this->getMethod()->getConfigDataDemoMode($storeId)): ?>
|
41 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-test.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
42 |
<?php else : ?>
|
43 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
53 |
<?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
|
54 |
<?php echo Mage::helper('adyen')->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br/>
|
55 |
<?php else : ?>
|
56 |
+
<?php if($this->getCcTypeName() != ""):?>
|
57 |
+
<?php echo Mage::helper('adyen')->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br/>
|
58 |
+
<?php endif; ?>
|
59 |
+
<?php if($this->getInfo()->getCcLast4() != ""):?>
|
60 |
+
<?php echo Mage::helper('adyen')->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br/>
|
61 |
+
<?php endif;?>
|
62 |
<?php endif;?>
|
|
|
63 |
<?php if($this->htmlEscape($this->getInfo()->getAdyenAvsResult()) != ""): ?>
|
64 |
<?php echo Mage::helper('adyen')->__('Avs result: %s', $this->htmlEscape($this->getInfo()->getAdyenAvsResult())) ?><br/>
|
65 |
<?php endif; ?>
|
@@ -36,7 +36,7 @@
|
|
36 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
37 |
<?php endif; ?>
|
38 |
<?php endif;?>
|
39 |
-
<?php $paymentMethod = $_info->
|
40 |
<?php if (!empty($paymentMethod)): ?>
|
41 |
<?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
|
42 |
<?php endif; ?>
|
36 |
<?php echo Mage::helper('adyen')->__('Adyen PSP Reference: <a href="https://ca-live.adyen.com/ca/ca/payments/searchPayments.shtml?query=%s&skipList=firstResult" target="__blank">%s</a>', $this->htmlEscape($_info->getAdyenPspReference()), $this->htmlEscape($_info->getAdyenPspReference())) ?> <br/>
|
37 |
<?php endif; ?>
|
38 |
<?php endif;?>
|
39 |
+
<?php $paymentMethod = $_info->getCcType() ?>
|
40 |
<?php if (!empty($paymentMethod)): ?>
|
41 |
<?php echo $this->__('Payment Method: %s', $this->htmlEscape($paymentMethod)) ?><br/>
|
42 |
<?php endif; ?>
|
@@ -1,80 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-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 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category design
|
22 |
-
* @package default_default
|
23 |
-
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
-
*/
|
26 |
-
?>
|
27 |
-
<div id="order_history_block">
|
28 |
-
<?php if ($this->canAddComment()):?>
|
29 |
-
<div id="history_form" class="order-history-form">
|
30 |
-
<div><?php echo Mage::helper('sales')->__('Add Order Comments') ?></div>
|
31 |
-
<span class="field-row">
|
32 |
-
<label class="normal" for="history_status"><?php echo Mage::helper('sales')->__('Status') ?></label><br/>
|
33 |
-
<select name="history[status]" class="select" id="history_status">
|
34 |
-
<?php foreach ($this->getStatuses() as $_code=>$_label): ?>
|
35 |
-
<option value="<?php echo $_code ?>"<?php if($_code==$this->getOrder()->getStatus()): ?> selected="selected"<?php endif; ?>><?php echo $_label ?></option>
|
36 |
-
<?php endforeach; ?>
|
37 |
-
</select>
|
38 |
-
</span>
|
39 |
-
<span class="field-row">
|
40 |
-
<label class="normal" for="history_comment"><?php echo Mage::helper('sales')->__('Comment') ?></label>
|
41 |
-
<textarea name="history[comment]" rows="3" cols="5" style="height:6em; width:99%;" id="history_comment"></textarea>
|
42 |
-
</span>
|
43 |
-
<div class="f-left">
|
44 |
-
<?php if ($this->canSendCommentEmail()): ?>
|
45 |
-
<input name="history[is_customer_notified]" type="checkbox" id="history_notify" value="1" /><label class="normal" for="history_notify"> <?php echo Mage::helper('sales')->__('Notify Customer by Email') ?></label><br />
|
46 |
-
<?php endif; ?>
|
47 |
-
<input name="history[is_visible_on_front]" type="checkbox" id="history_visible" value="1" /><label class="normal" for="history_visible"> <?php echo Mage::helper('sales')->__('Visible on Frontend') ?></label>
|
48 |
-
</div>
|
49 |
-
<div class="f-right">
|
50 |
-
<?php echo $this->getChildHtml('submit_button') ?>
|
51 |
-
</div>
|
52 |
-
<div class="clear"></div>
|
53 |
-
</div>
|
54 |
-
<div class="divider"></div>
|
55 |
-
<?php endif;?>
|
56 |
-
<ul class="note-list">
|
57 |
-
<?php foreach ($this->getOrder()->getStatusHistoryCollection(true) as $_item): ?>
|
58 |
-
<li>
|
59 |
-
<strong><?php echo $this->helper('core')->formatDate($_item->getCreatedAtDate(), 'medium') ?></strong>
|
60 |
-
<?php echo $this->helper('core')->formatTime($_item->getCreatedAtDate(), 'medium') ?><span class="separator">|</span><strong><?php echo $_item->getStatusLabel() ?></strong><br/><small><?php echo $this->helper('sales')->__('Customer') ?>
|
61 |
-
<strong class="subdue">
|
62 |
-
<?php if ($this->isCustomerNotificationNotApplicable($_item)): ?>
|
63 |
-
<?php echo $this->helper('sales')->__('Notification Not Applicable') ?>
|
64 |
-
<?php elseif ($_item->getIsCustomerNotified()): ?>
|
65 |
-
<?php echo $this->helper('sales')->__('Notified') ?>
|
66 |
-
<img src="<?php echo $this->getSkinUrl('images/ico_success.gif') ?>" width="16" height="16" alt="" />
|
67 |
-
<?php else: ?>
|
68 |
-
<?php echo $this->helper('sales')->__('Not Notified') ?>
|
69 |
-
<?php endif; ?>
|
70 |
-
</strong></small>
|
71 |
-
<?php if ($_item->getComment()): ?>
|
72 |
-
<br/><?php echo $_item->getComment()) ?>
|
73 |
-
<?php endif; ?>
|
74 |
-
</li>
|
75 |
-
<?php endforeach; ?>
|
76 |
-
</ul>
|
77 |
-
<script type="text/javascript">
|
78 |
-
if($('order_status'))$('order_status').update('<?php echo $this->getOrder()->getStatusLabel() ?>');
|
79 |
-
</script>
|
80 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Binary file
|
@@ -28,6 +28,25 @@
|
|
28 |
-->
|
29 |
<layout version="0.1.0">
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
<adyen_updatecart_index>
|
32 |
<update handle="checkout_cart_index" />
|
33 |
</adyen_updatecart_index>
|
@@ -45,9 +64,25 @@
|
|
45 |
<reference name="head">
|
46 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
47 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
</reference>
|
49 |
</checkout_onepage_index>
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
<onestepcheckout_index_index>
|
52 |
<reference name="head">
|
53 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
@@ -71,4 +106,6 @@
|
|
71 |
<block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
|
72 |
</reference>
|
73 |
</checkout_multishipping_success>
|
|
|
|
|
74 |
</layout>
|
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/savedCards.phtml"/>
|
47 |
+
</reference>
|
48 |
+
</adyen_savedcard_index>
|
49 |
+
|
50 |
<adyen_updatecart_index>
|
51 |
<update handle="checkout_cart_index" />
|
52 |
</adyen_updatecart_index>
|
64 |
<reference name="head">
|
65 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
66 |
<action method="addCss"><stylesheet>css/adyenstyle.css</stylesheet></action>
|
67 |
+
<block type="core/text" name="newmodule.diners.validation">
|
68 |
+
<action method="setText">
|
69 |
+
<text>
|
70 |
+
<![CDATA[<script type="text/javascript">
|
71 |
+
Validation.creditCartTypes.set('DC', [new RegExp('^3(?:0[0-5]|[68][0-9])[0-9]{11}$'), new RegExp('^[0-9]{3}$'), true]);
|
72 |
+
Validation.creditCartTypes.set('CB', [new RegExp('^4[0-9]{12}([0-9]{3})?$'), new RegExp('^[0-9]{3}$'), true]);
|
73 |
+
</script>]]>
|
74 |
+
</text>
|
75 |
+
</action>
|
76 |
+
</block>
|
77 |
</reference>
|
78 |
</checkout_onepage_index>
|
79 |
|
80 |
+
<checkout_onepage_paymentmethod>
|
81 |
+
<reference name="root">
|
82 |
+
<action method="setTemplate"><template>adyen/checkout/onepage/payment/methods.phtml</template></action>
|
83 |
+
</reference>
|
84 |
+
</checkout_onepage_paymentmethod>
|
85 |
+
|
86 |
<onestepcheckout_index_index>
|
87 |
<reference name="head">
|
88 |
<action method="addJs"><script>adyen/payment/elv.js</script></action>
|
106 |
<block type="adyen/checkout_success" name="adyen.checkout.success" template="adyen/checkout/success.phtml"/>
|
107 |
</reference>
|
108 |
</checkout_multishipping_success>
|
109 |
+
|
110 |
+
|
111 |
</layout>
|
@@ -106,6 +106,20 @@ $oneMethod = count($methods) <= 1;
|
|
106 |
e.setStyle({display:'none'});
|
107 |
}
|
108 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
}
|
111 |
payment.switchMethod(method);
|
106 |
e.setStyle({display:'none'});
|
107 |
}
|
108 |
);
|
109 |
+
|
110 |
+
// hide update link
|
111 |
+
$$('.update-expiration-date').each(
|
112 |
+
function (e) {
|
113 |
+
e.setStyle({display:'none'});
|
114 |
+
}
|
115 |
+
);
|
116 |
+
|
117 |
+
// don't show installment field
|
118 |
+
$$('.adyen-oneclick-installments').each(
|
119 |
+
function (e) {
|
120 |
+
e.setStyle({display:'none'});
|
121 |
+
}
|
122 |
+
);
|
123 |
}
|
124 |
}
|
125 |
payment.switchMethod(method);
|
@@ -36,7 +36,7 @@
|
|
36 |
<li>
|
37 |
<label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
|
38 |
<div class="input-box">
|
39 |
-
<select id="<?php echo $_code ?>_cc_type" <?php echo
|
40 |
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
41 |
<?php $_ccType = $this->getInfoData('cc_type') ?>
|
42 |
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
@@ -98,48 +98,61 @@
|
|
98 |
</div>
|
99 |
</li>
|
100 |
<?php endif;?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
</ul>
|
102 |
|
103 |
-
|
|
|
104 |
|
105 |
-
|
106 |
|
107 |
-
|
108 |
-
|
109 |
|
110 |
-
|
111 |
-
|
112 |
|
113 |
-
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
|
119 |
-
|
120 |
|
121 |
-
|
122 |
|
123 |
-
|
124 |
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
|
|
|
131 |
}
|
|
|
|
|
|
|
132 |
}
|
133 |
-
}
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
});
|
138 |
-
}
|
139 |
-
// event on change Credit Card Type
|
140 |
-
Event.observe($('<?php echo $_code?>_cc_type'), 'change', ChangeCCType);
|
141 |
|
142 |
-
</script>
|
|
|
143 |
|
144 |
<?php if ($this->isCseEnabled()): ?>
|
145 |
<input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
|
36 |
<li>
|
37 |
<label for="<?php echo $_code ?>_cc_type" class="required"><em>*</em><?php echo $this->__('Credit Card Type') ?></label>
|
38 |
<div class="input-box">
|
39 |
+
<select id="<?php echo $_code ?>_cc_type" <?php echo "name=\"payment[cc_type]\""; ?> title="<?php echo $this->__('Credit Card Type') ?>" class="required-entry">
|
40 |
<option value=""><?php echo $this->__('--Please Select--') ?></option>
|
41 |
<?php $_ccType = $this->getInfoData('cc_type') ?>
|
42 |
<?php foreach ($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
|
98 |
</div>
|
99 |
</li>
|
100 |
<?php endif;?>
|
101 |
+
|
102 |
+
<?php if($this->getRecurringType() == "ONECLICK" || $this->getRecurringType() == "ONECLICK,RECURRING"): ?>
|
103 |
+
<li>
|
104 |
+
<div class="input-box">
|
105 |
+
<div class="v-fix">
|
106 |
+
<input type="checkbox" name="payment[store_cc]" id="<?php echo $_code ?>_store_cc" value="1" checked />
|
107 |
+
<label for="<?php echo $_code ?>_store_cc" class="required"><em>*</em><?php echo $this->__('Remember these details') ?></label>
|
108 |
+
</div>
|
109 |
+
</div>
|
110 |
+
</li>
|
111 |
+
<?php endif; ?>
|
112 |
</ul>
|
113 |
|
114 |
+
<?php if($this->hasInstallments()): ?>
|
115 |
+
<script type="text/javascript">
|
116 |
|
117 |
+
var ChangeCCType= function(event) {
|
118 |
|
119 |
+
// clear the select box
|
120 |
+
document.getElementById('<?php echo $_code ?>_installments').options.length = 0;
|
121 |
|
122 |
+
// get the installments for this cardtype
|
123 |
+
var ccType = $('<?php echo $_code?>_cc_type').value;
|
124 |
|
125 |
+
var url = '<?php echo $this->getUrl('adyen/GetInstallments', array('_secure'=>true)); ?>';
|
126 |
|
127 |
+
new Ajax.Request(url, {
|
128 |
+
parameters: {ccType: ccType, isAjax: 1, method: 'POST'},
|
129 |
+
onSuccess: function(transport) {
|
130 |
|
131 |
+
if(transport.status == 200) {
|
132 |
|
133 |
+
var response = transport.responseText.evalJSON();
|
134 |
|
135 |
+
for (var key in response) {
|
136 |
|
137 |
+
// change the installments
|
138 |
+
var opt = document.createElement('option');
|
139 |
+
opt.text = response[key]
|
140 |
+
opt.value = key;
|
141 |
+
$('<?php echo $_code ?>_installments').options.add(opt);
|
142 |
|
143 |
+
}
|
144 |
}
|
145 |
+
},
|
146 |
+
onFailure: function(){
|
147 |
+
alert('<?php echo $this->jsQuoteEscape($this->__('Server Error. Please try again.')) ?>');
|
148 |
}
|
149 |
+
});
|
150 |
+
}
|
151 |
+
// event on change Credit Card Type
|
152 |
+
Event.observe($('<?php echo $_code?>_cc_type'), 'change', ChangeCCType);
|
|
|
|
|
|
|
|
|
153 |
|
154 |
+
</script>
|
155 |
+
<?php endif; ?>
|
156 |
|
157 |
<?php if ($this->isCseEnabled()): ?>
|
158 |
<input type="hidden" id="<?php echo $_code ?>_encrypted_form_expiry_generationtime" value="<?php echo date("c"); ?>" data-encrypted-name="generationtime" />
|
@@ -52,6 +52,7 @@
|
|
52 |
<tr>
|
53 |
<td width="20px">
|
54 |
<input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>"/>
|
|
|
55 |
</td>
|
56 |
<?php if (file_exists($filename)): ?>
|
57 |
<td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_typeCode.png") ?>" alt="<?php echo $_typeName ?>" /></td>
|
@@ -111,6 +112,20 @@
|
|
111 |
}
|
112 |
);
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
}
|
115 |
|
116 |
var method = $('hpp_type_<?php echo $_typeCode?>');
|
52 |
<tr>
|
53 |
<td width="20px">
|
54 |
<input type="radio" id="hpp_type_<?php echo $_typeCode ?>" name="payment[hpp_type]" value="<?php echo $_typeCode ?>"/>
|
55 |
+
<input type="hidden" name="payment[hpp_type_label_<?php echo $_typeCode ?>]" value="<?php echo $_typeName; ?>" />
|
56 |
</td>
|
57 |
<?php if (file_exists($filename)): ?>
|
58 |
<td width="80px"><img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS."$_typeCode.png") ?>" alt="<?php echo $_typeName ?>" /></td>
|
112 |
}
|
113 |
);
|
114 |
|
115 |
+
// hide update link
|
116 |
+
$$('.update-expiration-date').each(
|
117 |
+
function (e) {
|
118 |
+
e.setStyle({display:'none'});
|
119 |
+
}
|
120 |
+
);
|
121 |
+
|
122 |
+
// hide installment box
|
123 |
+
$$('.adyen-oneclick-installments').each(
|
124 |
+
function (e) {
|
125 |
+
e.setStyle({display:'none'});
|
126 |
+
}
|
127 |
+
);
|
128 |
+
|
129 |
}
|
130 |
|
131 |
var method = $('hpp_type_<?php echo $_typeCode?>');
|
@@ -105,6 +105,22 @@
|
|
105 |
|
106 |
<div class="creditcard-holder-name"><?php echo $value["card_holderName"]; ?></div>
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
<div style="clear:both;"></div>
|
109 |
</div>
|
110 |
<?php ++$count; ?>
|
@@ -163,11 +179,15 @@
|
|
163 |
|
164 |
// hide all the open blocks
|
165 |
hideCvcBlocks();
|
|
|
166 |
|
167 |
// open the selected block
|
168 |
var key = this.value;
|
169 |
var id = "cvc_block_" + key;
|
170 |
|
|
|
|
|
|
|
171 |
// hide changeble card and show static expiration date
|
172 |
hideChangableCardExpiry()
|
173 |
|
@@ -201,6 +221,9 @@
|
|
201 |
|
202 |
// show the cvc input field
|
203 |
$(id).show();
|
|
|
|
|
|
|
204 |
});
|
205 |
|
206 |
// remove all cvc data-encrypted-name attributes
|
@@ -245,6 +268,15 @@
|
|
245 |
);
|
246 |
}
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
function hideChangableCardExpiry() {
|
249 |
$$('.changable-card-expiry').each(
|
250 |
function (e) {
|
105 |
|
106 |
<div class="creditcard-holder-name"><?php echo $value["card_holderName"]; ?></div>
|
107 |
|
108 |
+
|
109 |
+
<?php if($this->hasInstallments()): ?>
|
110 |
+
<div id="adyen_oneclick_installment_<?php echo $key;?>" class="adyen-oneclick-installments" style="display:none;">
|
111 |
+
<label for="<?php echo $_code ?>_installment_<?php echo $key; ?>" class="required"><em>*</em><?php echo $this->__('Installments') ?></label>
|
112 |
+
<div class="input-box">
|
113 |
+
<div class="v-fix">
|
114 |
+
<select id="<?php echo $_code ?>_installment_<?php echo $key; ?>" name="payment[installment_<?php echo $key; ?>]" class="adyen-installment number required-entry">
|
115 |
+
<?php foreach ($this->getInstallmentForCreditCardType($_bankFile) as $k=>$v): ?>
|
116 |
+
<option value="<?php echo $k?$k:'' ?>"><?php echo $v ?></option>
|
117 |
+
<?php endforeach ?>
|
118 |
+
</select>
|
119 |
+
</div>
|
120 |
+
</div>
|
121 |
+
</div>
|
122 |
+
<?php endif;?>
|
123 |
+
|
124 |
<div style="clear:both;"></div>
|
125 |
</div>
|
126 |
<?php ++$count; ?>
|
179 |
|
180 |
// hide all the open blocks
|
181 |
hideCvcBlocks();
|
182 |
+
hideInstallmentBlocks();
|
183 |
|
184 |
// open the selected block
|
185 |
var key = this.value;
|
186 |
var id = "cvc_block_" + key;
|
187 |
|
188 |
+
// open the installment block
|
189 |
+
var installmentId = "adyen_oneclick_installment_" + key;
|
190 |
+
|
191 |
// hide changeble card and show static expiration date
|
192 |
hideChangableCardExpiry()
|
193 |
|
221 |
|
222 |
// show the cvc input field
|
223 |
$(id).show();
|
224 |
+
|
225 |
+
// show recurring selectbox
|
226 |
+
$(installmentId).show();
|
227 |
});
|
228 |
|
229 |
// remove all cvc data-encrypted-name attributes
|
268 |
);
|
269 |
}
|
270 |
|
271 |
+
// hide all the installment block
|
272 |
+
function hideInstallmentBlocks() {
|
273 |
+
$$('.adyen-oneclick-installments').each(
|
274 |
+
function (e) {
|
275 |
+
e.setStyle({display:'none'});
|
276 |
+
}
|
277 |
+
);
|
278 |
+
}
|
279 |
+
|
280 |
function hideChangableCardExpiry() {
|
281 |
$$('.changable-card-expiry').each(
|
282 |
function (e) {
|
@@ -25,11 +25,15 @@
|
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
?>
|
|
|
|
|
28 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
|
|
|
|
|
29 |
<?php if ($_info = $this->getInfo()): ?>
|
30 |
<?php $paymentMethod = $_info->getCcType() ?>
|
31 |
<?php if (!empty($paymentMethod)): ?>
|
32 |
-
<?php echo $this->__('Payment Method: %s', $this->htmlEscape($
|
33 |
<?php endif; ?>
|
34 |
<?php if (strpos($paymentMethod, "ideal") !== false): ?>
|
35 |
<?php $bankData = $_info->getPoNumber(); ?>
|
25 |
* @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
|
26 |
*/
|
27 |
?>
|
28 |
+
<?php $disabled = $this->getMethod()->getHppOptionsDisabled();?>
|
29 |
+
<?php if($disabled): ?>
|
30 |
<?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
|
31 |
+
<?php endif; ?>
|
32 |
+
|
33 |
<?php if ($_info = $this->getInfo()): ?>
|
34 |
<?php $paymentMethod = $_info->getCcType() ?>
|
35 |
<?php if (!empty($paymentMethod)): ?>
|
36 |
+
<?php echo $this->__('Payment Method: %s', $this->htmlEscape($_info->getAdditionalInformation('hpp_type_label'))) ?><br/>
|
37 |
<?php endif; ?>
|
38 |
<?php if (strpos($paymentMethod, "ideal") !== false): ?>
|
39 |
<?php $bankData = $_info->getPoNumber(); ?>
|
@@ -1,14 +1,27 @@
|
|
1 |
|
2 |
-
<?php if($this->hasExpressCheckout()): ?>
|
3 |
|
4 |
-
<
|
5 |
-
<
|
|
|
6 |
|
7 |
-
|
8 |
-
|
9 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
-
</form>
|
12 |
<div>-OR-</div>
|
13 |
|
14 |
<?php endif; ?>
|
1 |
|
2 |
+
<?php if($this->hasExpressCheckout() || $this->hasCashExpressCheckout() ): ?>
|
3 |
|
4 |
+
<div id="adyen-checkout-wrapper">
|
5 |
+
<form action="<?php echo $this->getUrl("adyen/checkoutPos", array('_secure'=>true)); ?>" method="post">
|
6 |
+
<input style="width:250px;" type="text" class="input-text" name="adyenPosEmail" id="adyenPosEmail" value="" size="60" placeholder="Email" autocapitalize="off"/>
|
7 |
|
8 |
+
<?php if($this->hasExpressCheckout()): ?>
|
9 |
+
<button id="CheckoutWithPos" style="" type="submit" title="Checkout with POS" class="button btn-proceed-checkout btn-checkout adyen-checkout-button">
|
10 |
+
<span><span>Checkout with POS</span></span>
|
11 |
+
</button>
|
12 |
+
<?php endif; ?>
|
13 |
+
|
14 |
+
</form>
|
15 |
+
|
16 |
+
<form action="<?php echo $this->getUrl("adyen/checkoutCash", array('_secure'=>true)); ?>" method="post">
|
17 |
+
<?php if($this->hasCashExpressCheckout()): ?>
|
18 |
+
<button id="CheckoutWithCash" style="" type="submit" title="Checkout with Cash" class="button btn-proceed-checkout btn-checkout adyen-checkout-button">
|
19 |
+
<span><span>Checkout with Cash</span></span>
|
20 |
+
</button>
|
21 |
+
<?php endif; ?>
|
22 |
+
</form>
|
23 |
+
</div>
|
24 |
|
|
|
25 |
<div>-OR-</div>
|
26 |
|
27 |
<?php endif; ?>
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<?php /* @var $this Adyen_Payment_Block_SavedCards */ ?>
|
3 |
+
<div class="page-title">
|
4 |
+
<h1><?php echo $this->__('My Saved cards') ?></h1>
|
5 |
+
</div>
|
6 |
+
|
7 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
8 |
+
|
9 |
+
<div class="saved-cards">
|
10 |
+
|
11 |
+
<div id="oneclick-cse" class="">
|
12 |
+
|
13 |
+
<?php $_listRecurringDetails = $this->getlistRecurringDetails(); ?>
|
14 |
+
|
15 |
+
<?php if(!empty($_listRecurringDetails)): ?>
|
16 |
+
|
17 |
+
<ul id="oneclick_payment_form" class="recurring-creditcards">
|
18 |
+
<?php
|
19 |
+
$count = 0;
|
20 |
+
foreach($_listRecurringDetails as $key => $value):?>
|
21 |
+
<li>
|
22 |
+
|
23 |
+
<form method="post" action="<?php echo $this->getUrl("adyen/savedCard/", array('_secure'=>true)); ?>">
|
24 |
+
|
25 |
+
<input type="hidden" name="recurringDetailReference" value="<?php echo $value["recurringDetailReference"] ?>" />
|
26 |
+
|
27 |
+
|
28 |
+
<div class="creditcard-block">
|
29 |
+
<?php
|
30 |
+
$_bankFile = $value["variant"];
|
31 |
+
$_filename = Mage::getBaseDir().DS.'skin'.DS.'frontend'.DS.'base'.DS.'default'.DS.'images'.DS.'adyen'.DS. $_bankFile ."_small.png";
|
32 |
+
|
33 |
+
?>
|
34 |
+
<?php if (file_exists($_filename)){ ?>
|
35 |
+
<img src="<?php echo $this->getSkinUrl('images'.DS.'adyen'.DS. $_bankFile . "_small.png") ?>" alt="<?php echo $_bankFile ?>" label="<?php echo $_bankFile ?>" />
|
36 |
+
<?php } ?>
|
37 |
+
|
38 |
+
|
39 |
+
<div class="columns three a">
|
40 |
+
<label><?php echo $this->__('Credit Card Number') ?></label>
|
41 |
+
<span>****</span> <?php echo $value["card_number"]; ?>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<div class="columns three b">
|
45 |
+
<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>
|
46 |
+
|
47 |
+
<div id="static-card-expiry-<?php echo $key; ?>" class="static-card-expiry">
|
48 |
+
<?php echo $value["card_expiryMonth"] . " /" . $value["card_expiryYear"]; ?>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div style="clear:both;"></div>
|
54 |
+
|
55 |
+
<div class="creditcard-holder-name"><?php echo $value["card_holderName"]; ?></div>
|
56 |
+
|
57 |
+
<button type="submit" title="Add to Cart" class="button btn-cart btn-delete"><span><span><?php echo $this->__('Remove Card');?></span></span></button>
|
58 |
+
|
59 |
+
<div style="clear:both;"></div>
|
60 |
+
</div>
|
61 |
+
</form>
|
62 |
+
<?php ++$count; ?>
|
63 |
+
</li>
|
64 |
+
<?php endforeach; ?>
|
65 |
+
</ul>
|
66 |
+
<?php else: ?>
|
67 |
+
<p><?php echo $this->__('There are no saved cards for this account.');?></p>
|
68 |
+
<?php endif; ?>
|
69 |
+
|
70 |
+
|
71 |
+
|
72 |
+
</div>
|
73 |
+
|
74 |
+
<div class="buttons-set">
|
75 |
+
<p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
76 |
+
</div>
|
77 |
+
</div>
|
@@ -1,17 +1,23 @@
|
|
1 |
|
2 |
<?php if($this->hasEnableScanner()): ?>
|
3 |
<div id="adyenCustomScanWrapper">
|
4 |
-
<form id="addToCartBarCode" method='post' action="<?php echo $this->getUrl("adyen/updateCart/index"); ?>">
|
5 |
|
6 |
<h3>Barcode scanner</h3>
|
7 |
|
8 |
<div id="scan">
|
9 |
-
<input type="text" class="input-text" name="code" id="inpscan" value="" size="60" placeholder="Scan barcode with scanner" autofocus/>
|
10 |
</div>
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
<div id="customscan" style="display:none;">
|
13 |
<input type="text" class="input-text" name="customcode" id="inpcustomscan" value="" size="60" placeholder="Fil in custom barcode">
|
14 |
-
<button id="SubmitCustomScan" type="
|
15 |
<span><span>Add</span></span>
|
16 |
</button>
|
17 |
</div>
|
@@ -43,7 +49,9 @@
|
|
43 |
|
44 |
$('inpscan').observe('focus', function(e){
|
45 |
$('StartScan').hide();
|
46 |
-
|
|
|
|
|
47 |
});
|
48 |
|
49 |
$('inpscan').observe('blur', function(e){
|
@@ -82,6 +90,14 @@
|
|
82 |
e.preventDefault();
|
83 |
});
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
|
86 |
|
87 |
// check if scan is done with scanning
|
1 |
|
2 |
<?php if($this->hasEnableScanner()): ?>
|
3 |
<div id="adyenCustomScanWrapper">
|
4 |
+
<form id="addToCartBarCode" method='post' action="<?php echo $this->getUrl("adyen/updateCart/index", array('_secure'=>true)); ?>">
|
5 |
|
6 |
<h3>Barcode scanner</h3>
|
7 |
|
8 |
<div id="scan">
|
9 |
+
<input type="text" class="input-text" name="code" id="inpscan" value="" size="60" placeholder="Scan barcode with scanner" autocomplete="off" autofocus/>
|
10 |
</div>
|
11 |
|
12 |
+
<?php if($this->hasAutoSubmitScanner()): ?>
|
13 |
+
<button style="visibility: hidden;" id="SubmitScan" type="submit" title="Submit" class="button btn-proceed-checkout btn-checkout">
|
14 |
+
</button>
|
15 |
+
<?php endif; ?>
|
16 |
+
|
17 |
+
|
18 |
<div id="customscan" style="display:none;">
|
19 |
<input type="text" class="input-text" name="customcode" id="inpcustomscan" value="" size="60" placeholder="Fil in custom barcode">
|
20 |
+
<button id="SubmitCustomScan" type="submit" title="Submit" class="button btn-proceed-checkout btn-checkout">
|
21 |
<span><span>Add</span></span>
|
22 |
</button>
|
23 |
</div>
|
49 |
|
50 |
$('inpscan').observe('focus', function(e){
|
51 |
$('StartScan').hide();
|
52 |
+
<?php if(!$this->hasAutoSubmitScanner()): ?>
|
53 |
+
intervalId = setInterval('scan()', 250);
|
54 |
+
<?php endif; ?>
|
55 |
});
|
56 |
|
57 |
$('inpscan').observe('blur', function(e){
|
90 |
e.preventDefault();
|
91 |
});
|
92 |
|
93 |
+
$('SubmitScan').observe('click', function(e){
|
94 |
+
var value = $('inpscan').value;;
|
95 |
+
ajaxCall(value);
|
96 |
+
$('inpscan').value = "";
|
97 |
+
$('inpscan').focus();
|
98 |
+
e.preventDefault();
|
99 |
+
});
|
100 |
+
|
101 |
|
102 |
|
103 |
// check if scan is done with scanning
|
@@ -1,149 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
-
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://opensource.org/licenses/afl-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 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category design
|
22 |
-
* @package base_default
|
23 |
-
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
-
*/
|
26 |
-
?>
|
27 |
-
<?php
|
28 |
-
/**
|
29 |
-
* One page checkout payment methods
|
30 |
-
*
|
31 |
-
* @var $this Mage_Checkout_Block_Onepage_Payment_Methods
|
32 |
-
*/
|
33 |
-
?>
|
34 |
-
|
35 |
-
<?php
|
36 |
-
$methods = $this->getMethods();
|
37 |
-
$oneMethod = count($methods) <= 1;
|
38 |
-
?>
|
39 |
-
<?php if (empty($methods)): ?>
|
40 |
-
<dt>
|
41 |
-
<?php echo $this->__('No Payment Methods') ?>
|
42 |
-
</dt>
|
43 |
-
<?php else:
|
44 |
-
foreach ($methods as $_method):
|
45 |
-
$_code = $_method->getCode();
|
46 |
-
|
47 |
-
$_style = "";
|
48 |
-
if($_code == "adyen_hpp") {
|
49 |
-
|
50 |
-
// get method and check if config payment/adyen_hpp/disable_hpptypes is set
|
51 |
-
$disabled = $_method->getHppOptionsDisabled();
|
52 |
-
if(!$disabled) {
|
53 |
-
$_style = ($_code == "adyen_hpp" && !$oneMethod) ? "display:none" : "";
|
54 |
-
}
|
55 |
-
} else if ($_code == "adyen_oneclick" && !$oneMethod) {
|
56 |
-
$_style = "display:none";
|
57 |
-
}
|
58 |
-
|
59 |
-
?>
|
60 |
-
<dt style="<?php echo $_style; ?>">
|
61 |
-
<?php if(!$oneMethod): ?>
|
62 |
-
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" <?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
|
63 |
-
<?php else: ?>
|
64 |
-
<span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /></span>
|
65 |
-
<?php $oneMethod = $_code; ?>
|
66 |
-
<?php endif; ?>
|
67 |
-
|
68 |
-
<?php if(($_code == "adyen_hpp" && $disabled) || ($_code != "adyen_hpp")): ?>
|
69 |
-
<label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
|
70 |
-
<?php endif; ?>
|
71 |
-
</dt>
|
72 |
-
|
73 |
-
<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
|
74 |
-
<dd>
|
75 |
-
<?php echo $html; ?>
|
76 |
-
</dd>
|
77 |
-
<?php endif; ?>
|
78 |
-
<script type="text/javascript">
|
79 |
-
//<![CDATA[
|
80 |
-
|
81 |
-
var SwitchMethod= function() {
|
82 |
-
var method = $('p_method_<?php echo $_code?>').value;
|
83 |
-
|
84 |
-
if(method != "adyen_hpp") {
|
85 |
-
// check if hpp is enabled if so clear the selected option because you select different payment method
|
86 |
-
if($('hpp_payment_form_adyen_hpp'))
|
87 |
-
{
|
88 |
-
var form = $('hpp_payment_form_adyen_hpp');
|
89 |
-
var elements = form.getElementsByTagName('input');
|
90 |
-
for (var i=0; i<elements.length; i++) elements[i].checked = false;
|
91 |
-
}
|
92 |
-
}
|
93 |
-
|
94 |
-
// check if adyen_oneclick is enabled
|
95 |
-
if(method != "adyen_oneclick") {
|
96 |
-
if($('oneclick_payment_form_adyen_oneclick'))
|
97 |
-
{
|
98 |
-
// if so clear the selected option because you select different payment method
|
99 |
-
var form = $('oneclick_payment_form_adyen_oneclick');
|
100 |
-
var elements = form.getElementsByTagName('input');
|
101 |
-
for (var i=0; i<elements.length; i++) elements[i].checked = false;
|
102 |
-
|
103 |
-
// don't show the cvc field
|
104 |
-
$$('.cvc_block').each(
|
105 |
-
function (e) {
|
106 |
-
e.setStyle({display:'none'});
|
107 |
-
}
|
108 |
-
);
|
109 |
-
}
|
110 |
-
}
|
111 |
-
payment.switchMethod(method);
|
112 |
-
};
|
113 |
-
Event.observe($('p_method_<?php echo $_code ?>'), 'change', SwitchMethod);
|
114 |
-
|
115 |
-
//]]>
|
116 |
-
</script>
|
117 |
-
<?php endforeach;
|
118 |
-
endif;
|
119 |
-
?>
|
120 |
-
<?php echo $this->getChildChildHtml('additional'); ?>
|
121 |
-
<script type="text/javascript">
|
122 |
-
//<![CDATA[
|
123 |
-
<?php echo $this->getChildChildHtml('scripts'); ?>
|
124 |
-
payment.init();
|
125 |
-
<?php if (is_string($oneMethod)): ?>
|
126 |
-
payment.switchMethod('<?php echo $oneMethod ?>');
|
127 |
-
<?php endif; ?>
|
128 |
-
|
129 |
-
// always enable the hpp payment options if this payment method is on
|
130 |
-
if($('hpp_payment_form_adyen_hpp'))
|
131 |
-
{
|
132 |
-
var form = $('hpp_payment_form_adyen_hpp');
|
133 |
-
var elements = form.getElementsByTagName('input');
|
134 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
135 |
-
}
|
136 |
-
|
137 |
-
// always enable the oneclick payments options if this payment method is on
|
138 |
-
if($('oneclick_payment_form_adyen_oneclick'))
|
139 |
-
{
|
140 |
-
var form = $('oneclick_payment_form_adyen_oneclick');
|
141 |
-
var elements = form.getElementsByTagName('input');
|
142 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
143 |
-
|
144 |
-
// always enable the selectboxes for the oneclick creditcards
|
145 |
-
var elements = form.getElementsByTagName('select');
|
146 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
147 |
-
}
|
148 |
-
//]]>
|
149 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,139 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Magento Enterprise Edition
|
4 |
-
*
|
5 |
-
* NOTICE OF LICENSE
|
6 |
-
*
|
7 |
-
* This source file is subject to the Magento Enterprise Edition License
|
8 |
-
* that is bundled with this package in the file LICENSE_EE.txt.
|
9 |
-
* It is also available through the world-wide-web at this URL:
|
10 |
-
* http://www.magentocommerce.com/license/enterprise-edition
|
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 |
-
* DISCLAIMER
|
16 |
-
*
|
17 |
-
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
-
* versions in the future. If you wish to customize Magento for your
|
19 |
-
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
-
*
|
21 |
-
* @category design
|
22 |
-
* @package base_default
|
23 |
-
* @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
|
24 |
-
* @license http://www.magentocommerce.com/license/enterprise-edition
|
25 |
-
*/
|
26 |
-
?>
|
27 |
-
<?php
|
28 |
-
/**
|
29 |
-
* One page checkout payment methods
|
30 |
-
*
|
31 |
-
* @see Mage_Checkout_Block_Onepage_Payment_Methods
|
32 |
-
*/
|
33 |
-
$methods = $this->getMethods();
|
34 |
-
$oneMethod = count($methods) <= 1;
|
35 |
-
?>
|
36 |
-
<dl class="sp-methods" id="checkout-payment-method-load">
|
37 |
-
<?php foreach ($methods as $_method):
|
38 |
-
$_code = $_method->getCode();
|
39 |
-
|
40 |
-
$_style = "";
|
41 |
-
if($_code == "adyen_hpp") {
|
42 |
-
|
43 |
-
// get method and check if config payment/adyen_hpp/disable_hpptypes is set
|
44 |
-
$disabled = $_method->getHppOptionsDisabled();
|
45 |
-
if(!$disabled) {
|
46 |
-
$_style = ($_code == "adyen_hpp" && !$oneMethod) ? "display:none" : "";
|
47 |
-
}
|
48 |
-
} else if ($_code == "adyen_oneclick" && !$oneMethod) {
|
49 |
-
$_style = "display:none";
|
50 |
-
}
|
51 |
-
?>
|
52 |
-
<dt style="<?php echo $_style; ?>">
|
53 |
-
<?php if( sizeof($this->getMethods()) > 1 ): ?>
|
54 |
-
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->htmlEscape($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
|
55 |
-
<?php else: ?>
|
56 |
-
<span class="no-display"><input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" /></span>
|
57 |
-
<?php endif; ?>
|
58 |
-
|
59 |
-
<?php if(($_code == "adyen_hpp" && $disabled) || ($_code != "adyen_hpp")): ?>
|
60 |
-
<label for="p_method_<?php echo $_code ?>"><?php echo $this->getMethodTitle($_method) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
|
61 |
-
<?php endif; ?>
|
62 |
-
|
63 |
-
</dt>
|
64 |
-
<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
|
65 |
-
<dd>
|
66 |
-
<?php echo $html; ?>
|
67 |
-
</dd>
|
68 |
-
<?php endif; ?>
|
69 |
-
<script type="text/javascript">
|
70 |
-
//<![CDATA[
|
71 |
-
|
72 |
-
var SwitchMethod= function() {
|
73 |
-
var method = $('p_method_<?php echo $_code?>').value;
|
74 |
-
|
75 |
-
if(method != "adyen_hpp") {
|
76 |
-
// check if hpp is enabled if so clear the selected option because you select different payment method
|
77 |
-
if($('hpp_payment_form_adyen_hpp'))
|
78 |
-
{
|
79 |
-
var form = $('hpp_payment_form_adyen_hpp');
|
80 |
-
var elements = form.getElementsByTagName('input');
|
81 |
-
for (var i=0; i<elements.length; i++) elements[i].checked = false;
|
82 |
-
}
|
83 |
-
}
|
84 |
-
|
85 |
-
// check if adyen_oneclick is enabled
|
86 |
-
if(method != "adyen_oneclick") {
|
87 |
-
if($('oneclick_payment_form_adyen_oneclick'))
|
88 |
-
{
|
89 |
-
// if so clear the selected option because you select different payment method
|
90 |
-
var form = $('oneclick_payment_form_adyen_oneclick');
|
91 |
-
var elements = form.getElementsByTagName('input');
|
92 |
-
for (var i=0; i<elements.length; i++) elements[i].checked = false;
|
93 |
-
|
94 |
-
// don't show the cvc field
|
95 |
-
$$('.cvc_block').each(
|
96 |
-
function (e) {
|
97 |
-
e.setStyle({display:'none'});
|
98 |
-
}
|
99 |
-
);
|
100 |
-
}
|
101 |
-
}
|
102 |
-
payment.switchMethod(method);
|
103 |
-
};
|
104 |
-
Event.observe($('p_method_<?php echo $_code ?>'), 'change', SwitchMethod);
|
105 |
-
|
106 |
-
//]]>
|
107 |
-
</script>
|
108 |
-
<?php endforeach; ?>
|
109 |
-
</dl>
|
110 |
-
<?php echo $this->getChildChildHtml('additional'); ?>
|
111 |
-
<script type="text/javascript">
|
112 |
-
//<![CDATA[
|
113 |
-
<?php echo $this->getChildChildHtml('scripts'); ?>
|
114 |
-
payment.init();
|
115 |
-
<?php if (is_string($oneMethod)): ?>
|
116 |
-
payment.switchMethod('<?php echo $oneMethod ?>');
|
117 |
-
<?php endif; ?>
|
118 |
-
|
119 |
-
// always enable the hpp payment options if this payment method is on
|
120 |
-
if($('hpp_payment_form_adyen_hpp'))
|
121 |
-
{
|
122 |
-
var form = $('hpp_payment_form_adyen_hpp');
|
123 |
-
var elements = form.getElementsByTagName('input');
|
124 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
125 |
-
}
|
126 |
-
|
127 |
-
// always enable the oneclick payments options if this payment method is on
|
128 |
-
if($('oneclick_payment_form_adyen_oneclick'))
|
129 |
-
{
|
130 |
-
var form = $('oneclick_payment_form_adyen_oneclick');
|
131 |
-
var elements = form.getElementsByTagName('input');
|
132 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
133 |
-
|
134 |
-
// always enable the selectboxes for the oneclick creditcards
|
135 |
-
var elements = form.getElementsByTagName('select');
|
136 |
-
for (var i=0; i<elements.length; i++) elements[i].disabled = false;
|
137 |
-
}
|
138 |
-
//]]>
|
139 |
-
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,42 +1,47 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Adyen_Payment</name>
|
4 |
-
<version>2.1.
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |

|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
* Show reservationNumber for Klarna and AfterPay in the payment information of the order
|
25 |
-
* Directory lookup call to retrieve the payment methods shown in the payment step can now be cached for better performance
|
26 |
-
* Payment methods can now be sorted in the front-end
|
27 |
-
* Boleto firstname and lastname automatically filled in based on billing information
|
28 |
-
* For Boleto payments the paid amount is now shown in the payment information of the order detail page
|
29 |
-
* Possible to select different status for Boleto if the payment is overpaid or underpaid
|
30 |
-
* Full refund will send in Cancel\Refund request to Adyen if payment is not yet captured the order will be cancelled
|
31 |
-
* For payment method Klarna and after pay the fields are disabled on the Adyen HPP
|
32 |
-
* Payment methods in the checkout give back the language specific payment method text
|
33 |
-
* Add after pay logo in magento checkout
|
34 |
-
* Plugin version number and links for setting up now visible in the Adyen General settings sections
|
35 |
</notes>
|
36 |
<authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
|
37 |
-
<date>2014-
|
38 |
-
<time>
|
39 |
-
<contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="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="e928bb38a944adc399d6a43321084667"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="44bc7f403e35ce4711101f8b93192190"/></dir><file name="Totals.php" hash="3d6dfca8bcd137c85828a4d9a39507c5"/></dir></dir><file name="Version.php" hash="9e527d0424b878cba5160462c69c1cba"/></dir><dir name="Checkout"><file name="Success.php" hash="8edb224af51fb76d111807168268f67c"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="a787217b71dfeab643073cfed4ec20a9"/><file name="Cc.php" hash="9e9f2b2fb861e39133635ce7adc40bb1"/><file name="Elv.php" hash="c3de45c9161b1564209b79a80140fec3"/><file name="Hpp.php" hash="afe655b84cfbdddde988725c4cee2740"/><file name="Oneclick.php" hash="ee048e190bf8c0723cba4fce18ca2b5f"/><file name="Openinvoice.php" hash="03f441912f177fb5af9f9aaef27e92d5"/><file name="Pos.php" hash="7a93f39cd4c30d5be1b56218a4e04a7f"/><file name="Sepa.php" hash="91b145e97db61846febaae1c5ac0b9d6"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="720913657cb3aad5706aaff9e73ff65c"/><file name="Cc.php" hash="fda6af2c2c9a6988095b5f4eee3b6711"/><file name="Elv.php" hash="d35cfabffa923a7c0345a1dacde38a52"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Oneclick.php" hash="b0fb295f9a0572f92f0a1dc7108b9e8a"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="9b1b5acbeb78dc774a6c13ff8db1bcb1"/></dir><file name="PosExpressCheckout.php" hash="52ead923b25324e31507c173caf95045"/><file name="Redirect.php" hash="065d1f3ba3ee85ac1826cc87df64bbb1"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="1110ea3b2faedc600767aac41a9c634b"/></dir></dir><file name="ScanProduct.php" hash="541b0d9473ef2256dafe31a47bf0ac88"/></dir><dir name="Helper"><file name="Data.php" hash="de6afc16fd7b3c05c7a8fbc2be0b2dd1"/><file name="Installments.php" hash="6e37f0cbc7acb860fec12ca68d734a2b"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="9bda31a6e44bc86a53d43ae44d13bf0d"/><file name="Boleto.php" hash="e92f38062af2dcc766161ce2e92d9fac"/><file name="Cc.php" hash="044558f75f84bcdd34ae682aee80ec19"/><dir name="Data"><file name="Abstract.php" hash="cdda2d90654bff01f372a817d6e94e1a"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="IdealPaymentRequest.php" hash="4c3e7b5e1d98765524d022e8950c0ce6"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="6c6e4bfe2c2ec51d14ac99d747879bec"/><file name="ModificationRequest.php" hash="0cfe14752a16a579c3a29a6d4e66ba6e"/><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="c302d22b311a4d8c9fec6b46d683b52d"/><file name="PaymentRequest3d.php" hash="505731df1bb63d6426a11e5d3036552f"/><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="f3e6067e8bb235d037c7cd78aaa703b6"/><file name="Hpp.php" hash="d5217d5df4a5c49ba4b4105fc7b8e29c"/><file name="Ideal.php" hash="8359f4eb5c28363680c08ecbc88a28a5"/><file name="Oneclick.php" hash="7196d95d7f71fc33be4df29b1ad7596e"/><file name="Openinvoice.php" hash="61d7122f706c318883c3e78ff07ce3f2"/><file name="Pos.php" hash="1769416ab285000a3fcd169466ff257d"/><file name="Sepa.php" hash="81aef386a6fa7e868cc9f22c7db008ff"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Authenticate.php" hash="9de42d073756d2f1dfaa09a3af83cea9"/><file name="Event.php" hash="73452fac034ce72918bd5560a06ca347"/><dir name="Mysql4"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="dee84aa1c2b370a72d79031a09b9bba4"/></dir><file name="Debug.php" hash="123808b460f70ad416ed9bb92e6a1d60"/><file name="Event.php" hash="affce8ec81a3471647cc6e0612eb0568"/></dir><file name="Order.php" hash="05c5ce3b68f877b23d1396d13db18517"/><file name="Setup.php" hash="45997ed47c197cb302d6fbb684489201"/></dir><file name="Observer.php" hash="8a18198083aaecb636a3f2a0a989f18c"/><file name="Process.php" hash="1155b418cc2b4ecc4e9b874b1f40f62d"/><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="f14a964cb2cba6b7f6fcf6162b8a91fd"/><file name="PaymentInstallmentFee.php" hash="5cb9a44b7f1006e8e471d1dbc7b8ba08"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="97d4e2549bec42b8282636f1e98e853a"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><dir name="Status"><file name="Refund.php" hash="bb700fa537f3a7c27c43691846777ef4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir><dir 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=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><file name="CheckoutPosController.php" hash="c7efe60bb75c06fb279fc051597a37b8"/><file name="GetInstallmentsController.php" hash="175bdd2692050f0118bcb90d354b60f1"/><file name="ProcessController.php" hash="f13bf04ac2e5ddb6ede00eeced522860"/><file name="UpdateCartController.php" hash="c7280eb6b5b5f87e2dd9f06cc4370e97"/></dir><dir name="docs"><dir name="httpauthentication"><file name="cgihtaccess.patch" hash="b1ca6c18002d1c22f53c8dd55aee1845"/><file name="howto" hash="31677f6b34fca607f8751c9eb5bdcac2"/></dir><file name="readme" hash="aae2884b18ed35ab74c7e73f4baec6e3"/><file name="test-cards" hash="d7a4a41bc2bb17f74dcbcfbc41156675"/><dir name="translation"><file name="Adyen_Payment.csv" hash="0094e6a70aca120e94cc395f139f1687"/><file name="Mage_Checkout.csv" hash="7d3bcce1ce01d189d113d02b949b73ca"/><file name="howto" hash="00a8a321b06b7235c6e6ca39cfcef80f"/></dir><file name=".DS_Store" hash="cbdf8e79d5e282650b9b7136c3b9ad33"/></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="a4bcff4f854a5efda30b7678eee2040f"/><file name="config.xml" hash="04c91aeb65ce9b4a70711bf137fec297"/><file name="system.xml" hash="5027279dc270cbf022c85ea74a89f3c8"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="3c304ff04d461bc0bfa6205c03dceea0"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="3d687c555ed52be5eeb4eaba126abb2b"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="27b202258c2bd16ee64902df7985862e"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="85d3de753b99b541a4547c39b7713905"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="8b43e357cf7a365b1e099b130db51b20"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="0ba22acbe3f48fc1ae1e76212a11dc2a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="2b029ba94cea8dd9b6d82a0de265234f"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="c087b4bbc48cf47e954b6cfbd1f2c5bb"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="09d7c123a6270e4ee029f187d92c1c31"/></dir></dir><file name=".DS_Store" hash="327f3b98fa44a731152378b2757ed144"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="a963acf4938f60fde0672bb6177399f1"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="054ab1e3fa2b3901973a76e4f7547c10"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="dcb1987da78dc78d45437de3bc0a10f9"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="aad80786900ccbe1b211ddbc0c00febd"/></dir><dir name="info"><file name="boleto.phtml" hash="d7fbc6f480f75d07a52a79ea7cf8457a"/><file name="cc.phtml" hash="be7d0e812e4c8eed5de08f2c37cf3875"/><file name="elv.phtml" hash="7a6b627e0c6acd04497d52f5047e930a"/><file name="hpp.phtml" hash="c6cccc2520a32a42f509b2ca9bf5a4c1"/><file name="openinvoice.phtml" hash="46550d1d3dbe0a92c89dd6272f5d9104"/><file name="pos.phtml" hash="a5b175023f0670409122876074d6f050"/><file name="sepa.phtml" hash="49f960b088e563135860774517fbcdfe"/></dir><dir name="order"><dir name="view"><file name="history.phtml" hash="9a6d80c534d935c63eb900d7d892e9ff"/></dir></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><file name="pdf.tar.bz2" hash="d4b4edd908e7784efc8ac45fe1ce73cb"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><file name="blank.phtml" hash="03d788d9ec2aa70de7eb66015b2c4da1"/><dir name="checkout"><file name="success.phtml" hash="56c5bdd54f9cbed22be7afe0deedead4"/></dir><dir name="form"><file name="boleto.phtml" hash="21b6c7d06dfef2bb9f8de8205bc2c6a9"/><file name="cc.phtml" hash="e504c4b3b0f78ece12d20b3631264a45"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="8d2c341ec0970e9bc81e481d437826cc"/><file name="oneclick.phtml" hash="08c71d3c3bf62fa736ac3dbf65d1c907"/><file name="openinvoice.phtml" hash="4dbda9d80bd82328ec8b33c775f44599"/><file name="pos.phtml" hash="674097ccf62f13c969d39c2f6a6824b8"/><file name="sepa.phtml" hash="a536c0245cc8a5e0762a5e9fb567d325"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="cda685b7c94fc401158bf5901e66c8b6"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="4d91b5d0729eafc220268d204b514cae"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><file name="posExpressCheckout.phtml" hash="0db835c5f5998f660d03ce4ba88bdb05"/><file name="scanProduct.phtml" hash="792b3dbc6f10b4b9f8aff824d09f4f7a"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="09dd483ce555ef83bd87d86b8f8f3165"/></dir></dir></dir><dir name="default"><dir name="adyen"><dir name="template"><dir name="checkout"><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="bda669695d2150eaccdcaeeb6b419949"/></dir></dir></dir><dir name="onestepcheckout"><file name="checkout.phtml" hash="520e231832277d5d09bb3be8134c56f8"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir><dir name="rwd"><dir name="adyen"><dir name="template"><dir name="checkout"><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="bda669695d2150eaccdcaeeb6b419949"/></dir></dir></dir><dir name="onestepcheckout"><file name="checkout.phtml" hash="c315e54e6ba093bcc737df1bb1f8f0b9"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir><dir name="enterprise"><dir name="adyen"><dir name="template"><dir name="checkout"><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="413a7bc55d51d278e743a33f35df8f88"/></dir></dir></dir><dir name="onestepcheckout"><file name="checkout.phtml" hash="c315e54e6ba093bcc737df1bb1f8f0b9"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="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="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="c4f2cb9f27c1b6282d133245499f9128"/></dir></dir></dir><dir name="default"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="a3f69ca218c08e6de153aac7120dc3c7"/></dir></dir></dir></dir></dir><dir name="rwd"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="a3f69ca218c08e6de153aac7120dc3c7"/></dir></dir></dir></dir></dir><dir name="enterprise"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="a3f69ca218c08e6de153aac7120dc3c7"/></dir></dir></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="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/></dir></dir></dir></target></contents>
|
40 |
<compatible/>
|
41 |
<dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
|
42 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Adyen_Payment</name>
|
4 |
+
<version>2.1.1</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>Features:
|
12 |
+
* Make installments possible for the OneClick Payments
|
13 |
+
* Added cash express checkout button on the shopping card for easy pay with cash
|
14 |
+
* Added possibility to open cash drawer after cash payment
|
15 |
+
* Cancel the order in Adyen as well when order is cancelled in Magento
|
16 |
+
* Automatically create shipment for cash payment and added setting to do this for POS payments as well
|
17 |
+
* Added checkbox for shoppers in CreditCard payments to not save their creditcard data for OneClick payments
|
18 |
+
* Added Setting to disable payment method openinvoice(Klarna/AfterPay) when billing and delivery addresses differ
|
19 |
+
* Show the payment method in Payment Information block of the order
|
20 |
+
* After canceling payment on Adyen HPP reactivate current quote instead of creating a new quote
|
21 |
+
* Added client side validation on "delivery_days" on the settings page in Magento
|
22 |
+
* HPP Payment method show correct label in payment information panel in the Magento checkout page 
|
23 |
+
* POS now acts on CAPTURE notification instead of AUTHORIZATION
|
24 |
+
* CANCEL_OR_REFUND improvements for POS
|
25 |
+
* Improved support for Scanners that press enter after scanning barcode
|
26 |
+
* OneStepCheckout improvments
|
27 |

|
28 |
+
Bugs:
|
29 |
+
* Fixed that OneClick will not breaks when creditcard name has special characters
|
30 |
+
* Fixed that the extra fee totals in the order confirmation email is not visible when the amount is zero.
|
31 |
+
* Fixed Directory Lookup for amounts under the one euro and improved error messages when payment methods cannot be shown because of incorrect settings
|
32 |
+
* Fixed that PaymentMethod is shown if you print the invoice
|
33 |
+
* Fixed incorrect rounding in tax for OpenInvoice payment method
|
34 |
+
* Fixed that GetInstallments call is not executed when installments are disabled
|
35 |
+
* Fixed Client side validation for JCB, Maestro and CarteBlue
|
36 |
+
* Fixed that in the backend the configuration are loaded from the store view where the order has been made instead of the default settings
|
37 |
+
* Fixed that BankTransfer and SEPA are always auto captured because you can’t capture the payment method
|
38 |
+
* Fixed that DeliveryDate For Boleto is now correctly send to Adyen platform
|
39 |
+
* Fixed that Ajax calls now support the HTTPS protocol
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
</notes>
|
41 |
<authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
|
42 |
+
<date>2014-10-28</date>
|
43 |
+
<time>13:44:36</time>
|
44 |
+
<contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Form"><dir name="Field"><file name="Installments.php" hash="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="e928bb38a944adc399d6a43321084667"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="44bc7f403e35ce4711101f8b93192190"/></dir><file name="Totals.php" hash="3d6dfca8bcd137c85828a4d9a39507c5"/></dir></dir><file name="Version.php" hash="9e527d0424b878cba5160462c69c1cba"/></dir><dir name="Checkout"><file name="Success.php" hash="8edb224af51fb76d111807168268f67c"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Boleto.php" hash="a787217b71dfeab643073cfed4ec20a9"/><file name="Cc.php" hash="51ccb4688de33d2d2ab680c3805a49e3"/><file name="Elv.php" hash="c3de45c9161b1564209b79a80140fec3"/><file name="Hpp.php" hash="afe655b84cfbdddde988725c4cee2740"/><file name="Oneclick.php" hash="f1d4c1bba402e2da141373209693b927"/><file name="Openinvoice.php" hash="03f441912f177fb5af9f9aaef27e92d5"/><file name="Pos.php" hash="7a93f39cd4c30d5be1b56218a4e04a7f"/><file name="Sepa.php" hash="91b145e97db61846febaae1c5ac0b9d6"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="6068acbb3d3dec90a797390871150956"/><file name="Cc.php" hash="9861c34ed4eee0d0b22d66c9b9a0b9ad"/><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="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="2f6fbcfeb770a208abc9c8dd4cd1a613"/></dir><file name="PosExpressCheckout.php" hash="7ba0d55c5db72b602555ae3c45da4d13"/><file name="Redirect.php" hash="1b889330908cc61aaf9ba4731c05d84c"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="a39a86ab4e7f49a91c0d3ef37a37d45a"/></dir></dir><file name="SavedCards.php" hash="3fe47b88678d0c30aa3fc6b2b9592eae"/><file name="ScanProduct.php" hash="31c08b14b9e17a8f065b7d553470d518"/></dir><dir name="Helper"><file name="Data.php" hash="667547930c09310cd6eae4ba8bedce49"/><file name="Installments.php" hash="dfa5b59503843388869fb5e05a3429e8"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="0d8c81f4c2d16ad8b15d61dd55b92c95"/><file name="Boleto.php" hash="e92f38062af2dcc766161ce2e92d9fac"/><file name="Cc.php" hash="f534ec37e51137dc625234e507cf29bd"/><dir name="Data"><file name="Abstract.php" hash="cdda2d90654bff01f372a817d6e94e1a"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="IdealPaymentRequest.php" hash="4c3e7b5e1d98765524d022e8950c0ce6"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="caa2f530ea8a2100fee55f9d16fa8235"/><file name="ModificationRequest.php" hash="35877a23e1159cae3b9a1b4687e1a663"/><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="175ded3287bfec672c0d815078c2a744"/><file name="PaymentRequest3d.php" hash="505731df1bb63d6426a11e5d3036552f"/><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="f3e6067e8bb235d037c7cd78aaa703b6"/><file name="Hpp.php" hash="381fb948b18cea9910093a455bf28815"/><file name="Ideal.php" hash="8359f4eb5c28363680c08ecbc88a28a5"/><file name="Oneclick.php" hash="fd17671dd0d6fdd849da02013f33b3ac"/><file name="Openinvoice.php" hash="0306be4843a9c4f372ccc954d41900dd"/><file name="Pos.php" hash="1769416ab285000a3fcd169466ff257d"/><file name="Sepa.php" hash="81aef386a6fa7e868cc9f22c7db008ff"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Authenticate.php" hash="9de42d073756d2f1dfaa09a3af83cea9"/><file name="Event.php" hash="584b4cfc2a80d275c6c8592bf02c9b48"/><dir name="Mysql4"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="dee84aa1c2b370a72d79031a09b9bba4"/></dir><file name="Debug.php" hash="123808b460f70ad416ed9bb92e6a1d60"/><dir name="Event"><file name="Collection.php" hash="42557a95b574a2cbebaf9915a182c554"/></dir><file name="Event.php" hash="ea832389ca8f4fbb116155b9ef7889f1"/></dir><file name="Order.php" hash="05c5ce3b68f877b23d1396d13db18517"/><file name="Setup.php" hash="45997ed47c197cb302d6fbb684489201"/></dir><file name="Observer.php" hash="e7ac9e06f582e7c150b13dec41c99c31"/><file name="Process.php" hash="1beded3781535d0c86ed923f5fe11794"/><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="f14a964cb2cba6b7f6fcf6162b8a91fd"/><file name="PaymentInstallmentFee.php" hash="1e794cd1cbfebd097ff43faf624138ce"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CaptureModes.php" hash="d2d138f0a59e1e448531f1fd8f908439"/><file name="CcType.php" hash="97d4e2549bec42b8282636f1e98e853a"/><file name="DemoModes.php" hash="0ce4142166b9f7dc96ee8e1e3bd03286"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><file name="SepaFlow.php" hash="64e6fd9181772db70e3dfc012c117a46"/><dir name="Status"><file name="Refund.php" hash="bb700fa537f3a7c27c43691846777ef4"/></dir></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir><dir 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=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><file name="CheckoutCashController.php" hash="6ff54e58a6797d6e87c733e466f777f7"/><file name="CheckoutPosController.php" hash="c7efe60bb75c06fb279fc051597a37b8"/><file name="GetInstallmentsController.php" hash="e46511c8759a6cd064d90f79af5f97c3"/><file name="ProcessController.php" hash="bedf96280c94d0f747fc7ff4f8efe193"/><file name="SavedCardController.php" hash="1f96ef803a29c754159e440c2a8e701d"/><file name="UpdateCartController.php" hash="c7280eb6b5b5f87e2dd9f06cc4370e97"/></dir><dir name="docs"><dir name="httpauthentication"><file name="cgihtaccess.patch" hash="b1ca6c18002d1c22f53c8dd55aee1845"/><file name="howto" hash="31677f6b34fca607f8751c9eb5bdcac2"/></dir><file name="readme" hash="aae2884b18ed35ab74c7e73f4baec6e3"/><file name="test-cards" hash="d7a4a41bc2bb17f74dcbcfbc41156675"/><dir name="translation"><file name="Adyen_Payment.csv" hash="0094e6a70aca120e94cc395f139f1687"/><file name="Mage_Checkout.csv" hash="7d3bcce1ce01d189d113d02b949b73ca"/><file name="howto" hash="00a8a321b06b7235c6e6ca39cfcef80f"/></dir><file name=".DS_Store" hash="cbdf8e79d5e282650b9b7136c3b9ad33"/></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="4190412f599a3eac827d7ed0931754da"/><file name="config.xml" hash="e9619d6adddbae175cd98787d29da0de"/><file name="system.xml" hash="be5ace7957e71d74e3f4917d657618a8"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="3c304ff04d461bc0bfa6205c03dceea0"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="3d687c555ed52be5eeb4eaba126abb2b"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="27b202258c2bd16ee64902df7985862e"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="85d3de753b99b541a4547c39b7713905"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="8b43e357cf7a365b1e099b130db51b20"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="0ba22acbe3f48fc1ae1e76212a11dc2a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="2b029ba94cea8dd9b6d82a0de265234f"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="c087b4bbc48cf47e954b6cfbd1f2c5bb"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="09d7c123a6270e4ee029f187d92c1c31"/></dir></dir><file name=".DS_Store" hash="8a387d0ed76f7cabfbc3331dd1caead3"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="a963acf4938f60fde0672bb6177399f1"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="054ab1e3fa2b3901973a76e4f7547c10"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="dcb1987da78dc78d45437de3bc0a10f9"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="aad80786900ccbe1b211ddbc0c00febd"/></dir><dir name="info"><file name="boleto.phtml" hash="d7fbc6f480f75d07a52a79ea7cf8457a"/><file name="cc.phtml" hash="7f2e27f6067aed385d5b07abbe7988ce"/><file name="elv.phtml" hash="7a6b627e0c6acd04497d52f5047e930a"/><file name="hpp.phtml" hash="6f216fcc9e05b8f8c7176f4f0f86578f"/><file name="openinvoice.phtml" hash="46550d1d3dbe0a92c89dd6272f5d9104"/><file name="pos.phtml" hash="a5b175023f0670409122876074d6f050"/><file name="sepa.phtml" hash="49f960b088e563135860774517fbcdfe"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><file name="blank.phtml" hash="03d788d9ec2aa70de7eb66015b2c4da1"/><dir name="checkout"><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="fc92a82fe2faffa7657683212e517542"/></dir></dir><file name="success.phtml" hash="56c5bdd54f9cbed22be7afe0deedead4"/></dir><dir name="form"><file name="boleto.phtml" hash="21b6c7d06dfef2bb9f8de8205bc2c6a9"/><file name="cc.phtml" hash="864d9bac115acb5e43883a0fd5810587"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="c091a1049c8d13d75cbc58100cf16e43"/><file name="oneclick.phtml" hash="ae32df3c77c06142536c70a4a181a729"/><file name="openinvoice.phtml" hash="4dbda9d80bd82328ec8b33c775f44599"/><file name="pos.phtml" hash="674097ccf62f13c969d39c2f6a6824b8"/><file name="sepa.phtml" hash="a536c0245cc8a5e0762a5e9fb567d325"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="cda685b7c94fc401158bf5901e66c8b6"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="8999dfee0c638f44b5010779b8bbf711"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><file name="posExpressCheckout.phtml" hash="46c4450207f7f587ca84d2d23b9521f8"/><file name="savedCards.phtml" hash="b0777660cdd38c3a6c5ec7b5d24acd92"/><file name="scanProduct.phtml" hash="3af73cb40cbbc1d74b208e4b2ce04d97"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="b198d1da091204731b946b139834120a"/></dir></dir></dir><dir name="default"><dir name="adyen"><dir name="template"><dir name="onestepcheckout"><file name="checkout.phtml" hash="520e231832277d5d09bb3be8134c56f8"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir><dir name="rwd"><dir name="adyen"><dir name="template"><dir name="onestepcheckout"><file name="checkout.phtml" hash="c315e54e6ba093bcc737df1bb1f8f0b9"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir><dir name="enterprise"><dir name="adyen"><dir name="template"><dir name="onestepcheckout"><file name="checkout.phtml" hash="c315e54e6ba093bcc737df1bb1f8f0b9"/><file name="payment_method.phtml" hash="f2852a921420340ef82a5d2f4f799fee"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="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="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="096fc2858874e260da465bc62f2bdd14"/></dir></dir></dir><dir name="default"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="fd2e1fa2222de70b7eb47429a581ad6c"/></dir></dir></dir></dir></dir><dir name="rwd"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="fd2e1fa2222de70b7eb47429a581ad6c"/></dir></dir></dir></dir></dir><dir name="enterprise"><dir name="adyen"><dir><dir name="onestepcheckout"><dir name="js"><file name="onestepcheckout.js" hash="fd2e1fa2222de70b7eb47429a581ad6c"/></dir></dir></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="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/></dir></dir></dir></target></contents>
|
45 |
<compatible/>
|
46 |
<dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
|
47 |
</package>
|
@@ -47,15 +47,59 @@
|
|
47 |
.sp-methods h3.other-payment { margin-top:15px; }
|
48 |
.sp-methods #oneclick_payment_form_adyen_oneclick { padding-top:10px; }
|
49 |
.sp-methods #oneclick_payment_form_adyen_oneclick .recurring-creditcards .recurring_type { float:left; vertical-align: middle; height:120px;}
|
50 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block { display:inline-block; border: 1px solid #999; padding:10px; margin-left:10px; min-width: 568px; }
|
51 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block img { margin-bottom:10px;}
|
52 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns { float:left; margin-right:10px; height:30px;}
|
53 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns .update-expiration-date { display:inline; float:none; }
|
54 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block label { display:block; }
|
55 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns.three.b label { width:175px;}
|
56 |
-
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .creditcard-holder-name { margin-top:20px;}
|
57 |
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
|
60 |
/* pos redirect page */
|
61 |
.redirect-body-adyen { margin:0; padding:0;}
|
@@ -64,3 +108,4 @@
|
|
64 |
#pos-redirect-page .grey-header h1 { padding: 16px 10px; font-family: 'Open Sans', sans-serif; font-size:24px;color:white; }
|
65 |
#pos-redirect-page .amount-box { width:300px; height:150px; padding-top:75px; margin:50px auto; border:1px solid #797c83; color:#797c83; text-align:center; font-weight:bold; font-size:34px; background-color: #f5f5f5; box-shadow: 0 0 2px 2px #888;}
|
66 |
#pos-redirect-page #launchlink { margin-top:10px; clear:both; display:block; color:#797C83; text-decoration:none; }
|
|
47 |
.sp-methods h3.other-payment { margin-top:15px; }
|
48 |
.sp-methods #oneclick_payment_form_adyen_oneclick { padding-top:10px; }
|
49 |
.sp-methods #oneclick_payment_form_adyen_oneclick .recurring-creditcards .recurring_type { float:left; vertical-align: middle; height:120px;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
|
52 |
+
.saved-cards ul li { margin-bottom:10px; }
|
53 |
+
.saved-cards .btn-delete {margin-top:10px;}
|
54 |
+
|
55 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block,
|
56 |
+
.saved-cards .creditcard-block {
|
57 |
+
display:inline-block;
|
58 |
+
border: 1px solid #999;
|
59 |
+
padding:10px;
|
60 |
+
margin-left:10px;
|
61 |
+
min-width: 568px;
|
62 |
+
}
|
63 |
+
|
64 |
+
.saved-cards .creditcard-block { min-width:350px;}
|
65 |
+
|
66 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block img,
|
67 |
+
.saved-cards .creditcard-block img {
|
68 |
+
margin-bottom:10px;
|
69 |
+
}
|
70 |
+
|
71 |
+
|
72 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns,
|
73 |
+
.saved-cards .creditcard-block .columns {
|
74 |
+
float:left;
|
75 |
+
margin-right:10px;
|
76 |
+
height:30px;
|
77 |
+
}
|
78 |
+
|
79 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns .update-expiration-date,
|
80 |
+
.saved-cards .creditcard-block .creditcard-block .columns .update-expiration-date {
|
81 |
+
display:inline; float:none;
|
82 |
+
}
|
83 |
+
|
84 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block label,
|
85 |
+
.saved-cards .creditcard-block label {
|
86 |
+
display:block;
|
87 |
+
}
|
88 |
+
|
89 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .columns.three.b label,
|
90 |
+
.creditcard-holder-name, .saved-cards .creditcard-block .columns.three.b label {
|
91 |
+
width:175px;
|
92 |
+
}
|
93 |
+
|
94 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .creditcard-holder-name,
|
95 |
+
.saved-cards .creditcard-block .creditcard-holder-name {
|
96 |
+
margin-top:20px;
|
97 |
+
}
|
98 |
+
|
99 |
+
.sp-methods #oneclick_payment_form_adyen_oneclick .creditcard-block .adyen-oneclick-installments,
|
100 |
+
.saved-cards .creditcard-block .adyen-oneclick-installments {
|
101 |
+
margin-top:10px;
|
102 |
+
}
|
103 |
|
104 |
/* pos redirect page */
|
105 |
.redirect-body-adyen { margin:0; padding:0;}
|
108 |
#pos-redirect-page .grey-header h1 { padding: 16px 10px; font-family: 'Open Sans', sans-serif; font-size:24px;color:white; }
|
109 |
#pos-redirect-page .amount-box { width:300px; height:150px; padding-top:75px; margin:50px auto; border:1px solid #797c83; color:#797c83; text-align:center; font-weight:bold; font-size:34px; background-color: #f5f5f5; box-shadow: 0 0 2px 2px #888;}
|
110 |
#pos-redirect-page #launchlink { margin-top:10px; clear:both; display:block; color:#797C83; text-decoration:none; }
|
111 |
+
|
@@ -450,9 +450,23 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
-
var payment_recurring_type = $RF(form, 'payment[
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
parameters['payment_method'] = payment_method;
|
457 |
parameters['payment[method]'] = payment_method;
|
458 |
|
@@ -509,6 +523,20 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
509 |
});
|
510 |
|
511 |
if($RF(form, 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
try {
|
513 |
var payment_method = $RF(form, 'payment[method]');
|
514 |
$('container_payment_method_' + payment_method).show();
|
@@ -573,6 +601,19 @@ function get_separate_save_methods_function(url, update_payments)
|
|
573 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
574 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
575 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
var totals = get_totals_element();
|
577 |
|
578 |
var freeMethod = $('p_method_free');
|
@@ -627,6 +668,21 @@ function get_separate_save_methods_function(url, update_payments)
|
|
627 |
});
|
628 |
|
629 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
630 |
try {
|
631 |
var payment_method = $RF(form, 'payment[method]');
|
632 |
$('container_payment_method_' + payment_method).show();
|
@@ -1048,4 +1104,4 @@ Payment.prototype = {
|
|
1048 |
(init.value)();
|
1049 |
});
|
1050 |
}
|
1051 |
-
};
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
+
var payment_recurring_type = $RF(form, 'payment[method]');
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
456 |
+
|
457 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
458 |
+
var paymentInputFields = {};
|
459 |
+
var inputs = form.querySelectorAll("input,select");
|
460 |
+
for (x = 0 ; x < inputs.length ; x++){
|
461 |
+
inputname = inputs[x].getAttribute("name");
|
462 |
+
if(inputname != null) {
|
463 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
464 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
465 |
+
paymentInputFields[inputname] = inputs[x].value;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
}
|
469 |
+
|
470 |
parameters['payment_method'] = payment_method;
|
471 |
parameters['payment[method]'] = payment_method;
|
472 |
|
523 |
});
|
524 |
|
525 |
if($RF(form, 'payment[method]') != null) {
|
526 |
+
|
527 |
+
// loop through input fields and reset the values
|
528 |
+
for (var name in paymentInputFields) {
|
529 |
+
|
530 |
+
var inputname = "payment[" + name + "]";
|
531 |
+
var inputElements = document.getElementsByName(inputname);
|
532 |
+
var inputElement = inputElements[0];
|
533 |
+
|
534 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
535 |
+
// element is unique so get first and only item
|
536 |
+
inputElements[0].value = paymentInputFields[name];
|
537 |
+
}
|
538 |
+
}
|
539 |
+
|
540 |
try {
|
541 |
var payment_method = $RF(form, 'payment[method]');
|
542 |
$('container_payment_method_' + payment_method).show();
|
601 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
602 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
603 |
|
604 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
605 |
+
var paymentInputFields = {};
|
606 |
+
var inputs = form.querySelectorAll("input,select");
|
607 |
+
for (x = 0 ; x < inputs.length ; x++){
|
608 |
+
inputname = inputs[x].getAttribute("name");
|
609 |
+
if(inputname != null) {
|
610 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
611 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
612 |
+
paymentInputFields[inputname] = inputs[x].value;
|
613 |
+
}
|
614 |
+
}
|
615 |
+
}
|
616 |
+
|
617 |
var totals = get_totals_element();
|
618 |
|
619 |
var freeMethod = $('p_method_free');
|
668 |
});
|
669 |
|
670 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
671 |
+
|
672 |
+
|
673 |
+
// loop through input fields and reset the values
|
674 |
+
for (var name in paymentInputFields) {
|
675 |
+
|
676 |
+
var inputname = "payment[" + name + "]";
|
677 |
+
var inputElements = document.getElementsByName(inputname);
|
678 |
+
var inputElement = inputElements[0];
|
679 |
+
|
680 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
681 |
+
// element is unique so get first and only item
|
682 |
+
inputElements[0].value = paymentInputFields[name];
|
683 |
+
}
|
684 |
+
}
|
685 |
+
|
686 |
try {
|
687 |
var payment_method = $RF(form, 'payment[method]');
|
688 |
$('container_payment_method_' + payment_method).show();
|
1104 |
(init.value)();
|
1105 |
});
|
1106 |
}
|
1107 |
+
};
|
@@ -450,9 +450,23 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
-
var payment_recurring_type = $RF(form, 'payment[
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
parameters['payment_method'] = payment_method;
|
457 |
parameters['payment[method]'] = payment_method;
|
458 |
|
@@ -509,6 +523,20 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
509 |
});
|
510 |
|
511 |
if($RF(form, 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
try {
|
513 |
var payment_method = $RF(form, 'payment[method]');
|
514 |
$('container_payment_method_' + payment_method).show();
|
@@ -573,6 +601,19 @@ function get_separate_save_methods_function(url, update_payments)
|
|
573 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
574 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
575 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
var totals = get_totals_element();
|
577 |
|
578 |
var freeMethod = $('p_method_free');
|
@@ -627,6 +668,21 @@ function get_separate_save_methods_function(url, update_payments)
|
|
627 |
});
|
628 |
|
629 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
630 |
try {
|
631 |
var payment_method = $RF(form, 'payment[method]');
|
632 |
$('container_payment_method_' + payment_method).show();
|
@@ -1048,4 +1104,4 @@ Payment.prototype = {
|
|
1048 |
(init.value)();
|
1049 |
});
|
1050 |
}
|
1051 |
-
};
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
+
var payment_recurring_type = $RF(form, 'payment[method]');
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
456 |
+
|
457 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
458 |
+
var paymentInputFields = {};
|
459 |
+
var inputs = form.querySelectorAll("input,select");
|
460 |
+
for (x = 0 ; x < inputs.length ; x++){
|
461 |
+
inputname = inputs[x].getAttribute("name");
|
462 |
+
if(inputname != null) {
|
463 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
464 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
465 |
+
paymentInputFields[inputname] = inputs[x].value;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
}
|
469 |
+
|
470 |
parameters['payment_method'] = payment_method;
|
471 |
parameters['payment[method]'] = payment_method;
|
472 |
|
523 |
});
|
524 |
|
525 |
if($RF(form, 'payment[method]') != null) {
|
526 |
+
|
527 |
+
// loop through input fields and reset the values
|
528 |
+
for (var name in paymentInputFields) {
|
529 |
+
|
530 |
+
var inputname = "payment[" + name + "]";
|
531 |
+
var inputElements = document.getElementsByName(inputname);
|
532 |
+
var inputElement = inputElements[0];
|
533 |
+
|
534 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
535 |
+
// element is unique so get first and only item
|
536 |
+
inputElements[0].value = paymentInputFields[name];
|
537 |
+
}
|
538 |
+
}
|
539 |
+
|
540 |
try {
|
541 |
var payment_method = $RF(form, 'payment[method]');
|
542 |
$('container_payment_method_' + payment_method).show();
|
601 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
602 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
603 |
|
604 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
605 |
+
var paymentInputFields = {};
|
606 |
+
var inputs = form.querySelectorAll("input,select");
|
607 |
+
for (x = 0 ; x < inputs.length ; x++){
|
608 |
+
inputname = inputs[x].getAttribute("name");
|
609 |
+
if(inputname != null) {
|
610 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
611 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
612 |
+
paymentInputFields[inputname] = inputs[x].value;
|
613 |
+
}
|
614 |
+
}
|
615 |
+
}
|
616 |
+
|
617 |
var totals = get_totals_element();
|
618 |
|
619 |
var freeMethod = $('p_method_free');
|
668 |
});
|
669 |
|
670 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
671 |
+
|
672 |
+
|
673 |
+
// loop through input fields and reset the values
|
674 |
+
for (var name in paymentInputFields) {
|
675 |
+
|
676 |
+
var inputname = "payment[" + name + "]";
|
677 |
+
var inputElements = document.getElementsByName(inputname);
|
678 |
+
var inputElement = inputElements[0];
|
679 |
+
|
680 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
681 |
+
// element is unique so get first and only item
|
682 |
+
inputElements[0].value = paymentInputFields[name];
|
683 |
+
}
|
684 |
+
}
|
685 |
+
|
686 |
try {
|
687 |
var payment_method = $RF(form, 'payment[method]');
|
688 |
$('container_payment_method_' + payment_method).show();
|
1104 |
(init.value)();
|
1105 |
});
|
1106 |
}
|
1107 |
+
};
|
@@ -450,9 +450,23 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
-
var payment_recurring_type = $RF(form, 'payment[
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
parameters['payment_method'] = payment_method;
|
457 |
parameters['payment[method]'] = payment_method;
|
458 |
|
@@ -509,6 +523,20 @@ function get_save_billing_function(url, set_methods_url, update_payments, trigge
|
|
509 |
});
|
510 |
|
511 |
if($RF(form, 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
try {
|
513 |
var payment_method = $RF(form, 'payment[method]');
|
514 |
$('container_payment_method_' + payment_method).show();
|
@@ -573,6 +601,19 @@ function get_separate_save_methods_function(url, update_payments)
|
|
573 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
574 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
575 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
var totals = get_totals_element();
|
577 |
|
578 |
var freeMethod = $('p_method_free');
|
@@ -627,6 +668,21 @@ function get_separate_save_methods_function(url, update_payments)
|
|
627 |
});
|
628 |
|
629 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
630 |
try {
|
631 |
var payment_method = $RF(form, 'payment[method]');
|
632 |
$('container_payment_method_' + payment_method).show();
|
@@ -1048,4 +1104,4 @@ Payment.prototype = {
|
|
1048 |
(init.value)();
|
1049 |
});
|
1050 |
}
|
1051 |
-
};
|
450 |
|
451 |
var payment_hpp_ideal_type = $RF(form, 'payment[hpp_ideal_type]');
|
452 |
var payment_hpp_type = $RF(form, 'payment[hpp_type]');
|
453 |
+
var payment_recurring_type = $RF(form, 'payment[method]');
|
454 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
455 |
var payment_method = $RF(form, 'payment[method]');
|
456 |
+
|
457 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
458 |
+
var paymentInputFields = {};
|
459 |
+
var inputs = form.querySelectorAll("input,select");
|
460 |
+
for (x = 0 ; x < inputs.length ; x++){
|
461 |
+
inputname = inputs[x].getAttribute("name");
|
462 |
+
if(inputname != null) {
|
463 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
464 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
465 |
+
paymentInputFields[inputname] = inputs[x].value;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
}
|
469 |
+
|
470 |
parameters['payment_method'] = payment_method;
|
471 |
parameters['payment[method]'] = payment_method;
|
472 |
|
523 |
});
|
524 |
|
525 |
if($RF(form, 'payment[method]') != null) {
|
526 |
+
|
527 |
+
// loop through input fields and reset the values
|
528 |
+
for (var name in paymentInputFields) {
|
529 |
+
|
530 |
+
var inputname = "payment[" + name + "]";
|
531 |
+
var inputElements = document.getElementsByName(inputname);
|
532 |
+
var inputElement = inputElements[0];
|
533 |
+
|
534 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
535 |
+
// element is unique so get first and only item
|
536 |
+
inputElements[0].value = paymentInputFields[name];
|
537 |
+
}
|
538 |
+
}
|
539 |
+
|
540 |
try {
|
541 |
var payment_method = $RF(form, 'payment[method]');
|
542 |
$('container_payment_method_' + payment_method).show();
|
601 |
var payment_recurring_type = $RF(form, 'payment[recurring]');
|
602 |
var payment_recurring_type_cvc = $('adyen_oneclick_oneclick_cid_'+payment_recurring_type);
|
603 |
|
604 |
+
// save all input and select fields in array so after ajax call you can reset the values
|
605 |
+
var paymentInputFields = {};
|
606 |
+
var inputs = form.querySelectorAll("input,select");
|
607 |
+
for (x = 0 ; x < inputs.length ; x++){
|
608 |
+
inputname = inputs[x].getAttribute("name");
|
609 |
+
if(inputname != null) {
|
610 |
+
if(inputname.startsWith("payment") && inputs[x].type != "hidden") {
|
611 |
+
var inputname = inputname.replace('payment[','').replace(']','');
|
612 |
+
paymentInputFields[inputname] = inputs[x].value;
|
613 |
+
}
|
614 |
+
}
|
615 |
+
}
|
616 |
+
|
617 |
var totals = get_totals_element();
|
618 |
|
619 |
var freeMethod = $('p_method_free');
|
668 |
});
|
669 |
|
670 |
if($RF($('onestepcheckout-form'), 'payment[method]') != null) {
|
671 |
+
|
672 |
+
|
673 |
+
// loop through input fields and reset the values
|
674 |
+
for (var name in paymentInputFields) {
|
675 |
+
|
676 |
+
var inputname = "payment[" + name + "]";
|
677 |
+
var inputElements = document.getElementsByName(inputname);
|
678 |
+
var inputElement = inputElements[0];
|
679 |
+
|
680 |
+
if($(inputElement).type && $(inputElement).type.toLowerCase() != 'radio') {
|
681 |
+
// element is unique so get first and only item
|
682 |
+
inputElements[0].value = paymentInputFields[name];
|
683 |
+
}
|
684 |
+
}
|
685 |
+
|
686 |
try {
|
687 |
var payment_method = $RF(form, 'payment[method]');
|
688 |
$('container_payment_method_' + payment_method).show();
|
1104 |
(init.value)();
|
1105 |
});
|
1106 |
}
|
1107 |
+
};
|