Adyen_Payment - Version 2.5.0

Version Notes

Adyen Payment 2.5.0

See release note:
https://github.com/Adyen/magento/releases/tag/2.5.0

Download this release

Release Info

Developer Adyen
Extension Adyen_Payment
Version 2.5.0
Comparing to
See all releases


Code changes from version 2.4.0 to 2.5.0

Files changed (61) hide show
  1. app/code/community/Adyen/Payment/.DS_Store +0 -0
  2. app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Payment.php +54 -0
  3. app/code/community/Adyen/Payment/Block/Form/Cc.php +10 -1
  4. app/code/community/Adyen/Payment/Block/Redirect.php +5 -5
  5. app/code/community/Adyen/Payment/Block/SavedCards.php +55 -0
  6. app/code/community/Adyen/Payment/Exception.php +1 -1
  7. app/code/community/Adyen/Payment/Helper/Data.php +51 -7
  8. app/code/community/Adyen/Payment/Model/Adyen/Abstract.php +45 -7
  9. app/code/community/Adyen/Payment/Model/Adyen/Cc.php +15 -5
  10. app/code/community/Adyen/Payment/Model/Adyen/Data/Classmap.php +4 -4
  11. app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationClassmap.php +1 -1
  12. app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php +26 -9
  13. app/code/community/Adyen/Payment/Model/Adyen/Hpp.php +32 -19
  14. app/code/community/Adyen/Payment/Model/Adyen/Ideal.php +6 -2
  15. app/code/community/Adyen/Payment/Model/Adyen/Oneclick.php +15 -0
  16. app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php +56 -20
  17. app/code/community/Adyen/Payment/Model/Adyen/PayByMail.php +1 -1
  18. app/code/community/Adyen/Payment/Model/Adyen/Pos.php +1 -1
  19. app/code/community/Adyen/Payment/Model/Billing/Agreement.php +15 -4
  20. app/code/community/Adyen/Payment/Model/Billing/Agreement/Observer.php +5 -7
  21. app/code/community/Adyen/Payment/Model/Cronjob.php +4 -8
  22. app/code/community/Adyen/Payment/Model/GetPosOrderStatus.php +3 -3
  23. app/code/community/Adyen/Payment/Model/Observer.php +5 -3
  24. app/code/community/Adyen/Payment/Model/ProcessNotification.php +227 -164
  25. app/code/community/Adyen/Payment/Model/System/Config/Backend/Trim.php +33 -0
  26. app/code/community/Adyen/Payment/Model/ValidateResultUrl.php +0 -11
  27. app/code/community/Adyen/Payment/controllers/Adminhtml/Adyen/Event/QueueController.php +37 -1
  28. app/code/community/Adyen/Payment/controllers/ProcessController.php +28 -26
  29. app/code/community/Adyen/Payment/controllers/SavedCardController.php +117 -0
  30. app/code/community/Adyen/Payment/data/adyen_setup/data-upgrade-2.4.0-2.4.0.1.php +51 -0
  31. app/code/community/Adyen/Payment/docs/.DS_Store +0 -0
  32. app/code/community/Adyen/Payment/docs/httpauthentication/cgihtaccess.patch +15 -0
  33. app/code/community/Adyen/Payment/docs/httpauthentication/howto +7 -0
  34. app/code/community/Adyen/Payment/docs/readme +221 -0
  35. app/code/community/Adyen/Payment/docs/test-cards +47 -0
  36. app/code/community/Adyen/Payment/docs/translation/Adyen_Payment.csv +53 -0
  37. app/code/community/Adyen/Payment/docs/translation/Mage_Checkout.csv +1 -0
  38. app/code/community/Adyen/Payment/docs/translation/howto +12 -0
  39. app/code/community/Adyen/Payment/etc/config.xml +7 -5
  40. app/code/community/Adyen/Payment/etc/system.xml +63 -65
  41. app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.3.1.1-2.3.1.2.php +2 -2
  42. app/design/adminhtml/default/default/layout/adyen.xml +2 -1
  43. app/design/adminhtml/default/default/template/adyen/form/sepa.phtml +16 -2
  44. app/design/adminhtml/default/default/template/adyen/info/hpp.phtml +3 -0
  45. app/design/frontend/base/default/template/adyen/form/ideal.phtml +30 -20
  46. app/design/frontend/base/default/template/adyen/form/sepa.phtml +1 -1
  47. app/design/frontend/base/default/template/adyen/info/cc.phtml +5 -4
  48. app/design/frontend/base/default/template/adyen/info/pay_by_mail.phtml +1 -1
  49. app/design/frontend/base/default/template/adyen/saved_cards.phtml +157 -0
  50. app/locale/de_DE/Adyen_Payment.csv +16 -1
  51. app/locale/es_ES/Adyen_Payment.csv +17 -2
  52. app/locale/fr_FR/Adyen_Payment.csv +16 -1
  53. app/locale/nl_NL/Adyen_Payment.csv +13 -2
  54. app/locale/pt_BR/Adyen_Payment.csv +71 -0
  55. package.xml +6 -6
  56. shell/adyen.php +9 -5
  57. skin/frontend/base/default/css/adyenstyle.css +16 -1
  58. skin/frontend/base/default/images/adyen/cartebancaire.png +0 -0
  59. skin/frontend/base/default/images/adyen/vvvgiftcard.png +0 -0
  60. skin/frontend/base/default/images/adyen/vvvgiftcard_small.png +0 -0
  61. skin/frontend/base/default/images/adyen/vvvgiftcard_tiny.png +0 -0
app/code/community/Adyen/Payment/.DS_Store CHANGED
Binary file
app/code/community/Adyen/Payment/Block/Adminhtml/System/Config/Fieldset/Payment.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+ /**
28
+ * Fieldset renderer for Adyen export settings button
29
+ *
30
+ * @category Mage
31
+ * @package Mage_Paypal
32
+ * @author Magento Core Team <core@magentocommerce.com>
33
+ */
34
+ class Adyen_Payment_Block_Adminhtml_System_Config_Fieldset_Payment
35
+ extends Mage_Adminhtml_Block_System_Config_Form_Fieldset
36
+ {
37
+
38
+ protected function _getHeaderHtml($element) {
39
+ $header = parent::_getHeaderHtml($element);
40
+
41
+
42
+ $url = Mage::helper('adminhtml')->getUrl('adminhtml/ExportAdyenSettings');
43
+
44
+ $header .= '<div class="button-container"><button type="button"'
45
+ . ' class="button'
46
+ . '" id="' . $element->getHtmlId()
47
+ . '-head" onclick="location.href = \''.$url.'\' "'
48
+ . $this->getUrl('*/*/state') . '\'); return false;"><span class="state-closed">'
49
+ . $this->__('Export Settings') . '</span><span class="state-opened">';
50
+
51
+
52
+ return $header;
53
+ }
54
+ }
app/code/community/Adyen/Payment/Block/Form/Cc.php CHANGED
@@ -97,12 +97,21 @@ class Adyen_Payment_Block_Form_Cc extends Mage_Payment_Block_Form_Cc
97
  }
98
 
99
  /**
100
- * Alway's return true for creditcard verification otherwise api call to adyen won't work
101
  *
102
  * @return boolean
103
  */
104
  public function hasVerification()
105
  {
 
 
 
 
 
 
 
 
 
106
  return true;
107
  }
108
 
97
  }
98
 
99
  /**
100
+ * If MOTO for backend orders is turned on don't show CVC field in backend order creation
101
  *
102
  * @return boolean
103
  */
104
  public function hasVerification()
105
  {
106
+
107
+ // if backend order and moto payments is turned on don't show cvc
108
+ if(Mage::app()->getStore()->isAdmin() && $this->getMethod()->getCode() == "adyen_cc") {
109
+ $store = Mage::getSingleton('adminhtml/session_quote')->getStore();
110
+ if(Mage::getStoreConfigFlag('payment/adyen_cc/enable_moto', $store)) {
111
+ return false;
112
+ }
113
+ }
114
+
115
  return true;
116
  }
117
 
app/code/community/Adyen/Payment/Block/Redirect.php CHANGED
@@ -112,12 +112,12 @@ class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
112
  $html .= "<div id=\"pos-redirect-page\">
113
  <div class=\"logo\"></div>
114
  <div class=\"grey-header\">
115
- <h1>POS Payment</h1>
116
  </div>
117
  <div class=\"amount-box\">".
118
  $adyFields['paymentAmountGrandTotal'] .
119
- "<a id=\"launchlink\" href=\"".$launchlink ."\" >Payment</a> ".
120
- "<span id=\"adyen-redirect-text\">If you stuck on this page please press the payment button</span></div>";
121
 
122
  $html .= '<script type="text/javascript">
123
  //<![CDATA[
@@ -132,7 +132,7 @@ class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
132
  // redirect to success page
133
  window.location.href = "'. Mage::getBaseUrl()."adyen/process/successPosRedirect" . '";
134
  } else {
135
- window.location.href = "'. Mage::getBaseUrl()."adyen/process/cancel" . '";
136
  }
137
  }
138
  });
@@ -157,7 +157,7 @@ class Adyen_Payment_Block_Redirect extends Mage_Core_Block_Abstract {
157
  };
158
 
159
  // test
160
- setInterval(function () {
161
  checkStatus();
162
  }, 1000);';
163
  $html .= 'url = document.getElementById(\'launchlink\').href;';
112
  $html .= "<div id=\"pos-redirect-page\">
113
  <div class=\"logo\"></div>
114
  <div class=\"grey-header\">
115
+ <h1>{$this->__('POS Payment')}</h1>
116
  </div>
117
  <div class=\"amount-box\">".
118
  $adyFields['paymentAmountGrandTotal'] .
119
+ "<a id=\"launchlink\" href=\"".$launchlink ."\" >{$this->__('Payment')}</a> ".
120
+ "<span id=\"adyen-redirect-text\">{$this->__('If you stuck on this page please press the payment button')}</span></div>";
121
 
122
  $html .= '<script type="text/javascript">
123
  //<![CDATA[
132
  // redirect to success page
133
  window.location.href = "'. Mage::getBaseUrl()."adyen/process/successPosRedirect" . '";
134
  } else {
135
+ window.location.href = "'. Mage::getBaseUrl()."adyen/process/cancel" . '";
136
  }
137
  }
138
  });
157
  };
158
 
159
  // test
160
+ setTimeout(function () {
161
  checkStatus();
162
  }, 1000);';
163
  $html .= 'url = document.getElementById(\'launchlink\').href;';
app/code/community/Adyen/Payment/Block/SavedCards.php ADDED
@@ -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
+ }
app/code/community/Adyen/Payment/Exception.php CHANGED
@@ -25,7 +25,7 @@
25
  * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
  */
27
 
28
- class Adyen_Payment_Exception extends Mage_Payment_Exception
29
  {
30
  /**
31
  * Throw an Adyen_Payment_Exception and log it.
25
  * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
  */
27
 
28
+ class Adyen_Payment_Exception extends Mage_Core_Exception
29
  {
30
  /**
31
  * Throw an Adyen_Payment_Exception and log it.
app/code/community/Adyen/Payment/Helper/Data.php CHANGED
@@ -261,7 +261,7 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
261
  * @param $amount
262
  * @param $currency
263
  *
264
- * @return string
265
  */
266
  public function formatAmount($amount, $currency)
267
  {
@@ -301,7 +301,7 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
301
  break;
302
  }
303
 
304
- return number_format($amount, $format, '', '');
305
  }
306
 
307
  public function originalAmount($amount, $currency)
@@ -491,10 +491,10 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
491
  * @param type $address
492
  * @return Varien_Object
493
  */
494
- public function getStreet($address)
495
  {
496
  if (empty($address)) return false;
497
- $street = self::formatStreet($address->getStreet());
498
  $streetName = $street['0'];
499
  unset($street['0']);
500
  // $streetNr = implode('',$street);
@@ -509,12 +509,25 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
509
  * @param type $street
510
  * @return type $street
511
  */
512
- static public function formatStreet($street)
513
  {
514
- if (count($street) != 1) {
 
 
 
 
 
 
 
 
 
 
 
 
515
  return $street;
516
  }
517
- preg_match('/((\s\d{0,10})|(\s\d{0,10}\w{1,3}))$/i', $street['0'], $houseNumber, PREG_OFFSET_CAPTURE);
 
518
  if(!empty($houseNumber['0'])) {
519
  $_houseNumber = trim($houseNumber['0']['0']);
520
  $position = $houseNumber['0']['1'];
@@ -524,4 +537,35 @@ class Adyen_Payment_Helper_Data extends Mage_Payment_Helper_Data
524
  return $street;
525
  }
526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  }
261
  * @param $amount
262
  * @param $currency
263
  *
264
+ * @return int
265
  */
266
  public function formatAmount($amount, $currency)
267
  {
301
  break;
302
  }
303
 
304
+ return (int)number_format($amount, $format, '', '');
305
  }
306
 
307
  public function originalAmount($amount, $currency)
491
  * @param type $address
492
  * @return Varien_Object
493
  */
494
+ public function getStreet($address, $klarna = false)
495
  {
496
  if (empty($address)) return false;
497
+ $street = $this->formatStreet($address->getStreet(), $klarna);
498
  $streetName = $street['0'];
499
  unset($street['0']);
500
  // $streetNr = implode('',$street);
509
  * @param type $street
510
  * @return type $street
511
  */
512
+ protected function formatStreet($street, $klarna)
513
  {
514
+ $formatStreetOnMultiStreetLines = false;
515
+
516
+ /*
517
+ * If ignore second line steet is enabled for klarna only look at the first addressfield
518
+ * and try to substract housenumber
519
+ */
520
+ if($klarna) {
521
+ if($this->getConfigData('ignore_second_address_field','adyen_openinvoice')) {
522
+ $formatStreetOnMultiStreetLines = true;
523
+ }
524
+ }
525
+
526
+ if (!$formatStreetOnMultiStreetLines && count($street) != 1) {
527
  return $street;
528
  }
529
+
530
+ preg_match('/\s(\d+.*)$/i', $street['0'], $houseNumber, PREG_OFFSET_CAPTURE);
531
  if(!empty($houseNumber['0'])) {
532
  $_houseNumber = trim($houseNumber['0']['0']);
533
  $position = $houseNumber['0']['1'];
537
  return $street;
538
  }
539
 
540
+ /**
541
+ * @desc Tax Percentage needs to be in minor units for Adyen
542
+ * @param $taxPercent
543
+ * @return int
544
+ */
545
+ public function getMinorUnitTaxPercent($taxPercent)
546
+ {
547
+ $taxPercent = (int)$taxPercent;
548
+ return $taxPercent * 100;
549
+ }
550
+
551
+ /**
552
+ * @desc Calculate the tax rate for tax class based on order details
553
+ * @param $order
554
+ * @param $taxClass
555
+ * @return mixed
556
+ */
557
+ public function getTaxRate($order, $taxClass)
558
+ {
559
+ // load the customer so we can retrieve the correct tax class id
560
+ $customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
561
+ $calculation = Mage::getModel('tax/calculation');
562
+
563
+ $request = $calculation->getRateRequest(
564
+ $order->getShippingAddress(),
565
+ $order->getBillingAddress(),
566
+ $customer->getTaxClassId(),
567
+ $order->getStore()
568
+ );
569
+ return $calculation->getRate($request->setProductClassId($taxClass));
570
+ }
571
  }
app/code/community/Adyen/Payment/Model/Adyen/Abstract.php CHANGED
@@ -80,7 +80,7 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
80
  protected $_paymentMethodType = 'api';
81
 
82
  public function getPaymentMethodType() {
83
- return $this->$_paymentMethodType;
84
  }
85
 
86
  public function __construct()
@@ -140,6 +140,17 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
140
 
141
  $order = $payment->getOrder();
142
 
 
 
 
 
 
 
 
 
 
 
 
143
  // by zero authentication payment is authorised when api responds is succesfull
144
  if($order->getGrandTotal() == 0) {
145
  $payment->setIsTransactionPending(false);
@@ -361,12 +372,26 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
361
  }
362
  switch ($responseCode) {
363
  case "RedirectShopper":
364
- $payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
365
- $payment->setAdditionalInformation('md', $response->paymentResult->md);
366
- $payment->setAdditionalInformation('issuerUrl', $response->paymentResult->issuerUrl);
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  Mage::getSingleton('customer/session')->setRedirectUrl("adyen/process/validate3d");
368
  $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
369
  break;
 
370
  case "Refused":
371
 
372
  if($response->paymentResult->refusalReason) {
@@ -386,13 +411,14 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
386
  $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED because the saved card is removed. Please try an other payment method.');
387
  break;
388
  default:
389
- $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
390
  break;
391
  }
392
  } else {
393
- $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED by Adyen.');
394
  }
395
 
 
396
  Adyen_Payment_Exception::throwException($errorMsg);
397
  break;
398
  case "Authorised":
@@ -414,11 +440,14 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
414
  $this->_addStatusHistory($payment, $responseCode, $pspReference);
415
  break;
416
  case "Error":
 
417
  $errorMsg = Mage::helper('adyen')->__('System error, please try again later');
418
  Adyen_Payment_Exception::throwException($errorMsg);
419
  break;
420
  default:
421
- $this->writeLog("Unknown data type by Adyen");
 
 
422
  break;
423
  }
424
 
@@ -435,6 +464,15 @@ abstract class Adyen_Payment_Model_Adyen_Abstract extends Mage_Payment_Model_Met
435
  return $this;
436
  }
437
 
 
 
 
 
 
 
 
 
 
438
  /**
439
  * @since 0.0.3
440
  * @param Varien_Object $payment
80
  protected $_paymentMethodType = 'api';
81
 
82
  public function getPaymentMethodType() {
83
+ return $this->_paymentMethodType;
84
  }
85
 
86
  public function __construct()
140
 
141
  $order = $payment->getOrder();
142
 
143
+ /*
144
+ * ReserveOrderId for this quote so payment failed notification
145
+ * does not interfere with new successful orders
146
+ */
147
+ $incrementId = $order->getIncrementId();
148
+ $quoteId = $order->getQuoteId();
149
+ $quote = Mage::getModel('sales/quote')
150
+ ->load($quoteId)
151
+ ->setReservedOrderId($incrementId)
152
+ ->save();
153
+
154
  // by zero authentication payment is authorised when api responds is succesfull
155
  if($order->getGrandTotal() == 0) {
156
  $payment->setIsTransactionPending(false);
372
  }
373
  switch ($responseCode) {
374
  case "RedirectShopper":
375
+
376
+
377
+ $paRequest = $response->paymentResult->paRequest;
378
+ $md = $response->paymentResult->md;
379
+ $issuerUrl = $response->paymentResult->issuerUrl;
380
+
381
+ if(!empty($paRequest) && !empty($md) && !empty($issuerUrl)) {
382
+ $payment->setAdditionalInformation('paRequest', $response->paymentResult->paRequest);
383
+ $payment->setAdditionalInformation('md', $response->paymentResult->md);
384
+ $payment->setAdditionalInformation('issuerUrl', $response->paymentResult->issuerUrl);
385
+ } else {
386
+ // log exception
387
+ $errorMsg = Mage::helper('adyen')->__('3D secure is not valid');
388
+ Adyen_Payment_Exception::throwException($errorMsg);
389
+ }
390
+
391
  Mage::getSingleton('customer/session')->setRedirectUrl("adyen/process/validate3d");
392
  $this->_addStatusHistory($payment, $responseCode, $pspReference, $this->_getConfigData('order_status'));
393
  break;
394
+ case "Cancelled":
395
  case "Refused":
396
 
397
  if($response->paymentResult->refusalReason) {
411
  $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED because the saved card is removed. Please try an other payment method.');
412
  break;
413
  default:
414
+ $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED.');
415
  break;
416
  }
417
  } else {
418
+ $errorMsg = Mage::helper('adyen')->__('The payment is REFUSED.');
419
  }
420
 
421
+ $this->resetReservedOrderId();
422
  Adyen_Payment_Exception::throwException($errorMsg);
423
  break;
424
  case "Authorised":
440
  $this->_addStatusHistory($payment, $responseCode, $pspReference);
441
  break;
442
  case "Error":
443
+ $this->resetReservedOrderId();
444
  $errorMsg = Mage::helper('adyen')->__('System error, please try again later');
445
  Adyen_Payment_Exception::throwException($errorMsg);
446
  break;
447
  default:
448
+ $this->resetReservedOrderId();
449
+ $errorMsg = Mage::helper('adyen')->__('Unknown data type by Adyen');
450
+ Adyen_Payment_Exception::throwException($errorMsg);
451
  break;
452
  }
453
 
464
  return $this;
465
  }
466
 
467
+ /**
468
+ * @desc Reset the reservedOrderId so Adyen notification will not interfere with
469
+ * the next payment
470
+ */
471
+ protected function resetReservedOrderId()
472
+ {
473
+ Mage::getSingleton('checkout/session')->getQuote()->setReservedOrderId(null);
474
+ }
475
+
476
  /**
477
  * @since 0.0.3
478
  * @param Varien_Object $payment
app/code/community/Adyen/Payment/Model/Adyen/Cc.php CHANGED
@@ -34,6 +34,7 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract
34
  protected $_paymentMethod = 'cc';
35
  protected $_canCreateBillingAgreement = true;
36
  protected $_ccTypes;
 
37
 
38
  /**
39
  * 1) Called everytime the adyen_cc is called or used in checkout
@@ -105,12 +106,21 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract
105
  /**
106
  * @desc Helper functions to get config data
107
  */
108
- public function isCseEnabled() {
 
 
 
 
 
 
109
  return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
110
  }
111
 
112
- public function getCsePublicKey() {
113
-
 
 
 
114
  if (Mage::app()->getStore()->isAdmin()) {
115
  $quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
116
  $storeId = $quote->getStoreId();
@@ -119,9 +129,9 @@ class Adyen_Payment_Model_Adyen_Cc extends Adyen_Payment_Model_Adyen_Abstract
119
  }
120
 
121
  if (Mage::helper('adyen')->getConfigDataDemoMode($storeId)) {
122
- return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey_test"));
123
  }
124
- return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey"));
125
  }
126
 
127
  /**
34
  protected $_paymentMethod = 'cc';
35
  protected $_canCreateBillingAgreement = true;
36
  protected $_ccTypes;
37
+ protected $_canUseForMultishipping = true;
38
 
39
  /**
40
  * 1) Called everytime the adyen_cc is called or used in checkout
106
  /**
107
  * @desc Helper functions to get config data
108
  */
109
+ public function isCseEnabled()
110
+ {
111
+ if (Mage::app()->getStore()->isAdmin()) {
112
+ $quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
113
+ $storeId = $quote->getStoreId();
114
+ return Mage::getStoreConfig("payment/adyen_cc/cse_enabled", $storeId);
115
+ }
116
  return Mage::getStoreConfig("payment/adyen_cc/cse_enabled");
117
  }
118
 
119
+ /**
120
+ * @return string
121
+ */
122
+ public function getCsePublicKey()
123
+ {
124
  if (Mage::app()->getStore()->isAdmin()) {
125
  $quote = Mage::getSingleton('adminhtml/session_quote')->getQuote();
126
  $storeId = $quote->getStoreId();
129
  }
130
 
131
  if (Mage::helper('adyen')->getConfigDataDemoMode($storeId)) {
132
+ return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey_test", $storeId));
133
  }
134
+ return trim(Mage::getStoreConfig("payment/adyen_cc/cse_publickey",$storeId));
135
  }
136
 
137
  /**
app/code/community/Adyen/Payment/Model/Adyen/Data/Classmap.php CHANGED
@@ -27,9 +27,9 @@
27
  */
28
  class Adyen_Payment_Model_Adyen_Data_Classmap extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
 
30
- public $Amount;
31
  public $capture;
32
- public $ModificationRequest;
33
- public $ModificationResult;
34
 
35
- }
27
  */
28
  class Adyen_Payment_Model_Adyen_Data_Classmap extends Adyen_Payment_Model_Adyen_Data_Abstract {
29
 
30
+ public $amount;
31
  public $capture;
32
+ public $modificationRequest;
33
+ public $modificationResult;
34
 
35
+ }
app/code/community/Adyen/Payment/Model/Adyen/Data/NotificationClassmap.php CHANGED
@@ -27,7 +27,7 @@
27
  */
28
  class Adyen_Payment_Model_Adyen_Data_NotificationClassmap extends Varien_Object {
29
 
30
- public $mount;
31
  public $notificationRequest;
32
  public $notificationRequestItem;
33
 
27
  */
28
  class Adyen_Payment_Model_Adyen_Data_NotificationClassmap extends Varien_Object {
29
 
30
+ public $amount;
31
  public $notificationRequest;
32
  public $notificationRequestItem;
33
 
app/code/community/Adyen/Payment/Model/Adyen/Data/PaymentRequest.php CHANGED
@@ -79,7 +79,15 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
79
  $orderCurrencyCode = $order->getOrderCurrencyCode();
80
  // override amount because this amount uses the right currency
81
  $amount = $order->getGrandTotal();
 
82
  $customerId = $order->getCustomerId();
 
 
 
 
 
 
 
83
  $realOrderId = $order->getRealOrderId();
84
 
85
  $this->reference = $incrementId;
@@ -112,6 +120,10 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
112
  } elseif($payment->getAdditionalInformation("store_cc") == "1") {
113
  $this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
114
  $this->recurring->contract = $recurringType;
 
 
 
 
115
  }
116
  } else {
117
  $this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
@@ -123,8 +135,13 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
123
  * Browser info
124
  * @var unknown_type
125
  */
126
- $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
127
- $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
 
 
 
 
 
128
 
129
  switch ($paymentMethod) {
130
  case "elv":
@@ -163,12 +180,12 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
163
  if($deliveryAddress)
164
  {
165
  $this->deliveryAddress = new Adyen_Payment_Model_Adyen_Data_DeliveryAddress();
166
- $this->deliveryAddress->street = $helper->getStreet($billingAddress)->getName();
167
- $this->deliveryAddress->houseNumberOrName = $helper->getStreet($billingAddress)->getHouseNumber();
168
- $this->deliveryAddress->city = $billingAddress->getCity();
169
- $this->deliveryAddress->postalCode = $billingAddress->getPostcode();
170
- $this->deliveryAddress->stateOrProvince = $billingAddress->getRegionCode();
171
- $this->deliveryAddress->country = $billingAddress->getCountryId();
172
  }
173
 
174
  if($paymentMethod == "oneclick") {
@@ -217,7 +234,7 @@ class Adyen_Payment_Model_Adyen_Data_PaymentRequest extends Adyen_Payment_Model_
217
  } else {
218
  if($paymentMethod == 'cc') {
219
  // For CC encrypted data is needed if you use CSE
220
- Mage::throwException(
221
  Mage::helper('adyen')->__('Missing the encrypted data value. Make sure the Client Side Encryption(CSE) script did encrypt the Credit Card details')
222
  );
223
  }
79
  $orderCurrencyCode = $order->getOrderCurrencyCode();
80
  // override amount because this amount uses the right currency
81
  $amount = $order->getGrandTotal();
82
+
83
  $customerId = $order->getCustomerId();
84
+ if ($customerId) {
85
+ $customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
86
+ $customerId = $customer->getData('adyen_customer_ref')
87
+ ?: $customer->getData('increment_id')
88
+ ?: $customerId;
89
+ }
90
+
91
  $realOrderId = $order->getRealOrderId();
92
 
93
  $this->reference = $incrementId;
120
  } elseif($payment->getAdditionalInformation("store_cc") == "1") {
121
  $this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
122
  $this->recurring->contract = $recurringType;
123
+ } elseif($recurringType == "RECURRING") {
124
+ // recurring permission is not needed from shopper so just save it as recurring
125
+ $this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
126
+ $this->recurring->contract = "RECURRING";
127
  }
128
  } else {
129
  $this->recurring = new Adyen_Payment_Model_Adyen_Data_Recurring();
135
  * Browser info
136
  * @var unknown_type
137
  */
138
+ if(isset($_SERVER['HTTP_ACCEPT'])) {
139
+ $this->browserInfo->acceptHeader = $_SERVER['HTTP_ACCEPT'];
140
+ }
141
+
142
+ if(isset($_SERVER['HTTP_USER_AGENT'])) {
143
+ $this->browserInfo->userAgent = $_SERVER['HTTP_USER_AGENT'];
144
+ }
145
 
146
  switch ($paymentMethod) {
147
  case "elv":
180
  if($deliveryAddress)
181
  {
182
  $this->deliveryAddress = new Adyen_Payment_Model_Adyen_Data_DeliveryAddress();
183
+ $this->deliveryAddress->street = $helper->getStreet($deliveryAddress)->getName();
184
+ $this->deliveryAddress->houseNumberOrName = $helper->getStreet($deliveryAddress)->getHouseNumber();
185
+ $this->deliveryAddress->city = $deliveryAddress->getCity();
186
+ $this->deliveryAddress->postalCode = $deliveryAddress->getPostcode();
187
+ $this->deliveryAddress->stateOrProvince = $deliveryAddress->getRegionCode();
188
+ $this->deliveryAddress->country = $deliveryAddress->getCountryId();
189
  }
190
 
191
  if($paymentMethod == "oneclick") {
234
  } else {
235
  if($paymentMethod == 'cc') {
236
  // For CC encrypted data is needed if you use CSE
237
+ Adyen_Payment_Exception::throwException(
238
  Mage::helper('adyen')->__('Missing the encrypted data value. Make sure the Client Side Encryption(CSE) script did encrypt the Credit Card details')
239
  );
240
  }
app/code/community/Adyen/Payment/Model/Adyen/Hpp.php CHANGED
@@ -45,7 +45,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
45
  protected $_paymentMethodType = 'hpp';
46
 
47
  public function getPaymentMethodType() {
48
- return $this->$_paymentMethodType;
49
  }
50
 
51
  /**
@@ -87,7 +87,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
87
  $config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
88
  if (empty($hppType) && empty($config)) {
89
  Mage::throwException(
90
- Mage::helper('adyen')->__('Payment Method is complusory in order to process your payment')
91
  );
92
  }
93
  return $this;
@@ -206,6 +206,19 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
206
  $adyFields['shopperEmail'] = $shopperEmail;
207
  // recurring
208
  $recurringType = trim($this->_getConfigData('recurringtypes', 'adyen_abstract'));
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  $adyFields['recurringContract'] = $recurringType;
210
  $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
211
  //blocked methods
@@ -224,10 +237,19 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
224
  ) {
225
  $adyFields['billingAddressType'] = "1";
226
  $adyFields['deliveryAddressType'] = "1";
227
- $adyFields['shopperType'] = "1";
 
 
 
 
 
 
 
 
228
  } else {
229
- $adyFields['billingAddressType'] = "";
230
- $adyFields['deliveryAddressType'] = "";
 
231
  $adyFields['shopperType'] = "";
232
  }
233
  //the data that needs to be signed is a concatenated string of the form data
@@ -252,16 +274,16 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
252
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
253
  // get extra fields
254
  $adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields, $this->_order);
255
- //IDEAL
 
256
  if (strpos($this->getInfoInstance()->getCcType(), "ideal") !== false) {
257
  $bankData = $this->getInfoInstance()->getPoNumber();
258
  if (!empty($bankData)) {
259
  $id = explode(DS, $bankData);
260
- $adyFields['skipSelection'] = 'true';
261
- $adyFields['brandCode'] = $this->getInfoInstance()->getCcType();
262
- $adyFields['idealIssuerId'] = $id['0'];
263
  }
264
  }
 
265
  // if option to put Return Url in request from magento is enabled add this in the request
266
  $returnUrlInRequest = $this->_getConfigData('return_url_in_request', 'adyen_hpp');
267
  if ($returnUrlInRequest) {
@@ -298,7 +320,6 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
298
  /**
299
  * @desc Get url of Adyen payment
300
  * @return string
301
- * @todo add brandCode here
302
  */
303
  public function getFormUrl()
304
  {
@@ -325,15 +346,7 @@ class Adyen_Payment_Model_Adyen_Hpp extends Adyen_Payment_Model_Adyen_Abstract
325
  }
326
  break;
327
  }
328
- //IDEAL
329
- $idealBankUrl = false;
330
- $bankData = $this->getInfoInstance()->getPoNumber();
331
- if ($brandCode == 'ideal' && !empty($bankData)) {
332
- $idealBankUrl = ($isConfigDemoMode == true)
333
- ? 'https://test.adyen.com/hpp/redirectIdeal.shtml'
334
- : 'https://live.adyen.com/hpp/redirectIdeal.shtml';
335
- }
336
- return (!empty($idealBankUrl)) ? $idealBankUrl : $url;
337
  }
338
 
339
 
45
  protected $_paymentMethodType = 'hpp';
46
 
47
  public function getPaymentMethodType() {
48
+ return $this->_paymentMethodType;
49
  }
50
 
51
  /**
87
  $config = Mage::getStoreConfig("payment/adyen_hpp/disable_hpptypes");
88
  if (empty($hppType) && empty($config)) {
89
  Mage::throwException(
90
+ Mage::helper('adyen')->__('Payment Method is compulsory in order to process your payment')
91
  );
92
  }
93
  return $this;
206
  $adyFields['shopperEmail'] = $shopperEmail;
207
  // recurring
208
  $recurringType = trim($this->_getConfigData('recurringtypes', 'adyen_abstract'));
209
+
210
+ // Paypal does not allow ONECLICK,RECURRING will be fixed on adyen platform but this is the quickfix for now
211
+ if($this->getInfoInstance()->getMethod() == "adyen_hpp_paypal" && $recurringType == 'ONECLICK,RECURRING') {
212
+ $recurringType = "RECURRING";
213
+ }
214
+
215
+ if ($customerId) {
216
+ $customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
217
+ $customerId = $customer->getData('adyen_customer_ref')
218
+ ?: $customer->getData('increment_id')
219
+ ?: $customerId;
220
+ }
221
+
222
  $adyFields['recurringContract'] = $recurringType;
223
  $adyFields['shopperReference'] = (!empty($customerId)) ? $customerId : self::GUEST_ID . $realOrderId;
224
  //blocked methods
237
  ) {
238
  $adyFields['billingAddressType'] = "1";
239
  $adyFields['deliveryAddressType'] = "1";
240
+
241
+ // get shopperType setting
242
+ $shopperType = $this->_getConfigData("shoppertype", "adyen_openinvoice");
243
+ if($shopperType == '1') {
244
+ $adyFields['shopperType'] = "";
245
+ } else {
246
+ $adyFields['shopperType'] = "1";
247
+ }
248
+
249
  } else {
250
+ // for other payment methods like creditcard don't show avs address field in skin
251
+ $adyFields['billingAddressType'] = "2";
252
+ $adyFields['deliveryAddressType'] = "2";
253
  $adyFields['shopperType'] = "";
254
  }
255
  //the data that needs to be signed is a concatenated string of the form data
274
  $adyFields['merchantSig'] = base64_encode(pack('H*', $signMac));
275
  // get extra fields
276
  $adyFields = Mage::getModel('adyen/adyen_openinvoice')->getOptionalFormFields($adyFields, $this->_order);
277
+
278
+ // For IDEAL add isuerId into request so bank selection is skipped
279
  if (strpos($this->getInfoInstance()->getCcType(), "ideal") !== false) {
280
  $bankData = $this->getInfoInstance()->getPoNumber();
281
  if (!empty($bankData)) {
282
  $id = explode(DS, $bankData);
283
+ $adyFields['issuerId'] = $id['0'];
 
 
284
  }
285
  }
286
+
287
  // if option to put Return Url in request from magento is enabled add this in the request
288
  $returnUrlInRequest = $this->_getConfigData('return_url_in_request', 'adyen_hpp');
289
  if ($returnUrlInRequest) {
320
  /**
321
  * @desc Get url of Adyen payment
322
  * @return string
 
323
  */
324
  public function getFormUrl()
325
  {
346
  }
347
  break;
348
  }
349
+ return $url;
 
 
 
 
 
 
 
 
350
  }
351
 
352
 
app/code/community/Adyen/Payment/Model/Adyen/Ideal.php CHANGED
@@ -52,9 +52,13 @@ class Adyen_Payment_Model_Adyen_Ideal
52
  );
53
  }
54
 
55
- if (isset($issuers[$this->getInfoInstance()->getPoNumber()])) {
56
- $issuers[$this->getInfoInstance()->getPoNumber()]['selected'] = true;
 
 
 
57
  }
 
58
  ksort($issuers);
59
  return $issuers;
60
  }
52
  );
53
  }
54
 
55
+ // check if auto select is turned on in the settings
56
+ if ($this->_getConfigData('autoselect_stored_ideal_bank', 'adyen_ideal')) {
57
+ if (isset($issuers[$this->getInfoInstance()->getPoNumber()])) {
58
+ $issuers[$this->getInfoInstance()->getPoNumber()]['selected'] = true;
59
+ }
60
  }
61
+
62
  ksort($issuers);
63
  return $issuers;
64
  }
app/code/community/Adyen/Payment/Model/Adyen/Oneclick.php CHANGED
@@ -33,6 +33,7 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
33
  protected $_paymentMethod = 'oneclick';
34
  protected $_canUseInternal = true; // not possible through backoffice interface
35
  protected $_customerInteraction;
 
36
 
37
 
38
  public function isAvailable($quote=null) {
@@ -166,6 +167,20 @@ class Adyen_Payment_Model_Adyen_Oneclick extends Adyen_Payment_Model_Adyen_Cc {
166
  return $this->_getConfigData('recurring_payment_type', 'adyen_oneclick');
167
  }
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
  /**
170
  * @param Adyen_Payment_Model_Billing_Agreement $billingAgreement
171
  * @param Mage_Sales_Model_Quote_Payment $paymentInfo
33
  protected $_paymentMethod = 'oneclick';
34
  protected $_canUseInternal = true; // not possible through backoffice interface
35
  protected $_customerInteraction;
36
+ protected $_canUseForMultishipping = true;
37
 
38
 
39
  public function isAvailable($quote=null) {
167
  return $this->_getConfigData('recurring_payment_type', 'adyen_oneclick');
168
  }
169
 
170
+
171
+ /**
172
+ * @return Adyen_Payment_Model_Billing_Agreement
173
+ */
174
+ public function getBillingAgreement()
175
+ {
176
+ $subscriptionReference = str_replace('adyen_oneclick_', '', $this->getCode());
177
+
178
+ return Mage::getModel('adyen/billing_agreement')->getCollection()
179
+ ->addFieldToFilter('reference_id', $subscriptionReference)
180
+ ->getFirstItem();
181
+ }
182
+
183
+
184
  /**
185
  * @param Adyen_Payment_Model_Billing_Agreement $billingAgreement
186
  * @param Mage_Sales_Model_Quote_Payment $paymentInfo
app/code/community/Adyen/Payment/Model/Adyen/Openinvoice.php CHANGED
@@ -191,9 +191,20 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
191
 
192
  $billingAddress = $order->getBillingAddress();
193
  $adyFields['shopper.firstName'] = $billingAddress->getFirstname();
 
 
 
 
 
194
  $adyFields['shopper.lastName'] = $billingAddress->getLastname();
195
- $adyFields['billingAddress.street'] = $helper->getStreet($billingAddress)->getName();
196
- $adyFields['billingAddress.houseNumberOrName'] = $helper->getStreet($billingAddress)->getHouseNumber();
 
 
 
 
 
 
197
  $adyFields['billingAddress.city'] = $billingAddress->getCity();
198
  $adyFields['billingAddress.postalCode'] = $billingAddress->getPostcode();
199
  $adyFields['billingAddress.stateOrProvince'] = $billingAddress->getRegionCode();
@@ -213,8 +224,13 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
213
  $deliveryAddress = $order->getShippingAddress();
214
  if($deliveryAddress != null)
215
  {
216
- $adyFields['deliveryAddress.street'] = $helper->getStreet($deliveryAddress)->getName();
217
- $adyFields['deliveryAddress.houseNumberOrName'] = $helper->getStreet($deliveryAddress)->getHouseNumber();
 
 
 
 
 
218
  $adyFields['deliveryAddress.city'] = $deliveryAddress->getCity();
219
  $adyFields['deliveryAddress.postalCode'] = $deliveryAddress->getPostcode();
220
  $adyFields['deliveryAddress.stateOrProvince'] = $deliveryAddress->getRegionCode();
@@ -237,8 +253,8 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
237
 
238
  $customer = Mage::getModel('customer/customer')->load($adyFields['shopperReference']);
239
 
240
- if($this->getCustomerAttributeText($customer, 'gender') != "") {
241
- $adyFields['shopper.gender'] = strtoupper($this->getCustomerAttributeText($customer, 'gender'));
242
  } else {
243
  // fix for OneStepCheckout (guest is not logged in but uses email that exists with account)
244
  $_customer = Mage::getModel('customer/customer');
@@ -249,10 +265,9 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
249
  $payment = $order->getPayment();
250
  $customerGender = $payment->getAdditionalInformation('customerGender');
251
  }
252
- $adyFields['shopper.gender'] = strtoupper($_customer->getResource()->getAttribute('gender')->getSource()->getOptionText($customerGender));
253
  }
254
 
255
- $adyFields['shopper.infix'] = $customer->getPrefix();
256
  $dob = $customer->getDob();
257
 
258
  if (!empty($dob)) {
@@ -271,8 +286,7 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
271
  } else {
272
  // checkout as guest use details from the order
273
  $_customer = Mage::getModel('customer/customer');
274
- $adyFields['shopper.gender'] = strtoupper($_customer->getResource()->getAttribute('gender')->getSource()->getOptionText($order->getCustomerGender()));
275
- $adyFields['shopper.infix'] = $order->getCustomerPrefix();
276
  $dob = $order->getCustomerDob();
277
  if (!empty($dob)) {
278
  $adyFields['shopper.dateOfBirthDayOfMonth'] = $this->getDate($dob, 'd');
@@ -291,7 +305,6 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
291
  if($order->getPayment()->getMethod() == "adyen_openinvoice" || $order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "klarna" || $order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default" ) {
292
  // initialize values if they are empty
293
  $adyFields['shopper.gender'] = (isset($adyFields['shopper.gender'])) ? $adyFields['shopper.gender'] : "";
294
- $adyFields['shopper.infix'] = (isset($adyFields['shopper.infix'])) ? $adyFields['shopper.infix'] : "";
295
  $adyFields['shopper.dateOfBirthDayOfMonth'] = (isset($adyFields['shopper.dateOfBirthDayOfMonth'])) ? $adyFields['shopper.dateOfBirthDayOfMonth'] : "";
296
  $adyFields['shopper.dateOfBirthMonth'] = (isset($adyFields['shopper.dateOfBirthMonth'])) ? $adyFields['shopper.dateOfBirthMonth'] : "";
297
  $adyFields['shopper.dateOfBirthYear'] = (isset($adyFields['shopper.dateOfBirthYear'])) ? $adyFields['shopper.dateOfBirthYear'] : "";
@@ -316,8 +329,16 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
316
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
317
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($item->getPrice(), $currency);
318
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = ($item->getTaxAmount() > 0 && $item->getPriceInclTax() > 0) ? $helper->formatAmount($item->getPriceInclTax(), $currency) - $helper->formatAmount($item->getPrice(), $currency):$helper->formatAmount($item->getTaxAmount(), $currency);
 
 
 
 
 
 
 
319
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
320
 
 
321
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
322
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
323
  } else {
@@ -335,6 +356,7 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
335
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $helper->__('Total Discount');
336
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getDiscountAmount(), $currency);
337
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
 
338
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
339
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
340
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
@@ -352,7 +374,14 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
352
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $order->getShippingDescription();
353
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getShippingAmount(), $currency);
354
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $helper->formatAmount($order->getShippingTaxAmount(), $currency);
 
 
 
 
 
 
355
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
 
356
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
357
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
358
  } else {
@@ -366,7 +395,9 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
366
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $helper->__('Payment Fee');
367
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getPaymentFeeAmount(), $currency);
368
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
 
369
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
 
370
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
371
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
372
  } else {
@@ -410,15 +441,20 @@ class Adyen_Payment_Model_Adyen_Openinvoice extends Adyen_Payment_Model_Adyen_Hp
410
  return $adyFields;
411
  }
412
 
413
- /**
414
- * Get Attribute label
415
- * @param type $customer
416
- * @param type $code
417
- * @return type
418
- */
419
- public function getCustomerAttributeText($customer, $code='gender') {
420
- $helper = Mage::helper('adyen');
421
- return $helper->htmlEscape($customer->getResource()->getAttribute($code)->getSource()->getOptionText($customer->getGender()));
 
 
 
 
 
422
  }
423
 
424
  /**
191
 
192
  $billingAddress = $order->getBillingAddress();
193
  $adyFields['shopper.firstName'] = $billingAddress->getFirstname();
194
+
195
+ if($billingAddress->getMiddlename() != "") {
196
+ $adyFields['shopper.infix'] = $billingAddress->getMiddlename();
197
+ }
198
+
199
  $adyFields['shopper.lastName'] = $billingAddress->getLastname();
200
+ $adyFields['billingAddress.street'] = $helper->getStreet($billingAddress,true)->getName();
201
+
202
+ if($helper->getStreet($billingAddress,true)->getHouseNumber() == "") {
203
+ $adyFields['billingAddress.houseNumberOrName'] = "NA";
204
+ } else {
205
+ $adyFields['billingAddress.houseNumberOrName'] = $helper->getStreet($billingAddress,true)->getHouseNumber();
206
+ }
207
+
208
  $adyFields['billingAddress.city'] = $billingAddress->getCity();
209
  $adyFields['billingAddress.postalCode'] = $billingAddress->getPostcode();
210
  $adyFields['billingAddress.stateOrProvince'] = $billingAddress->getRegionCode();
224
  $deliveryAddress = $order->getShippingAddress();
225
  if($deliveryAddress != null)
226
  {
227
+ $adyFields['deliveryAddress.street'] = $helper->getStreet($deliveryAddress,true)->getName();
228
+ if($helper->getStreet($deliveryAddress,true)->getHouseNumber() == "") {
229
+ $adyFields['deliveryAddress.houseNumberOrName'] = "NA";
230
+ } else {
231
+ $adyFields['deliveryAddress.houseNumberOrName'] = $helper->getStreet($deliveryAddress,true)->getHouseNumber();
232
+ }
233
+
234
  $adyFields['deliveryAddress.city'] = $deliveryAddress->getCity();
235
  $adyFields['deliveryAddress.postalCode'] = $deliveryAddress->getPostcode();
236
  $adyFields['deliveryAddress.stateOrProvince'] = $deliveryAddress->getRegionCode();
253
 
254
  $customer = Mage::getModel('customer/customer')->load($adyFields['shopperReference']);
255
 
256
+ if($customer->getGender()) {
257
+ $adyFields['shopper.gender'] = $this->getGenderText($customer->getGender());
258
  } else {
259
  // fix for OneStepCheckout (guest is not logged in but uses email that exists with account)
260
  $_customer = Mage::getModel('customer/customer');
265
  $payment = $order->getPayment();
266
  $customerGender = $payment->getAdditionalInformation('customerGender');
267
  }
268
+ $adyFields['shopper.gender'] = $this->getGenderText($customerGender);
269
  }
270
 
 
271
  $dob = $customer->getDob();
272
 
273
  if (!empty($dob)) {
286
  } else {
287
  // checkout as guest use details from the order
288
  $_customer = Mage::getModel('customer/customer');
289
+ $adyFields['shopper.gender'] = $this->getGenderText($order->getCustomerGender());
 
290
  $dob = $order->getCustomerDob();
291
  if (!empty($dob)) {
292
  $adyFields['shopper.dateOfBirthDayOfMonth'] = $this->getDate($dob, 'd');
305
  if($order->getPayment()->getMethod() == "adyen_openinvoice" || $order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "klarna" || $order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default" ) {
306
  // initialize values if they are empty
307
  $adyFields['shopper.gender'] = (isset($adyFields['shopper.gender'])) ? $adyFields['shopper.gender'] : "";
 
308
  $adyFields['shopper.dateOfBirthDayOfMonth'] = (isset($adyFields['shopper.dateOfBirthDayOfMonth'])) ? $adyFields['shopper.dateOfBirthDayOfMonth'] : "";
309
  $adyFields['shopper.dateOfBirthMonth'] = (isset($adyFields['shopper.dateOfBirthMonth'])) ? $adyFields['shopper.dateOfBirthMonth'] : "";
310
  $adyFields['shopper.dateOfBirthYear'] = (isset($adyFields['shopper.dateOfBirthYear'])) ? $adyFields['shopper.dateOfBirthYear'] : "";
329
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $item->getName();
330
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($item->getPrice(), $currency);
331
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = ($item->getTaxAmount() > 0 && $item->getPriceInclTax() > 0) ? $helper->formatAmount($item->getPriceInclTax(), $currency) - $helper->formatAmount($item->getPrice(), $currency):$helper->formatAmount($item->getTaxAmount(), $currency);
332
+
333
+ // Calculate vat percentage
334
+ $id = $item->getProductId();
335
+ $product = $this->_loadProductById($id);
336
+ $taxRate = $helper->getTaxRate($order, $product->getTaxClassId());
337
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatPercentage'] = $helper->getMinorUnitTaxPercent($taxRate);
338
+
339
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = (int) $item->getQtyOrdered();
340
 
341
+ // afterpay_default_nl ?
342
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
343
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
344
  } else {
356
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $helper->__('Total Discount');
357
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getDiscountAmount(), $currency);
358
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
359
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatPercentage'] = "0";
360
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
361
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
362
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
374
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $order->getShippingDescription();
375
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getShippingAmount(), $currency);
376
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = $helper->formatAmount($order->getShippingTaxAmount(), $currency);
377
+
378
+ // Calculate vat percentage
379
+ $taxClass = Mage::getStoreConfig('tax/classes/shipping_tax_class', $order->getStoreId());
380
+ $taxRate = $helper->getTaxRate($order, $taxClass);
381
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatPercentage'] = $helper->getMinorUnitTaxPercent($taxRate);
382
+
383
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
384
+
385
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
386
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
387
  } else {
395
  $additional_data_sign['openinvoicedata.' . $linename . '.description'] = $helper->__('Payment Fee');
396
  $additional_data_sign['openinvoicedata.' . $linename . '.itemAmount'] = $helper->formatAmount($order->getPaymentFeeAmount(), $currency);
397
  $additional_data_sign['openinvoicedata.' . $linename . '.itemVatAmount'] = "0";
398
+ $additional_data_sign['openinvoicedata.' . $linename . '.itemVatPercentage'] = "0";
399
  $additional_data_sign['openinvoicedata.' . $linename . '.numberOfItems'] = 1;
400
+
401
  if(($order->getPayment()->getMethod() == "adyen_openinvoice" && $openinvoiceType == "afterpay_default") || ($order->getPayment()->getMethodInstance()->getInfoInstance()->getCcType() == "afterpay_default")) {
402
  $additional_data_sign['openinvoicedata.' . $linename . '.vatCategory'] = "High";
403
  } else {
441
  return $adyFields;
442
  }
443
 
444
+ protected function _loadProductById($id)
445
+ {
446
+ return Mage::getModel('catalog/product')->load($id);
447
+ }
448
+
449
+ protected function getGenderText($genderId)
450
+ {
451
+ $result = "";
452
+ if($genderId == '1') {
453
+ $result = 'MALE';
454
+ } elseif($genderId == '2') {
455
+ $result = 'FEMALE';
456
+ }
457
+ return $result;
458
  }
459
 
460
  /**
app/code/community/Adyen/Payment/Model/Adyen/PayByMail.php CHANGED
@@ -38,7 +38,7 @@ class Adyen_Payment_Model_Adyen_PayByMail extends Adyen_Payment_Model_Adyen_Abst
38
  protected $_paymentMethodType = 'hpp';
39
 
40
  public function getPaymentMethodType() {
41
- return $this->$_paymentMethodType;
42
  }
43
 
44
  /**
38
  protected $_paymentMethodType = 'hpp';
39
 
40
  public function getPaymentMethodType() {
41
+ return $this->_paymentMethodType;
42
  }
43
 
44
  /**
app/code/community/Adyen/Payment/Model/Adyen/Pos.php CHANGED
@@ -42,7 +42,7 @@ class Adyen_Payment_Model_Adyen_Pos extends Adyen_Payment_Model_Adyen_Abstract {
42
  protected $_paymentMethodType = 'pos';
43
 
44
  public function getPaymentMethodType() {
45
- return $this->$_paymentMethodType;
46
  }
47
 
48
  /*
42
  protected $_paymentMethodType = 'pos';
43
 
44
  public function getPaymentMethodType() {
45
+ return $this->_paymentMethodType;
46
  }
47
 
48
  /*
app/code/community/Adyen/Payment/Model/Billing/Agreement.php CHANGED
@@ -96,7 +96,9 @@ class Adyen_Payment_Model_Billing_Agreement
96
  public function getCustomerReference()
97
  {
98
  if (! $this->hasData('customer_reference')) {
99
- $customerReference = $this->getCustomer()->getData('adyen_customer_ref') ?: $this->getCustomerId();
 
 
100
  $this->setData('customer_reference', $customerReference);
101
  }
102
 
@@ -111,7 +113,7 @@ class Adyen_Payment_Model_Billing_Agreement
111
  protected $_paymentMethodInstance = null;
112
 
113
  /**
114
- * Retreive payment method instance
115
  *
116
  * @return Mage_Payment_Model_Method_Abstract
117
  */
@@ -119,9 +121,18 @@ class Adyen_Payment_Model_Billing_Agreement
119
  {
120
  if (is_null($this->_paymentMethodInstance)) {
121
  $methodCode = $this->getMethodCode();
122
- $referenceId = $this->getReferenceId();
123
- $methodInstanceName = $methodCode . "_" . $referenceId;
 
 
 
 
 
124
  $this->_paymentMethodInstance = Mage::helper('payment')->getMethodInstance($methodInstanceName);
 
 
 
 
125
  }
126
  if ($this->_paymentMethodInstance) {
127
  $this->_paymentMethodInstance->setStore($this->getStoreId());
96
  public function getCustomerReference()
97
  {
98
  if (! $this->hasData('customer_reference')) {
99
+ $customerReference = $this->getCustomer()->getData('adyen_customer_ref')
100
+ ?: $this->getCustomer()->getData('increment_id')
101
+ ?: $this->getCustomerId();
102
  $this->setData('customer_reference', $customerReference);
103
  }
104
 
113
  protected $_paymentMethodInstance = null;
114
 
115
  /**
116
+ * Retrieve payment method instance
117
  *
118
  * @return Mage_Payment_Model_Method_Abstract
119
  */
121
  {
122
  if (is_null($this->_paymentMethodInstance)) {
123
  $methodCode = $this->getMethodCode();
124
+ if ($this->getMethodCode() == 'adyen_oneclick') {
125
+ $referenceId = $this->getReferenceId();
126
+ $methodInstanceName = $methodCode . "_" . $referenceId;
127
+ }
128
+ else {
129
+ $methodInstanceName = $methodCode;
130
+ }
131
  $this->_paymentMethodInstance = Mage::helper('payment')->getMethodInstance($methodInstanceName);
132
+
133
+ if (! $this->_paymentMethodInstance) {
134
+ $this->_paymentMethodInstance = Mage::helper('payment')->getMethodInstance($this->getMethodCode());
135
+ }
136
  }
137
  if ($this->_paymentMethodInstance) {
138
  $this->_paymentMethodInstance->setStore($this->getStoreId());
app/code/community/Adyen/Payment/Model/Billing/Agreement/Observer.php CHANGED
@@ -67,16 +67,14 @@ class Adyen_Payment_Model_Billing_Agreement_Observer
67
  $baCollection = Mage::getResourceModel('adyen/billing_agreement_collection');
68
  $baCollection->addFieldToFilter('customer_id', $customer->getId());
69
  $baCollection->addFieldToFilter('store_id', $store->getId());
 
70
  $baCollection->addActiveFilter();
71
 
72
  foreach ($baCollection as $billingAgreement) {
73
-
74
- // Only show payment methods that are enabled by the merchant
75
- $agreementData = json_decode($billingAgreement->agreement_data, true);
76
- $recurringPaymentType = Mage::getStoreConfig('payment/adyen_oneclick/recurring_payment_type', $store);
77
-
78
- $this->_createPaymentMethodFromBA($billingAgreement, $store);
79
-
80
  }
81
 
82
  Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
67
  $baCollection = Mage::getResourceModel('adyen/billing_agreement_collection');
68
  $baCollection->addFieldToFilter('customer_id', $customer->getId());
69
  $baCollection->addFieldToFilter('store_id', $store->getId());
70
+ $baCollection->addFieldToFilter('method_code', 'adyen_oneclick');
71
  $baCollection->addActiveFilter();
72
 
73
  foreach ($baCollection as $billingAgreement) {
74
+ // only create payment method when label is set
75
+ if($billingAgreement->getAgreementLabel() != null) {
76
+ $this->_createPaymentMethodFromBA($billingAgreement, $store);
77
+ }
 
 
 
78
  }
79
 
80
  Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
app/code/community/Adyen/Payment/Model/Cronjob.php CHANGED
@@ -41,13 +41,9 @@ class Adyen_Payment_Model_Cronjob {
41
  */
42
  public function updateNotificationQueue()
43
  {
44
- if($this->_getConfigData('update_notification_cronjob')) {
45
-
46
- // call ProcessNotifications
47
- $this->_debugData = Mage::getModel('adyen/processNotification')->updateNotProcessedNotifications();
48
-
49
- $this->_debug(null);
50
- }
51
  }
52
 
53
  /**
@@ -59,7 +55,7 @@ class Adyen_Payment_Model_Cronjob {
59
  protected function _debug($storeId)
60
  {
61
  if ($this->_getConfigData('debug', 'adyen_abstract', $storeId)) {
62
- $file = 'adyen_payment_cronjob.log';
63
  Mage::getModel('core/log_adapter', $file)->log($this->_debugData);
64
  }
65
  }
41
  */
42
  public function updateNotificationQueue()
43
  {
44
+ // call ProcessNotifications
45
+ $this->_debugData = Mage::getModel('adyen/processNotification')->updateNotProcessedNotifications();
46
+ $this->_debug(null);
 
 
 
 
47
  }
48
 
49
  /**
55
  protected function _debug($storeId)
56
  {
57
  if ($this->_getConfigData('debug', 'adyen_abstract', $storeId)) {
58
+ $file = 'adyen_process_notification_cron.log';
59
  Mage::getModel('core/log_adapter', $file)->log($this->_debugData);
60
  }
61
  }
app/code/community/Adyen/Payment/Model/GetPosOrderStatus.php CHANGED
@@ -84,7 +84,7 @@ class Adyen_Payment_Model_GetPosOrderStatus extends Mage_Core_Model_Abstract {
84
  {
85
  $this->_debugData['getOrderStatus count: '.$count . ' pending'] = 'order has the status: '.$order->getStatus() . ' lets wait a second';
86
 
87
- sleep(1);
88
  ++$count;
89
 
90
  if($count > 5) {
@@ -100,7 +100,7 @@ class Adyen_Payment_Model_GetPosOrderStatus extends Mage_Core_Model_Abstract {
100
 
101
  $this->_debugData['getOrderStatus count: '.$count . ' pending'] = 'order has the status: '.$order->getStatus() . ' lets wait a second';
102
 
103
- sleep(1);
104
  ++$count;
105
 
106
  if($count > 5) {
@@ -139,4 +139,4 @@ class Adyen_Payment_Model_GetPosOrderStatus extends Mage_Core_Model_Abstract {
139
  return Mage::helper('adyen')->getConfigData($code, $paymentMethodCode, $storeId);
140
  }
141
 
142
- }
84
  {
85
  $this->_debugData['getOrderStatus count: '.$count . ' pending'] = 'order has the status: '.$order->getStatus() . ' lets wait a second';
86
 
87
+ sleep(2);
88
  ++$count;
89
 
90
  if($count > 5) {
100
 
101
  $this->_debugData['getOrderStatus count: '.$count . ' pending'] = 'order has the status: '.$order->getStatus() . ' lets wait a second';
102
 
103
+ sleep(2);
104
  ++$count;
105
 
106
  if($count > 5) {
139
  return Mage::helper('adyen')->getConfigData($code, $paymentMethodCode, $storeId);
140
  }
141
 
142
+ }
app/code/community/Adyen/Payment/Model/Observer.php CHANGED
@@ -56,6 +56,9 @@ class Adyen_Payment_Model_Observer {
56
  {
57
  Varien_Profiler::start(__CLASS__.'::'.__FUNCTION__);
58
 
 
 
 
59
  if(!Mage::getStoreConfigFlag('payment/adyen_hpp/disable_hpptypes', $store)) {
60
  $sortOrder = Mage::getStoreConfig('payment/adyen_hpp/sort_order', $store);
61
  foreach ($this->_fetchHppMethods($store) as $methodCode => $methodData) {
@@ -64,8 +67,6 @@ class Adyen_Payment_Model_Observer {
64
  }
65
 
66
  $store->setConfig('payment/adyen_hpp/active', 0);
67
- } else {
68
- $store->setConfig('payment/adyen_ideal/active', 0);
69
  }
70
 
71
  Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
@@ -80,8 +81,9 @@ class Adyen_Payment_Model_Observer {
80
  $methodNewCode = 'adyen_hpp_'.$methodCode;
81
 
82
  if ($methodCode == 'ideal') {
83
- unset($methodData['title']);
84
  $methodNewCode = 'adyen_ideal';
 
 
85
  } else {
86
  $methodData = $methodData + Mage::getStoreConfig('payment/adyen_hpp', $store);
87
  $methodData['model'] = 'adyen/adyen_hpp';
56
  {
57
  Varien_Profiler::start(__CLASS__.'::'.__FUNCTION__);
58
 
59
+ // by default disable adyen_ideal only if IDeal is in directoryLookup result show this payment method
60
+ $store->setConfig('payment/adyen_ideal/active', 0);
61
+
62
  if(!Mage::getStoreConfigFlag('payment/adyen_hpp/disable_hpptypes', $store)) {
63
  $sortOrder = Mage::getStoreConfig('payment/adyen_hpp/sort_order', $store);
64
  foreach ($this->_fetchHppMethods($store) as $methodCode => $methodData) {
67
  }
68
 
69
  $store->setConfig('payment/adyen_hpp/active', 0);
 
 
70
  }
71
 
72
  Varien_Profiler::stop(__CLASS__.'::'.__FUNCTION__);
81
  $methodNewCode = 'adyen_hpp_'.$methodCode;
82
 
83
  if ($methodCode == 'ideal') {
 
84
  $methodNewCode = 'adyen_ideal';
85
+ // enable adyen Ideal
86
+ $store->setConfig('payment/adyen_ideal/active', 1);
87
  } else {
88
  $methodData = $methodData + Mage::getStoreConfig('payment/adyen_hpp', $store);
89
  $methodData['model'] = 'adyen/adyen_hpp';
app/code/community/Adyen/Payment/Model/ProcessNotification.php CHANGED
@@ -87,28 +87,14 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
87
  $incrementId = $params->getData('merchantReference');
88
 
89
  if($incrementId) {
90
- $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
91
- if ($order->getId()) {
92
- // set StoreId for retrieving debug log setting
93
- $storeId = $order->getStoreId();
94
-
95
- $this->_updateOrder($order, $params);
96
- } else {
97
- $this->_debugData['error'] = 'Order does not exists with increment_id: ' . $incrementId;
98
- $this->_addNotificationToQueue($params);
99
- }
100
  } else {
101
  $this->_debugData['error'] = 'Empty merchantReference';
102
  }
103
  } else {
104
  $this->_debugData['processResponse info'] = 'Skipping duplicate notification';
105
  }
106
-
107
- // update the queue if it is not processed by cronjob
108
- if(!$this->_getConfigData('update_notification_cronjob')) {
109
- $this->_updateNotProcessedNotifications();
110
- }
111
-
112
  $this->_debug($storeId);
113
  }
114
 
@@ -153,8 +139,19 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
153
  * @param $order
154
  * @param $params
155
  */
156
- public function updateOrder($order, $params) {
 
 
 
 
 
 
 
157
  $this->_updateOrder($order, $params);
 
 
 
 
158
  }
159
  /**
160
  * @param $order
@@ -162,6 +159,11 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
162
  */
163
  protected function _updateOrder($order, $params)
164
  {
 
 
 
 
 
165
  $this->_debugData['_updateOrder'] = 'Updating the order';
166
 
167
  Mage::dispatchEvent('adyen_payment_process_notifications_before', array('order' => $order, 'adyen_response' => $params));
@@ -180,25 +182,16 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
180
  // update order details
181
  $this->_updateAdyenAttributes($order, $params);
182
 
183
- // check if success is true of false
184
- if (strcmp($this->_success, 'false') == 0 || strcmp($this->_success, '0') == 0) {
185
  // Only cancel the order when it is in state pending, payment review or if the ORDER_CLOSED is failed (means split payment has not be successful)
186
  if($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT || $order->getState() === Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW || $this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_ORDER_CLOSED) {
187
  $this->_debugData['_updateOrder info'] = 'Going to cancel the order';
188
 
189
- // if payment is API check, check if API result pspreference is the same as reference
190
  if($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $this->_getPaymentMethodType($order) == 'api') {
191
- if($this->_pspReference == $order->getPayment()->getAdyenPspReference()) {
192
- // don't cancel the order if previous state is authorisation with success=true
193
- if($previousAdyenEventCode != "AUTHORISATION : TRUE") {
194
- $this->_holdCancelOrder($order, false);
195
- } else {
196
- $order->setAdyenEventCode($previousAdyenEventCode); // do not update the adyenEventCode
197
- $this->_debugData['_updateOrder warning'] = 'order is not cancelled because previous notification was a authorisation that succeeded';
198
- }
199
- } else {
200
- $this->_debugData['_updateOrder warning'] = 'order is not cancelled because pspReference does not match with the order';
201
- }
202
  } else {
203
  // don't cancel the order if previous state is authorisation with success=true
204
  if($previousAdyenEventCode != "AUTHORISATION : TRUE") {
@@ -216,12 +209,12 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
216
  $this->_processNotification($order);
217
  }
218
 
219
- // save event for duplication
220
- $this->_storeNotification();
221
-
222
  // update the order with status/adyen event and comment history
223
  $order->save();
224
 
 
 
 
225
  Mage::dispatchEvent('adyen_payment_process_notifications_after', array('order' => $order, 'adyen_response' => $params));
226
  }
227
 
@@ -265,9 +258,16 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
265
  $this->_fraudManualReview = false;
266
  }
267
 
 
 
 
 
 
 
 
268
  $modification = isset($additionalData['modification']) ? $additionalData['modification'] : null;
269
  if($modification && is_array($modification)) {
270
- $this->_modificationResult = isset($valueArray['action']) ? trim($modification['action']) : "";
271
  }
272
  $additionalData2 = isset($additionalData['additionalData']) ? $additionalData['additionalData'] : null;
273
  if($additionalData2 && is_array($additionalData2)) {
@@ -285,6 +285,31 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
285
  $this->_debugData['_updateAdyenAttributes'] = 'Updating the Adyen attributes of the order';
286
 
287
  $additionalData = $params->getData('additionalData');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  if($additionalData && is_array($additionalData)) {
289
  $avsResult = (isset($additionalData['avsResult'])) ? $additionalData['avsResult'] : "";
290
  $cvcResult = (isset($additionalData['cvcResult'])) ? $additionalData['cvcResult'] : "";
@@ -295,50 +320,40 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
295
  $authCode = (isset($additionalData['authCode'])) ? $additionalData['authCode'] : "";
296
  }
297
 
298
- $paymentObj = $order->getPayment();
299
- $_paymentCode = $this->_paymentMethodCode($order);
300
-
301
  // if there is no server communication setup try to get last4 digits from reason field
302
  if(!isset($ccLast4) || $ccLast4 == "") {
303
  $ccLast4 = $this->_retrieveLast4DigitsFromReason($this->_reason);
304
  }
305
- $paymentObj->setLastTransId($this->_merchantReference)
306
- ->setCcType($this->_paymentMethod);
307
 
308
- if ($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION
309
- || $this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_HANDLED_EXTERNALLY
310
- || ($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE && $_paymentCode == "adyen_pos"))
311
- {
312
- $paymentObj->setAdyenPspReference($this->_pspReference);
313
- if($this->_klarnaReservationNumber != "") {
314
- $paymentObj->setAdyenKlarnaNumber($this->_klarnaReservationNumber);
315
- }
316
- if(isset($ccLast4) && $ccLast4 != "") {
317
- $paymentObj->setccLast4($ccLast4);
318
- }
319
- if(isset($avsResult) && $avsResult != "") {
320
- $paymentObj->setAdyenAvsResult($avsResult);
321
- }
322
- if(isset($cvcResult) && $cvcResult != "") {
323
- $paymentObj->setAdyenCvcResult($cvcResult);
324
- }
325
- if($this->_boletoPaidAmount != "") {
326
- $paymentObj->setAdyenBoletoPaidAmount($this->_boletoPaidAmount);
327
- }
328
- if(isset($totalFraudScore) && $totalFraudScore != "") {
329
- $paymentObj->setAdyenTotalFraudScore($totalFraudScore);
330
- }
331
- if(isset($refusalReasonRaw) && $refusalReasonRaw != "") {
332
- $paymentObj->setAdyenRefusalReasonRaw($refusalReasonRaw);
333
- }
334
- if(isset($acquirerReference) && $acquirerReference != "") {
335
- $paymentObj->setAdyenAcquirerReference($acquirerReference);
336
- }
337
- if(isset($authCode) && $authCode != "") {
338
- $paymentObj->setAdyenAuthCode($authCode);
339
- }
340
- }
341
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342
  }
343
 
344
  /**
@@ -441,7 +456,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
441
  if($_paymentCode != "adyen_pos") {
442
  // ignore capture if you are on auto capture (this could be called if manual review is enabled and you have a capture delay)
443
  if (!$this->_isAutoCapture($order)) {
444
- $this->_setPaymentAuthorized($order, false, true);
445
  }
446
  } else {
447
 
@@ -467,9 +482,9 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
467
  $this->_setRefundAuthorized($order);
468
  }
469
  } else {
470
- $orderStatus = $this->_getConfigData('order_status', 'adyen_abstract', $order->getStoreId());
471
- if(($orderStatus != Mage_Sales_Model_Order::STATE_HOLDED && $order->canCancel()) || ($orderStatus == Mage_Sales_Model_Order::STATE_HOLDED && $order->canHold())) {
472
- // cancel order
473
  $this->_debugData['_processNotification info'] = 'try to cancel the order';
474
  $this->_holdCancelOrder($order, true);
475
  } else {
@@ -575,7 +590,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
575
  */
576
  protected function _uncancelOrder($order) {
577
 
578
- if($order->isCanceled()) {
579
 
580
  $this->_debugData['_uncancelOrder'] = 'Uncancel the order because could be that it is cancelled in a previous notification';
581
 
@@ -673,10 +688,29 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
673
  protected function _setRefundAuthorized($order)
674
  {
675
  $this->_debugData['_setRefundAuthorized'] = 'Status update to default status or refund_authorized status if this is set';
676
- $status = $this->_getConfigData('refund_authorized', 'adyen_abstract', $order->getStoreId());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
677
  $status = (!empty($status)) ? $status : $order->getStatus();
678
  $order->addStatusHistoryComment(Mage::helper('adyen')->__('Adyen Refund Successfully completed'), $status);
679
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
 
 
 
 
680
  }
681
 
682
  /**
@@ -691,7 +725,6 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
691
 
692
  $fraudManualReviewStatus = $this->_getFraudManualReviewStatus($order);
693
 
694
-
695
  // If manual review is active and a seperate status is used then ignore the pre authorized status
696
  if($this->_fraudManualReview != true || $fraudManualReviewStatus == "") {
697
  $this->_setPrePaymentAuthorized($order);
@@ -726,6 +759,10 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
726
  if(!empty($status)) {
727
  $order->addStatusHistoryComment(Mage::helper('adyen')->__('Payment is pre authorised waiting for capture'), $status);
728
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
 
 
 
 
729
  $this->_debugData['_setPrePaymentAuthorized'] = 'Order status is changed to Pre-authorised status, status is ' . $status;
730
  } else {
731
  $this->_debugData['_setPrePaymentAuthorized'] = 'No pre-authorised status is used so ignore';
@@ -761,6 +798,10 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
761
  $status = $fraudManualReviewStatus;
762
  $comment = "Adyen Payment is in Manual Review check the Adyen platform";
763
  $order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
 
 
 
 
764
  }
765
  }
766
 
@@ -868,9 +909,21 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
868
  $invoice->register()->pay();
869
  }
870
 
871
- $invoice->save();
872
 
873
- $this->_debugData['_createInvoice done'] = 'Created invoice';
 
 
 
 
 
 
 
 
 
 
 
 
 
874
  } catch (Exception $e) {
875
  $this->_debugData['_createInvoice error'] = 'Error saving invoice. The error message is: ' . $e->getMessage();
876
  Mage::logException($e);
@@ -945,7 +998,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
945
  }
946
 
947
  protected function _getPaymentMethodType($order) {
948
- return $order->getPayment()->getPaymentMethodType();
949
  }
950
 
951
  /**
@@ -964,7 +1017,7 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
964
  /**
965
  * @param $order
966
  */
967
- protected function _setPaymentAuthorized($order, $manualReviewComment = true, $createInvoice = false)
968
  {
969
  $this->_debugData['_setPaymentAuthorized start'] = 'Set order to authorised';
970
 
@@ -976,13 +1029,31 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
976
  // create invoice for the capture notification if you are on manual capture
977
  if($createInvoice == true && $amount == $orderAmount) {
978
  $this->_debugData['_setPaymentAuthorized amount'] = 'amount notification:'.$amount . ' amount order:'.$orderAmount;
 
979
  $this->_createInvoice($order);
980
  }
981
 
982
- // if you have capture on shipment enabled don't set update the status of the payment
 
983
  $captureOnShipment = $this->_getConfigData('capture_on_shipment', 'adyen_abstract', $order->getStoreId());
984
- if(!$captureOnShipment) {
 
 
 
 
 
 
 
 
 
 
 
985
  $status = $this->_getConfigData('payment_authorized', 'adyen_abstract', $order->getStoreId());
 
 
 
 
 
986
  }
987
 
988
  // virtual order can have different status
@@ -991,6 +1062,10 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
991
  $virtual_status = $this->_getConfigData('payment_authorized_virtual');
992
  if($virtual_status != "") {
993
  $status = $virtual_status;
 
 
 
 
994
  }
995
  }
996
 
@@ -1038,7 +1113,11 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1038
  $status = (!empty($status)) ? $status : $order->getStatus();
1039
  $order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
1040
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
1041
- $this->_debugData['_setPaymentAuthorized end'] = 'Order status is changed to authorised status, status is ' . $status;
 
 
 
 
1042
  }
1043
 
1044
  /**
@@ -1119,6 +1198,11 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1119
  $pendingStatus = $this->_getConfigData('pending_status', 'adyen_abstract', $order->getStoreId());
1120
  if($pendingStatus != "") {
1121
  $order->addStatusHistoryComment($comment, $pendingStatus);
 
 
 
 
 
1122
  $this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification with status change to: ' . $pendingStatus;
1123
  return;
1124
  }
@@ -1130,6 +1214,10 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1130
  {
1131
  $manualReviewAcceptStatus = $this->_getFraudManualReviewAcceptStatus($order);
1132
  $order->addStatusHistoryComment($comment, $manualReviewAcceptStatus);
 
 
 
 
1133
  $this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification with status change to: ' . $manualReviewAcceptStatus;
1134
  return;
1135
  }
@@ -1184,60 +1272,27 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1184
 
1185
  $eventCode = trim($params->getData('eventCode'));
1186
  $success = (trim($params->getData('success')) == 'true' || trim($params->getData('success')) == '1') ? true : false;
1187
- // only log the AUTHORISATION with Sucess true because with false the order will never be created in magento
1188
- if($eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $success == true) {
1189
- // pspreference is always numeric otherwise it is a test notification
1190
- $pspReference = $params->getData('pspReference');
1191
- if(is_numeric($pspReference)) {
1192
- $this->_debugData['AddNotificationToQueue Step1'] = 'Going to add notification to queue';
1193
-
1194
- $incrementId = $params->getData('merchantReference');
1195
- $pspReference = $params->getData('pspReference');
1196
- $eventCode = $params->getData('eventCode');
1197
 
1198
- // check if already exists in the queue (sometimes Adyen Platform can send the same notification twice)
1199
- $eventResults = Mage::getModel('adyen/event_queue')->getCollection()
1200
- ->addFieldToFilter('increment_id', $incrementId);
1201
- $eventResults->getSelect()->limit(1);
1202
-
1203
- $eventQueue = null;
1204
- if($eventResults->getSize() > 0) {
1205
- $eventQueue = current($eventResults->getItems());
1206
- }
 
 
 
 
 
1207
 
1208
- if($eventQueue) {
1209
- $this->_debugData['AddNotificationToQueue Step2'] = 'Notification already in the queue';
1210
- $attempt = (int)$eventQueue->getAttempt();
1211
- try{
1212
- $eventQueue->setAttempt(++$attempt);
1213
- $eventQueue->save();
1214
- $this->_debugData['AddNotificationToQueue Step3'] = 'Updated the attempt of the Queue to ' . $eventQueue->getAttempt();
1215
- } catch(Exception $e) {
1216
- $this->_debugData['AddNotificationToQueue error'] = 'Could not update the notification to queue, reason: ' . $e->getMessage();
1217
- Mage::logException($e);
1218
- }
1219
- } else {
1220
- try {
1221
- // add current request to the queue
1222
- $eventQueue = Mage::getModel('adyen/event_queue');
1223
- $eventQueue->setPspReference($pspReference);
1224
- $eventQueue->setAdyenEventCode($eventCode);
1225
- $eventQueue->setIncrementId($incrementId);
1226
- $eventQueue->setAttempt(1);
1227
- $eventQueue->setResponse(serialize($params));
1228
- $eventQueue->setCreatedAt(now());
1229
- $eventQueue->save();
1230
- $this->_debugData['AddNotificationToQueue Step2'] = 'Notification is added to the queue';
1231
- } catch(Exception $e) {
1232
- $this->_debugData['AddNotificationToQueue error'] = 'Could not save the notification to queue, reason: ' . $e->getMessage();
1233
- Mage::logException($e);
1234
- }
1235
- }
1236
- } else {
1237
- $this->_debugData['AddNotificationToQueue'] = 'Notification is a TEST Notification so do not add to queue';
1238
- }
1239
  } else {
1240
- $this->_debugData['AddNotificationToQueue'] = 'Notification is not a AUTHORISATION Notification so do not add to queue';
1241
  }
1242
  }
1243
 
@@ -1264,47 +1319,55 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1264
  protected function _updateNotProcessedNotifications() {
1265
 
1266
  $this->_debugData['UpdateNotProcessedEvents Step1'] = 'Going to update Notifications from the queue';
 
1267
  // try to update old notifications that did not processed yet
1268
  $collection = Mage::getModel('adyen/event_queue')->getCollection()
1269
- ->addFieldToFilter('attempt', array('lteq' => '4'));
 
 
 
 
 
1270
 
1271
  if($collection->getSize() > 0) {
1272
  foreach($collection as $event){
1273
- if($event->getAdyenEventCode() == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION) {
1274
 
1275
- $incrementId = $event->getIncrementId();
1276
 
1277
- $this->_debugData['UpdateNotProcessedEvents Step2'] = 'Going to update notification with incrementId: ' . $incrementId;
1278
 
1279
- $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
1280
- if ($order->getId()) {
1281
 
1282
- $this->_debugData['UpdateNotProcessedEvents Step3'] = 'Order exists going to update it';
1283
- // try to process it now
1284
- $params = unserialize($event->getResponse());
1285
 
1286
- $this->_debugData['UpdateNotProcessedEvents params'] = $params->debug();
1287
 
 
 
1288
  $this->_updateOrder($order, $params);
1289
-
1290
- // update event that it is processed
1291
- try{
1292
- // @codingStandardsIgnoreStart
1293
- $event->delete();
1294
- // @codingStandardsIgnoreEnd
1295
- $this->_debugData['UpdateNotProcessedEvents Step4'] = 'Notification is processed and removed from the queue';
1296
- } catch(Exception $e) {
1297
- Mage::logException($e);
1298
- }
1299
  } else {
1300
- // order still not exists save this attempt
1301
- $currentAttempt = $event->getAttempt();
1302
- $event->setAttempt(++$currentAttempt);
 
 
 
1303
  // @codingStandardsIgnoreStart
1304
- $event->save();
1305
  // @codingStandardsIgnoreEnd
1306
- $this->_debugData['UpdateNotProcessedEvents Step3'] = 'The Notification still does not exists updated attempt to ' . $event->getAttempt();
 
 
1307
  }
 
 
 
 
 
 
1308
  }
1309
  }
1310
  } else {
@@ -1344,4 +1407,4 @@ class Adyen_Payment_Model_ProcessNotification extends Mage_Core_Model_Abstract {
1344
  {
1345
  return Mage::app()->getRequest();
1346
  }
1347
- }
87
  $incrementId = $params->getData('merchantReference');
88
 
89
  if($incrementId) {
90
+ $this->_debugData['error'] = 'Add this notification with Order increment_id to queue: ' . $incrementId;
91
+ $this->_addNotificationToQueue($params);
 
 
 
 
 
 
 
 
92
  } else {
93
  $this->_debugData['error'] = 'Empty merchantReference';
94
  }
95
  } else {
96
  $this->_debugData['processResponse info'] = 'Skipping duplicate notification';
97
  }
 
 
 
 
 
 
98
  $this->_debug($storeId);
99
  }
100
 
139
  * @param $order
140
  * @param $params
141
  */
142
+ public function updateOrder($order, $params)
143
+ {
144
+ $this->_debugData = array();
145
+
146
+ $this->_debugData['processPosResponse begin'] = 'Begin to process this specific notification from the queue';
147
+
148
+ $this->_debugData['params'] = $params;
149
+
150
  $this->_updateOrder($order, $params);
151
+
152
+ $this->_debugData['processPosResponse end'] = 'end of process notification';
153
+
154
+ return $this->_debugData;
155
  }
156
  /**
157
  * @param $order
159
  */
160
  protected function _updateOrder($order, $params)
161
  {
162
+ if (!($order->getPayment()->getMethodInstance() instanceof Adyen_Payment_Model_Adyen_Abstract)) {
163
+ // This method only applies to Adyen orders
164
+ return;
165
+ }
166
+
167
  $this->_debugData['_updateOrder'] = 'Updating the order';
168
 
169
  Mage::dispatchEvent('adyen_payment_process_notifications_before', array('order' => $order, 'adyen_response' => $params));
182
  // update order details
183
  $this->_updateAdyenAttributes($order, $params);
184
 
185
+ // check if success is true of false or empty
186
+ if (strcmp($this->_success, 'false') == 0 || strcmp($this->_success, '0') == 0 || strcmp($this->_success, '') == 0) {
187
  // Only cancel the order when it is in state pending, payment review or if the ORDER_CLOSED is failed (means split payment has not be successful)
188
  if($order->getState() === Mage_Sales_Model_Order::STATE_PENDING_PAYMENT || $order->getState() === Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW || $this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_ORDER_CLOSED) {
189
  $this->_debugData['_updateOrder info'] = 'Going to cancel the order';
190
 
191
+ // if payment is API check and if notification is an authorisation
192
  if($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $this->_getPaymentMethodType($order) == 'api') {
193
+ // don't cancel the order becasue order was successfull through api
194
+ $this->_debugData['_updateOrder warning'] = 'order is not cancelled because api result was succesfull';
 
 
 
 
 
 
 
 
 
195
  } else {
196
  // don't cancel the order if previous state is authorisation with success=true
197
  if($previousAdyenEventCode != "AUTHORISATION : TRUE") {
209
  $this->_processNotification($order);
210
  }
211
 
 
 
 
212
  // update the order with status/adyen event and comment history
213
  $order->save();
214
 
215
+ // save event for duplication
216
+ $this->_storeNotification();
217
+
218
  Mage::dispatchEvent('adyen_payment_process_notifications_after', array('order' => $order, 'adyen_response' => $params));
219
  }
220
 
258
  $this->_fraudManualReview = false;
259
  }
260
 
261
+ // modification.action is it for JSON
262
+ $modificationActionJson = isset($additionalData['modification.action']) ? $additionalData['modification.action'] : null;
263
+ if($modificationActionJson != "") {
264
+ $this->_modificationResult = $modificationActionJson;
265
+ }
266
+
267
+ // HTTP POST and SOAP have this in a array
268
  $modification = isset($additionalData['modification']) ? $additionalData['modification'] : null;
269
  if($modification && is_array($modification)) {
270
+ $this->_modificationResult = isset($modification['action']) ? trim($modification['action']) : "";
271
  }
272
  $additionalData2 = isset($additionalData['additionalData']) ? $additionalData['additionalData'] : null;
273
  if($additionalData2 && is_array($additionalData2)) {
285
  $this->_debugData['_updateAdyenAttributes'] = 'Updating the Adyen attributes of the order';
286
 
287
  $additionalData = $params->getData('additionalData');
288
+ $paymentObj = $order->getPayment();
289
+ $_paymentCode = $this->_paymentMethodCode($order);
290
+
291
+ $paymentObj->setLastTransId($this->_merchantReference)
292
+ ->setCcType($this->_paymentMethod);
293
+
294
+ if ($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION
295
+ || $this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_HANDLED_EXTERNALLY
296
+ || ($this->_eventCode == Adyen_Payment_Model_Event::ADYEN_EVENT_CAPTURE && $_paymentCode == "adyen_pos"))
297
+ {
298
+
299
+ // if current notification is authorisation : false and the previous notification was authorisation : true do not update pspreference
300
+ if (strcmp($this->_success, 'false') == 0 || strcmp($this->_success, '0') == 0 || strcmp($this->_success, '') == 0) {
301
+ $previousAdyenEventCode = $order->getAdyenEventCode();
302
+ if ($previousAdyenEventCode != "AUTHORISATION : TRUE") {
303
+ $this->_updateOrderPaymentWithAdyenAttributes($paymentObj, $additionalData);
304
+ }
305
+ } else {
306
+ $this->_updateOrderPaymentWithAdyenAttributes($paymentObj, $additionalData);
307
+ }
308
+ }
309
+ }
310
+
311
+ protected function _updateOrderPaymentWithAdyenAttributes($paymentObj, $additionalData)
312
+ {
313
  if($additionalData && is_array($additionalData)) {
314
  $avsResult = (isset($additionalData['avsResult'])) ? $additionalData['avsResult'] : "";
315
  $cvcResult = (isset($additionalData['cvcResult'])) ? $additionalData['cvcResult'] : "";
320
  $authCode = (isset($additionalData['authCode'])) ? $additionalData['authCode'] : "";
321
  }
322
 
 
 
 
323
  // if there is no server communication setup try to get last4 digits from reason field
324
  if(!isset($ccLast4) || $ccLast4 == "") {
325
  $ccLast4 = $this->_retrieveLast4DigitsFromReason($this->_reason);
326
  }
 
 
327
 
328
+ $paymentObj->setAdyenPspReference($this->_pspReference);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
 
330
+ if($this->_klarnaReservationNumber != "") {
331
+ $paymentObj->setAdyenKlarnaNumber($this->_klarnaReservationNumber);
332
+ }
333
+ if(isset($ccLast4) && $ccLast4 != "") {
334
+ $paymentObj->setccLast4($ccLast4);
335
+ }
336
+ if(isset($avsResult) && $avsResult != "") {
337
+ $paymentObj->setAdyenAvsResult($avsResult);
338
+ }
339
+ if(isset($cvcResult) && $cvcResult != "") {
340
+ $paymentObj->setAdyenCvcResult($cvcResult);
341
+ }
342
+ if($this->_boletoPaidAmount != "") {
343
+ $paymentObj->setAdyenBoletoPaidAmount($this->_boletoPaidAmount);
344
+ }
345
+ if(isset($totalFraudScore) && $totalFraudScore != "") {
346
+ $paymentObj->setAdyenTotalFraudScore($totalFraudScore);
347
+ }
348
+ if(isset($refusalReasonRaw) && $refusalReasonRaw != "") {
349
+ $paymentObj->setAdyenRefusalReasonRaw($refusalReasonRaw);
350
+ }
351
+ if(isset($acquirerReference) && $acquirerReference != "") {
352
+ $paymentObj->setAdyenAcquirerReference($acquirerReference);
353
+ }
354
+ if(isset($authCode) && $authCode != "") {
355
+ $paymentObj->setAdyenAuthCode($authCode);
356
+ }
357
  }
358
 
359
  /**
456
  if($_paymentCode != "adyen_pos") {
457
  // ignore capture if you are on auto capture (this could be called if manual review is enabled and you have a capture delay)
458
  if (!$this->_isAutoCapture($order)) {
459
+ $this->_setPaymentAuthorized($order, false, true, true);
460
  }
461
  } else {
462
 
482
  $this->_setRefundAuthorized($order);
483
  }
484
  } else {
485
+ if ($order->isCanceled() || $order->getState() === Mage_Sales_Model_Order::STATE_HOLDED) {
486
+ $this->_debugData['_processNotification info'] = 'Order is already cancelled or holded so do nothing';
487
+ } else if ($order->canCancel() || $order->canHold()) {
488
  $this->_debugData['_processNotification info'] = 'try to cancel the order';
489
  $this->_holdCancelOrder($order, true);
490
  } else {
590
  */
591
  protected function _uncancelOrder($order) {
592
 
593
+ if($order->isCanceled() && $this->_getConfigData('uncancelorder', 'adyen_abstract')) {
594
 
595
  $this->_debugData['_uncancelOrder'] = 'Uncancel the order because could be that it is cancelled in a previous notification';
596
 
688
  protected function _setRefundAuthorized($order)
689
  {
690
  $this->_debugData['_setRefundAuthorized'] = 'Status update to default status or refund_authorized status if this is set';
691
+
692
+
693
+ // check if it is a full or partial refund
694
+ $amount = $this->_value;
695
+ $currency = $order->getOrderCurrencyCode();
696
+ $orderAmount = (int) Mage::helper('adyen')->formatAmount($order->getGrandTotal(), $currency);
697
+
698
+ if($amount == $orderAmount) {
699
+ $status = $this->_getConfigData('refund_authorized', 'adyen_abstract', $order->getStoreId());
700
+ $this->_debugData['_setRefundAuthorized full'] = 'This is a full refund. Status selected is:'.$status;
701
+ } else {
702
+ $status = $this->_getConfigData('refund_partial_authorized', 'adyen_abstract', $order->getStoreId());
703
+ $this->_debugData['_setRefundAuthorized partial'] = 'This is a partial refund. Status selected is:'.$status;
704
+ }
705
+
706
+ // if no status is selected don't change the status and use current status
707
  $status = (!empty($status)) ? $status : $order->getStatus();
708
  $order->addStatusHistoryComment(Mage::helper('adyen')->__('Adyen Refund Successfully completed'), $status);
709
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
710
+ /**
711
+ * save the order this is needed for older magento version so that status is not reverted to state NEW
712
+ */
713
+ $order->save();
714
  }
715
 
716
  /**
725
 
726
  $fraudManualReviewStatus = $this->_getFraudManualReviewStatus($order);
727
 
 
728
  // If manual review is active and a seperate status is used then ignore the pre authorized status
729
  if($this->_fraudManualReview != true || $fraudManualReviewStatus == "") {
730
  $this->_setPrePaymentAuthorized($order);
759
  if(!empty($status)) {
760
  $order->addStatusHistoryComment(Mage::helper('adyen')->__('Payment is pre authorised waiting for capture'), $status);
761
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
762
+ /**
763
+ * save the order this is needed for older magento version so that status is not reverted to state NEW
764
+ */
765
+ $order->save();
766
  $this->_debugData['_setPrePaymentAuthorized'] = 'Order status is changed to Pre-authorised status, status is ' . $status;
767
  } else {
768
  $this->_debugData['_setPrePaymentAuthorized'] = 'No pre-authorised status is used so ignore';
798
  $status = $fraudManualReviewStatus;
799
  $comment = "Adyen Payment is in Manual Review check the Adyen platform";
800
  $order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
801
+ /**
802
+ * save the order this is needed for older magento version so that status is not reverted to state NEW
803
+ */
804
+ $order->save();
805
  }
806
  }
807
 
909
  $invoice->register()->pay();
910
  }
911
 
 
912
 
913
+ // set the state to pending because otherwise magento will automatically set it to processing when you save the order
914
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT);
915
+
916
+ /*
917
+ * Save the order otherwise in old magento versions our status is not updated the
918
+ * processing status that it gets here because the invoice is created.
919
+ */
920
+ $transactionSave = Mage::getModel('core/resource_transaction')
921
+ ->addObject($invoice)
922
+ ->addObject($invoice->getOrder());
923
+
924
+ $transactionSave->save();
925
+
926
+ $this->_debugData['_createInvoice done'] = 'Created invoice status is: ' . $order->getStatus() . ' state is:' . $order->getState();
927
  } catch (Exception $e) {
928
  $this->_debugData['_createInvoice error'] = 'Error saving invoice. The error message is: ' . $e->getMessage();
929
  Mage::logException($e);
998
  }
999
 
1000
  protected function _getPaymentMethodType($order) {
1001
+ return $order->getPayment()->getMethodInstance()->getPaymentMethodType();
1002
  }
1003
 
1004
  /**
1017
  /**
1018
  * @param $order
1019
  */
1020
+ protected function _setPaymentAuthorized($order, $manualReviewComment = true, $createInvoice = false, $captureNotification = false)
1021
  {
1022
  $this->_debugData['_setPaymentAuthorized start'] = 'Set order to authorised';
1023
 
1029
  // create invoice for the capture notification if you are on manual capture
1030
  if($createInvoice == true && $amount == $orderAmount) {
1031
  $this->_debugData['_setPaymentAuthorized amount'] = 'amount notification:'.$amount . ' amount order:'.$orderAmount;
1032
+ // call createInvoice (this flow can be improved
1033
  $this->_createInvoice($order);
1034
  }
1035
 
1036
+ $autoCapture = $this->_isAutoCapture($order);
1037
+ $createPendingInvoice = (bool) $this->_getConfigData('create_pending_invoice', 'adyen_abstract', $order->getStoreId());
1038
  $captureOnShipment = $this->_getConfigData('capture_on_shipment', 'adyen_abstract', $order->getStoreId());
1039
+
1040
+ /**
1041
+ * - if create pending invoice is not set just update the status
1042
+ * - if create pending invoice is set and the payment method is auto capture update the order
1043
+ * - if create pending invoice is set and payment method is manual capture but the notificaiton is a capture notification update the order
1044
+ */
1045
+ if($captureOnShipment && !$autoCapture) {
1046
+ // if capture on shipment is enabled and it is a manual capture payment method do not update the order
1047
+ } else if(!$createPendingInvoice ||
1048
+ ($createPendingInvoice && $autoCapture) ||
1049
+ ($createPendingInvoice && !$autoCapture && $captureNotification))
1050
+ {
1051
  $status = $this->_getConfigData('payment_authorized', 'adyen_abstract', $order->getStoreId());
1052
+
1053
+ $this->_debugData['_setPaymentAuthorized selected status'] = 'The status that is selected is:' . $status;
1054
+
1055
+ // set the state to processing
1056
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING);
1057
  }
1058
 
1059
  // virtual order can have different status
1062
  $virtual_status = $this->_getConfigData('payment_authorized_virtual');
1063
  if($virtual_status != "") {
1064
  $status = $virtual_status;
1065
+
1066
+ // set the state to complete
1067
+ $order->setState(Mage_Sales_Model_Order::STATE_COMPLETE);
1068
+
1069
  }
1070
  }
1071
 
1113
  $status = (!empty($status)) ? $status : $order->getStatus();
1114
  $order->addStatusHistoryComment(Mage::helper('adyen')->__($comment), $status);
1115
  $order->sendOrderUpdateEmail((bool) $this->_getConfigData('send_update_mail', 'adyen_abstract', $order->getStoreId()));
1116
+ /**
1117
+ * save the order this is needed for older magento version so that status is not reverted to state NEW
1118
+ */
1119
+ $order->save();
1120
+ $this->_debugData['_setPaymentAuthorized end'] = 'Order status is changed to authorised status, status is ' . $status . ' and state is: ' . $order->getState();
1121
  }
1122
 
1123
  /**
1198
  $pendingStatus = $this->_getConfigData('pending_status', 'adyen_abstract', $order->getStoreId());
1199
  if($pendingStatus != "") {
1200
  $order->addStatusHistoryComment($comment, $pendingStatus);
1201
+ /**
1202
+ * save order needed for old magento version so that status is not reverted to state NEW
1203
+ */
1204
+ $order->save();
1205
+
1206
  $this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification with status change to: ' . $pendingStatus;
1207
  return;
1208
  }
1214
  {
1215
  $manualReviewAcceptStatus = $this->_getFraudManualReviewAcceptStatus($order);
1216
  $order->addStatusHistoryComment($comment, $manualReviewAcceptStatus);
1217
+ /**
1218
+ * save order needed for old magento version so that status is not reverted to state NEW
1219
+ */
1220
+ $order->save();
1221
  $this->_debugData['_addStatusHistoryComment'] = 'Created comment history for this notification with status change to: ' . $manualReviewAcceptStatus;
1222
  return;
1223
  }
1272
 
1273
  $eventCode = trim($params->getData('eventCode'));
1274
  $success = (trim($params->getData('success')) == 'true' || trim($params->getData('success')) == '1') ? true : false;
1275
+ $pspReference = $params->getData('pspReference');
1276
+ if(is_numeric($pspReference)) {
1277
+ $this->_debugData['AddNotificationToQueue Step1'] = 'Going to add notification to queue';
 
 
 
 
 
 
 
1278
 
1279
+ $incrementId = $params->getData('merchantReference');
1280
+ $pspReference = $params->getData('pspReference');
1281
+ $eventCode = $params->getData('eventCode');
1282
+
1283
+ // add current request to the queue
1284
+ $eventQueue = Mage::getModel('adyen/event_queue');
1285
+ $eventQueue->setPspReference($pspReference);
1286
+ $eventQueue->setAdyenEventCode($eventCode);
1287
+ $eventQueue->setIncrementId($incrementId);
1288
+ $eventQueue->setAttempt(1);
1289
+ $eventQueue->setResponse(serialize($params));
1290
+ $eventQueue->setCreatedAt(now());
1291
+ $eventQueue->save();
1292
+ $this->_debugData['AddNotificationToQueue Step2'] = 'Notification is added to the queue';
1293
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1294
  } else {
1295
+ $this->_debugData['AddNotificationToQueue'] = 'Notification is a TEST Notification so do not add to queue';
1296
  }
1297
  }
1298
 
1319
  protected function _updateNotProcessedNotifications() {
1320
 
1321
  $this->_debugData['UpdateNotProcessedEvents Step1'] = 'Going to update Notifications from the queue';
1322
+
1323
  // try to update old notifications that did not processed yet
1324
  $collection = Mage::getModel('adyen/event_queue')->getCollection()
1325
+ ->addFieldToFilter('attempt', array('lteq' => '4'))
1326
+ ->addFieldToFilter('created_at', array(
1327
+ 'from' => strtotime('-1 day', time()),
1328
+ 'to' => strtotime('-5 minutes', time()),
1329
+ 'datetime' => true))
1330
+ ->addOrder('created_at', 'asc');
1331
 
1332
  if($collection->getSize() > 0) {
1333
  foreach($collection as $event){
 
1334
 
1335
+ $incrementId = $event->getIncrementId();
1336
 
1337
+ $this->_debugData['UpdateNotProcessedEvents Step2'] = 'Going to update notification with incrementId: ' . $incrementId;
1338
 
1339
+ $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
1340
+ if ($order->getId()) {
1341
 
1342
+ $this->_debugData['UpdateNotProcessedEvents Step3'] = 'Order exists going to update it';
1343
+ // try to process it now
1344
+ $params = unserialize($event->getResponse());
1345
 
1346
+ $this->_debugData['UpdateNotProcessedEvents params'] = $params->debug();
1347
 
1348
+ // check if notification is already processed
1349
+ if(!$this->_isDuplicate($params)) {
1350
  $this->_updateOrder($order, $params);
 
 
 
 
 
 
 
 
 
 
1351
  } else {
1352
+ // already processed so ignore this notification
1353
+ $this->_debugData['UpdateNotProcessedEvents duplicate'] = "This notification is already processed so ignore this one";
1354
+ }
1355
+
1356
+ // update event that it is processed
1357
+ try{
1358
  // @codingStandardsIgnoreStart
1359
+ $event->delete();
1360
  // @codingStandardsIgnoreEnd
1361
+ $this->_debugData['UpdateNotProcessedEvents Step4'] = 'Notification is processed and removed from the queue';
1362
+ } catch(Exception $e) {
1363
+ Mage::logException($e);
1364
  }
1365
+ } else {
1366
+ // order does not exists remove this from the queue
1367
+ // @codingStandardsIgnoreStart
1368
+ $event->delete();
1369
+ // @codingStandardsIgnoreEnd
1370
+ $this->_debugData['UpdateNotProcessedEvents Step3'] = 'The Notification still does not exists so it does not have an order remove the notification';
1371
  }
1372
  }
1373
  } else {
1407
  {
1408
  return Mage::app()->getRequest();
1409
  }
1410
+ }
app/code/community/Adyen/Payment/Model/System/Config/Backend/Trim.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+
21
+ class Adyen_Payment_Model_System_Config_Backend_Trim extends Mage_Core_Model_Config_Data
22
+ {
23
+
24
+ /**
25
+ * Trim data before save
26
+ */
27
+ protected function _beforeSave()
28
+ {
29
+ $value = trim($this->getValue());
30
+ $this->setValue($value);
31
+ }
32
+
33
+ }
app/code/community/Adyen/Payment/Model/ValidateResultUrl.php CHANGED
@@ -131,14 +131,6 @@ class Adyen_Payment_Model_ValidateResultUrl extends Mage_Core_Model_Abstract {
131
  ->setOrder($order);
132
  $history->save();
133
 
134
- // Update the Adyen Event Code if notification is not yet received
135
- if(!(substr($order->getAdyenEventCode(), 0, 13) == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISATION && $authResult == Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED)){
136
- $order->setAdyenEventCode($authResult);
137
- $this->_debugData['Step3'] = 'Updating the adyen event code with ' . $authResult;
138
- } else {
139
- $this->_debugData['Step3'] = 'Not updating the adyen event code with ' . $authResult . 'because notification is already received';
140
- }
141
-
142
  switch ($authResult) {
143
 
144
  case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED:
@@ -165,9 +157,6 @@ class Adyen_Payment_Model_ValidateResultUrl extends Mage_Core_Model_Abstract {
165
  $result = false;
166
  break;
167
  }
168
-
169
- $order->save();
170
-
171
  return $result;
172
  }
173
 
131
  ->setOrder($order);
132
  $history->save();
133
 
 
 
 
 
 
 
 
 
134
  switch ($authResult) {
135
 
136
  case Adyen_Payment_Model_Event::ADYEN_EVENT_AUTHORISED:
157
  $result = false;
158
  break;
159
  }
 
 
 
160
  return $result;
161
  }
162
 
app/code/community/Adyen/Payment/controllers/Adminhtml/Adyen/Event/QueueController.php CHANGED
@@ -28,6 +28,14 @@
28
 
29
  class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml_Controller_Action {
30
 
 
 
 
 
 
 
 
 
31
  public function indexAction() {
32
 
33
  Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('adyen')->__('If you are using Adyen CreditCard payment method it could be that the notifcation that is send from the Adyen Platform is faster then Magento saves the order. The notification is saved and when a new notification is send it will try to update the previous notification as well. You can see here what notifications did not processed yet and you can proccess it here manual if you want to by selecting "Execute" under the Actions column '));
@@ -80,7 +88,10 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
80
  $order->loadByIncrementId($incrementId);
81
 
82
  // process it
83
- Mage::getModel('adyen/processNotification')->updateOrder($order, $varienObj);
 
 
 
84
 
85
  // remove it from queue
86
  $eventQueue->delete();
@@ -161,4 +172,29 @@ class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml
161
  return Mage::getSingleton('admin/session')->isAllowed('sales/adyen_payment');
162
  }
163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  }
28
 
29
  class Adyen_Payment_Adminhtml_Adyen_Event_QueueController extends Mage_Adminhtml_Controller_Action {
30
 
31
+
32
+ /**
33
+ * Collected debug information
34
+ *
35
+ * @var array
36
+ */
37
+ protected $_debugData = array();
38
+
39
  public function indexAction() {
40
 
41
  Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('adyen')->__('If you are using Adyen CreditCard payment method it could be that the notifcation that is send from the Adyen Platform is faster then Magento saves the order. The notification is saved and when a new notification is send it will try to update the previous notification as well. You can see here what notifications did not processed yet and you can proccess it here manual if you want to by selecting "Execute" under the Actions column '));
88
  $order->loadByIncrementId($incrementId);
89
 
90
  // process it
91
+ $this->_debugData = Mage::getModel('adyen/processNotification')->updateOrder($order, $varienObj);
92
+
93
+ // log it
94
+ $this->_debug(null);
95
 
96
  // remove it from queue
97
  $eventQueue->delete();
172
  return Mage::getSingleton('admin/session')->isAllowed('sales/adyen_payment');
173
  }
174
 
175
+ /**
176
+ * Log debug data to file (use cron log so everything is together)
177
+ *
178
+ * @param $storeId
179
+ * @param mixed $debugData
180
+ */
181
+ protected function _debug($storeId)
182
+ {
183
+ if ($this->_getConfigData('debug', 'adyen_abstract', $storeId)) {
184
+ $file = 'adyen_process_notification_cron.log';
185
+ Mage::getModel('core/log_adapter', $file)->log($this->_debugData);
186
+ }
187
+ }
188
+
189
+ /**
190
+ * @param $code
191
+ * @param null $paymentMethodCode
192
+ * @param null $storeId
193
+ * @return mixed
194
+ */
195
+ protected function _getConfigData($code, $paymentMethodCode = null, $storeId = null)
196
+ {
197
+ return Mage::helper('adyen')->getConfigData($code, $paymentMethodCode, $storeId);
198
+ }
199
+
200
  }
app/code/community/Adyen/Payment/controllers/ProcessController.php CHANGED
@@ -152,22 +152,15 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
152
  return $this;
153
  }
154
 
155
- //redirect to adyen
156
- if (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) === 0 ||
157
- (strcmp($order->getState(), Mage_Sales_Model_Order::STATE_NEW) === 0)) {
158
- $this->getResponse()->setBody(
159
- $this->getLayout()
160
- ->createBlock($this->_redirectBlockType)
161
- ->setOrder($order)
162
- ->toHtml()
163
- );
164
- $session->unsQuoteId();
165
- }
166
- //continue shopping
167
- else {
168
- $this->_redirect('/');
169
- return $this;
170
- }
171
  } catch (Exception $e) {
172
  $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
173
  $this->cancel();
@@ -175,9 +168,11 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
175
  }
176
 
177
  public function validate3dAction() {
 
 
 
 
178
  try {
179
- // get current order
180
- $session = $this->_getCheckout();
181
  $order = $this->_getOrder();
182
  $session->setAdyenQuoteId($session->getQuoteId());
183
  $session->setAdyenRealOrderId($session->getLastRealOrderId());
@@ -213,8 +208,7 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
213
 
214
  // check if authorise3d was successful
215
  if ($result == 'Authorised') {
216
- $order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true,
217
- Mage::helper('adyen')->__('3D-secure validation was successful.'))->save();
218
  $this->_redirect('checkout/onepage/success');
219
  }
220
  else {
@@ -224,10 +218,9 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
224
  }
225
  }
226
  else {
227
- $this->_redirect('/');
228
- return $this;
229
  }
230
-
231
  }
232
 
233
  // otherwise, redirect to the external URL
@@ -238,13 +231,14 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
238
  $this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
239
  );
240
  }
241
-
242
  }
243
  else {
244
- $this->_redirect('/');
245
- return $this;
 
246
  }
247
  } catch (Exception $e) {
 
248
  $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
249
  $this->cancel();
250
  }
@@ -355,6 +349,8 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
355
  $params = $this->getRequest()->getParams();
356
  if(isset($params['authResult']) && $params['authResult'] == Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED) {
357
  $session->addError($this->__('You have cancelled the order. Please try again'));
 
 
358
  } else {
359
  $session->addError($this->__('Your payment failed, Please try again later'));
360
  }
@@ -397,6 +393,12 @@ class Adyen_Payment_ProcessController extends Mage_Core_Controller_Front_Action
397
  return $this;
398
  }
399
 
 
 
 
 
 
 
400
  $notificationMode = isset($response['live']) ? $response['live'] : "";
401
 
402
  if($notificationMode != "" && $this->_validateNotificationMode($notificationMode))
152
  return $this;
153
  }
154
 
155
+ // redirect to payment page
156
+ $this->getResponse()->setBody(
157
+ $this->getLayout()
158
+ ->createBlock($this->_redirectBlockType)
159
+ ->setOrder($order)
160
+ ->toHtml()
161
+ );
162
+ $session->unsQuoteId();
163
+
 
 
 
 
 
 
 
164
  } catch (Exception $e) {
165
  $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
166
  $this->cancel();
168
  }
169
 
170
  public function validate3dAction() {
171
+
172
+ // get current order
173
+ $session = $this->_getCheckout();
174
+
175
  try {
 
 
176
  $order = $this->_getOrder();
177
  $session->setAdyenQuoteId($session->getQuoteId());
178
  $session->setAdyenRealOrderId($session->getLastRealOrderId());
208
 
209
  // check if authorise3d was successful
210
  if ($result == 'Authorised') {
211
+ $order->addStatusHistoryComment(Mage::helper('adyen')->__('3D-secure validation was successful'))->save();
 
212
  $this->_redirect('checkout/onepage/success');
213
  }
214
  else {
218
  }
219
  }
220
  else {
221
+ $errorMsg = Mage::helper('adyen')->__('3D secure validation error');
222
+ Adyen_Payment_Exception::throwException($errorMsg);
223
  }
 
224
  }
225
 
226
  // otherwise, redirect to the external URL
231
  $this->getLayout()->createBlock($this->_redirectBlockType)->setOrder($order)->toHtml()
232
  );
233
  }
 
234
  }
235
  else {
236
+ // log exception
237
+ $errorMsg = Mage::helper('adyen')->__('3D secure went wrong');
238
+ Adyen_Payment_Exception::throwException($errorMsg);
239
  }
240
  } catch (Exception $e) {
241
+ Mage::logException($e);
242
  $session->addException($e, Mage::helper('adyen')->__($e->getMessage()));
243
  $this->cancel();
244
  }
349
  $params = $this->getRequest()->getParams();
350
  if(isset($params['authResult']) && $params['authResult'] == Adyen_Payment_Model_Event::ADYEN_EVENT_CANCELLED) {
351
  $session->addError($this->__('You have cancelled the order. Please try again'));
352
+ } elseif($order->getPayment()->getMethod() == "adyen_openinvoice") {
353
+ $session->addError($this->__('Your openinvoice payment failed'));
354
  } else {
355
  $session->addError($this->__('Your payment failed, Please try again later'));
356
  }
393
  return $this;
394
  }
395
 
396
+ if(isset($response['magento_version'])) {
397
+ $version = Mage::getVersion();
398
+ $this->getResponse()->setBody($version);
399
+ return $this;
400
+ }
401
+
402
  $notificationMode = isset($response['live']) ? $response['live'] : "";
403
 
404
  if($notificationMode != "" && $this->_validateNotificationMode($notificationMode))
app/code/community/Adyen/Payment/controllers/SavedCardController.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ class Adyen_Payment_SavedCardController extends Mage_Core_Controller_Front_Action
29
+ {
30
+
31
+ /**
32
+ *
33
+ * @var Mage_Customer_Model_Session
34
+ */
35
+ protected $_session = null;
36
+
37
+ /**
38
+ * Make sure customer is logged in and put it into registry
39
+ */
40
+ public function preDispatch()
41
+ {
42
+ parent::preDispatch();
43
+ if (!$this->getRequest()->isDispatched()) {
44
+ return;
45
+ }
46
+ $this->_session = Mage::getSingleton('customer/session');
47
+ if (!$this->_session->authenticate($this)) {
48
+ $this->setFlag('', 'no-dispatch', true);
49
+ }
50
+ Mage::register('current_customer', $this->_session->getCustomer());
51
+ }
52
+
53
+ /**
54
+ * Profiles listing
55
+ */
56
+ public function indexAction()
57
+ {
58
+ // check if there is a submit on card delete
59
+ if ($this->getRequest()->isPost()) {
60
+ $recurringDetailReference = $this->getRequest()->getParam('recurringDetailReference');
61
+ if($recurringDetailReference != "") {
62
+ $storeId = Mage::app()->getStore()->getStoreId();
63
+ $merchantAccount = Mage::getStoreConfig("payment/adyen_abstract/merchantAccount", $storeId);
64
+ $customer = Mage::registry('current_customer');
65
+ $shopperReference = $customer->getId();
66
+ // do api call to delete this card
67
+ $success = Mage::helper('adyen')->removeRecurringCard($merchantAccount, $shopperReference, $recurringDetailReference);
68
+
69
+ // show result message
70
+ if($success) {
71
+ $this->_getSession()->addSuccess(Mage::helper('adyen')->__('The card has been deleted.'));
72
+
73
+ // remove the billing agreement
74
+ $agreement = Mage::getModel('sales/billing_agreement')->load($recurringDetailReference, 'reference_id');
75
+
76
+ if ($agreement && $agreement->getAgreementId() > 0 && $agreement->isValid()) {
77
+ $agreement->delete();
78
+ }
79
+
80
+ /*
81
+ * clear the cache for recurring payments so new card will be added
82
+ */
83
+ $recurringType = Mage::getStoreConfig('payment/adyen_abstract/recurringtypes', $storeId);
84
+ $customer = Mage::registry('current_customer');
85
+ $shopperReference = $customer->getId();
86
+
87
+ $cacheKey = $merchantAccount . "|" . $shopperReference . "|" . $recurringType;
88
+ Mage::app()->getCache()->remove($cacheKey);
89
+
90
+ } else {
91
+ $this->_getSession()->addError(Mage::helper('adyen')->__('The card has not been deleted, please contact us.'));
92
+ }
93
+ }
94
+ }
95
+
96
+ $this->_title($this->__('Saved Cards'));
97
+ $this->loadLayout();
98
+ $this->_initLayoutMessages('customer/session');
99
+ $block = $this->getLayout()->getBlock('adyen.savedCards');
100
+ if ($block) {
101
+ $block->setRefererUrl($this->_getRefererUrl());
102
+ }
103
+ $this->renderLayout();
104
+ }
105
+
106
+ /**
107
+ * Retrieve customer session object
108
+ *
109
+ * @return Mage_Customer_Model_Session
110
+ */
111
+ protected function _getSession()
112
+ {
113
+ return Mage::getSingleton('customer/session');
114
+ }
115
+
116
+
117
+ }
app/code/community/Adyen/Payment/data/adyen_setup/data-upgrade-2.4.0-2.4.0.1.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Adyen Payment Module
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/osl-3.0.php
11
+ * If you did not receive a copy of the license and are unable to
12
+ * obtain it through the world-wide-web, please send an email
13
+ * to license@magentocommerce.com so we can send you a copy immediately.
14
+ *
15
+ * @category Adyen
16
+ * @package Adyen_Payment
17
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
18
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
+ */
20
+ /**
21
+ * @category Payment Gateway
22
+ * @package Adyen_Payment
23
+ * @author Adyen
24
+ * @property Adyen B.V
25
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
26
+ */
27
+
28
+
29
+ /*
30
+ * clear the field payment/adyen_hpp/allowspecific because this is not a setting anymore
31
+ */
32
+
33
+ $notificationPath = "payment/adyen_hpp/allowspecific";
34
+ updateConfigValue($notificationPath);
35
+
36
+
37
+ function updateConfigValue($path) {
38
+ try {
39
+ $collection = Mage::getModel('core/config_data')->getCollection()
40
+ ->addFieldToFilter('path', array('like' => $path ));
41
+
42
+ if ($collection->count() > 0) {
43
+ foreach ($collection as $coreConfig) {
44
+ $coreConfig->setValue('0')->save();
45
+ }
46
+ }
47
+ } catch (Exception $e) {
48
+ Mage::log($e->getMessage(), Zend_Log::ERR);
49
+ }
50
+ }
51
+
app/code/community/Adyen/Payment/docs/.DS_Store ADDED
Binary file
app/code/community/Adyen/Payment/docs/httpauthentication/cgihtaccess.patch ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ diff --git a/.htaccess b/.htaccess
2
+ index 6fbbd49..4d93121 100755
3
+ --- a/.htaccess
4
+ +++ b/.htaccess
5
+ @@ -127,7 +127,9 @@ setEnv MAGE_IS_DEVELOPER_MODE true
6
+ ## workaround for HTTP authorization
7
+ ## in CGI environment
8
+
9
+ - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
10
+ +## RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
11
+ + RewriteCond %{HTTP:Authorization} !^$
12
+ + RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
13
+
14
+ ############################################
15
+ ## always send 404 on missing files in these folders
app/code/community/Adyen/Payment/docs/httpauthentication/howto ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ INTRODUCTION (Only if you are using Apache in CGI Mode):
2
+ HTTP AUTHENTICATION on Apache CGI Mode is known not to work out of the Box, use the patch in the directory to get around the problem.
3
+
4
+ WALK AROUND:
5
+ Upload the patch to the <web_root>, followed by the following bash commands
6
+ $ cd <web_root>
7
+ $ patch -p0 < cgihtaccess.patch
app/code/community/Adyen/Payment/docs/readme ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Adyen Payment Module
3
+ *
4
+ * NOTICE OF LICENSE
5
+ *
6
+ * This source file is subject to the Open Software License (OSL 3.0)
7
+ * that is bundled with this package in the file LICENSE.txt.
8
+ * It is also available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magentocommerce.com so we can send you a copy immediately.
13
+ *
14
+ * @category Adyen
15
+ * @package Adyen_Payment
16
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ /**
20
+ * @category Payment Gateway
21
+ * @package Adyen_Payment
22
+ * @author Adyen
23
+ * @property Adyen B.V
24
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
25
+ */
26
+
27
+ USAGE:
28
+ 1.Authorize only:
29
+ Authorize only, if set via the backend it means the plugin will just authorize and nothing more.That means users will have to place invoice manually and adyen backoffice manually
30
+ capture payments.
31
+
32
+ 2.Authorize and Capture:
33
+ This can be set via the backend of the Adyen CC.If set to this option, order will be placed and capture in adyen will be started.
34
+ Simply might means Automatic capture payment.
35
+
36
+
37
+ Log changes
38
+ ##0.0.1
39
+ 1.Adding Direct payment methods Elv && Cc support via
40
+
41
+ ##0.0.2
42
+ 1.Configurations on backend classified to add efficiency
43
+ 2.Landing pages on Adyen System on HPP
44
+ 3.Refund reviewed or added
45
+ 4.Capture && Authorization reviewe
46
+
47
+
48
+ ##0.0.3
49
+ See 0004208
50
+
51
+ Date 8th November 2010
52
+ ##v0.0.4
53
+
54
+ ##Fixes Notification fixes for elv && cc
55
+ ##Fixes Elv exchange of bank code && bank name
56
+ ##Order status for both cc
57
+ ##Added limit on text fields on ELV PM
58
+
59
+ Date 18-02-2011
60
+ Version 007
61
+ ##Fixes the Customer edit error on the backend of magento
62
+ ##Compatibility/tests with 1.4.1.2
63
+
64
+
65
+ Date 22-03-2011
66
+ Version 008
67
+ @todo
68
+ 1.Re-write hpp model
69
+ 2.Re-write controller and fix all notification issues
70
+
71
+
72
+ Date 31-03-2011
73
+ Version 009
74
+ ##Fixes
75
+
76
+
77
+ Date 04-04-2011
78
+ Version 0091
79
+ ##Added mail notifications in order states
80
+ ##Added manual capture support
81
+ ##Added payment method in customer mails && Backend
82
+ ##Fixes the auto_capture
83
+ ##Fixes cgi authentication failures
84
+ ##Fixes bank transfer notifications
85
+ ##Fixes several confussions backend configuration settings
86
+ ##Fixes auto capture, now more magento friendliness
87
+
88
+ Date 05-04-2011
89
+ 0.0.9.2
90
+ ##Added partial refund support from Magento to Adyen psp
91
+ ##Fixes redundant requests in offline refund
92
+ ##Fixes cancelation request from Adyen psp
93
+ ##Removal of complex backend settings, more magento friendly work flow
94
+
95
+
96
+ Date 19-04-2011
97
+ Version 0.0.9.4
98
+ ##Fixes order status
99
+
100
+ Date 02-05-2011
101
+ Version 0.0.9.5
102
+ ##Fixes the translation on the checkout
103
+ ##Fixes the order overview on the psp
104
+
105
+ Date : 04-05-2011
106
+
107
+ Version 0.0.9.6
108
+ ##Adding locale info under docs
109
+
110
+ Version 0.0.9.7
111
+ ##Adding adding nl_NL as standard translation file on locale
112
+
113
+ Date : 12-05-2011
114
+ Version 0.0.9.8
115
+ ##Adding PENDING notifications support, now 'pending_payment' status for bank transfers
116
+ ##Adding ONECLICK payment support on hpp
117
+ ##Modifying the notifications to include Payment method and amphasizing notifications vs posts responses
118
+ ##Adds logs on unsupported posts events
119
+
120
+
121
+ Date : 29-09-2011
122
+ Version 0.0.9.9
123
+ ##Enterprise 1.11.x compatibility
124
+ ##Testing 1.6.x
125
+ ##MC 2.x compatibility
126
+ ##Adding pre-fix support
127
+
128
+ Date:29-09-2011
129
+ Version:0.0.9.9r1
130
+ ##Adding order link to Adyen Backoffice using search
131
+
132
+ Version:0.1.0.0
133
+ ##Adding partial refund from Adyen backoffice
134
+ ##Adding Soap support in the notifications
135
+ ##Adding pre-select payment methods in the HPP.
136
+ ##Adding fallbacks for shopperReference && shopperEmail
137
+
138
+ Version:0.1.0.3
139
+ Date:10-11-2011
140
+ ##Fixes missing some of the missing payment methods
141
+ ##Improves payment methods configurations
142
+ ##Fixes few post data in order comments
143
+ ##Testing compatibility with 1.6.1.0
144
+
145
+ Version:0.1.0.3r1-r2
146
+ ##Addressing hard order state changes
147
+ ##Fixing country settings/config
148
+
149
+ Version:0.1.0.3r3
150
+ ##Fixes creditmemo && refund on the observer.
151
+
152
+ Version:0.1.0.4
153
+ ##Fixes duplicate notifications, now robust mechanism
154
+ ##Adding disable button for checkout options
155
+ ##Removing the add to history deprecated method by magento 1.4.0.0-alpha3
156
+ ##Fixes address street + housenr
157
+ ##Fixes dummy items on the invoiceline
158
+ ##Fixes provincie field on the billing address
159
+ ##Added Openinvoice implimentation on hpp and standalone
160
+
161
+ Version:0.1.0.5
162
+ Date:02-01-2012
163
+ ##Fixes manual/complete payment status notifications processing
164
+ ##Adding pre-authorise configu for manual mode
165
+ ##Fixes broken psp on admin panel
166
+
167
+ Version:0.1.0.6
168
+ Date:05-01-2012
169
+ ##Fixes success flag on the HTTP notification mode.
170
+
171
+ Version:0.1.0.7
172
+ Date:06-01-2012
173
+ ##Fixes the back button from a browser, now continue shopping in this case.
174
+
175
+ Version:0.1.0.8
176
+ Date:11-01-2012
177
+ ##Adding 2 extra status configurations for refund and pre refund authorisation
178
+ ##Detection of refund-received will skip creditmemmo from Adyen.
179
+ ##Adding an exceptional to failed refunds on holdCancel events
180
+
181
+ Version:v0.1.0.8r1
182
+ ##Fixes the broken configuration in handling URL result 'REFUSED' 'CANCELLED' 'ERROR'
183
+ ##Fixes some pdf paths in templates
184
+ 0.1.0.8r2
185
+ ##Code refactoring, introducing adyen/process
186
+ 0.1.0.8r3-r4
187
+ ##Adding an exception to the CANCEL on bankTransfer
188
+
189
+ Date:23-04-2012
190
+ Vesion:0.1.0.9
191
+ ##Adding Admin Sales Adyen Status Column
192
+ ##Adding ideal bank selection in the checkout
193
+ ##Adding a stylesheet for styling
194
+
195
+ Fixes:
196
+ ##Fixed orderData
197
+
198
+ Version:v0.1.0.9r1
199
+ Date 29-05-2012
200
+ #Fixing demoMode configuration
201
+ #Fixing default configuration demoMode
202
+ #Fixing ideal list on file_get_contents, now using curl
203
+ #Compatibility test on enteriprise 1.12.x.x && community 1.7.0.0
204
+
205
+ Version:0.1.0.10v
206
+ Date:13-07-2012
207
+ #Fixing broken grid update in 1.7.x.x
208
+ #Code refactoring in process model
209
+ #Adding better authorisation detection on the return url
210
+ #Improving redirect action by internal record check
211
+
212
+ Version:v0.1.0.11
213
+ Date:13-09-2012
214
+ ##Fixing demo-mode configuration handling
215
+
216
+ Version:0.1.0.11r1
217
+ ##Fixing spelling in the configuration fields
218
+ ##Remove sort order in the default group configuration
219
+
220
+ Version:0.1.0.12
221
+ ##Migrating upgrade user from previous demoMode (namely production), back to their original setting.
app/code/community/Adyen/Payment/docs/test-cards ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ TESTING THE PLUGIN:
2
+ **Use the data on this url https://support.adyen.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=2
3
+ **Sample used in testing:
4
+
5
+ CC:
6
+ 5555444433331111
7
+ MasterCard
8
+ CVC 737
9
+ Date:12/2012
10
+
11
+ VISA
12
+ 4111111111111111 (Consumer)
13
+ 4444333322221111 (Corporate)
14
+
15
+ Elv
16
+ Account Number / Kontonummer: 1234567890
17
+ Bank Location ID/Bankleitzahl: 12345678
18
+
19
+
20
+ MAGENTO CC TO ADYEN:
21
+ magento cc
22
+ [AE] => American Express
23
+ [VI] => Visa
24
+ [MC] => Master Card
25
+ [DI] => Discover
26
+ [DC] => Diners Club
27
+ [SS] => Switch/Solo
28
+ [MO] => Maestro
29
+ [JC] => JCB
30
+ [CB] => CarteBleue
31
+
32
+ adyen cc
33
+ American Express amex
34
+ Bank Transfer (NL) bankTransfer_NL
35
+ DIRECTebanking directEbanking
36
+ Direct Debit (NL) / Eenmalige machtiging directdebit_NL
37
+ Electronic Direct Debit (DE) / Lastschrift (ELV) elv
38
+ iDEAL iDEAL ideal
39
+ Maestro UK Maestro UK maestrouk
40
+ MasterCard MasterCard mc
41
+ Solo Solo solo
42
+ VISA VISA visa
43
+
44
+
45
+ Openinvoice
46
+ 43.27.366.70
47
+ 12.34.567.89
app/code/community/Adyen/Payment/docs/translation/Adyen_Payment.csv ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "You will be redirected to Adyen website when you place an order."
2
+ "%s ( Qty: %s ) (Price: %s %s ) <br />"
3
+ "Adyen %s <br /> authResult: %s <br /> pspReference: %s"
4
+ "Adyen %s <br /> eventCode: %s <br /> pspReference: %s <br /> success: %s"
5
+ "Adyen response(s): %s <br /> pspReference: %s"
6
+ "Authorize Only"
7
+ "Authorize and Capture"
8
+ "Can not connect payment service. Please try again later."
9
+ "Capture Mode set to Manual"
10
+ "Customer was redirected to Adyen."
11
+ "Order can not Hold"
12
+ "Order can not be canceled"
13
+ "Order rows: <br />"
14
+ "Shipment cost: %s %s <br />"
15
+ "System error, please try again later"
16
+ "System error, please try again later: %s"
17
+ "The payment is REFUSED by Adyen."
18
+ "You will be redirected to Adyen in a few seconds."
19
+ "Your payment failed, Please try again later"
20
+ "--Please Select--"
21
+ "Account Number"
22
+ "Account holder name"
23
+ "Account holder: %s"
24
+ "Account number: xxx%s"
25
+ "Bank Location"
26
+ "Bank Location (City)"
27
+ "Bank Location ID"
28
+ "Bank Name"
29
+ "Bank code: %s"
30
+ "Bank name: %s"
31
+ "Card Verification Number"
32
+ "Credit Card Number"
33
+ "Credit Card Number: xxxx-%s"
34
+ "Credit Card Type"
35
+ "Credit Card Type: %s"
36
+ "Expiration Date"
37
+ "Expiration Date: %s/%s"
38
+ "Name on Card"
39
+ "Name on the Card: %s"
40
+ "Payment Method: %s"
41
+ "Submitting payment information..."
42
+ "What is this?","Wat is dit?"
43
+ "Order email sent to shopper."
44
+ "The payment is PENDING by Adyen."
45
+ "The payment is AUTHORIZED by Adyen."
46
+ "There has an error occurred with your Adyen payment."
47
+ "There was an error with your payment."
48
+ "You will be redirected to Adyen website when you place an order."
49
+ "Your payment is cancelled."
50
+ "Your payment is CANCELLED"
51
+ "Your payment is pending."
52
+ "Your payment is refused."
53
+ "Your payment is authorized."
app/code/community/Adyen/Payment/docs/translation/Mage_Checkout.csv ADDED
@@ -0,0 +1 @@
 
1
+ "Your payment failed. Please try again later"
app/code/community/Adyen/Payment/docs/translation/howto ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ USAGE:
2
+ File:Mage_Checkout.csv
3
+ Copy the content of the file Mage_Checkout.csv and paste it into locale/nl_NL/ or other language dir.
4
+
5
+ File name:Adyen_Payment.csv
6
+ Translate this file into your language by separating the strings in the quote and separate them by comma.
7
+
8
+ Example:
9
+ "You will be redirected to Adyen website when you place an order.","U wordt doorverwezen naar Adyen na het plaatsen van de order."
10
+
11
+ Notice:
12
+ The first line has been done for you as an example on how to translate.Available samples ready for use are also available under their country code e.g nl_NL
app/code/community/Adyen/Payment/etc/config.xml CHANGED
@@ -29,7 +29,7 @@
29
  <config>
30
  <modules>
31
  <Adyen_Payment>
32
- <version>2.4.0</version>
33
  </Adyen_Payment>
34
  </modules>
35
  <global>
@@ -288,6 +288,7 @@
288
  <ws_password_live></ws_password_live>
289
  <demoMode>Y</demoMode>
290
  <debug>1</debug>
 
291
  <order_status>pending</order_status>
292
  <payment_authorized>processing</payment_authorized>
293
  <payment_authorized_virtual>complete</payment_authorized_virtual>
@@ -302,7 +303,6 @@
302
  <ignore_refund_notification>0</ignore_refund_notification>
303
  </adyen_abstract>
304
  <adyen_hpp translate="title" module="adyen">
305
- <customer_id backend_model="adminhtml/system_config_backend_encrypted"/>
306
  <currency>EUR</currency>
307
  <model>adyen/adyen_hpp</model>
308
  <group>adyen</group>
@@ -325,6 +325,7 @@
325
  <group>adyen</group>
326
  <title>Adyen iDEAL</title>
327
  <show_ideal_logos>0</show_ideal_logos>
 
328
  <sort_order>35</sort_order>
329
  <allowspecific>1</allowspecific>
330
  <specificcountry>NL</specificcountry>
@@ -370,6 +371,7 @@
370
  <gender_show>0</gender_show>
371
  <dob_show>0</dob_show>
372
  <telephone_show>0</telephone_show>
 
373
  <different_address_disable>0</different_address_disable>
374
  <sort_order>40</sort_order>
375
  </adyen_openinvoice>
@@ -587,14 +589,14 @@
587
  </default>
588
  <crontab>
589
  <jobs>
590
- <adyen>
591
  <schedule>
592
- <cron_expr>*/5 * * * *</cron_expr>
593
  </schedule>
594
  <run>
595
  <model>adyen/cronjob::updateNotificationQueue</model>
596
  </run>
597
- </adyen>
598
  </jobs>
599
  </crontab>
600
  </config>
29
  <config>
30
  <modules>
31
  <Adyen_Payment>
32
+ <version>2.5.0</version>
33
  </Adyen_Payment>
34
  </modules>
35
  <global>
288
  <ws_password_live></ws_password_live>
289
  <demoMode>Y</demoMode>
290
  <debug>1</debug>
291
+ <uncancelorder>1</uncancelorder>
292
  <order_status>pending</order_status>
293
  <payment_authorized>processing</payment_authorized>
294
  <payment_authorized_virtual>complete</payment_authorized_virtual>
303
  <ignore_refund_notification>0</ignore_refund_notification>
304
  </adyen_abstract>
305
  <adyen_hpp translate="title" module="adyen">
 
306
  <currency>EUR</currency>
307
  <model>adyen/adyen_hpp</model>
308
  <group>adyen</group>
325
  <group>adyen</group>
326
  <title>Adyen iDEAL</title>
327
  <show_ideal_logos>0</show_ideal_logos>
328
+ <autoselect_stored_ideal_bank>1</autoselect_stored_ideal_bank>
329
  <sort_order>35</sort_order>
330
  <allowspecific>1</allowspecific>
331
  <specificcountry>NL</specificcountry>
371
  <gender_show>0</gender_show>
372
  <dob_show>0</dob_show>
373
  <telephone_show>0</telephone_show>
374
+ <shoppertype>1</shoppertype>
375
  <different_address_disable>0</different_address_disable>
376
  <sort_order>40</sort_order>
377
  </adyen_openinvoice>
589
  </default>
590
  <crontab>
591
  <jobs>
592
+ <adyen_payment_process_notification_queue>
593
  <schedule>
594
+ <cron_expr>*/1 * * * *</cron_expr>
595
  </schedule>
596
  <run>
597
  <model>adyen/cronjob::updateNotificationQueue</model>
598
  </run>
599
+ </adyen_payment_process_notification_queue>
600
  </jobs>
601
  </crontab>
602
  </config>
app/code/community/Adyen/Payment/etc/system.xml CHANGED
@@ -59,8 +59,9 @@
59
  <li><a target="_blank" href="https://www.adyen.com/home/payment-services/plug-ins/magento#form"><strong>Sign</strong> up for a test account</a></li>
60
  <li>The latest version of the <a target="_blank" href="https://github.com/adyenpayments/magento/releases">Adyen Magento module is also available through GitHub</a>.</li>
61
  </ul>
62
- <p> In the test modus you nee to use test cards. <a target="_blank" href="http://adyen.com/test-card-numbers">Test cards can be found here</a>
63
- <p>You can find this in the Adyen back-office. The Adyen back-office can be found on <a target="_blank" href="https://ca-test.adyen.com">https://ca-test.adyen.com</a> for test or <a target="_blank" href="https://ca-live.adyen.com">https://ca-live.adyen.com</a> for live.</p>
 
64
  <p>If you have any further questions, please visit the <a target="_blank" href="http://www.adyen.com">Adyen.com</a> website or email <a href="mailto:magento@adyen.com">magento@adyen.com</a>.</p>
65
  ]]>
66
  </comment>
@@ -89,7 +90,9 @@
89
  <merchantAccount translate="label comment tooltip">
90
  <label>Merchant Account</label>
91
  <tooltip><![CDATA[The merchant account identifier you want to process the (transaction) request with. Find this at the top of the screen in the Adyen Customer Area, where you will see [YourCompanyAccount] > [YourMerchantAccount] . Please note that the merchant account is different from the company account; a company account can have one or more merchant accounts.]]></tooltip>
 
92
  <frontend_type>text</frontend_type>
 
93
  <config_path>payment/adyen_abstract/merchantAccount</config_path>
94
  <sort_order>10</sort_order>
95
  <show_in_default>1</show_in_default>
@@ -158,7 +161,7 @@
158
  <sort_order>90</sort_order>
159
  <show_in_default>1</show_in_default>
160
  <show_in_website>1</show_in_website>
161
- <show_in_store></show_in_store>
162
  </ws_test_button>
163
  <ws_username_live translate="label">
164
  <label>Live: Web Service User Name</label>
@@ -190,7 +193,7 @@
190
  <frontend_model>adyen/adminhtml_system_config_testWebserverConfiguration</frontend_model>
191
  <sort_order>120</sort_order>
192
  <show_in_default>1</show_in_default>
193
- <show_in_website>1</show_in_website>
194
  </ws_live_button>
195
  <capture_mode translate="label">
196
  <label>Capture Delay</label>
@@ -305,7 +308,7 @@
305
  </payment_authorized_virtual>
306
  <refund_authorized translate="label">
307
  <label>Order status: Adyen Refunded</label>
308
- <tooltip>Status given to order after a (partial) refund has been made on the order. This is triggered when the REFUND notification is received</tooltip>
309
  <frontend_type>select</frontend_type>
310
  <config_path>payment/adyen_abstract/refund_authorized</config_path>
311
  <source_model>adyen/source_status_refund</source_model>
@@ -314,6 +317,17 @@
314
  <show_in_website>1</show_in_website>
315
  <show_in_store>0</show_in_store>
316
  </refund_authorized>
 
 
 
 
 
 
 
 
 
 
 
317
  <pending_status>
318
  <label>Order status: pending Bank Transfer/SEPA orders</label>
319
  <tooltip>By default, Adyen does not inform your Magento store about pending payments. If you want these notifications to be received, Go to Adyen Customer Area => Server Communication and add BankTransfer Pending Notification and Direct-Debit Pending Notification.</tooltip>
@@ -358,6 +372,17 @@
358
  <show_in_website>1</show_in_website>
359
  <show_in_store>0</show_in_store>
360
  </capture_on_shipment>
 
 
 
 
 
 
 
 
 
 
 
361
  <send_invoice_update_mail translate="label">
362
  <label>Invoice email (deprecated)</label>
363
  <frontend_type>select</frontend_type>
@@ -412,17 +437,6 @@
412
  <show_in_website>1</show_in_website>
413
  <show_in_store>1</show_in_store>
414
  </ignore_refund_notification>
415
- <update_notification_cronjob>
416
- <label>Update notification queue by cronjob (every 5 minutes)</label>
417
- <tooltip>If you are using API methods(CC, SEPA, ELV or Boleto) and your Magento order processing is slow, it could be that the notification is faster then Magento saves the order. The notification will then be saved in a queue. This is processed on default when next notification is received. If you want to update the notification queue every 5 minutes activate this and make sure cronjob of Magento is called by your web server</tooltip>
418
- <frontend_type>select</frontend_type>
419
- <source_model>adminhtml/system_config_source_yesno</source_model>
420
- <config_path>payment/adyen_abstract/update_notification_cronjob</config_path>
421
- <sort_order>240</sort_order>
422
- <show_in_default>1</show_in_default>
423
- <show_in_website>0</show_in_website>
424
- <show_in_store>0</show_in_store>
425
- </update_notification_cronjob>
426
  <multiple_merchants translate="label">
427
  <label>Allow multiple merchants</label>
428
  <tooltip><![CDATA[Allow notifications sent from other Adyen merchant accounts. Keep in mind that the Notification user name and password should be the same for all the merchant accounts]]></tooltip>
@@ -450,13 +464,14 @@
450
  The shopper is present for the subsequent transaction, for cards the security code (CVC/CVV) is required.
451
  </p>
452
  <p>
453
- <strong>RECURRING</strong>: Payment details are stored for future use. For cards, the security
454
  code (CVC/CVV) is not required for subsequent payments.
455
  </p>
456
  <p>
457
- <strong>ONECLICK, RECURRING</strong>: Payment details are stored for future use. This allows the use of
458
  the stored payment details regardless of whether the shopper is on your site or not.
459
  </p>
 
460
  ]]>
461
  </comment>
462
  <fields>
@@ -998,7 +1013,7 @@
998
  </fields>
999
  </adyen_hpp>
1000
  <adyen_ideal translate="label" module="adyen">
1001
- <label>HPP iDEAL</label>
1002
  <frontend_type>text</frontend_type>
1003
  <sort_order>340</sort_order>
1004
  <show_in_default>1</show_in_default>
@@ -1007,23 +1022,6 @@
1007
  <frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
1008
  <activity_path>payment/adyen_ideal/active</activity_path>
1009
  <fields>
1010
- <active translate="label">
1011
- <label>Enabled</label>
1012
- <frontend_type>select</frontend_type>
1013
- <source_model>adminhtml/system_config_source_yesno</source_model>
1014
- <sort_order>10</sort_order>
1015
- <show_in_default>1</show_in_default>
1016
- <show_in_website>1</show_in_website>
1017
- <show_in_store>1</show_in_store>
1018
- </active>
1019
- <title translate="label">
1020
- <label>Title</label>
1021
- <frontend_type>text</frontend_type>
1022
- <sort_order>20</sort_order>
1023
- <show_in_default>1</show_in_default>
1024
- <show_in_website>1</show_in_website>
1025
- <show_in_store>1</show_in_store>
1026
- </title>
1027
  <show_ideal_logos>
1028
  <label>Show iDEAL bank logos</label>
1029
  <tooltip>Show iDEAL bank logos (radio buttons) instead of in a drop-down list.</tooltip>
@@ -1043,39 +1041,21 @@
1043
  <show_in_store>1</show_in_store>
1044
  <validate>validate-number</validate>
1045
  </fee>
1046
- <sort_order translate="label">
1047
- <label>Sort Order</label>
1048
- <tooltip>Set the sequence number of this payment method in the checkout. Payment methods with a higher sort order number will be displayed lower in the list.</tooltip>
1049
- <frontend_type>text</frontend_type>
1050
- <sort_order>40</sort_order>
1051
- <show_in_default>1</show_in_default>
1052
- <show_in_website>1</show_in_website>
1053
- <show_in_store>1</show_in_store>
1054
- </sort_order>
1055
- <allowspecific translate="label">
1056
- <label>Payment from applicable countries</label>
1057
- <frontend_type>allowspecific</frontend_type>
1058
- <sort_order>49</sort_order>
1059
- <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1060
- <show_in_default>1</show_in_default>
1061
- <show_in_website>1</show_in_website>
1062
- <show_in_store>1</show_in_store>
1063
- </allowspecific>
1064
- <specificcountry translate="label">
1065
- <label>Payment from specific countries</label>
1066
- <frontend_type>multiselect</frontend_type>
1067
- <sort_order>50</sort_order>
1068
- <source_model>adminhtml/system_config_source_country</source_model>
1069
  <show_in_default>1</show_in_default>
1070
  <show_in_website>1</show_in_website>
1071
  <show_in_store>1</show_in_store>
1072
- <depends><allowspecific>1</allowspecific></depends>
1073
- </specificcountry>
1074
  </fields>
1075
  </adyen_ideal>
1076
  <!-- @Openinvoice only -->
1077
  <adyen_openinvoice translate="label" module="adyen">
1078
- <label>HPP OpenInvoice</label>
1079
  <frontend_type>text</frontend_type>
1080
  <sort_order>350</sort_order>
1081
  <show_in_default>1</show_in_default>
@@ -1146,10 +1126,19 @@
1146
  <show_in_website>1</show_in_website>
1147
  <show_in_store>1</show_in_store>
1148
  </telephone_show>
 
 
 
 
 
 
 
 
 
1149
  <fee translate="label">
1150
  <label>Fee</label>
1151
  <frontend_type>text</frontend_type>
1152
- <sort_order>38</sort_order>
1153
  <show_in_default>1</show_in_default>
1154
  <show_in_website>1</show_in_website>
1155
  <show_in_store>1</show_in_store>
@@ -1160,7 +1149,7 @@
1160
  <tooltip>Klarna will probably reject payments which have differing billing and delivery addresses. Setting this to 'Yes' will disable this payment method when that is the case.</tooltip>
1161
  <frontend_type>select</frontend_type>
1162
  <source_model>adminhtml/system_config_source_yesno</source_model>
1163
- <sort_order>39</sort_order>
1164
  <show_in_default>1</show_in_default>
1165
  <show_in_website>1</show_in_website>
1166
  <show_in_store>1</show_in_store>
@@ -1175,6 +1164,16 @@
1175
  <show_in_website>1</show_in_website>
1176
  <show_in_store>1</show_in_store>
1177
  </failed_attempt_disable>
 
 
 
 
 
 
 
 
 
 
1178
  <allowspecific translate="label">
1179
  <label>Payment from applicable countries</label>
1180
  <frontend_type>allowspecific</frontend_type>
@@ -1497,7 +1496,6 @@
1497
  <show_in_default>1</show_in_default>
1498
  <show_in_website>1</show_in_website>
1499
  <show_in_store>1</show_in_store>
1500
- <depends><express_checkout>1</express_checkout></depends>
1501
  </express_checkout_redirect_connect>
1502
  <express_checkout_kiosk_mode>
1503
  <label>Kiosk mode</label>
59
  <li><a target="_blank" href="https://www.adyen.com/home/payment-services/plug-ins/magento#form"><strong>Sign</strong> up for a test account</a></li>
60
  <li>The latest version of the <a target="_blank" href="https://github.com/adyenpayments/magento/releases">Adyen Magento module is also available through GitHub</a>.</li>
61
  </ul>
62
+ <p>In the test modus you need to use test cards. <a target="_blank" href="http://adyen.com/test-card-numbers">Test cards can be found here</a>
63
+ <p>In the test environment you can test with refused cards, for more information <a target="_blank" href="https://docs.adyen.com/display/TD/Error+code+testing">click here</a></p>
64
+ <p>You can find this in the Adyen backoffice. The Adyen backoffice can be found on <a target="_blank" href="https://ca-test.adyen.com">https://ca-test.adyen.com</a> for test or <a target="_blank" href="https://ca-live.adyen.com">https://ca-live.adyen.com</a> for live.</p>
65
  <p>If you have any further questions, please visit the <a target="_blank" href="http://www.adyen.com">Adyen.com</a> website or email <a href="mailto:magento@adyen.com">magento@adyen.com</a>.</p>
66
  ]]>
67
  </comment>
90
  <merchantAccount translate="label comment tooltip">
91
  <label>Merchant Account</label>
92
  <tooltip><![CDATA[The merchant account identifier you want to process the (transaction) request with. Find this at the top of the screen in the Adyen Customer Area, where you will see [YourCompanyAccount] > [YourMerchantAccount] . Please note that the merchant account is different from the company account; a company account can have one or more merchant accounts.]]></tooltip>
93
+ <comment><![CDATA[<a target="_blank" href="https://docs.adyen.com/display/TD/Prepare+the+settings+in+the+Adyen+Customer+Area">Click here for explanation.</a>]]></comment>
94
  <frontend_type>text</frontend_type>
95
+ <backend_model>adyen/system_config_backend_trim</backend_model>
96
  <config_path>payment/adyen_abstract/merchantAccount</config_path>
97
  <sort_order>10</sort_order>
98
  <show_in_default>1</show_in_default>
161
  <sort_order>90</sort_order>
162
  <show_in_default>1</show_in_default>
163
  <show_in_website>1</show_in_website>
164
+ <show_in_store>0</show_in_store>
165
  </ws_test_button>
166
  <ws_username_live translate="label">
167
  <label>Live: Web Service User Name</label>
193
  <frontend_model>adyen/adminhtml_system_config_testWebserverConfiguration</frontend_model>
194
  <sort_order>120</sort_order>
195
  <show_in_default>1</show_in_default>
196
+ <show_in_website>0</show_in_website>
197
  </ws_live_button>
198
  <capture_mode translate="label">
199
  <label>Capture Delay</label>
308
  </payment_authorized_virtual>
309
  <refund_authorized translate="label">
310
  <label>Order status: Adyen Refunded</label>
311
+ <tooltip>Status given to order after a refund has been made on the order. This is triggered when the REFUND notification is received</tooltip>
312
  <frontend_type>select</frontend_type>
313
  <config_path>payment/adyen_abstract/refund_authorized</config_path>
314
  <source_model>adyen/source_status_refund</source_model>
317
  <show_in_website>1</show_in_website>
318
  <show_in_store>0</show_in_store>
319
  </refund_authorized>
320
+ <refund_partial_authorized translate="label">
321
+ <label>Order status: Adyen partial Refunded</label>
322
+ <tooltip>Status given to order after a partial refund has been made on the order. This is triggered when the REFUND notification is received. We advise to don't set this status and let Magento decide the status</tooltip>
323
+ <frontend_type>select</frontend_type>
324
+ <config_path>payment/adyen_abstract/refund_partial_authorized</config_path>
325
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
326
+ <sort_order>41</sort_order>
327
+ <show_in_default>1</show_in_default>
328
+ <show_in_website>1</show_in_website>
329
+ <show_in_store>0</show_in_store>
330
+ </refund_partial_authorized>
331
  <pending_status>
332
  <label>Order status: pending Bank Transfer/SEPA orders</label>
333
  <tooltip>By default, Adyen does not inform your Magento store about pending payments. If you want these notifications to be received, Go to Adyen Customer Area => Server Communication and add BankTransfer Pending Notification and Direct-Debit Pending Notification.</tooltip>
372
  <show_in_website>1</show_in_website>
373
  <show_in_store>0</show_in_store>
374
  </capture_on_shipment>
375
+ <uncancelorder translate="label">
376
+ <label>Enable Uncancel Order</label>
377
+ <tooltip>If an order is cancelled for some reason but it received a notification that the payment is authorised this will automatically uncancel the order</tooltip>
378
+ <frontend_type>select</frontend_type>
379
+ <config_path>payment/adyen_abstract/uncancelorder</config_path>
380
+ <source_model>adminhtml/system_config_source_yesno</source_model>
381
+ <sort_order>90</sort_order>
382
+ <show_in_default>1</show_in_default>
383
+ <show_in_website>0</show_in_website>
384
+ <show_in_store>0</show_in_store>
385
+ </uncancelorder>
386
  <send_invoice_update_mail translate="label">
387
  <label>Invoice email (deprecated)</label>
388
  <frontend_type>select</frontend_type>
437
  <show_in_website>1</show_in_website>
438
  <show_in_store>1</show_in_store>
439
  </ignore_refund_notification>
 
 
 
 
 
 
 
 
 
 
 
440
  <multiple_merchants translate="label">
441
  <label>Allow multiple merchants</label>
442
  <tooltip><![CDATA[Allow notifications sent from other Adyen merchant accounts. Keep in mind that the Notification user name and password should be the same for all the merchant accounts]]></tooltip>
464
  The shopper is present for the subsequent transaction, for cards the security code (CVC/CVV) is required.
465
  </p>
466
  <p>
467
+ <strong>RECURRING*</strong>: Payment details are stored for future use. For cards, the security
468
  code (CVC/CVV) is not required for subsequent payments.
469
  </p>
470
  <p>
471
+ <strong>ONECLICK, RECURRING*</strong>: Payment details are stored for future use. This allows the use of
472
  the stored payment details regardless of whether the shopper is on your site or not.
473
  </p>
474
+ <p>* keep in mind you need the recurring permission enabled. You can contact magento@adyen.com to enable this for your account.
475
  ]]>
476
  </comment>
477
  <fields>
1013
  </fields>
1014
  </adyen_hpp>
1015
  <adyen_ideal translate="label" module="adyen">
1016
+ <label>HPP iDEAL - Requires Adyen HPP</label>
1017
  <frontend_type>text</frontend_type>
1018
  <sort_order>340</sort_order>
1019
  <show_in_default>1</show_in_default>
1022
  <frontend_model>adyen/adminhtml_system_config_fieldset_method</frontend_model>
1023
  <activity_path>payment/adyen_ideal/active</activity_path>
1024
  <fields>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1025
  <show_ideal_logos>
1026
  <label>Show iDEAL bank logos</label>
1027
  <tooltip>Show iDEAL bank logos (radio buttons) instead of in a drop-down list.</tooltip>
1041
  <show_in_store>1</show_in_store>
1042
  <validate>validate-number</validate>
1043
  </fee>
1044
+ <autoselect_stored_ideal_bank>
1045
+ <label>Auto select Ideal bank</label>
1046
+ <tooltip>If you have problems that the wrong ideal bank is selected turn this option off. This is a common problem in the onestepcheckout module</tooltip>
1047
+ <frontend_type>select</frontend_type>
1048
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1049
+ <sort_order>39</sort_order>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1050
  <show_in_default>1</show_in_default>
1051
  <show_in_website>1</show_in_website>
1052
  <show_in_store>1</show_in_store>
1053
+ </autoselect_stored_ideal_bank>
 
1054
  </fields>
1055
  </adyen_ideal>
1056
  <!-- @Openinvoice only -->
1057
  <adyen_openinvoice translate="label" module="adyen">
1058
+ <label>HPP OpenInvoice - Requires Adyen HPP</label>
1059
  <frontend_type>text</frontend_type>
1060
  <sort_order>350</sort_order>
1061
  <show_in_default>1</show_in_default>
1126
  <show_in_website>1</show_in_website>
1127
  <show_in_store>1</show_in_store>
1128
  </telephone_show>
1129
+ <shoppertype>
1130
+ <label>Allow Shopper information to be changed on HPP</label>
1131
+ <frontend_type>select</frontend_type>
1132
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1133
+ <sort_order>38</sort_order>
1134
+ <show_in_default>1</show_in_default>
1135
+ <show_in_website>1</show_in_website>
1136
+ <show_in_store>1</show_in_store>
1137
+ </shoppertype>
1138
  <fee translate="label">
1139
  <label>Fee</label>
1140
  <frontend_type>text</frontend_type>
1141
+ <sort_order>39</sort_order>
1142
  <show_in_default>1</show_in_default>
1143
  <show_in_website>1</show_in_website>
1144
  <show_in_store>1</show_in_store>
1149
  <tooltip>Klarna will probably reject payments which have differing billing and delivery addresses. Setting this to 'Yes' will disable this payment method when that is the case.</tooltip>
1150
  <frontend_type>select</frontend_type>
1151
  <source_model>adminhtml/system_config_source_yesno</source_model>
1152
+ <sort_order>40</sort_order>
1153
  <show_in_default>1</show_in_default>
1154
  <show_in_website>1</show_in_website>
1155
  <show_in_store>1</show_in_store>
1164
  <show_in_website>1</show_in_website>
1165
  <show_in_store>1</show_in_store>
1166
  </failed_attempt_disable>
1167
+ <ignore_second_address_field>
1168
+ <label>Ignore the second address line field</label>
1169
+ <tooltip>If you do not want to send the second line address field to Klarna set this setting to 'Yes'</tooltip>
1170
+ <frontend_type>select</frontend_type>
1171
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1172
+ <sort_order>47</sort_order>
1173
+ <show_in_default>1</show_in_default>
1174
+ <show_in_website>1</show_in_website>
1175
+ <show_in_store>1</show_in_store>
1176
+ </ignore_second_address_field>
1177
  <allowspecific translate="label">
1178
  <label>Payment from applicable countries</label>
1179
  <frontend_type>allowspecific</frontend_type>
1496
  <show_in_default>1</show_in_default>
1497
  <show_in_website>1</show_in_website>
1498
  <show_in_store>1</show_in_store>
 
1499
  </express_checkout_redirect_connect>
1500
  <express_checkout_kiosk_mode>
1501
  <label>Kiosk mode</label>
app/code/community/Adyen/Payment/sql/adyen_setup/mysql4-upgrade-2.3.1.1-2.3.1.2.php CHANGED
@@ -60,11 +60,11 @@ $oAttribute->setData('sort_order', $attributeSortOrder);
60
  $oAttribute->save();
61
 
62
 
63
- $connection->addColumn($this->getTable('sales/billing_agreement'), 'agreement_data', [
64
  'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
65
  'nullable' => true,
66
  'comment' => 'Agreement Data'
67
- ]);
68
 
69
 
70
  $installer->endSetup();
60
  $oAttribute->save();
61
 
62
 
63
+ $connection->addColumn($this->getTable('sales/billing_agreement'), 'agreement_data', array(
64
  'type' => Varien_Db_Ddl_Table::TYPE_TEXT,
65
  'nullable' => true,
66
  'comment' => 'Agreement Data'
67
+ ));
68
 
69
 
70
  $installer->endSetup();
app/design/adminhtml/default/default/layout/adyen.xml CHANGED
@@ -35,6 +35,7 @@
35
  <arguments module="ordergrid" translate="header">
36
  <header>Adyen Status</header>
37
  <index>adyen_event_code</index>
 
38
  <width>50px</width>
39
  <type>options</type>
40
  <filter>adyen/adminhtml_sales_order_filter_adyen</filter>
@@ -73,4 +74,4 @@
73
  </reference>
74
  </adminhtml_sales_order_create_index>
75
 
76
- </layout>
35
  <arguments module="ordergrid" translate="header">
36
  <header>Adyen Status</header>
37
  <index>adyen_event_code</index>
38
+ <filter_index>main_table.adyen_event_code</filter_index>
39
  <width>50px</width>
40
  <type>options</type>
41
  <filter>adyen/adminhtml_sales_order_filter_adyen</filter>
74
  </reference>
75
  </adminhtml_sales_order_create_index>
76
 
77
+ </layout>
app/design/adminhtml/default/default/template/adyen/form/sepa.phtml CHANGED
@@ -66,12 +66,26 @@ $_code=$this->getMethodCode();
66
 
67
  <li>
68
  <div class="input-box">
69
- <input class="required-entry" type="checkbox" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
70
- <label for="<?php echo $_code ?>_accept_sepa"><?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?></label>
 
 
71
  </div>
72
  </li>
73
  </ul>
74
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  <div>
76
  <span id="ipayment-sepa-please-wait" style="display:none;" class="opc-please-wait">
77
  <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
66
 
67
  <li>
68
  <div class="input-box">
69
+ <label for="<?php echo $_code ?>_accept_sepa">
70
+ <input class="required-entry" type="checkbox" value="1" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
71
+ <?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?>
72
+ </label>
73
  </div>
74
  </li>
75
  </ul>
76
 
77
+ <script type="text/javascript">
78
+ var $fields = $('payment_form_<?=$_code;?>').select('input[type=text]', 'select', 'textarea');
79
+
80
+ $fields.each(function(field) {
81
+ field.value = localStorage.getItem(field.id);
82
+
83
+ field.observe('change', function() {
84
+ localStorage.setItem(field.id, field.value);
85
+ });
86
+ });
87
+ </script>
88
+
89
  <div>
90
  <span id="ipayment-sepa-please-wait" style="display:none;" class="opc-please-wait">
91
  <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" class="v-middle" alt=""/> &nbsp; <?php echo $this->__('Submitting payment information...') ?> &nbsp;
app/design/adminhtml/default/default/template/adyen/info/hpp.phtml CHANGED
@@ -50,6 +50,9 @@
50
  <?php echo $this->__('Bank: %s', $this->htmlEscape($label)) ?><br/>
51
  <?php endif; ?>
52
  <?php endif; ?>
 
 
 
53
  <?php if($_info->getAdyenKlarnaNumber() != null && $_info->getAdyenKlarnaNumber() != ""): ?>
54
  <?php echo Mage::helper('adyen')->__('Klarna reservation number: %s', $this->htmlEscape($_info->getAdyenKlarnaNumber())) ?> <br/>
55
  <?php endif; ?>
50
  <?php echo $this->__('Bank: %s', $this->htmlEscape($label)) ?><br/>
51
  <?php endif; ?>
52
  <?php endif; ?>
53
+ <?php if($this->htmlEscape($this->getInfo()->getAdyenTotalFraudScore()) != ""): ?>
54
+ <?php echo Mage::helper('adyen')->__('Total fraud score: %s', $this->htmlEscape($this->getInfo()->getAdyenTotalFraudScore())) ?><br/>
55
+ <?php endif; ?>
56
  <?php if($_info->getAdyenKlarnaNumber() != null && $_info->getAdyenKlarnaNumber() != ""): ?>
57
  <?php echo Mage::helper('adyen')->__('Klarna reservation number: %s', $this->htmlEscape($_info->getAdyenKlarnaNumber())) ?> <br/>
58
  <?php endif; ?>
app/design/frontend/base/default/template/adyen/form/ideal.phtml CHANGED
@@ -31,29 +31,39 @@
31
  <?php $_code = $this->getMethodCode() ?>
32
 
33
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
34
- <li>
35
- <label for="payment[adyen_ideal_type]">
36
- <?php echo $this->__('Choose Your Bank') ?>
37
- </label>
38
  <?php if($this->getShowIdealLogos()): ?>
39
- <?php foreach ($this->getIssuers() as $_issueId => $_issuerData): ?>
40
- <label class="adyen-ideal-image-label">
41
- <input type="radio" id="adyen_ideal_type_<?php echo $_issueId ?>"
42
- name="payment[adyen_ideal_type]" value="<?php echo $_issueId ?>"
43
- <?php if (isset($_issuerData['selected'])): ?>checked<?php endif; ?> />
44
- <img src="<?php echo $this->getIssuerImageUrl($_issuerData); ?>"
45
- alt="<?php echo $_issuerData['label'] ?>" />
46
  </label>
 
 
 
 
 
 
 
 
 
 
 
47
  <?php endforeach; ?>
48
  <?php else:?>
49
- <select class="adyen_select_ideal" name="payment[adyen_ideal_type]">
50
- <option value=""><?php echo $this->__('Choose Your Bank');?></option>
51
- <?php foreach ($this->getIssuers() as $_issuerId => $_issuerData): ?>
52
- <option value="<?php echo $_issuerId ?>" <?php if (isset($_issuerData['selected'])): ?>selected<?php endif; ?>>
53
- <?php echo $_issuerData['label']; ?>
54
- </option>
55
- <?php endforeach;?>
56
- </select>
 
 
 
 
 
57
  <?php endif; ?>
58
- </li>
59
  </ul>
31
  <?php $_code = $this->getMethodCode() ?>
32
 
33
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
34
+
35
+
36
+
 
37
  <?php if($this->getShowIdealLogos()): ?>
38
+ <li>
39
+ <label for="payment[adyen_ideal_type]">
40
+ <?php echo $this->__('Choose Your Bank') ?>
 
 
 
 
41
  </label>
42
+ </li>
43
+ <?php foreach ($this->getIssuers() as $_issueId => $_issuerData): ?>
44
+ <li>
45
+ <label class="adyen-ideal-image-label">
46
+ <input type="radio" id="adyen_ideal_type_<?php echo $_issueId ?>"
47
+ name="payment[adyen_ideal_type]" value="<?php echo $_issueId ?>"
48
+ <?php if (isset($_issuerData['selected'])): ?>checked<?php endif; ?> />
49
+ <img src="<?php echo $this->getIssuerImageUrl($_issuerData); ?>"
50
+ alt="<?php echo $_issuerData['label'] ?>" />
51
+ </label>
52
+ </li>
53
  <?php endforeach; ?>
54
  <?php else:?>
55
+ <li>
56
+ <label for="payment[adyen_ideal_type]">
57
+ <?php echo $this->__('Choose Your Bank') ?>
58
+ </label>
59
+ <select class="adyen_select_ideal" name="payment[adyen_ideal_type]">
60
+ <option value=""><?php echo $this->__('Choose Your Bank');?></option>
61
+ <?php foreach ($this->getIssuers() as $_issuerId => $_issuerData): ?>
62
+ <option value="<?php echo $_issuerId ?>" <?php if (isset($_issuerData['selected'])): ?>selected<?php endif; ?>>
63
+ <?php echo $_issuerData['label']; ?>
64
+ </option>
65
+ <?php endforeach;?>
66
+ </select>
67
+ </li>
68
  <?php endif; ?>
 
69
  </ul>
app/design/frontend/base/default/template/adyen/form/sepa.phtml CHANGED
@@ -67,7 +67,7 @@ $_code = $this->getMethodCode();
67
  <li id="no-agreement">
68
  <div class="input-box">
69
  <div class="v-fix">
70
- <input class="required-entry" type="checkbox" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
71
  <label for="<?php echo $_code ?>_accept_sepa"><?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?></label>
72
  </div>
73
  </div>
67
  <li id="no-agreement">
68
  <div class="input-box">
69
  <div class="v-fix">
70
+ <input class="required-entry" value="1" type="checkbox" name="payment[accept_sepa]" id="<?php echo $_code ?>_accept_sepa" />
71
  <label for="<?php echo $_code ?>_accept_sepa"><?php echo $this->__('I agree that the above amount will be debited from my bank account.') ?></label>
72
  </div>
73
  </div>
app/design/frontend/base/default/template/adyen/info/cc.phtml CHANGED
@@ -28,10 +28,7 @@
28
  <?php
29
  if ($_info = $this->getInfo()) {
30
  if ($this->isCseEnabled()) {
31
- echo "Adyen Credit Card";
32
- if($this->hasInstallments()):
33
- echo "<br />" . $this->__('Installments: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('number_of_installments')))."<br/>";
34
- endif;
35
  }
36
  else {
37
  echo $this->__('Name on the Card: %s', $this->htmlEscape($_info->getCcOwner()))."<br/>";
@@ -39,5 +36,9 @@ if ($_info = $this->getInfo()) {
39
  echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($_info->getCcLast4()))."<br/>";
40
  echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($_info->getCcExpYear()));
41
  }
 
 
 
 
42
  }
43
  ?>
28
  <?php
29
  if ($_info = $this->getInfo()) {
30
  if ($this->isCseEnabled()) {
31
+ echo $this->htmlEscape($this->getMethod()->getTitle());
 
 
 
32
  }
33
  else {
34
  echo $this->__('Name on the Card: %s', $this->htmlEscape($_info->getCcOwner()))."<br/>";
36
  echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($_info->getCcLast4()))."<br/>";
37
  echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($_info->getCcExpYear()));
38
  }
39
+
40
+ if($this->hasInstallments()):
41
+ echo "<br />" . $this->__('Installments: %s', $this->htmlEscape($this->getInfo()->getAdditionalInformation('number_of_installments')))."<br/>";
42
+ endif;
43
  }
44
  ?>
app/design/frontend/base/default/template/adyen/info/pay_by_mail.phtml CHANGED
@@ -27,5 +27,5 @@
27
  ?>
28
  <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
  <?php if(!$this->inCheckout()):?>
30
- <a target="_blank" href="<?php echo $this->getMethod()->getInfoInstance()->getAdditionalInformation('payment_url'); ?>">Click here to pay for your purchase</a>
31
  <?php endif; ?>
27
  ?>
28
  <?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?><br/>
29
  <?php if(!$this->inCheckout()):?>
30
+ <a target="_blank" href="<?php echo $this->getMethod()->getInfoInstance()->getAdditionalInformation('payment_url'); ?>"><?php echo $this->__("Click here to pay for your purchase"); ?></a>
31
  <?php endif; ?>
app/design/frontend/base/default/template/adyen/saved_cards.phtml ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Adyen Payment Module
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category Adyen
17
+ * @package Adyen_Payment
18
+ * @copyright Copyright (c) 2011 Adyen (http://www.adyen.com)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ /**
22
+ * @category Payment Gateway
23
+ * @package Adyen_Payment
24
+ * @author Adyen
25
+ * @property Adyen B.V
26
+ * @copyright Copyright (c) 2014 Adyen BV (http://www.adyen.com)
27
+ */
28
+ ?>
29
+ <?php /* @var $this Adyen_Payment_Block_SavedCards */ ?>
30
+ <div class="page-title">
31
+ <h1><?php echo $this->__('My Saved cards') ?></h1>
32
+ </div>
33
+
34
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
35
+
36
+ <div class="saved-cards">
37
+
38
+ <div id="oneclick-cse" class="">
39
+
40
+ <?php $_listRecurringDetails = $this->getlistRecurringDetails(); ?>
41
+
42
+ <?php if(!empty($_listRecurringDetails)): ?>
43
+
44
+ <ul id="oneclick_payment_form" class="recurring-creditcards">
45
+ <?php
46
+ $count = 0;
47
+ foreach($_listRecurringDetails as $key => $value):?>
48
+ <li>
49
+
50
+ <form method="post" action="<?php echo $this->getUrl("adyen/savedCard/", array('_secure'=>true)); ?>">
51
+
52
+ <input type="hidden" name="recurringDetailReference" value="<?php echo $value["recurringDetailReference"] ?>" />
53
+
54
+
55
+ <div class="creditcard-block">
56
+ <?php
57
+ $_bankFile = $value["variant"];
58
+ $_filename = Mage::getDesign()->getFilename("images/adyen/{$_bankFile}.png", array('_type' => 'skin'));
59
+ $imageUrl = file_exists($_filename)
60
+ ? $this->getSkinUrl("images/adyen/{$_bankFile}.png")
61
+ : $this->getSkinUrl("images/adyen/img_trans.gif");
62
+
63
+ ?>
64
+
65
+ <img src="<?php echo $imageUrl; ?>" alt="<?php echo $_bankFile ?>" label="<?php echo $_bankFile ?>" />
66
+
67
+
68
+ <?php if(isset($value["card_number"]) && isset($value["card_expiryMonth"]) && isset($value["card_expiryYear"]) ): ?>
69
+ <div class="columns three a">
70
+ <label><?php echo $this->__('Credit Card Number') ?></label>
71
+ <span>****</span> <?php echo $value["card_number"]; ?>
72
+ </div>
73
+
74
+ <div class="columns three b">
75
+ <label><?php echo $this->__('Expiration Date') ?><a href="#" id="update-expiration-date-<?php echo $key; ?>" class="update-expiration-date" style="display:none;"><?php echo $this->__('(update)') ?></a></label>
76
+
77
+ <div id="static-card-expiry-<?php echo $key; ?>" class="static-card-expiry">
78
+ <?php echo $value["card_expiryMonth"] . " /" . $value["card_expiryYear"]; ?>
79
+ </div>
80
+
81
+ </div>
82
+
83
+ <div style="clear:both;"></div>
84
+
85
+ <div class="creditcard-holder-name"><?php echo $value["card_holderName"]; ?></div>
86
+
87
+ <?php elseif($value["variant"] == "elv"): ?>
88
+
89
+ <div class="columns three a">
90
+ <label><?php echo $this->__('Account Number') ?></label>
91
+ <span><?php echo $value["elv_bankAccountNumber"]; ?></span>
92
+ </div>
93
+
94
+ <div class="columns three b">
95
+ <label><?php echo $this->__('Bank Name') ?></label>
96
+ <span><?php echo $value["elv_bankName"]; ?></span>
97
+ </div>
98
+
99
+ <div style="clear:both;"></div>
100
+
101
+ <div class="creditcard-holder-name"><?php echo $value["elv_bankName"]; ?></div>
102
+
103
+ <?php elseif($value["variant"] == "openinvoice"): ?>
104
+
105
+ <div class="columns three a">
106
+ <label><?php echo $this->__('Account Number') ?></label>
107
+ <span><?php echo $value["bank_bankAccountNumber"]; ?></span>
108
+ </div>
109
+
110
+ <div class="columns three b">
111
+ <label><?php echo $this->__('Country') ?></label>
112
+ <span><?php echo $value["bank_countryCode"]; ?></span>
113
+ </div>
114
+
115
+ <div style="clear:both;"></div>
116
+
117
+ <div class="creditcard-holder-name"><?php echo $value["bank_ownerName"]; ?></div>
118
+
119
+ <?php elseif($value["variant"] == "sepadirectdebit" || $value["variant"] == "ideal" ): ?>
120
+
121
+ <div class="columns three a">
122
+ <label><?php echo $this->__('IBAN') ?></label>
123
+ <span><?php echo $value["bank_iban"]; ?></span>
124
+ </div>
125
+
126
+ <div class="columns three b">
127
+ <label><?php echo $this->__('Country') ?></label>
128
+ <span><?php echo $value["bank_countryCode"]; ?></span>
129
+ </div>
130
+
131
+ <div style="clear:both;"></div>
132
+
133
+ <div class="creditcard-holder-name"><?php echo $value["bank_ownerName"]; ?></div>
134
+
135
+ <?php endif; ?>
136
+
137
+ <button type="submit" title="Add to Cart" class="button btn-cart btn-delete"><span><span><?php echo $this->__('Remove Card');?></span></span></button>
138
+
139
+ <div style="clear:both;"></div>
140
+ </div>
141
+ </form>
142
+ <?php ++$count; ?>
143
+ </li>
144
+ <?php endforeach; ?>
145
+ </ul>
146
+ <?php else: ?>
147
+ <p><?php echo $this->__('There are no saved cards for this account.');?></p>
148
+ <?php endif; ?>
149
+
150
+
151
+
152
+ </div>
153
+
154
+ <div class="buttons-set">
155
+ <p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
156
+ </div>
157
+ </div>
app/locale/de_DE/Adyen_Payment.csv CHANGED
@@ -14,9 +14,10 @@
14
  "Shipment cost: %s %s <br />","Versandkosten: %s %s <br />"
15
  "System error, please try again later","Systemfehler, bitte versuchen Sie es später erneut."
16
  "System error, please try again later: %s", "Systemfehler, bitte versuchen Sie es später erneut: %s"
17
- "The payment is REFUSED by Adyen.", "Die Bezahlung wurde von ADYEN zurückgewiesen."
18
  "You will be redirected to Adyen in a few seconds.", "In einigen Sekunden werden Sie zu Adyen weitergeleitet."
19
  "Your payment failed, Please try again later","Ihre Bezahlung ist fehlgeschlagen."
 
20
  "--Please Select--","--Bitte auswählen--"
21
  "Account Number","Kontonummer"
22
  "Account holder name","Name des Kontoinhabers"
@@ -55,3 +56,17 @@
55
  "Choose Your Bank","Wählen Sie ihre Bank aus"
56
  "You chose an invalid bank","Sie haben eine ungültige Bank ausgewählt"
57
  "You have cancelled the order. Please try again", "Sie haben den Auftrag storniert. Bitte versuchen Sie es erneut"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  "Shipment cost: %s %s <br />","Versandkosten: %s %s <br />"
15
  "System error, please try again later","Systemfehler, bitte versuchen Sie es später erneut."
16
  "System error, please try again later: %s", "Systemfehler, bitte versuchen Sie es später erneut: %s"
17
+ "The payment is REFUSED.", "Die Bezahlung wurde zurückgewiesen."
18
  "You will be redirected to Adyen in a few seconds.", "In einigen Sekunden werden Sie zu Adyen weitergeleitet."
19
  "Your payment failed, Please try again later","Ihre Bezahlung ist fehlgeschlagen."
20
+ "Your openinvoice payment failed","Ihre Bezahlung ist fehlgeschlagen."
21
  "--Please Select--","--Bitte auswählen--"
22
  "Account Number","Kontonummer"
23
  "Account holder name","Name des Kontoinhabers"
56
  "Choose Your Bank","Wählen Sie ihre Bank aus"
57
  "You chose an invalid bank","Sie haben eine ungültige Bank ausgewählt"
58
  "You have cancelled the order. Please try again", "Sie haben den Auftrag storniert. Bitte versuchen Sie es erneut"
59
+ "Bank account holder name","Kontoinhabers Name"
60
+ "IBAN","IBAN"
61
+ "I agree that the above amount will be debited from my bank account.", "Ich bin damit einverstanden, dass die oben genannten Betrag von meinem Konto abgebucht."
62
+ "Invalid Iban number.","Ungültige IBAN-Nummer"
63
+ "POS Payment","POS Zahlung"
64
+ "Payment","Zahlung"
65
+ "If you stuck on this page please press the payment button","Wenn Sie auf dieser Seite fest drücken Sie bitte die Taste Zahlungs"
66
+ "Click here to pay for your purchase", "Klicken Sie hier, um die für Ihren Kauf zahlen"
67
+ "Please accept the conditions for a SEPA direct debit.", "Bitte akzeptieren Sie die Bedingungen für eine SEPA-Lastschrift."
68
+ "Shopper Details", "Shopper Details"
69
+ "Save Card", "Guardar la tarjeta"
70
+ "There are no saved cards for this account.", "Es sind keine Karten für dieses Konto gespeichert."
71
+ "This is a new Customer", "Dies ist ein neuer Kunde"
72
+ "You will be redirected to Adyen app when you place an order.", "Sie werden auf Adyens app für Ihre Bestellung weitergeleitet."
app/locale/es_ES/Adyen_Payment.csv CHANGED
@@ -14,9 +14,10 @@
14
  "Shipment cost: %s %s <br />","Costo de envío: %s %s <br />"
15
  "System error, please try again later","Error en el sistema, por favor intente luego"
16
  "System error, please try again later: %s", "Error en el sistema, por favor intente luego: %s"
17
- "The payment is REFUSED by Adyen.", "El pago fue RECHAZADO por Adyen."
18
  "You will be redirected to Adyen in a few seconds.", "Va a ser redireccionado al website de Adyen en unos segundos."
19
  "Your payment failed, Please try again later","Su pago falló"
 
20
  "--Please Select--","--Por favor seleccione--"
21
  "Account Number","Número de cuenta"
22
  "Account holder name","Nombre del titular de cuenta"
@@ -54,4 +55,18 @@
54
  "Remember these details","Recordar estos datos"
55
  "Choose Your Bank","Elija su Banco"
56
  "You chose an invalid bank","El Banco elegido es inválido. "
57
- "You have cancelled the order. Please try again"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  "Shipment cost: %s %s <br />","Costo de envío: %s %s <br />"
15
  "System error, please try again later","Error en el sistema, por favor intente luego"
16
  "System error, please try again later: %s", "Error en el sistema, por favor intente luego: %s"
17
+ "The payment is REFUSED.", "El pago fue RECHAZADO."
18
  "You will be redirected to Adyen in a few seconds.", "Va a ser redireccionado al website de Adyen en unos segundos."
19
  "Your payment failed, Please try again later","Su pago falló"
20
+ "Your openinvoice payment failed","Su pago falló"
21
  "--Please Select--","--Por favor seleccione--"
22
  "Account Number","Número de cuenta"
23
  "Account holder name","Nombre del titular de cuenta"
55
  "Remember these details","Recordar estos datos"
56
  "Choose Your Bank","Elija su Banco"
57
  "You chose an invalid bank","El Banco elegido es inválido. "
58
+ "You have cancelled the order. Please try again"
59
+ "Bank account holder name","Iban número no válido."
60
+ "IBAN","IBAN"
61
+ "I agree that the above amount will be debited from my bank account.", "Estoy de acuerdo en que la cantidad anterior será debitado de mi cuenta bancaria."
62
+ "Invalid Iban number.","Ungültige IBAN-Nummer"
63
+ "POS Payment","POS Pago"
64
+ "Payment","Pago"
65
+ "If you stuck on this page please press the payment button","Si usted se pegó en esta página, por favor presione el botón de pago"
66
+ "Click here to pay for your purchase", "Haga clic aquí para pagar por su compra"
67
+ "Please accept the conditions for a SEPA direct debit.", "Por favor, acepte las condiciones para un débito directo SEPA."
68
+ "Shopper Details", "Comprador Detalles"
69
+ "Save Card", "Guardar la tarjeta"
70
+ "There are no saved cards for this account.", "No hay cartas guardadas para esta cuenta."
71
+ "This is a new Customer", "Este es un nuevo cliente"
72
+ "You will be redirected to Adyen app when you place an order.", "Va a ser redireccionado al app de Adyen cuando efectue su compra."
app/locale/fr_FR/Adyen_Payment.csv CHANGED
@@ -14,9 +14,10 @@
14
  "Shipment cost: %s %s <br />","Coût de livriaison: %s %s <br />"
15
  "System error, please try again later","Erreur système, merci de réessayer ultérieurement"
16
  "System error, please try again later: %s", "Erreur système, merci de réessayer ultérieurement: %s"
17
- "The payment is REFUSED by Adyen.", "Le paiement a été refusé par Adyen."
18
  "You will be redirected to Adyen in a few seconds.", "Vous allez maintenant être redirigé dans quelques secondes."
19
  "Your payment failed, Please try again later","Votre paiement a échoué"
 
20
  "--Please Select--","--Merci de sélectionner--"
21
  "Account Number","Numéro de compte"
22
  "Account holder name","Nom du titulaire du compte"
@@ -55,3 +56,17 @@
55
  "Choose Your Bank","Choisir votre banque"
56
  "You chose an invalid bank","Vous avez choisi une banque invalide"
57
  "You have cancelled the order. Please try again"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  "Shipment cost: %s %s <br />","Coût de livriaison: %s %s <br />"
15
  "System error, please try again later","Erreur système, merci de réessayer ultérieurement"
16
  "System error, please try again later: %s", "Erreur système, merci de réessayer ultérieurement: %s"
17
+ "The payment is REFUSED.", "Le paiement a été refusé."
18
  "You will be redirected to Adyen in a few seconds.", "Vous allez maintenant être redirigé dans quelques secondes."
19
  "Your payment failed, Please try again later","Votre paiement a échoué"
20
+ "Your openinvoice payment failed","Votre paiement a échoué"
21
  "--Please Select--","--Merci de sélectionner--"
22
  "Account Number","Numéro de compte"
23
  "Account holder name","Nom du titulaire du compte"
56
  "Choose Your Bank","Choisir votre banque"
57
  "You chose an invalid bank","Vous avez choisi une banque invalide"
58
  "You have cancelled the order. Please try again"
59
+ "Bank account holder name","Nom du titulaire du compte bancaire"
60
+ "IBAN","IBAN"
61
+ "I agree that the above amount will be debited from my bank account.", "Je suis d'accord que le montant ci-dessus sera débité de mon compte bancaire."
62
+ "Invalid Iban number.","Numéro IBAN incorrect."
63
+ "POS Payment","POS paiement"
64
+ "Payment","Paiement"
65
+ "If you stuck on this page please press the payment button","Si vous coincé sur cette page s'il vous plaît appuyez sur le bouton de paiement"
66
+ "Click here to pay for your purchase", "Cliquez ici pour payer votre achat"
67
+ "Please accept the conditions for a SEPA direct debit.", "S'il vous plaît accepter les conditions d'un prélèvement SEPA."
68
+ "Shopper Details", "Shopper Détails"
69
+ "Save Card", "Sauvegarder Card"
70
+ "There are no saved cards for this account.", "Il n'y a pas de cartes enregistrées pour ce compte."
71
+ "This is a new Customer", "Ceci est un nouveau client"
72
+ "You will be redirected to Adyen app when you place an order.", "Vous allez être redirigé vers le app d'Adyen au passage de votre commande."
app/locale/nl_NL/Adyen_Payment.csv CHANGED
@@ -14,7 +14,7 @@
14
  "Shipment cost: %s %s <br />","Verzendkosten: %s %s <br />"
15
  "System error, please try again later","Systeem error. Probeer het later nog eens."
16
  "System error, please try again later: %s", "Systeem error. Probeer het later nog eens: %s"
17
- "The payment is REFUSED by Adyen.", "Betaalmethode is AFGEWEZEN door Adyen."
18
  "The transaction is not permitted.", "De transactie is niet toegestaan"
19
  "Declined due to the Card Security Code(CVC) being incorrect. Please check your CVC code!", "De betaling is afgewezen in verband met een verkeerde Kaart verificatie nummer(CVC). Controleer of u de juiste CVC nummer hebt ingevoerd!"
20
  "The card is restricted.", "De kaart is niet geschikt."
@@ -60,6 +60,17 @@
60
  "Female","Vrouw"
61
  "You have cancelled the order. Please try again","U heeft de betaling geannuleerd, probeer het nogmaals."
62
  "Your payment failed, Please try again later","Deze betaalmethode is niet beschikbaar voor u op het moment. Kies voor andere betaalmethode om de bestelling af te ronden"
63
- "Bank account holder name","Naam rekeninghouder",
 
64
  "IBAN","IBAN"
65
  "Invalid Iban number.","Ongeldig IBAN nummer"
 
 
 
 
 
 
 
 
 
 
14
  "Shipment cost: %s %s <br />","Verzendkosten: %s %s <br />"
15
  "System error, please try again later","Systeem error. Probeer het later nog eens."
16
  "System error, please try again later: %s", "Systeem error. Probeer het later nog eens: %s"
17
+ "The payment is REFUSED.", "Betaalmethode is AFGEWEZEN."
18
  "The transaction is not permitted.", "De transactie is niet toegestaan"
19
  "Declined due to the Card Security Code(CVC) being incorrect. Please check your CVC code!", "De betaling is afgewezen in verband met een verkeerde Kaart verificatie nummer(CVC). Controleer of u de juiste CVC nummer hebt ingevoerd!"
20
  "The card is restricted.", "De kaart is niet geschikt."
60
  "Female","Vrouw"
61
  "You have cancelled the order. Please try again","U heeft de betaling geannuleerd, probeer het nogmaals."
62
  "Your payment failed, Please try again later","Deze betaalmethode is niet beschikbaar voor u op het moment. Kies voor andere betaalmethode om de bestelling af te ronden"
63
+ "Your openinvoice payment failed","Deze betaalmethode is momenteel niet beschikbaar voor u. Kies voor een andere betaalmethode of neem contact op met de helpdesk."
64
+ "Bank account holder name","Naam rekeninghouder"
65
  "IBAN","IBAN"
66
  "Invalid Iban number.","Ongeldig IBAN nummer"
67
+ "POS Payment","POS Betaling"
68
+ "Payment","Betalen"
69
+ "If you stuck on this page please press the payment button","Om de bestelling te voltooien druk op 'Betalen'"
70
+ "Click here to pay for your purchase", "Klik hier om te betalen"
71
+ "Please accept the conditions for a SEPA direct debit.", "Accepteer de condities voor de SEPA direct debit."
72
+ "Shopper Details", "Shopper Details"
73
+ "Save Card", "Opgeslagen kaarten"
74
+ "There are no saved cards for this account.", "Er zijn geen opgelsagen kaarten voor dit account"
75
+ "This is a new Customer", "Dit is een nieuwe klant"
76
+ "You will be redirected to Adyen app when you place an order.", "U wordt doorgestuurd naar de Adyen app bij het plaatsen van uw bestelling."
app/locale/pt_BR/Adyen_Payment.csv ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "You will be redirected to Adyen website when you place an order.", "Você será redirecionado para o site da Adyen, quando efetuar a compra."
2
+ "%s ( Qty: %s ) (Price: %s %s ) <br />","%s ( Qtd: %s ) (Preço: %s %s ) <br />"
3
+ "Adyen %s <br /> authResult: %s <br /> pspReference: %s"
4
+ "Adyen %s <br /> eventCode: %s <br /> pspReference: %s <br /> success: %s"
5
+ "Adyen response(s): %s <br /> pspReference: %s", "Resposta(s) da Adyen: %s <br /> pspReference: %s"
6
+ "Authorize Only","Somente Autorizar"
7
+ "Authorize and Capture","Autorizar e Capturar"
8
+ "Can not connect payment service. Please try again later.","Não foi possível conectar ao serviço de pagamento. Tente novamente."
9
+ "Capture Mode set to Manual","Modo de Captura ajustado para Manual"
10
+ "Customer was redirected to Adyen.", "Cliente redirecionado para a Adyen"
11
+ "Order can not Hold","Não é possível continuar a compra"
12
+ "Order can not be canceled", "A compra não pode ser cancelada"
13
+ "Order rows: <br />","Detalhes da compra: <br />"
14
+ "Shipment cost: %s %s <br />","Custo de envio: %s %s <br />"
15
+ "System error, please try again later","Erro no sistema. Por favor, tente novamente mais tarde"
16
+ "System error, please try again later: %s", "Erro no sistema. Por favor, tente novamente mais tarde: %s"
17
+ "The payment is REFUSED.", "O Pagamento foi RECUSADO."
18
+ "You will be redirected to Adyen in a few seconds.", "Você será redirecionado para a Adyen em alguns segundos."
19
+ "Your payment failed, Please try again later","Sua tentativa de pagamento falhou. Por favor, tente novamente."
20
+ "--Please Select--","--Por favor selecione--"
21
+ "Account Number","Número da conta"
22
+ "Account holder name","Nome do titular da conta"
23
+ "Account holder: %s","Titular da conta: %s"
24
+ "Account number: xxx%s","Número da conta: xxx%s"
25
+ "Bank Location","Endereço do Banco"
26
+ "Bank Location (City)","Localização do Banco (Cidade)"
27
+ "Bank Location ID","Número da Agência"
28
+ "Bank Name","Nome do Banco"
29
+ "Bank code: %s", "Código do Banco: %s"
30
+ "Bank name: %s","Nome do banco: %s"
31
+ "Card Verification Number","Código de Verificação do Cartão"
32
+ "Credit Card Number","Número do Cartão"
33
+ "Credit Card Number: xxxx-%s","Número do Cartão: xxxx-%s"
34
+ "Credit Card Type", "Tipo de Cartão"
35
+ "Credit Card Type: %s", "Tipo de Cartão: %s"
36
+ "Expiration Date","Data de Vencimento"
37
+ "Expiration Date: %s/%s","Data de Vencimento: %s/%s"
38
+ "Name on Card","Nome do titular (como está gravado no Cartão)"
39
+ "Name on the Card: %s","Nome do titular (como está gravado no Cartão): %s"
40
+ "Payment Method: %s","Método de Pagamento: %s"
41
+ "Submitting payment information...","Enviando informação de pagamento..."
42
+ "What is this?","O que é isso?"
43
+ "Order email sent to shopper.","O email de compra foi enviado para o cliente. "
44
+ "The payment is PENDING by Adyen.","O pagamento está PENDENTE pela Adyen."
45
+ "The payment is AUTHORIZED by Adyen.","O pagamento foi AUTORIZADO pela Adyen."
46
+ "There has an error occurred with your Adyen payment.","Houve um erro com seu pagamento Adyen."
47
+ "There was an error with your payment.","Houve um erro com seu pagamento."
48
+ "You will be redirected to Adyen website when you place an order.","Você será redirecionado ao site da Ayen quando realizar a compra."
49
+ "Your payment is cancelled.","Seu pagamento foi cancelado."
50
+ "Your payment is CANCELLED","Seu pagamento foi CANCELADO."
51
+ "Your payment is pending.","Seu pagamento encontra-se pendente."
52
+ "Your payment is refused.","Seu pagamento foi recusado."
53
+ "Your payment is authorized.","Seu pagamento foi autorizado."
54
+ "Remember these details","Armazenar estes dados"
55
+ "Choose Your Bank","Escolha seu banco"
56
+ "You chose an invalid bank","Você escolheu um banco inválido"
57
+ "You have cancelled the order. Please try again", "Você cancelou a compra. Por favor, tente novamente."
58
+ "Bank account holder name","Banco nome do titular da conta"
59
+ "IBAN","IBAN"
60
+ "I agree that the above amount will be debited from my bank account.", "Concordo que o montante acima referido será debitado da minha conta bancária."
61
+ "Invalid Iban number.","Iban número inválido."
62
+ "POS Payment","O pagamento POS"
63
+ "Payment","Pagamento"
64
+ "If you stuck on this page please press the payment button","Se você preso nesta página, por favor pressione o botão de pagamento"
65
+ "Click here to pay for your purchase", "Clique aqui para pagar por sua compra"
66
+ "Please accept the conditions for a SEPA direct debit.", "Por favor, aceite as condições para um débito directo SEPA."
67
+ "Shopper Details", "Shopper Detalhes"
68
+ "Save Card", "Salvar cartão"
69
+ "There are no saved cards for this account.", "Não há cartas guardadas para essa conta."
70
+ "This is a new Customer", "Este é um novo cliente"
71
+ "You will be redirected to Adyen app when you place an order.", "Você será redirecionado ao app da Ayen quando realizar a compra."
package.xml CHANGED
@@ -1,21 +1,21 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Adyen_Payment</name>
4
- <version>2.4.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/OSL-3.0">Open Software License (OSL-3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Magento Plugin for Payment service provider Adyen</summary>
10
  <description>Magento Plugin for Payment Service Provider Adyen. The plugin supports the Magento Community and Enterprise edition. Inhouse support on magento@adyen.com as well available through GitHub on https://github.com/adyenpayments/magento</description>
11
- <notes>Adyen Payment 2.4.0&#xD;
12
  &#xD;
13
  See release note: &#xD;
14
- https://github.com/Adyen/magento/releases/tag/2.4.0</notes>
15
  <authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
16
- <date>2015-09-07</date>
17
- <time>14:41:04</time>
18
- <contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><dir name="Queue"><file name="Grid.php" hash="8638667d1d6a85f72341a839d00bcc19"/></dir><file name="Queue.php" hash="d9d4d4113656ba4d6c97cf8e4c52b903"/></dir></dir><dir name="Form"><dir name="Field"><file name="Installments.php" hash="e73b36349ac2ac5f9687cd5ce5958e53"/></dir></dir><dir name="Sales"><dir name="Billing"><dir name="Agreement"><file name="Grid.php" hash="c2e77faf071a3574af94ff68cf3d1504"/></dir></dir><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="1460f2048e15c0d08405c00e68653a47"/></dir><dir name="Filter"><file name="Adyen.php" hash="f0428953d0ffb335d0d4a1362500ec2e"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="187f435758aaf4d484c7c7a6ed1678b5"/></dir><file name="Totals.php" hash="e56db3fa837b78c3fa79851a82bac575"/></dir></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Expanded.php" hash="f66a1b3d4e0694536fc218c88119ef9a"/><file name="Fieldset.php" hash="d7c4f30338386632f7a83ae489d45a11"/><file name="Gettingstarted.php" hash="de64d67420b16a2d6b3df211404c64ce"/><file name="Method.php" hash="6fe238b70c25c1f8f4ba6f12a53962b9"/></dir><file name="HppPaymentMethodFee.php" hash="4d27e8d3b7f694c599ec2800f093d326"/><file name="TestWebserverConfiguration.php" hash="077e2befacb92e0eb9e5344fd3e0c4a5"/></dir></dir><file name="Version.php" hash="8ae6d538b9616499eb898579bef4abaa"/></dir><dir name="Checkout"><file name="Success.php" hash="b9df579840feb9a3579d563daa61425b"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Abstract.php" hash="0e0bfa5b88007c733d34aee307e0163d"/><file name="Boleto.php" hash="a38cfc7a4f87f487010ba17e3f56cd6c"/><file name="Cash.php" hash="9e002a75111dced6b0faee374676ed85"/><file name="Cc.php" hash="fbe7f107e5502db3298fbd65658d5cf8"/><file name="Elv.php" hash="17869926d968d14f79b5b8a057332634"/><file name="Hpp.php" hash="c3826522312ceb2c350e3a4dc6bb44f7"/><file name="Ideal.php" hash="1c8eff8a808d286b222788c8a2660683"/><file name="Oneclick.php" hash="5ebb577197b60a530098d626d5db15ae"/><file name="Openinvoice.php" hash="f6a93b41cc84a3c69449850cdcde37c7"/><file name="PayByMail.php" hash="251095b5bbe53c4453980afd198e3c10"/><file name="Pos.php" hash="11dff1727f935f2a4871a59e4a5bf9eb"/><file name="Sepa.php" hash="0588eedb4847894302e04b2425ab86ec"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="6068acbb3d3dec90a797390871150956"/><file name="Cash.php" hash="41a920940198d51029ad9cad8f6b6b00"/><file name="Cc.php" hash="11dfe3d43bb6a8d89bb1746c8c2f6415"/><file name="Elv.php" hash="09a10412250e2bed303a189cfb216254"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Oneclick.php" hash="b0fb295f9a0572f92f0a1dc7108b9e8a"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="PayByMail.php" hash="3fa120141efed3f402aacf75f80432b4"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="6ede5edccfa2ca2619edac446edb0bf2"/></dir><file name="PosExpressCheckout.php" hash="ee5348fb15ead9b2adb7c1ebd8b1b4df"/><file name="Redirect.php" hash="e17239447f47ada37fab15ff71141703"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="0a566f422191f5e365cc7a1811c00c20"/></dir></dir><file name="ScanProduct.php" hash="31c08b14b9e17a8f065b7d553470d518"/></dir><file name="Exception.php" hash="30fcde625fda56f7475e815d6603a6d2"/><dir name="Helper"><dir name="Billing"><file name="Agreement.php" hash="4df6f2936380229b80c97c70e4140d24"/></dir><file name="Data.php" hash="2b2d2ad2bd3f7bbaa598b78ccc5abecf"/><file name="Installments.php" hash="6bfc01af88a457be9f444aade1fd5e1d"/><dir name="Payment"><file name="Data.php" hash="a8145365557c486c73100740d6218414"/></dir><file name="Pci.php" hash="36f805e1f222973f48bb68623664e716"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="50793e7b14fb34b84422403f91ee5c84"/><file name="Boleto.php" hash="3aeb9b3ef94b2dc22b62165fc94411e8"/><file name="Cash.php" hash="0ac9af55b6d62b9dcead5398b2916e44"/><file name="Cc.php" hash="3aee12b4dec11d2139473844988699a7"/><dir name="Data"><file name="Abstract.php" hash="90c19c5a7d79c1a53f85b77728ffc318"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Address.php" hash="1ebe7211a9ada35e346d50a43e4d1045"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BillingAddress.php" hash="05d2568acb382d242635b7fbfef26afe"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="38ab9bfbfb1585852380c0551a35b9ec"/><file name="DeliveryAddress.php" hash="8a97c0555842c9f8108a202125e48724"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="caa2f530ea8a2100fee55f9d16fa8235"/><file name="ModificationRequest.php" hash="14240a6cbc31ffed7ea7e052e20aed57"/><file name="ModificationResult.php" hash="eec37eba3849baa4ad52b194e31ac362"/><file name="NotificationClassmap.php" hash="31166e4ef9ea728c107f5ee501d67fc5"/><file name="NotificationRequest.php" hash="4647bfc558308e8f7795ae97fbf2c066"/><file name="NotificationRequestItem.php" hash="ef0794de69076f4accc5035b3f659808"/><file name="OpenInvoiceDetailResult.php" hash="68391a7b4b2a460967ec0018a2300396"/><file name="PaymentRequest.php" hash="ab45d534cd1c2aa429d27d6ff2b1f13c"/><file name="PaymentRequest3d.php" hash="9db425c9bb6cf15498995afeb779a615"/><file name="Recurring.php" hash="ae069455222f0315c2eaee6cdf84f461"/><file name="RecurringRequest.php" hash="aed77050f296df4f48c88038ef3ac547"/><dir name="Server"><file name="Notification.php" hash="51ed88aa2c2035e4cb7b4e992e7c8e4a"/><file name="Openinvoice.php" hash="d94166e3c8337e213061655ab7e48e68"/></dir><file name="ShopperName.php" hash="91bfea9ade01d29fa9053de87ce01560"/></dir><file name="Debug.php" hash="8044ccae24d83db38d9430cf125ada83"/><file name="Dummy.php" hash="a72ccc6e8c5268cf6786db289de4e3d9"/><file name="Elv.php" hash="4dec774fe32ba88fe0c691f813c2a09e"/><file name="Hpp.php" hash="a723e62f5349d99746f201ab2657c75a"/><file name="Ideal.php" hash="ef84f22f3008da93f9e8b9c1f3ac1648"/><file name="Oneclick.php" hash="97d897a99351a6e8ec832ca58a7c040a"/><file name="Openinvoice.php" hash="0323e497f44454de9d166a8090a68eb2"/><file name="PayByMail.php" hash="e861fa73b1f5f018430352d09e6e98c7"/><file name="Pos.php" hash="84b98b86d5ba76f85217a75dd98afcc4"/><file name="Sepa.php" hash="660d590f152171076194f86ab9e9626a"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Api.php" hash="f739379a164c1a4e0c0553423ebeb295"/><file name="Authenticate.php" hash="ed5dcfae45132082a875f2ea1089b7bd"/><dir name="Billing"><dir name="Agreement"><file name="Observer.php" hash="f301f1fc3cab902eb16d546022615bdd"/></dir><file name="Agreement.php" hash="ef5f57b680c37f767a21cbb5df4aee5b"/></dir><file name="Cronjob.php" hash="3fa8291eb3f98a1ab48879fa467686b0"/><dir name="Event"><file name="Queue.php" hash="3f17b99a54cf5d910c3320e7a38d0ea3"/></dir><file name="Event.php" hash="632bfefbb6c2edab79d2be1b082a69bf"/><file name="GetPosOrderStatus.php" hash="682e47f436377b1f3e41f0092051bfc6"/><file name="Observer.php" hash="9408e54c65f82d06c4a9c1161f75ecd0"/><file name="Process.php" hash="fdbbfc7b61222edefcf81af81a12d0f4"/><file name="ProcessNotification.php" hash="d2dab6a395f3a388e47c627a38ffaf35"/><file name="ProcessPosResult.php" hash="6630a1ed1d4a81996a7f3714d6ee6990"/><dir name="Resource"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="17ac8dbcf67d0df518ef2d94c3206fd5"/></dir><file name="Debug.php" hash="d1de3e55152ab586971d08950ced8faa"/><dir name="Event"><file name="Collection.php" hash="33b8b85c9c7b3d2428e9b23a9e7e0c72"/></dir><file name="Event.php" hash="4f398e0de5b8a2a9ec5f87480e13da67"/></dir><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="d5d31eed3999e2775b3cc861cd3a8e45"/></dir><file name="Agreement.php" hash="5a269b1255f103c7b81621ee3d39fa97"/></dir><dir name="Event"><dir name="Queue"><file name="Collection.php" hash="9dffd9015dfa7cd8498e5961f9ab66f3"/></dir><file name="Queue.php" hash="b8a4c3ed5adaaacf8b6192d05937e390"/></dir><file name="Order.php" hash="32950fec5760e2e7f167af451e313129"/><file name="Setup.php" hash="4e2258146a321cad436984ca223a9e5b"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="b0d4cb5adbff8e881bb28df7cd486b37"/><file name="PaymentInstallmentFee.php" hash="da284541372973799ea956771799cb72"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CancelRedirect.php" hash="f71a598d56641cc5550812abd7f3d9b7"/><file name="CaptureModes.php" hash="1ad7052016b75000de9950d55edb235d"/><file name="CcType.php" hash="a27d98867f6c9d9245c242919a869ed6"/><file name="DemoModes.php" hash="4e3ce8113a9c78f6403861f5661f585e"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PayPalCaptureModes.php" hash="20da86d8d4fd60abe2b3a307e12ada24"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringPaymentType.php" hash="3b137f547356d8336c3e12fb936d1a86"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><file name="Rendermode.php" hash="66be793f4d23896dbe194ec205f51718"/><file name="SepaFlow.php" hash="8a3ce7224b1878c7fb674114b688eb03"/><dir name="Status"><file name="Complete.php" hash="1580706a7d28010ed5acc678f549df73"/><file name="Pending.php" hash="53e624a2a6b76b4e6dee7f4eece245b1"/><file name="Refund.php" hash="632e0fc0b625e85716347d21b0f585be"/></dir><file name="VisibleType.php" hash="ecc88ad246d8e52316d53f879d615803"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/></dir></dir></dir><dir name="Total"><dir name="PaymentFee"><file name="Creditmemo.php" hash="738f7b84586d51cd875011d6b31dfd3e"/><file name="Invoice.php" hash="8aa607b99f709a5eee9b76675e2d5ada"/></dir><dir name="PaymentInstallmentFee"><file name="Creditmemo.php" hash="b40551c179c19ccea7be11a5edf6be4c"/><file name="Invoice.php" hash="5f4563813511aff2eafb98cf4943d817"/></dir></dir><file name="ValidateResultUrl.php" hash="d9518d726eb205183b1779a75e5e6618"/><file name=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><file name="QueueController.php" hash="6000a2a39108fc5be4ce3253b495c656"/></dir></dir><file name="ExportAdyenSettingsController.php" hash="dd6a859865967b0b462be96a0a2295fd"/><file name="ValidateWebserverSettingsController.php" hash="d121f82efd3ddb01e9f979e12658cb65"/></dir><file name="CheckoutCashController.php" hash="33c9f26d8fa0260ec9daccea3638c609"/><file name="CheckoutPosController.php" hash="59a14c7e7e916ab79304551072b574bb"/><file name="GetInstallmentsController.php" hash="e8401d9b5dd01efc8f6ea535087963bd"/><file name="ProcessController.php" hash="4cfa4e11ca294886562ff59b68f8c9c5"/><file name="UpdateCartController.php" hash="8c41af95bb64352f7dd4024f9d210e77"/></dir><dir name="data"><dir name="adyen_setup"><file name="data-upgrade-2.1.2.3-2.1.2.4.php" hash="8262bf4038ba435fe15bd08c36814936"/></dir></dir><dir name="etc"><file name="Notification.wsdl" hash="cbba67067d372790e91225b4049c7e0d"/><file name="Payment.wsdl" hash="4190412f599a3eac827d7ed0931754da"/><file name="adminhtml.xml" hash="77f449af89755295ba515ea52dfda649"/><file name="config.xml" hash="ad1f5bdc8cffc2d4ba2009f940f85ab7"/><file name="system.xml" hash="c898e9bf12f646c136abe6235b34eb1c"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="668e04511f498a97c29b4386055cb78e"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="ef6d899eac5abc4d359074498168aef7"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="b4bb110ba7f92ae542c39471d3f7198f"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="c72653047e7c2ea03f8b8c4bd095389a"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="e167964ff1156ff52b48cef5f45c0cd2"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="5fbf7b5fc6389115c5a3cf33d091227a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="4eb123db99f8e42892cc8ea16a4ef54e"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="5fb0644cd6e55968f8922da5bffb23de"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="7f1f5240dbdd1fb37a23e16e41f5b477"/><file name="mysql4-upgrade-2.1.1-2.1.2.1.php" hash="5eea3604936ce4a041fccc9f0e0d159d"/><file name="mysql4-upgrade-2.1.2.1-2.1.2.2.php" hash="0cb4fa513156161c01b906ad3ad322ba"/><file name="mysql4-upgrade-2.1.2.2-2.1.2.3.php" hash="4c681a679ab8afa8fc145d0ecf242278"/><file name="mysql4-upgrade-2.2.0-2.2.0.1.php" hash="993470ec16fe56b3cd0024f3fb718e9b"/><file name="mysql4-upgrade-2.2.2-2.2.2.1.php" hash="c2353636858c03e61e782c7d809bbab5"/><file name="mysql4-upgrade-2.3.0-2.3.0.1.php" hash="292d256967fceedea3250c8084839ec1"/><file name="mysql4-upgrade-2.3.1.1-2.3.1.2.php" hash="1301a2d3d64855172579eb7375e17eed"/></dir></dir><file name=".DS_Store" hash="282419beef00918e7192da78057ace9d"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="adyen.xml" hash="fdc251a23de44368548748d25b86d345"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="6dc0219c76cd9849940247bcfce8cd99"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="37215ae3782ea83b05afa6fef361e3bf"/><file name="oneclick.phtml" hash="83b4dde8e30b8bcca800b8f9a2995eca"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="99386663d876a9bb2a4d71aec1fce74b"/></dir><dir name="info"><file name="boleto.phtml" hash="78f08b7f59ff049f189d61758b7abced"/><file name="cc.phtml" hash="608567b02456894e5b1dbaa2484a9380"/><file name="elv.phtml" hash="bda2d4870da5a283d9561b66b76e8114"/><file name="hpp.phtml" hash="ee5fd9ccc1b4f7fd1f575d0d53d87c8f"/><file name="openinvoice.phtml" hash="86fecfa81c87af7464f38f43c7db9be6"/><file name="pay_by_mail.phtml" hash="617bf20851918b200a4a980a68908162"/><file name="pos.phtml" hash="dfef416dc70f315bf9904dafce4f19d6"/><file name="sepa.phtml" hash="ca2a1b25f4652e9411ae6ff8b2a0f04e"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="ecc91b3df7776b2c2a6dc4a52d1892d2"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><dir name="system"><dir name="config"><file name="test_webserver_configuration.phtml" hash="37a164e5cd04d1acf1788530464c2f0d"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><dir name="checkout"><file name="success.phtml" hash="4c06b168acd8971e20a7c8d1205c264b"/><file name=".DS_Store" hash="21ecd78ea5715d7392b2d8a533c6630a"/></dir><dir name="form"><file name="boleto.phtml" hash="309a0152cd5219e2c22da4270307222c"/><file name="cc.phtml" hash="280e00a99e4f624802b783be55b2f16a"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="5e2f2ed4fb91dec2d62a0311a21415e0"/><file name="ideal.phtml" hash="d693c356f0e7f8eca20ac086c665a135"/><file name="oneclick.phtml" hash="5a41066b1452fdc7266b0ef6224c0ae3"/><file name="openinvoice.phtml" hash="659c5385af90f70f910d1f3605a0613b"/><file name="pos.phtml" hash="07cbc4b9dbbe63849599dbfd4339cd44"/><file name="sepa.phtml" hash="ff9e6c312e7620d31c6a657f31a16679"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="c540dddb22ca1c9f301c445291d82d16"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="8999dfee0c638f44b5010779b8bbf711"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pay_by_mail.phtml" hash="c09d9f774eeefeb465cc3f425bf7d54e"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><dir name="payment"><file name="payment_method_label.phtml" hash="256b943044431874fbaea43760544fcc"/></dir><file name="pos_express_checkout.phtml" hash="9dbbc2237dfda2c735bfb853a5f20efd"/><file name="scan_product.phtml" hash="52debaeda87ba10822de566380c06c56"/><file name=".DS_Store" hash="ab6d0ae72b40033c9fed5850d3f5d499"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="89f26f2f2778d7e73ab597207bc59831"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Adyen_Payment.csv" hash="088e161df1b131f18fe37f99c84a6a76"/></dir><dir name="es_ES"><file name="Adyen_Payment.csv" hash="e43250c22a32cc8c27256cebb8f04c10"/></dir><dir name="fr_FR"><file name="Adyen_Payment.csv" hash="90f125a87e554a42546ab268b58df265"/></dir><dir name="nl_NL"><file name="Adyen_Payment.csv" hash="f60acbb4dab153dc69eece693db58274"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="ae_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="afterpay_default.png" hash="a62e3982d50612522be071d4e86eaa6a"/><file name="alipay.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="alipay_small_grey.png" hash="e5ffe7ff272ce2814b7808fd047a9c6b"/><file name="alipay_tiny.png" hash="1a7867dd958ddcdd90ad2400e5be23de"/><file name="alipay_wap.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_wap_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="amex.png" hash="8e3b962f9ef18e08cf16b77934607d28"/><file name="amex_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="amex_small_grey.png" hash="0f6aabd8dfcbf48dbb555b9191d7795e"/><file name="amex_tiny.png" hash="b7016f4efb163c985d6f1d99a8433d2a"/><file name="asiapay.png" hash="44626dc317e547fb40010498c1096407"/><file name="asiapay_small.png" hash="cca4d86b5abc510f20ca9563d7215c3d"/><file name="asiapay_small_grey.png" hash="00e20b2b2eb0d2ad51c15d8ccc558dc5"/><file name="asiapay_tiny.png" hash="ba0d613d94a64918c0338504fed20ee7"/><file name="autopay.png" hash="4251763c71239e7b1b421e4bc7f5b70a"/><file name="autopay_small.png" hash="ca6941b80b6157bae2411b5620149d2d"/><file name="autopay_small_grey.png" hash="f69d143b4f1fc16a9138ccfacec808a4"/><file name="autopay_tiny.png" hash="4c0c91402daafc63bdb5979dbbd963db"/><file name="babygiftcard.png" hash="91bcbb6604b26565b89898c9a8e1e117"/><file name="babygiftcard_small.png" hash="2558bbdd4d9528b37ba93a8c4af536a4"/><file name="babygiftcard_tiny.png" hash="393a192fab9874e3b167c3bc5d568db7"/><file name="baloto.png" hash="1c172c628f79837c83196b243c636ff5"/><file name="baloto_small.png" hash="c66db84ac7fed6f81010e8058fa39a74"/><file name="baloto_small_grey.png" hash="bdc5eac76e02a658b348a0722fca9ba9"/><file name="baloto_tiny.png" hash="5e10ee14c8a44c3b4c28571664fa045f"/><file name="bancnet.png" hash="a2b687ef27244e448b85635cc1d3ec60"/><file name="bancnet_small.png" hash="4473bc16badc29200ffd09021778b1e3"/><file name="bancnet_small_grey.png" hash="6b108ea906b6d6a5ad51e4de6db732eb"/><file name="bancnet_tiny.png" hash="0ac28b35fd4e09954debcd2eb42e89ce"/><file name="bank24.png" hash="9a921572d6bae73604e1122ec3e5bf7e"/><file name="bankTransfer_AE.png" hash="a6f29729723fa65c732ffc9267b3f8be"/><file name="bankTransfer_AE_small.png" hash="a3322805ab1c40c4e6237943185284ab"/><file name="bankTransfer_AE_tiny.png" hash="dfcf50c97c3b832fd3c17efb2864335c"/><file name="bankTransfer_AT.png" hash="7fa4204d1426a64a4cd26af06af44d41"/><file name="bankTransfer_AT_small.png" hash="31037dcf034d1e9d28254d1962b2ca16"/><file name="bankTransfer_AT_tiny.png" hash="4ee9964118e05d2a81335f3033ec5bf1"/><file name="bankTransfer_AU.png" hash="05716c67579fcf3574037ce69c9e4229"/><file name="bankTransfer_AU_small.png" hash="acd23b8e3ccf3c9d28960fde63c22e85"/><file name="bankTransfer_AU_tiny.png" hash="4a3ee62afdac23a00a0675c763e93470"/><file name="bankTransfer_BE.png" hash="5547426f07e0562ba9b605f1f04a9ad7"/><file name="bankTransfer_BE_small.png" hash="007dbd9f27115b601eb94db09a10b8f3"/><file name="bankTransfer_BE_tiny.png" hash="cf0285a691339efad52d82d40c7aa9f1"/><file name="bankTransfer_BG.png" hash="be209415f5bec0a45bd2bd9cd3c41d0a"/><file name="bankTransfer_BG_small.png" hash="6249144aa579c494988b5bbecb22eb69"/><file name="bankTransfer_BG_tiny.png" hash="7c11956844dbf7cc76db038b32fc7ab1"/><file name="bankTransfer_CH.png" hash="9b20d62386085ac2c9da1227abec5d58"/><file name="bankTransfer_CH_small.png" hash="2887bcf97901ed7ed6bc4fb5d8a00876"/><file name="bankTransfer_CH_tiny.png" hash="c0218d075bbb503689f40007a331ba85"/><file name="bankTransfer_CZ.png" hash="78f7aac275e10af77b3bbab28ba1aa23"/><file name="bankTransfer_CZ_small.png" hash="7bf17799b64aa618945981eb7fa00cce"/><file name="bankTransfer_CZ_tiny.png" hash="7f2a7e2fde701bff21fa388776e73632"/><file name="bankTransfer_DE.png" hash="989d5e1cc2547504b0fbc7aa88e08713"/><file name="bankTransfer_DE_small.png" hash="fb50048c4acfdebf85c4c8f90d8b08d9"/><file name="bankTransfer_DE_small.xcf" hash="cfbc9a47bc116e97a121771c0aa6fe83"/><file name="bankTransfer_DE_tiny.png" hash="d4d68f1068df68f61cb828005c9c0ac9"/><file name="bankTransfer_DK.png" hash="a2e9a409144a8ef18747faafa2937609"/><file name="bankTransfer_DK_small.png" hash="71e75c357b475fe236b633ac8a2a76cd"/><file name="bankTransfer_DK_tiny.png" hash="0103bbe5b8a803aad990bd4ad53c88c0"/><file name="bankTransfer_EE.png" hash="9caa3e1ac3558e9ec372c45df045bae6"/><file name="bankTransfer_EE_small.png" hash="91ffe550444bac13ac29ac1696ffdfac"/><file name="bankTransfer_EE_tiny.png" hash="59ea293d7ba58cd6dd9a9a2b43088093"/><file name="bankTransfer_ES.png" hash="7d0051c7ee32eddca94b89368bb5afbe"/><file name="bankTransfer_ES_small.png" hash="2dc1519510ef7bea726e0bca70859c06"/><file name="bankTransfer_ES_tiny.png" hash="a2338a0d60b2585ac34269daf794d189"/><file name="bankTransfer_FI.png" hash="ffbe8dfa936a4628e3c029bd957f367d"/><file name="bankTransfer_FI_small.png" hash="1db5d45d947502483a2e8c40aab3734d"/><file name="bankTransfer_FI_tiny.png" hash="b9f26cef0fc7f051b6d79ada14c902ba"/><file name="bankTransfer_FR.png" hash="572f77cf0f22103300682c5f89e9d9e9"/><file name="bankTransfer_FR_small.png" hash="58a268c927e4d19858ed3241ceac05f8"/><file name="bankTransfer_FR_tiny.png" hash="dee4c0c47d94fb0e2ab032264c4d1543"/><file name="bankTransfer_GB.png" hash="5a7eee2f31bec7bf422425f31aea2d5a"/><file name="bankTransfer_GB_small.png" hash="17d3c0ca20cee2250e3b6d0f5f080ba9"/><file name="bankTransfer_GB_tiny.png" hash="24d7d3ce5dc62ef776f3f36f24ff78b1"/><file name="bankTransfer_GI.png" hash="e9035b335bd8dc809c7e4afc7d775cc0"/><file name="bankTransfer_GI_small.png" hash="e51bd2f8333a8d8b2163c777c5b12b48"/><file name="bankTransfer_GI_tiny.png" hash="d158401d4dd73a057adac68f3f23ad89"/><file name="bankTransfer_GR.png" hash="aefe60c85d74d77d1c1327538617f297"/><file name="bankTransfer_GR_small.png" hash="b9a0a5d6ec52c80d72d8e8cf903f37f3"/><file name="bankTransfer_GR_tiny.png" hash="1dc0912afd646785eade5d8785baa12c"/><file name="bankTransfer_IBAN.png" hash="f636fcae0c128e08baaef26dacaa078d"/><file name="bankTransfer_IBAN_small.png" hash="ffc0073f2fe405de05206cdfc1565daa"/><file name="bankTransfer_IBAN_tiny.png" hash="4a4f64cb62ca9cfec99d117d0169bb83"/><file name="bankTransfer_IE.png" hash="eb6efba5502d54571022feaef9a9ded3"/><file name="bankTransfer_IE_small.png" hash="d9359e8a2bf8c04d4d43acdcc8b30a5e"/><file name="bankTransfer_IE_tiny.png" hash="b3a0f75656b535960c362baaabc45ce3"/><file name="bankTransfer_IT.png" hash="cd56062b943e4ec6716bc72ebe4b62a9"/><file name="bankTransfer_IT_small.png" hash="29ac58a26ae12dc26dd2d501262ed361"/><file name="bankTransfer_IT_tiny.png" hash="c45892a3e2ae81bb9b4508d79164e556"/><file name="bankTransfer_JP.png" hash="20023e2e93afc881740ea74e89251d86"/><file name="bankTransfer_LU.png" hash="b3dbdeea3429de5280c3a6d911930e9a"/><file name="bankTransfer_LU_small.png" hash="ebb919c647653075be4d9bfaeec8c00c"/><file name="bankTransfer_LU_tiny.png" hash="ec058289aef35f481077c56cdf758032"/><file name="bankTransfer_MT.png" hash="8955bc706cf66307ba69e58d8006af2d"/><file name="bankTransfer_MT_small.png" hash="13ce68bbda83c39b8719d356705da6d2"/><file name="bankTransfer_MT_tiny.png" hash="b05aa11e844f09fa797a3540534e5155"/><file name="bankTransfer_NL.png" hash="ccffd7131f791f7eb44e21b42fd66cc4"/><file name="bankTransfer_NL_small.png" hash="90f18f3784ec4c4733891aafd2e83958"/><file name="bankTransfer_NL_small.xcf" hash="ac17edd9804089820e9d73c76441abfc"/><file name="bankTransfer_NL_tiny.png" hash="61e9d461381aa1fb7e9dbcc8012686e0"/><file name="bankTransfer_NO.png" hash="ffcb1204470ff94a7cf2025e000e4978"/><file name="bankTransfer_NO_small.png" hash="daab5aceaf8e4dd59dfcf29fa69cdc24"/><file name="bankTransfer_NO_tiny.png" hash="3fbbf9e381d8d0d9ada61a54778655cb"/><file name="bankTransfer_PL.png" hash="cd25fefef6bce86a97ab7242138360e2"/><file name="bankTransfer_PL_small.png" hash="880b17d7d090c7bd21965e9b78894851"/><file name="bankTransfer_PL_tiny.png" hash="9579393e3dbb3c2aeb7ebf35e54ef4e7"/><file name="bankTransfer_PT.png" hash="c3c652523d77b5d085da97111c96ef9e"/><file name="bankTransfer_PT_small.png" hash="9d3a979ef52298bcc1545b131bd4a3db"/><file name="bankTransfer_PT_tiny.png" hash="cf2be093140773d75d8993fab7aa347c"/><file name="bankTransfer_SE.png" hash="e5608461fa8bdbac771449f30cde91ec"/><file name="bankTransfer_SE_small.png" hash="0f57f6092f8bef25c9973a140a2d85ad"/><file name="bankTransfer_SE_tiny.png" hash="79f3a00608bf18d686d89562af80a72f"/><file name="bankTransfer_SK.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bankTransfer_SK_small.png" hash="50adde906c3a965992bbfb04554a5371"/><file name="bankTransfer_SK_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="bankTransfer_US.png" hash="9013561099b618aa954f5a3e1352a6ce"/><file name="bankTransfer_US_small.png" hash="191e204c1216a199229da9d75ed1a2a5"/><file name="bankTransfer_US_tiny.png" hash="9d9e942b93d13a18e38aac0ee932fe15"/><file name="bank_ru.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bank_ru_small.png" hash="01c263789dd7e38ac4078f55161ec19b"/><file name="bank_ru_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="barras.png" hash="389f5242e23cc5b386392d5d21459f21"/><file name="barras_small.png" hash="9e657657b963a1434e88d4289acf9448"/><file name="barras_small_grey.png" hash="d14dbd53e9a52706bf736525a90d8f63"/><file name="barras_tiny.png" hash="e46d37c7e69ef3722876a0205431f1c8"/><file name="bcmc.png" hash="28dca1b34022f2c653c13556c452fce3"/><file name="bcmc_small.png" hash="49698208e5b73f80773260c3fdb3e5a3"/><file name="bcmc_small_grey.png" hash="5069f14bff23c074af6fe2092a2e482a"/><file name="bcmc_tiny.png" hash="3b4221516dc0d1ace3432a473903991e"/><file name="beelinesms.png" hash="a559096cb240aaf7696be7563498b18b"/><file name="bijcard.png" hash="c93da8e22fac6869d729e961df24b593"/><file name="bijcard_small.png" hash="f188b92b77af1613a91c00450d3eb168"/><file name="bijcard_small_grey.png" hash="08eb4420ac9f7a7f691d688e9550f651"/><file name="bijcard_tiny.png" hash="b88eeed8f7318514f849e3ed3a9a2ce8"/><file name="bill99.png" hash="461213bcf10fb394ef524d3a0ad92ee0"/><file name="bill99_small.png" hash="d6e30f7d3da5ce34af3aa7e2353b4809"/><file name="bill99_small_grey.png" hash="a66c49f3556fa99301f4288341eaa014"/><file name="bill99_tiny.png" hash="d10dbbf6512e15252ad6d1337670a7fd"/><file name="boleto.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_hsbc.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_itau.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_santander.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="c_cash.png" hash="1b9d5b0c9ece2eaff0be71b4082e0655"/><file name="c_factuur.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_factuur_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_factuur_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_invoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_invoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_invoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_oprekening.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_oprekening_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_oprekening_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_paypal.png" hash="fe5fd0065e4a84e967095f082b329d7f"/><file name="c_paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="c_rembours.png" hash="fb2da23375ce5ba67380dc0fb60e7669"/><file name="c_rembours_small.png" hash="0d0f244c1820921db3a6635552cf8129"/><file name="c_rembours_tiny.png" hash="c15d78de45389d475f2786fed3e81c4b"/><file name="card.png" hash="adfe3d9fe45c3f94b9edca852e2cb38c"/><file name="cashticket.png" hash="0dba12beffb7c5ebf47ae1e5701426f3"/><file name="cashticket_small.png" hash="ade5518971a871dd48b0628af6f6cf89"/><file name="cashticket_small_grey.png" hash="348c3721fbedfb2a7121f57db435f43e"/><file name="cashticket_tiny.png" hash="95248971eb69c150748b9acf27f68fb5"/><file name="cashticket_tiny2.png" hash="16ab15f5263fe81ab5233d02ce2cd715"/><file name="cashu.png" hash="1b6d79438ad686cdff44866a66445dca"/><file name="ccavenue.png" hash="aee563b4c9c77d8a881db1e79ad8758d"/><file name="ccavenue_small.png" hash="ffa7390808c679e8d6c580fcf14054fb"/><file name="ccavenue_small_grey.png" hash="9a6c58e88230fb6a167e597752a533ab"/><file name="ccavenue_tiny.png" hash="994d56725d095d107fb33c6f3abf7653"/><file name="cellpaypoint.png" hash="c676483390c0c7e932a320b6326593da"/><file name="cellpaypoint_small.png" hash="f720447e73325b922568a00d0effe75c"/><file name="cellpaypoint_small_grey.png" hash="c6deea99f2099ade43b2b75dcb62f273"/><file name="cellpaypoint_tiny.png" hash="5c00501360e94b3020ff54bccbc2e531"/><file name="ciberpay.png" hash="625d300997f331918e912dc266e1a3a4"/><file name="contact_ru.png" hash="5f70b79ee4232a81a9f7eb0224b0ba3c"/><file name="creditcard.png" hash="87a9f022a38f3e96981c420d6571381f"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="cup.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="cup_small.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="dankort.png" hash="aac4acc9e43e896973f36d3e7011a5af"/><file name="dc_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="di_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elo.png" hash="d8ed45be5e2a933584a58c78a5ec3568"/><file name="elo_small.png" hash="b0c3bec4e8cccf4339e142365a30fca7"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hipercard.png" hash="9310c18cee9f43c4019a7560d74ffd4c"/><file name="hipercard_small.png" hash="d4d0e1aab233b3ec3f94cbbe985fd8ad"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="img_trans.gif" hash="325472601571f31e1bf00674c368d335"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payshop.png" hash="c9c79c76313370d9165e814d3d81e062"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="pm_gloss.png" hash="dcfc71b0c819e58a1287cd206cfb9d14"/><file name="poli.png" hash="4e14e9d246fdbc07ae58ed8ae639f7b0"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sm_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vi_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="wallet_RU.png" hash="29213300b3cf644c64d915418f259d87"/><file name="wallet_RU_small.png" hash="3308a16ce0f5b474af32505f587079b5"/><file name="wallet_RU_tiny.png" hash="c46cdb588d7a9a21a909e5af842414b5"/><file name="wallie.png" hash="fc97552b8249c3e96aa6f3cf8e3577bd"/><file name="wallie_small.png" hash="c0b60fe348b16e157eb0c64043f410c2"/><file name="wallie_tiny.png" hash="df61209a0e0517bbb3d65119d5ebfcbd"/><file name="webmoney.png" hash="3cca800e0962e0078b64361de11b935f"/><file name="webshopgiftcard.png" hash="09990fe325b20c2fcdaaa855457d5348"/><file name="wiwallet.png" hash="5db11152a23a72b2f4676841261c5db0"/><file name="wiwallet_small.png" hash="a4c5567f59ca4575a316e1bf3eb066c1"/><file name="wiwallet_small_grey.png" hash="b75b2af0b5c6129e8c1d7bc9087222b4"/><file name="wiwallet_tiny.png" hash="8b53e98458e15bc19b242d05ad678f2d"/><file name="yandexmoney.png" hash="e6a38c66b08ba78a68096f8ff1b2a41d"/><file name="yourgift.png" hash="87bd1ef190d75ec64fb66b77aaeb7b8c"/><file name="yourgift_small.png" hash="17300795f7fd31d5cb730685c2eb0098"/><file name="yourgift_small_grey.png" hash="69b235ccb6b7ef0dfb3a2645be60dbc6"/><file name="yourgift_tiny.png" hash="a3bc0b90775458ff9ef8499f7a5437ca"/></dir></dir><dir name="css"><file name="adyenstyle.css" hash="b8ab0272f8e5bc859470a71529831e02"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="6e6d006f2ac96f33a4531d3115f2d852"/><file name="cc.js" hash="2e7a07ae072be379ae707b14771e5d0d"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/><file name="epos-device-2.6.0.js" hash="94c73689bec45b74a311d76400f05ba6"/><file name="epos-device-3.0.0.js" hash="0056bb4902efed998d1fdcfbb7ab3495"/><file name="iban.js" hash="92cff3bbc297f8aa60acca331e736063"/></dir></dir></dir></target><target name="mage"><dir name="shell"><file name="adyen.php" hash="23173d3362feab3675878eb51cebac02"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Adyen_Payment</name>
4
+ <version>2.5.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/OSL-3.0">Open Software License (OSL-3.0)</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Magento Plugin for Payment service provider Adyen</summary>
10
  <description>Magento Plugin for Payment Service Provider Adyen. The plugin supports the Magento Community and Enterprise edition. Inhouse support on magento@adyen.com as well available through GitHub on https://github.com/adyenpayments/magento</description>
11
+ <notes>Adyen Payment 2.5.0&#xD;
12
  &#xD;
13
  See release note: &#xD;
14
+ https://github.com/Adyen/magento/releases/tag/2.5.0</notes>
15
  <authors><author><name>Adyen</name><user>adyen</user><email>magento@adyen.com</email></author></authors>
16
+ <date>2016-01-08</date>
17
+ <time>10:18:02</time>
18
+ <contents><target name="magecommunity"><dir name="Adyen"><dir name="Payment"><dir name="Block"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><dir name="Queue"><file name="Grid.php" hash="8638667d1d6a85f72341a839d00bcc19"/></dir><file name="Queue.php" hash="d9d4d4113656ba4d6c97cf8e4c52b903"/></dir></dir><dir name="Form"><dir name="Field"><file name="Installments.php" hash="e73b36349ac2ac5f9687cd5ce5958e53"/></dir></dir><dir name="Sales"><dir name="Billing"><dir name="Agreement"><file name="Grid.php" hash="c2e77faf071a3574af94ff68cf3d1504"/></dir></dir><dir name="Order"><dir name="Creditmemo"><file name="Totals.php" hash="1460f2048e15c0d08405c00e68653a47"/></dir><dir name="Filter"><file name="Adyen.php" hash="f0428953d0ffb335d0d4a1362500ec2e"/></dir><dir name="Invoice"><file name="Totals.php" hash="40f4258c2e79e25bd38abb8ed7a0a778"/></dir><dir name="Renderer"><file name="Adyen.php" hash="187f435758aaf4d484c7c7a6ed1678b5"/></dir><file name="Totals.php" hash="e56db3fa837b78c3fa79851a82bac575"/></dir></dir><dir name="System"><dir name="Config"><dir name="Fieldset"><file name="Expanded.php" hash="f66a1b3d4e0694536fc218c88119ef9a"/><file name="Fieldset.php" hash="d7c4f30338386632f7a83ae489d45a11"/><file name="Gettingstarted.php" hash="de64d67420b16a2d6b3df211404c64ce"/><file name="Method.php" hash="6fe238b70c25c1f8f4ba6f12a53962b9"/><file name="Payment.php" hash="1976ae2cccf9cbd106ff369625d5120b"/></dir><file name="HppPaymentMethodFee.php" hash="4d27e8d3b7f694c599ec2800f093d326"/><file name="TestWebserverConfiguration.php" hash="077e2befacb92e0eb9e5344fd3e0c4a5"/></dir></dir><file name="Version.php" hash="8ae6d538b9616499eb898579bef4abaa"/></dir><dir name="Checkout"><file name="Success.php" hash="b9df579840feb9a3579d563daa61425b"/></dir><file name="Failure.php" hash="ead96fee55fba2cbb5044f09566e85e4"/><dir name="Form"><file name="Abstract.php" hash="0e0bfa5b88007c733d34aee307e0163d"/><file name="Boleto.php" hash="a38cfc7a4f87f487010ba17e3f56cd6c"/><file name="Cash.php" hash="9e002a75111dced6b0faee374676ed85"/><file name="Cc.php" hash="5a70cd72d0e7f7ab3a103d48bfa3c631"/><file name="Elv.php" hash="17869926d968d14f79b5b8a057332634"/><file name="Hpp.php" hash="c3826522312ceb2c350e3a4dc6bb44f7"/><file name="Ideal.php" hash="1c8eff8a808d286b222788c8a2660683"/><file name="Oneclick.php" hash="5ebb577197b60a530098d626d5db15ae"/><file name="Openinvoice.php" hash="f6a93b41cc84a3c69449850cdcde37c7"/><file name="PayByMail.php" hash="251095b5bbe53c4453980afd198e3c10"/><file name="Pos.php" hash="11dff1727f935f2a4871a59e4a5bf9eb"/><file name="Sepa.php" hash="0588eedb4847894302e04b2425ab86ec"/></dir><file name="Form.php" hash="77d0589a32cb816dcdc6df16c98f2cd6"/><dir name="Info"><file name="Boleto.php" hash="6068acbb3d3dec90a797390871150956"/><file name="Cash.php" hash="41a920940198d51029ad9cad8f6b6b00"/><file name="Cc.php" hash="11dfe3d43bb6a8d89bb1746c8c2f6415"/><file name="Elv.php" hash="09a10412250e2bed303a189cfb216254"/><file name="Hpp.php" hash="bce3945267dac13f4fd9c9fd1400d11c"/><file name="Oneclick.php" hash="b0fb295f9a0572f92f0a1dc7108b9e8a"/><file name="Openinvoice.php" hash="1e99e4ab3ef75a9fa27626bd946b0407"/><file name="PayByMail.php" hash="3fa120141efed3f402aacf75f80432b4"/><file name="Pos.php" hash="8a6be4f35d43dc7791b9741cfb05b8a5"/><file name="Sepa.php" hash="6ede5edccfa2ca2619edac446edb0bf2"/></dir><file name="PosExpressCheckout.php" hash="ee5348fb15ead9b2adb7c1ebd8b1b4df"/><file name="Redirect.php" hash="cded7132875e3cb7b4cda466cae16a80"/><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="0a566f422191f5e365cc7a1811c00c20"/></dir></dir><file name="SavedCards.php" hash="3fe47b88678d0c30aa3fc6b2b9592eae"/><file name="ScanProduct.php" hash="31c08b14b9e17a8f065b7d553470d518"/></dir><file name="Exception.php" hash="12f0dec6c5af13ac06cee3f9dca1ad62"/><dir name="Helper"><dir name="Billing"><file name="Agreement.php" hash="4df6f2936380229b80c97c70e4140d24"/></dir><file name="Data.php" hash="1f425d9cf6dc02fc5e7ba67fc28a4707"/><file name="Installments.php" hash="6bfc01af88a457be9f444aade1fd5e1d"/><dir name="Payment"><file name="Data.php" hash="a8145365557c486c73100740d6218414"/></dir><file name="Pci.php" hash="36f805e1f222973f48bb68623664e716"/></dir><dir name="Model"><dir name="Adyen"><file name="Abstract.php" hash="d6c4355410b4499166886e75b8957cb5"/><file name="Boleto.php" hash="3aeb9b3ef94b2dc22b62165fc94411e8"/><file name="Cash.php" hash="0ac9af55b6d62b9dcead5398b2916e44"/><file name="Cc.php" hash="5fc3bad33ef3692005de3d0395fd524f"/><dir name="Data"><file name="Abstract.php" hash="90c19c5a7d79c1a53f85b77728ffc318"/><file name="AdditionalData.php" hash="e4d038a60ac548e0938f75a0452d5717"/><file name="AdditionalDataKVPair.php" hash="cc2e0ba6733ef5139f44ba7c9af303dc"/><file name="Address.php" hash="1ebe7211a9ada35e346d50a43e4d1045"/><file name="Amount.php" hash="73540706cac2c2eef0252615d6200511"/><file name="BankAccount.php" hash="89124b1a311269d878e88acd56391afc"/><file name="BillingAddress.php" hash="05d2568acb382d242635b7fbfef26afe"/><file name="BrowserInfo.php" hash="bd1cca3cc27aea7fad85661c7132e2cd"/><file name="Card.php" hash="ea384e9c2032ba7ad5925edfb434625f"/><file name="Classmap.php" hash="af55e8a6b21d4dab53446ac887636fca"/><file name="DeliveryAddress.php" hash="8a97c0555842c9f8108a202125e48724"/><file name="Elv.php" hash="6608688d03b047387a2b28be10c47b87"/><file name="Installments.php" hash="ab285677d94614d631b927b427268eff"/><file name="InvoiceLine.php" hash="2013af2bbae2b07df4db34b4d8565796"/><file name="InvoiceRow.php" hash="caa2f530ea8a2100fee55f9d16fa8235"/><file name="ModificationRequest.php" hash="14240a6cbc31ffed7ea7e052e20aed57"/><file name="ModificationResult.php" hash="eec37eba3849baa4ad52b194e31ac362"/><file name="NotificationClassmap.php" hash="3baf762708dcc9203cd70244124f30cf"/><file name="NotificationRequest.php" hash="4647bfc558308e8f7795ae97fbf2c066"/><file name="NotificationRequestItem.php" hash="ef0794de69076f4accc5035b3f659808"/><file name="OpenInvoiceDetailResult.php" hash="68391a7b4b2a460967ec0018a2300396"/><file name="PaymentRequest.php" hash="52c91dd5e628d7446fa69c18adc38b00"/><file name="PaymentRequest3d.php" hash="9db425c9bb6cf15498995afeb779a615"/><file name="Recurring.php" hash="ae069455222f0315c2eaee6cdf84f461"/><file name="RecurringRequest.php" hash="aed77050f296df4f48c88038ef3ac547"/><dir name="Server"><file name="Notification.php" hash="51ed88aa2c2035e4cb7b4e992e7c8e4a"/><file name="Openinvoice.php" hash="d94166e3c8337e213061655ab7e48e68"/></dir><file name="ShopperName.php" hash="91bfea9ade01d29fa9053de87ce01560"/></dir><file name="Debug.php" hash="8044ccae24d83db38d9430cf125ada83"/><file name="Dummy.php" hash="a72ccc6e8c5268cf6786db289de4e3d9"/><file name="Elv.php" hash="4dec774fe32ba88fe0c691f813c2a09e"/><file name="Hpp.php" hash="5d62f652cad93bd860d54c1e8fc88a1f"/><file name="Ideal.php" hash="6553fee775bc9c5f80fd7251b6173786"/><file name="Oneclick.php" hash="2283f22a6a6faacc37a7888918ead060"/><file name="Openinvoice.php" hash="a484140a95bcfecf7bd583241343aabf"/><file name="PayByMail.php" hash="482ec3c804773831a6a06a6f4720c9b5"/><file name="Pos.php" hash="85fe66c381be3d63db61e76760ba0a4f"/><file name="Sepa.php" hash="660d590f152171076194f86ab9e9626a"/><file name="Shared.php" hash="7f3fe961a7107b6fb5625a9efe7854fd"/><file name=".DS_Store" hash="d179556f904a5601ccd01a54743c155f"/></dir><file name="Api.php" hash="f739379a164c1a4e0c0553423ebeb295"/><file name="Authenticate.php" hash="ed5dcfae45132082a875f2ea1089b7bd"/><dir name="Billing"><dir name="Agreement"><file name="Observer.php" hash="effb891f3d00e25b28f773e3ecf2def2"/></dir><file name="Agreement.php" hash="67801cbba1740b6e5a502229102ff6c8"/></dir><file name="Cronjob.php" hash="3ac1281412e534468267e0ffc454c4a6"/><dir name="Event"><file name="Queue.php" hash="3f17b99a54cf5d910c3320e7a38d0ea3"/></dir><file name="Event.php" hash="632bfefbb6c2edab79d2be1b082a69bf"/><file name="GetPosOrderStatus.php" hash="c39d37aa3689ddf649167afdd3fd7db9"/><file name="Observer.php" hash="472170f1d2cc65ce42d0fa0f80134344"/><file name="Process.php" hash="fdbbfc7b61222edefcf81af81a12d0f4"/><file name="ProcessNotification.php" hash="f3f8309fddb687e1e2fa6f63e28636c8"/><file name="ProcessPosResult.php" hash="6630a1ed1d4a81996a7f3714d6ee6990"/><dir name="Resource"><dir name="Adyen"><dir name="Debug"><file name="Collection.php" hash="17ac8dbcf67d0df518ef2d94c3206fd5"/></dir><file name="Debug.php" hash="d1de3e55152ab586971d08950ced8faa"/><dir name="Event"><file name="Collection.php" hash="33b8b85c9c7b3d2428e9b23a9e7e0c72"/></dir><file name="Event.php" hash="4f398e0de5b8a2a9ec5f87480e13da67"/></dir><dir name="Billing"><dir name="Agreement"><file name="Collection.php" hash="d5d31eed3999e2775b3cc861cd3a8e45"/></dir><file name="Agreement.php" hash="5a269b1255f103c7b81621ee3d39fa97"/></dir><dir name="Event"><dir name="Queue"><file name="Collection.php" hash="9dffd9015dfa7cd8498e5961f9ab66f3"/></dir><file name="Queue.php" hash="b8a4c3ed5adaaacf8b6192d05937e390"/></dir><file name="Order.php" hash="32950fec5760e2e7f167af451e313129"/><file name="Setup.php" hash="4e2258146a321cad436984ca223a9e5b"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="PaymentFee.php" hash="b0d4cb5adbff8e881bb28df7cd486b37"/><file name="PaymentInstallmentFee.php" hash="da284541372973799ea956771799cb72"/></dir></dir></dir></dir><dir name="Source"><file name="BoletoType.php" hash="1a31476c4ebfdb6b16a1dd3a26015fb1"/><file name="CancelModes.php" hash="b18c30b103cdce97af41e63ef0a25a92"/><file name="CancelRedirect.php" hash="f71a598d56641cc5550812abd7f3d9b7"/><file name="CaptureModes.php" hash="1ad7052016b75000de9950d55edb235d"/><file name="CcType.php" hash="a27d98867f6c9d9245c242919a869ed6"/><file name="DemoModes.php" hash="4e3ce8113a9c78f6403861f5661f585e"/><file name="OpeninvoiceType.php" hash="c39389388338dfe0b85b10a1e9b828cb"/><file name="PayPalCaptureModes.php" hash="20da86d8d4fd60abe2b3a307e12ada24"/><file name="PaymentAction.php" hash="23224178cf58e55c308234036f629bf7"/><file name="PaymentRoutines.php" hash="7aa5525e67554ad35226cf1aaa802c49"/><file name="RecurringPaymentType.php" hash="3b137f547356d8336c3e12fb936d1a86"/><file name="RecurringType.php" hash="2a3c60c4546d9c02c842a9ea0a5ade26"/><file name="Rendermode.php" hash="66be793f4d23896dbe194ec205f51718"/><file name="SepaFlow.php" hash="8a3ce7224b1878c7fb674114b688eb03"/><dir name="Status"><file name="Complete.php" hash="1580706a7d28010ed5acc678f549df73"/><file name="Pending.php" hash="53e624a2a6b76b4e6dee7f4eece245b1"/><file name="Refund.php" hash="632e0fc0b625e85716347d21b0f585be"/></dir><file name="VisibleType.php" hash="ecc88ad246d8e52316d53f879d615803"/></dir><dir name="System"><dir name="Config"><dir name="Backend"><file name="Installments.php" hash="6c3b60719edb83eaaad1515514dab620"/><file name="Trim.php" hash="14c812083757b32cbf699bb0df54f394"/></dir></dir></dir><dir name="Total"><dir name="PaymentFee"><file name="Creditmemo.php" hash="738f7b84586d51cd875011d6b31dfd3e"/><file name="Invoice.php" hash="8aa607b99f709a5eee9b76675e2d5ada"/></dir><dir name="PaymentInstallmentFee"><file name="Creditmemo.php" hash="b40551c179c19ccea7be11a5edf6be4c"/><file name="Invoice.php" hash="5f4563813511aff2eafb98cf4943d817"/></dir></dir><file name="ValidateResultUrl.php" hash="b8253b22b7ef257dce442fe78e795210"/><file name=".DS_Store" hash="286b9ee8ade7883fb60d91c7d0c64900"/></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Adyen"><dir name="Event"><file name="QueueController.php" hash="5a97879d5c8208d78281c205ba3891d6"/></dir></dir><file name="ExportAdyenSettingsController.php" hash="dd6a859865967b0b462be96a0a2295fd"/><file name="ValidateWebserverSettingsController.php" hash="d121f82efd3ddb01e9f979e12658cb65"/></dir><file name="CheckoutCashController.php" hash="33c9f26d8fa0260ec9daccea3638c609"/><file name="CheckoutPosController.php" hash="59a14c7e7e916ab79304551072b574bb"/><file name="GetInstallmentsController.php" hash="e8401d9b5dd01efc8f6ea535087963bd"/><file name="ProcessController.php" hash="aafbda295b18b592336b1ded936ee1b1"/><file name="SavedCardController.php" hash="db57de304ee0cccc9bbec470ec27398a"/><file name="UpdateCartController.php" hash="8c41af95bb64352f7dd4024f9d210e77"/></dir><dir name="data"><dir name="adyen_setup"><file name="data-upgrade-2.1.2.3-2.1.2.4.php" hash="8262bf4038ba435fe15bd08c36814936"/><file name="data-upgrade-2.4.0-2.4.0.1.php" hash="159b832b95479ef27124b95f77fdd2ab"/></dir></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="adminhtml.xml" hash="77f449af89755295ba515ea52dfda649"/><file name="config.xml" hash="fb2d3c66d4570b5cd43444efce2b04f7"/><file name="system.xml" hash="4fe754f67b842b3dc1b2bbea600d665a"/></dir><dir name="sql"><dir name="adyen_setup"><file name="mysql4-install-0.0.1.php" hash="668e04511f498a97c29b4386055cb78e"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="ef6d899eac5abc4d359074498168aef7"/><file name="mysql4-upgrade-0.0.7-0.0.8.php" hash="b4bb110ba7f92ae542c39471d3f7198f"/><file name="mysql4-upgrade-0.0.8-0.0.9.php" hash="c72653047e7c2ea03f8b8c4bd095389a"/><file name="mysql4-upgrade-0.1.0.3-0.1.0.4.php" hash="e167964ff1156ff52b48cef5f45c0cd2"/><file name="mysql4-upgrade-0.1.0.8-0.1.0.9.php" hash="5fbf7b5fc6389115c5a3cf33d091227a"/><file name="mysql4-upgrade-0.1.0.9-0.1.0.10.php" hash="4eb123db99f8e42892cc8ea16a4ef54e"/><file name="mysql4-upgrade-1.0.0.3-1.0.0.7.php" hash="5fb0644cd6e55968f8922da5bffb23de"/><file name="mysql4-upgrade-2.0.3-2.1.0.php" hash="7f1f5240dbdd1fb37a23e16e41f5b477"/><file name="mysql4-upgrade-2.1.1-2.1.2.1.php" hash="5eea3604936ce4a041fccc9f0e0d159d"/><file name="mysql4-upgrade-2.1.2.1-2.1.2.2.php" hash="0cb4fa513156161c01b906ad3ad322ba"/><file name="mysql4-upgrade-2.1.2.2-2.1.2.3.php" hash="4c681a679ab8afa8fc145d0ecf242278"/><file name="mysql4-upgrade-2.2.0-2.2.0.1.php" hash="993470ec16fe56b3cd0024f3fb718e9b"/><file name="mysql4-upgrade-2.2.2-2.2.2.1.php" hash="c2353636858c03e61e782c7d809bbab5"/><file name="mysql4-upgrade-2.3.0-2.3.0.1.php" hash="292d256967fceedea3250c8084839ec1"/><file name="mysql4-upgrade-2.3.1.1-2.3.1.2.php" hash="7dec357d5794c114fbed759e768040bd"/></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="13a83190deeac514b06f70a83794708e"/></dir><dir name="template"><dir name="adyen"><dir name="form"><file name="boleto.phtml" hash="83c7bc35d037f426aa75c0719e8adb86"/><file name="cc.phtml" hash="6dc0219c76cd9849940247bcfce8cd99"/><file name="elv.phtml" hash="4d370d2d737f0a42ebcb33e7151ecee6"/><file name="hpp.phtml" hash="37215ae3782ea83b05afa6fef361e3bf"/><file name="oneclick.phtml" hash="83b4dde8e30b8bcca800b8f9a2995eca"/><file name="openinvoice.phtml" hash="33127af4713430e153cccbe8684fab13"/><file name="pos.phtml" hash="c07c11d348fced7d889ded4fc77e3363"/><file name="sepa.phtml" hash="3e7f2bbb445a9cff8794ce35a1c0941a"/></dir><dir name="info"><file name="boleto.phtml" hash="78f08b7f59ff049f189d61758b7abced"/><file name="cc.phtml" hash="608567b02456894e5b1dbaa2484a9380"/><file name="elv.phtml" hash="bda2d4870da5a283d9561b66b76e8114"/><file name="hpp.phtml" hash="9a9466f19178acbf2ac01c4192f283a2"/><file name="openinvoice.phtml" hash="86fecfa81c87af7464f38f43c7db9be6"/><file name="pay_by_mail.phtml" hash="617bf20851918b200a4a980a68908162"/><file name="pos.phtml" hash="dfef416dc70f315bf9904dafce4f19d6"/><file name="sepa.phtml" hash="ca2a1b25f4652e9411ae6ff8b2a0f04e"/></dir><dir name="pdf"><file name="boleto.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="cc.phtml" hash="ecc91b3df7776b2c2a6dc4a52d1892d2"/><file name="elv.phtml" hash="50853749a944124f076d129fd5e6cfa9"/><file name="hpp.phtml" hash="4cdb4f7c88b6556fc847c21d5d4b7ffb"/><file name="openinvoice.phtml" hash="742b87babbb612032d68a8e79d31e89c"/><file name="pos.phtml" hash="a3dc27a6607b4978c93b21d945661e5c"/></dir><dir name="system"><dir name="config"><file name="test_webserver_configuration.phtml" hash="37a164e5cd04d1acf1788530464c2f0d"/></dir></dir><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="adyen"><dir name="checkout"><file name="success.phtml" hash="4c06b168acd8971e20a7c8d1205c264b"/><file name=".DS_Store" hash="21ecd78ea5715d7392b2d8a533c6630a"/></dir><dir name="form"><file name="boleto.phtml" hash="309a0152cd5219e2c22da4270307222c"/><file name="cc.phtml" hash="280e00a99e4f624802b783be55b2f16a"/><file name="elv.phtml" hash="789610e3d1f8973f6aecb4ef119a59c9"/><file name="hpp.phtml" hash="5e2f2ed4fb91dec2d62a0311a21415e0"/><file name="ideal.phtml" hash="212145dd528c084866a441f3bf1b7c11"/><file name="oneclick.phtml" hash="5a41066b1452fdc7266b0ef6224c0ae3"/><file name="openinvoice.phtml" hash="659c5385af90f70f910d1f3605a0613b"/><file name="pos.phtml" hash="07cbc4b9dbbe63849599dbfd4339cd44"/><file name="sepa.phtml" hash="d4ab9b8e8d22d7b9e48739ecbdcbc2de"/></dir><dir name="info"><file name="boleto.phtml" hash="c526f9c4badab3afaa771872bb4687f1"/><file name="cc.phtml" hash="bddf7526385423c2b114b73930b2e475"/><file name="elv.phtml" hash="8b850e97ea84e1de5ead4ec487c4356f"/><file name="hpp.phtml" hash="8999dfee0c638f44b5010779b8bbf711"/><file name="openinvoice.phtml" hash="2bcd711e1255923d53f353819e19529e"/><file name="pay_by_mail.phtml" hash="dfec526ca747a5d99749b5a678fe51c5"/><file name="pos.phtml" hash="9b917920aa1cc77c9e8c3a26943b1335"/><file name="sepa.phtml" hash="c886a3d9923c3ade6ca5056f18c1b856"/></dir><dir name="payment"><file name="payment_method_label.phtml" hash="256b943044431874fbaea43760544fcc"/></dir><file name="pos_express_checkout.phtml" hash="9dbbc2237dfda2c735bfb853a5f20efd"/><file name="saved_cards.phtml" hash="b0ff50d615273804c0f6fef55ce31cf9"/><file name="scan_product.phtml" hash="52debaeda87ba10822de566380c06c56"/><file name=".DS_Store" hash="ab6d0ae72b40033c9fed5850d3f5d499"/></dir></dir><dir name="layout"><file name="adyen.xml" hash="89f26f2f2778d7e73ab597207bc59831"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Adyen_Payment.xml" hash="e4d297a9b401c4548acb47aea1ae41d9"/></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Adyen_Payment.csv" hash="234e273815241c088c366ab47da8bba1"/></dir><dir name="es_ES"><file name="Adyen_Payment.csv" hash="04710d9f43bf96254381c148007b1b79"/></dir><dir name="fr_FR"><file name="Adyen_Payment.csv" hash="1ac7b18d6f50ae14624693f396511340"/></dir><dir name="nl_NL"><file name="Adyen_Payment.csv" hash="06eaf9a8fbb47744c244a1e31b354e9e"/></dir><dir name="pt_BR"><file name="Adyen_Payment.csv" hash="5fd4c905a217d795d5e3d39f8d945d2b"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="adyen"><file name="ABNAMRO.png" hash="a621e7f4cf1c3340ac5147fef5544bfe"/><file name="ABNAMRO.xcf" hash="eac24c953dcf05d40ce928ccab2af90f"/><file name="ASNBANK.png" hash="13034bc0836590cfb0ec7b6c3076e435"/><file name="FORTIS.png" hash="3b68fa26a90f8cd44e2f8dfcb5f72fe8"/><file name="FRIESLANDBANK.png" hash="c1388a9b8a170260b0b72da9b2cd2dbf"/><file name="ING.png" hash="b08f829cf67322875ca12d5fc36ac191"/><file name="KNAB.png" hash="4df678f84bdf11db9b75d1e539a0367c"/><file name="POSTBANK.png" hash="ea0ffd9d3e9717fe0bdc160d8cd92482"/><file name="RABOBANK.png" hash="f09418ebbd0d6daf21786d5bde93e856"/><file name="REGIOBANK.png" hash="0c3a984ce817e4d3ec98549be7704712"/><file name="SNSBANK.png" hash="75f988e3ab935d6d509a86f82422f474"/><file name="SNSREGIOBANK.png" hash="34a70ac0e1e0a8cfb56c77a5b1da3c80"/><file name="TESTISSUER.png" hash="0110aadd0f619b39f357b98b63e3ff69"/><file name="TESTISSUER10.png" hash="b2462fe98e69d211e92771ae75f48552"/><file name="TESTISSUER2.png" hash="471cc38e61077fdaba8fd868fea22dfe"/><file name="TESTISSUER3.png" hash="4ca46be0b7607dc95caccb5ec974e0a8"/><file name="TESTISSUER4.png" hash="6e31a3d3e73390432a84e394a1937c5d"/><file name="TESTISSUER5.png" hash="78b758fef66f220e79b1b9ecda8851d2"/><file name="TESTISSUER6.png" hash="4aefac8baaa06592c8a80f085c0ade08"/><file name="TESTISSUER7.png" hash="0474b1a3264ef45068013747a27158d2"/><file name="TESTISSUER8.png" hash="5e655c4af04b417acecac6fd66623662"/><file name="TESTISSUER9.png" hash="6e378c3b7c75febd0be361ec39c55e45"/><file name="TESTISSUERCANCELLED.png" hash="c794eeb78ef618c3e9dcd8b444b7b23f"/><file name="TESTISSUERPENDING.png" hash="04ee87a5c35a491e624719a3c885d492"/><file name="TESTISSUERREFUSED.png" hash="2f7e2bad6857f39f32afd09eb846e55a"/><file name="TRIODOSBANK.png" hash="922b1fcd51306e0d0da6b15ebe640d8c"/><file name="VANLANSCHOTBANKIERS.png" hash="0a5d713a5c73c54e90507743456c5657"/><file name="achcolombia.png" hash="1f1339c682440cfd7584f9ba00f59722"/><file name="achcolombia_small.png" hash="d6b2899a0039de82788c831b00dd1533"/><file name="achcolombia_small_grey.png" hash="bcae575368bdcdb582423e28ac7a56e9"/><file name="achcolombia_tiny.png" hash="a287c57b8bcc821371758da895db6437"/><file name="advance_payment.png" hash="5aba603621b4b21cc05b7eae1f7455da"/><file name="adyen_logo_large.png" hash="70726ef290d0eee3ed163eb751091813"/><file name="ae_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="afterpay_default.png" hash="a62e3982d50612522be071d4e86eaa6a"/><file name="alipay.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="alipay_small_grey.png" hash="e5ffe7ff272ce2814b7808fd047a9c6b"/><file name="alipay_tiny.png" hash="1a7867dd958ddcdd90ad2400e5be23de"/><file name="alipay_wap.png" hash="e3773ada96577e575c9e1300a89a5875"/><file name="alipay_wap_small.png" hash="f9848d15fc7ee22b6687ccdbe7f36a16"/><file name="amex.png" hash="8e3b962f9ef18e08cf16b77934607d28"/><file name="amex_small.png" hash="6ce7c9a2b330c9c46f0213c40db55683"/><file name="amex_small_grey.png" hash="0f6aabd8dfcbf48dbb555b9191d7795e"/><file name="amex_tiny.png" hash="b7016f4efb163c985d6f1d99a8433d2a"/><file name="asiapay.png" hash="44626dc317e547fb40010498c1096407"/><file name="asiapay_small.png" hash="cca4d86b5abc510f20ca9563d7215c3d"/><file name="asiapay_small_grey.png" hash="00e20b2b2eb0d2ad51c15d8ccc558dc5"/><file name="asiapay_tiny.png" hash="ba0d613d94a64918c0338504fed20ee7"/><file name="autopay.png" hash="4251763c71239e7b1b421e4bc7f5b70a"/><file name="autopay_small.png" hash="ca6941b80b6157bae2411b5620149d2d"/><file name="autopay_small_grey.png" hash="f69d143b4f1fc16a9138ccfacec808a4"/><file name="autopay_tiny.png" hash="4c0c91402daafc63bdb5979dbbd963db"/><file name="babygiftcard.png" hash="91bcbb6604b26565b89898c9a8e1e117"/><file name="babygiftcard_small.png" hash="2558bbdd4d9528b37ba93a8c4af536a4"/><file name="babygiftcard_tiny.png" hash="393a192fab9874e3b167c3bc5d568db7"/><file name="baloto.png" hash="1c172c628f79837c83196b243c636ff5"/><file name="baloto_small.png" hash="c66db84ac7fed6f81010e8058fa39a74"/><file name="baloto_small_grey.png" hash="bdc5eac76e02a658b348a0722fca9ba9"/><file name="baloto_tiny.png" hash="5e10ee14c8a44c3b4c28571664fa045f"/><file name="bancnet.png" hash="a2b687ef27244e448b85635cc1d3ec60"/><file name="bancnet_small.png" hash="4473bc16badc29200ffd09021778b1e3"/><file name="bancnet_small_grey.png" hash="6b108ea906b6d6a5ad51e4de6db732eb"/><file name="bancnet_tiny.png" hash="0ac28b35fd4e09954debcd2eb42e89ce"/><file name="bank24.png" hash="9a921572d6bae73604e1122ec3e5bf7e"/><file name="bankTransfer_AE.png" hash="a6f29729723fa65c732ffc9267b3f8be"/><file name="bankTransfer_AE_small.png" hash="a3322805ab1c40c4e6237943185284ab"/><file name="bankTransfer_AE_tiny.png" hash="dfcf50c97c3b832fd3c17efb2864335c"/><file name="bankTransfer_AT.png" hash="7fa4204d1426a64a4cd26af06af44d41"/><file name="bankTransfer_AT_small.png" hash="31037dcf034d1e9d28254d1962b2ca16"/><file name="bankTransfer_AT_tiny.png" hash="4ee9964118e05d2a81335f3033ec5bf1"/><file name="bankTransfer_AU.png" hash="05716c67579fcf3574037ce69c9e4229"/><file name="bankTransfer_AU_small.png" hash="acd23b8e3ccf3c9d28960fde63c22e85"/><file name="bankTransfer_AU_tiny.png" hash="4a3ee62afdac23a00a0675c763e93470"/><file name="bankTransfer_BE.png" hash="5547426f07e0562ba9b605f1f04a9ad7"/><file name="bankTransfer_BE_small.png" hash="007dbd9f27115b601eb94db09a10b8f3"/><file name="bankTransfer_BE_tiny.png" hash="cf0285a691339efad52d82d40c7aa9f1"/><file name="bankTransfer_BG.png" hash="be209415f5bec0a45bd2bd9cd3c41d0a"/><file name="bankTransfer_BG_small.png" hash="6249144aa579c494988b5bbecb22eb69"/><file name="bankTransfer_BG_tiny.png" hash="7c11956844dbf7cc76db038b32fc7ab1"/><file name="bankTransfer_CH.png" hash="9b20d62386085ac2c9da1227abec5d58"/><file name="bankTransfer_CH_small.png" hash="2887bcf97901ed7ed6bc4fb5d8a00876"/><file name="bankTransfer_CH_tiny.png" hash="c0218d075bbb503689f40007a331ba85"/><file name="bankTransfer_CZ.png" hash="78f7aac275e10af77b3bbab28ba1aa23"/><file name="bankTransfer_CZ_small.png" hash="7bf17799b64aa618945981eb7fa00cce"/><file name="bankTransfer_CZ_tiny.png" hash="7f2a7e2fde701bff21fa388776e73632"/><file name="bankTransfer_DE.png" hash="989d5e1cc2547504b0fbc7aa88e08713"/><file name="bankTransfer_DE_small.png" hash="fb50048c4acfdebf85c4c8f90d8b08d9"/><file name="bankTransfer_DE_small.xcf" hash="cfbc9a47bc116e97a121771c0aa6fe83"/><file name="bankTransfer_DE_tiny.png" hash="d4d68f1068df68f61cb828005c9c0ac9"/><file name="bankTransfer_DK.png" hash="a2e9a409144a8ef18747faafa2937609"/><file name="bankTransfer_DK_small.png" hash="71e75c357b475fe236b633ac8a2a76cd"/><file name="bankTransfer_DK_tiny.png" hash="0103bbe5b8a803aad990bd4ad53c88c0"/><file name="bankTransfer_EE.png" hash="9caa3e1ac3558e9ec372c45df045bae6"/><file name="bankTransfer_EE_small.png" hash="91ffe550444bac13ac29ac1696ffdfac"/><file name="bankTransfer_EE_tiny.png" hash="59ea293d7ba58cd6dd9a9a2b43088093"/><file name="bankTransfer_ES.png" hash="7d0051c7ee32eddca94b89368bb5afbe"/><file name="bankTransfer_ES_small.png" hash="2dc1519510ef7bea726e0bca70859c06"/><file name="bankTransfer_ES_tiny.png" hash="a2338a0d60b2585ac34269daf794d189"/><file name="bankTransfer_FI.png" hash="ffbe8dfa936a4628e3c029bd957f367d"/><file name="bankTransfer_FI_small.png" hash="1db5d45d947502483a2e8c40aab3734d"/><file name="bankTransfer_FI_tiny.png" hash="b9f26cef0fc7f051b6d79ada14c902ba"/><file name="bankTransfer_FR.png" hash="572f77cf0f22103300682c5f89e9d9e9"/><file name="bankTransfer_FR_small.png" hash="58a268c927e4d19858ed3241ceac05f8"/><file name="bankTransfer_FR_tiny.png" hash="dee4c0c47d94fb0e2ab032264c4d1543"/><file name="bankTransfer_GB.png" hash="5a7eee2f31bec7bf422425f31aea2d5a"/><file name="bankTransfer_GB_small.png" hash="17d3c0ca20cee2250e3b6d0f5f080ba9"/><file name="bankTransfer_GB_tiny.png" hash="24d7d3ce5dc62ef776f3f36f24ff78b1"/><file name="bankTransfer_GI.png" hash="e9035b335bd8dc809c7e4afc7d775cc0"/><file name="bankTransfer_GI_small.png" hash="e51bd2f8333a8d8b2163c777c5b12b48"/><file name="bankTransfer_GI_tiny.png" hash="d158401d4dd73a057adac68f3f23ad89"/><file name="bankTransfer_GR.png" hash="aefe60c85d74d77d1c1327538617f297"/><file name="bankTransfer_GR_small.png" hash="b9a0a5d6ec52c80d72d8e8cf903f37f3"/><file name="bankTransfer_GR_tiny.png" hash="1dc0912afd646785eade5d8785baa12c"/><file name="bankTransfer_IBAN.png" hash="f636fcae0c128e08baaef26dacaa078d"/><file name="bankTransfer_IBAN_small.png" hash="ffc0073f2fe405de05206cdfc1565daa"/><file name="bankTransfer_IBAN_tiny.png" hash="4a4f64cb62ca9cfec99d117d0169bb83"/><file name="bankTransfer_IE.png" hash="eb6efba5502d54571022feaef9a9ded3"/><file name="bankTransfer_IE_small.png" hash="d9359e8a2bf8c04d4d43acdcc8b30a5e"/><file name="bankTransfer_IE_tiny.png" hash="b3a0f75656b535960c362baaabc45ce3"/><file name="bankTransfer_IT.png" hash="cd56062b943e4ec6716bc72ebe4b62a9"/><file name="bankTransfer_IT_small.png" hash="29ac58a26ae12dc26dd2d501262ed361"/><file name="bankTransfer_IT_tiny.png" hash="c45892a3e2ae81bb9b4508d79164e556"/><file name="bankTransfer_JP.png" hash="20023e2e93afc881740ea74e89251d86"/><file name="bankTransfer_LU.png" hash="b3dbdeea3429de5280c3a6d911930e9a"/><file name="bankTransfer_LU_small.png" hash="ebb919c647653075be4d9bfaeec8c00c"/><file name="bankTransfer_LU_tiny.png" hash="ec058289aef35f481077c56cdf758032"/><file name="bankTransfer_MT.png" hash="8955bc706cf66307ba69e58d8006af2d"/><file name="bankTransfer_MT_small.png" hash="13ce68bbda83c39b8719d356705da6d2"/><file name="bankTransfer_MT_tiny.png" hash="b05aa11e844f09fa797a3540534e5155"/><file name="bankTransfer_NL.png" hash="ccffd7131f791f7eb44e21b42fd66cc4"/><file name="bankTransfer_NL_small.png" hash="90f18f3784ec4c4733891aafd2e83958"/><file name="bankTransfer_NL_small.xcf" hash="ac17edd9804089820e9d73c76441abfc"/><file name="bankTransfer_NL_tiny.png" hash="61e9d461381aa1fb7e9dbcc8012686e0"/><file name="bankTransfer_NO.png" hash="ffcb1204470ff94a7cf2025e000e4978"/><file name="bankTransfer_NO_small.png" hash="daab5aceaf8e4dd59dfcf29fa69cdc24"/><file name="bankTransfer_NO_tiny.png" hash="3fbbf9e381d8d0d9ada61a54778655cb"/><file name="bankTransfer_PL.png" hash="cd25fefef6bce86a97ab7242138360e2"/><file name="bankTransfer_PL_small.png" hash="880b17d7d090c7bd21965e9b78894851"/><file name="bankTransfer_PL_tiny.png" hash="9579393e3dbb3c2aeb7ebf35e54ef4e7"/><file name="bankTransfer_PT.png" hash="c3c652523d77b5d085da97111c96ef9e"/><file name="bankTransfer_PT_small.png" hash="9d3a979ef52298bcc1545b131bd4a3db"/><file name="bankTransfer_PT_tiny.png" hash="cf2be093140773d75d8993fab7aa347c"/><file name="bankTransfer_SE.png" hash="e5608461fa8bdbac771449f30cde91ec"/><file name="bankTransfer_SE_small.png" hash="0f57f6092f8bef25c9973a140a2d85ad"/><file name="bankTransfer_SE_tiny.png" hash="79f3a00608bf18d686d89562af80a72f"/><file name="bankTransfer_SK.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bankTransfer_SK_small.png" hash="50adde906c3a965992bbfb04554a5371"/><file name="bankTransfer_SK_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="bankTransfer_US.png" hash="9013561099b618aa954f5a3e1352a6ce"/><file name="bankTransfer_US_small.png" hash="191e204c1216a199229da9d75ed1a2a5"/><file name="bankTransfer_US_tiny.png" hash="9d9e942b93d13a18e38aac0ee932fe15"/><file name="bank_ru.png" hash="2390a923affb1640b1b8bb801ce04705"/><file name="bank_ru_small.png" hash="01c263789dd7e38ac4078f55161ec19b"/><file name="bank_ru_tiny.png" hash="d4866f13969214fd774ea1c427a048e6"/><file name="barras.png" hash="389f5242e23cc5b386392d5d21459f21"/><file name="barras_small.png" hash="9e657657b963a1434e88d4289acf9448"/><file name="barras_small_grey.png" hash="d14dbd53e9a52706bf736525a90d8f63"/><file name="barras_tiny.png" hash="e46d37c7e69ef3722876a0205431f1c8"/><file name="bcmc.png" hash="28dca1b34022f2c653c13556c452fce3"/><file name="bcmc_small.png" hash="49698208e5b73f80773260c3fdb3e5a3"/><file name="bcmc_small_grey.png" hash="5069f14bff23c074af6fe2092a2e482a"/><file name="bcmc_tiny.png" hash="3b4221516dc0d1ace3432a473903991e"/><file name="beelinesms.png" hash="a559096cb240aaf7696be7563498b18b"/><file name="bijcard.png" hash="c93da8e22fac6869d729e961df24b593"/><file name="bijcard_small.png" hash="f188b92b77af1613a91c00450d3eb168"/><file name="bijcard_small_grey.png" hash="08eb4420ac9f7a7f691d688e9550f651"/><file name="bijcard_tiny.png" hash="b88eeed8f7318514f849e3ed3a9a2ce8"/><file name="bill99.png" hash="461213bcf10fb394ef524d3a0ad92ee0"/><file name="bill99_small.png" hash="d6e30f7d3da5ce34af3aa7e2353b4809"/><file name="bill99_small_grey.png" hash="a66c49f3556fa99301f4288341eaa014"/><file name="bill99_tiny.png" hash="d10dbbf6512e15252ad6d1337670a7fd"/><file name="boleto.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_hsbc.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_itau.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="boletobancario_santander.png" hash="3968115c3576a14f7cdc8ebd98c8092e"/><file name="bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="c_cash.png" hash="1b9d5b0c9ece2eaff0be71b4082e0655"/><file name="c_factuur.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_factuur_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_factuur_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_invoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_invoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_invoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_oprekening.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="c_oprekening_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="c_oprekening_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="c_paypal.png" hash="fe5fd0065e4a84e967095f082b329d7f"/><file name="c_paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="c_rembours.png" hash="fb2da23375ce5ba67380dc0fb60e7669"/><file name="c_rembours_small.png" hash="0d0f244c1820921db3a6635552cf8129"/><file name="c_rembours_tiny.png" hash="c15d78de45389d475f2786fed3e81c4b"/><file name="card.png" hash="adfe3d9fe45c3f94b9edca852e2cb38c"/><file name="cartebancaire.png" hash="071cdf833242a50dda3394c3c2ed9433"/><file name="cashticket.png" hash="0dba12beffb7c5ebf47ae1e5701426f3"/><file name="cashticket_small.png" hash="ade5518971a871dd48b0628af6f6cf89"/><file name="cashticket_small_grey.png" hash="348c3721fbedfb2a7121f57db435f43e"/><file name="cashticket_tiny.png" hash="95248971eb69c150748b9acf27f68fb5"/><file name="cashticket_tiny2.png" hash="16ab15f5263fe81ab5233d02ce2cd715"/><file name="cashu.png" hash="1b6d79438ad686cdff44866a66445dca"/><file name="ccavenue.png" hash="aee563b4c9c77d8a881db1e79ad8758d"/><file name="ccavenue_small.png" hash="ffa7390808c679e8d6c580fcf14054fb"/><file name="ccavenue_small_grey.png" hash="9a6c58e88230fb6a167e597752a533ab"/><file name="ccavenue_tiny.png" hash="994d56725d095d107fb33c6f3abf7653"/><file name="cellpaypoint.png" hash="c676483390c0c7e932a320b6326593da"/><file name="cellpaypoint_small.png" hash="f720447e73325b922568a00d0effe75c"/><file name="cellpaypoint_small_grey.png" hash="c6deea99f2099ade43b2b75dcb62f273"/><file name="cellpaypoint_tiny.png" hash="5c00501360e94b3020ff54bccbc2e531"/><file name="ciberpay.png" hash="625d300997f331918e912dc266e1a3a4"/><file name="contact_ru.png" hash="5f70b79ee4232a81a9f7eb0224b0ba3c"/><file name="creditcard.png" hash="87a9f022a38f3e96981c420d6571381f"/><file name="creditcards.png" hash="cd1a83b970a38307c2899f9949495a00"/><file name="cup.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="cup_small.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="dankort.png" hash="aac4acc9e43e896973f36d3e7011a5af"/><file name="dc_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="di_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="dineromail.png" hash="9058ea237d278d5fd238c2d180807c57"/><file name="dineromail_ar_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_ar_argencard.gif" hash="422ea3362cc44616f72a887f5cba66c6"/><file name="dineromail_ar_banktransfer.gif" hash="758e12e370a5b213996ea1f39259721a"/><file name="dineromail_ar_bapropago.gif" hash="df51325a4fae890a5a6673f92bb64f5d"/><file name="dineromail_ar_cabal.gif" hash="98f6cc5d54df43b4c4a17d9fc2dfb9bd"/><file name="dineromail_ar_cobroexpress.gif" hash="910960360ea1cd632a69ab500cd627ee"/><file name="dineromail_ar_dm.gif" hash="b458246e266ecb059865ab17b7673882"/><file name="dineromail_ar_italcred.gif" hash="aa4376df77748d39c670001794e7991f"/><file name="dineromail_ar_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_ar_pagofacil.gif" hash="2c85235d6dff444b1b914488d035eb7b"/><file name="dineromail_ar_rapipago.gif" hash="c745eb4d456f03c6643f40e77f9ad6ac"/><file name="dineromail_ar_tshopping.gif" hash="552daaa4621397aaed5cea3ad5fc89ec"/><file name="dineromail_ar_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_ar_visa_hipotecario.gif" hash="bbdb3933302107611678bd7a87779a6c"/><file name="dineromail_br_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_br_aura.gif" hash="b4a8dea00ceebb3d1d64660a997ac22d"/><file name="dineromail_br_bbancario.gif" hash="d9adffbdf626846cfe11b874c5bc0715"/><file name="dineromail_br_diners.gif" hash="b4f437b40f747842cb32becf8af28eb4"/><file name="dineromail_br_dm.gif" hash="65fa3eb604d2d5cd64b76ea0419788a6"/><file name="dineromail_br_hipercard.gif" hash="329dd978884c554fc8c0a37bd6c1ded9"/><file name="dineromail_br_master.gif" hash="126cdc5db597363e5934cf19205f8f45"/><file name="dineromail_br_oipaggo.gif" hash="9cad6e46ea39ec1d6af77ce9322835c1"/><file name="dineromail_br_visa.gif" hash="61c86fd2afade160736b1c318a8280a6"/><file name="dineromail_cl_amex.gif" hash="d4942bf6dab3c072e701e709adaecf78"/><file name="dineromail_cl_diners.gif" hash="9f5bccfc0ab73993405821859dab56b0"/><file name="dineromail_cl_dm.gif" hash="0b886856a701eff48c710a4812f999d0"/><file name="dineromail_cl_magna.gif" hash="bbbbed0d123e619dbf9ffc3308cb4f6e"/><file name="dineromail_cl_master.gif" hash="38b5c034caa6249caf49256f7df4894c"/><file name="dineromail_cl_presto.gif" hash="fa18e40e599f4216d0efea05d9329b5b"/><file name="dineromail_cl_ripley.gif" hash="8a0fe5295feeb9959f2dedf17b304215"/><file name="dineromail_cl_servipag.gif" hash="51cc675b605ce7dd88016743fc324e09"/><file name="dineromail_cl_visa.gif" hash="87fa159904723d830b30d9a0f2f2ff00"/><file name="dineromail_mx_7eleven.gif" hash="7595248bd6c735fc9cd28a0afe9e035c"/><file name="dineromail_mx_amex.gif" hash="4a94da8ec02c565e8cfcb66fbfffe362"/><file name="dineromail_mx_bancomer_tc.gif" hash="b2854f409126920b1c9cf8ed3792a349"/><file name="dineromail_mx_dm.gif" hash="9eede7e49ebcb145494952f6edb749b2"/><file name="dineromail_mx_hsbc_tb.gif" hash="1fb60730a0dfe9d0a0ebef45af1d8fdd"/><file name="dineromail_mx_ixe_tc.gif" hash="6e19e5be52b5bfce749f16b26e933c2e"/><file name="dineromail_mx_otherbank_tc.gif" hash="df05af375e248dcc04324aa92b6163b0"/><file name="dineromail_mx_oxxo.gif" hash="ee69da5b06d9c52ef76dd1a20bab5ebb"/><file name="dineromail_mx_santander_tc.gif" hash="5bb0f9600b1b8ad67d0a418c2412a506"/><file name="dineromail_mx_scotiabank_tc.gif" hash="dbe7bdd2d9327086cae42ee6a842d00c"/><file name="dineromail_small.png" hash="356e06d5a2fd5f98f3da4dfc192e389c"/><file name="dineromail_tiny.png" hash="98f6b908f7025a8babaffafcc1336428"/><file name="diners.png" hash="6310bb53fe7921cf016309d6a75b8c22"/><file name="diners_small.png" hash="ecf5d635a74460ca9575bb7d6d8550dd"/><file name="diners_small_grey.png" hash="77ff46143b8a4aab54eb35c345806a83"/><file name="diners_tiny.png" hash="881b5998d35cc373d294ca21689015d5"/><file name="directEbanking.png" hash="6d7ce2ff213c33743d80ab83fb24e8de"/><file name="directEbanking_axa.png" hash="3d90797ef39a0db23dd6373bdfef9ee8"/><file name="directEbanking_cbc.png" hash="f23617618a9e2ce7863a931947b49adb"/><file name="directEbanking_de.png" hash="9fa16b098e744e94553952c5a28c7dd2"/><file name="directEbanking_de_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_de_small.png" hash="5f65ee79ae22c4ba52e6a8485cf155cd"/><file name="directEbanking_de_tiny.png" hash="15983a607b8151f0be3b5ecfb067ea7a"/><file name="directEbanking_dexia.png" hash="37ebcc9a12bc9c88d540f78adf9bd679"/><file name="directEbanking_fintro.png" hash="389b1a7b14e5466b7b0dd4721aee0433"/><file name="directEbanking_fortis.png" hash="511cc06fefa644cc7575a0efb227bd64"/><file name="directEbanking_grey.png" hash="109b1237e5d69d7ae82dc9a64d6ab4fd"/><file name="directEbanking_ing.png" hash="ac4f224d0fe9aee23d143acc5198dd72"/><file name="directEbanking_kbc.png" hash="eae3c85e332e4289841bd27a46031db3"/><file name="directEbanking_small.png" hash="db84d47793f8e375d48dc8b17f8a0ddf"/><file name="directEbanking_small_grey.png" hash="7f4fbbcfe647cf8d280238754061d042"/><file name="directEbanking_tiny.png" hash="7d804d09c7df931eb9cafc2d3a4984b1"/><file name="directdebit_BR_bancodobrasil.png" hash="784271e1bf909c95e79ff7de4d92ed5b"/><file name="directdebit_BR_bradesco.png" hash="d5ae6f8cb39883cce8c97c0d11257a4c"/><file name="directdebit_BR_caixa.png" hash="a0d69bc8a40bf120fc2138a694c31186"/><file name="directdebit_BR_hsbc.png" hash="4943f73d211b8111fd81ca8d4e06160d"/><file name="directdebit_BR_itau.png" hash="b24ed466c1d694dca7dc26ee42dbf330"/><file name="directdebit_BR_santander.png" hash="bd73ea7f9f46b0ed583e764f01e9a8d0"/><file name="directdebit_NL.png" hash="cf1246761401ad866b72d7b520506b22"/><file name="directdebit_NL_small.png" hash="2e6a7444f509232818458312f28f8c50"/><file name="directdebit_NL_tiny.png" hash="99ea09a985cf0221ce87d3696211704e"/><file name="discover.png" hash="491378a0e2ae6223ab41fc925b67575d"/><file name="discover_small.png" hash="8573aebe4938afb288749badb22aa091"/><file name="discover_small_grey.png" hash="e60b18fcd2f0509c02a08fa0bf7024b2"/><file name="discover_tiny.png" hash="78a2cb6ccedb121d3138b280e1778f84"/><file name="dotpay.png" hash="a09962a7357374482444accf6b066037"/><file name="dotpay_inteligo.png" hash="25492f3d9eaabae7aa1441fdf24947b3"/><file name="dotpay_moje.png" hash="1c948c8e2db27f09e44e4c6f3591e39c"/><file name="dotpay_mtransfer.png" hash="e9ef4a420639f227e650c9e456235059"/><file name="dotpay_multitransfer.png" hash="b604e3e946b41437bc485b0a95a76b2a"/><file name="dotpay_nordea.png" hash="cfda5216a9ae9b829e5121bbfaaf887b"/><file name="dotpay_potzta.png" hash="88670102fd0e7f532357d06ec66a8ec6"/><file name="dotpay_przelewz.png" hash="06cbe8767f3b1810e2a72b19a1bcc9c7"/><file name="dotpay_przelewz24.png" hash="64143c67feac20a193fd459ba0a6e8b4"/><file name="dotpay_small.png" hash="aabbcc9e2471e044c38ab63d8aa6d48f"/><file name="dotpay_tiny.png" hash="5c746221e7ec781c18bb4d7e6f0a66a0"/><file name="dotpay_zabka.png" hash="a6edae22b53cdd3b997f8c9b50840b2c"/><file name="ebanking_FI.png" hash="7d717c71a9174624d8e30a314c4f091e"/><file name="ebanking_FI_aktia.gif" hash="092c03a2319bd7c5d8fc9dc98516be46"/><file name="ebanking_FI_alandsbanken.png" hash="d64698c6c6dc9b6c8e1d2179dfb61d8d"/><file name="ebanking_FI_handelsbanken.png" hash="06f99903ea285bc5cf392ea6c642a267"/><file name="ebanking_FI_nordea.png" hash="c68ecd7c03b5d6a0819110c56df501e8"/><file name="ebanking_FI_osuuspankki.png" hash="cf9f495363970b9da3dbbaffe1031225"/><file name="ebanking_FI_sampo.png" hash="e5b4bd2ac745258b22ab832be253654a"/><file name="ebanking_FI_small.png" hash="57635f01d33e65d40af90d3ab4088ad7"/><file name="ebanking_FI_spankki.png" hash="e88599e1318b54be1990363607819811"/><file name="ebanking_FI_tapiola.png" hash="27ad56685d2e0e641a8d3e95942630ef"/><file name="ebanking_FI_tiny.png" hash="b0e3de2e531c362daaac6063c7a59d9e"/><file name="ebetalning.png" hash="0bc7c8cc01264df81ad06b0b75ce7c0a"/><file name="ebucks.png" hash="33d683c3a6f4f61df3c36e09d867936e"/><file name="ebucks_small.png" hash="c2afb7964e668ba7ba0416682fdd831b"/><file name="ebucks_small_tiny.png" hash="dd79fc153f0a7fcc79e628383e76ee26"/><file name="ebucks_tiny.png" hash="6085ef04ad96289d6a98e429c6d061ba"/><file name="elba.png" hash="8d2bfd3e8c0953b5d1ba80e201d25069"/><file name="elecsnet.png" hash="4a27849dfd5a8bc6771a962aff3908f4"/><file name="elo.png" hash="d8ed45be5e2a933584a58c78a5ec3568"/><file name="elo_small.png" hash="b0c3bec4e8cccf4339e142365a30fca7"/><file name="elv.png" hash="8e47d6ce919e1be80328665798d387ec"/><file name="elv_small.png" hash="a565fd570c28204b7ed0e92ebf667012"/><file name="elv_tiny.png" hash="3c9d929660d6279f255c7be9bf02ee8f"/><file name="empty.png" hash="65d7e6c42582ea986cb66ad78768b2ae"/><file name="enets.png" hash="5eae578677220e7085374936ffc2ec6a"/><file name="entertainmentcard.png" hash="df44b82c45f98790ea0e8866ecb5fee7"/><file name="entertainmentcard_small.png" hash="0466be6962e63c80c766ca4b092cded6"/><file name="entertainmentcard_small_grey.png" hash="32b0a15b2467decf84db199cd6db3bcf"/><file name="entertainmentcard_tiny.png" hash="2a7610575298bf7029bbbfad2bb86596"/><file name="forwardmobile.png" hash="023348014c3838963e48bdc8b397c387"/><file name="frame.png" hash="5e2226d7539f5d95dabe5988f4446282"/><file name="gallgall.png" hash="2e6b9f6aafaebe09112e089c05aa64ea"/><file name="gallgall_small.png" hash="24fabea2d5af04bedf9dd69e2368b943"/><file name="gallgall_small_tiny.png" hash="671cb1ce378d811cddaf77af7545d365"/><file name="gallgall_tiny.png" hash="769bf04c15a3b81f06940c237c3b3706"/><file name="giropay.png" hash="469cb654fe84b923b86b06723455ef9d"/><file name="giropay_small.png" hash="444f3a6307bb83a1d20d19e1cb8237f9"/><file name="giropay_small_grey.png" hash="565dd52d036a87d5c515c8bec4cef4f3"/><file name="giropay_tiny.png" hash="3a677e8d71ce59332e012db5bc343106"/><file name="globegcash.png" hash="580003d47ef03a6d1c7203bfc250b6d3"/><file name="globegcash_small.png" hash="cd18f17b46acb7ca15370b000f9bfa95"/><file name="globegcash_small_grey.png" hash="36e88a7a7170eb0c5ca7d3a8f2b08f13"/><file name="globegcash_tiny.png" hash="006794f78d9a43a56543a6e6b5a7ebd8"/><file name="hansabank.png" hash="b4dad91137678e09a650e1c6693e98d3"/><file name="hdfc.png" hash="b6e57b76ee8920607a2a0a809ee40d48"/><file name="hdfc_small.png" hash="1b9e555bfab7c0f11631dfecacffa637"/><file name="hdfc_small_grey.png" hash="cadac6a01cdab50cff177a1c0feb6156"/><file name="hdfc_tiny.png" hash="584260909cebec2286b6d1cd9489c7d4"/><file name="hipercard.png" hash="9310c18cee9f43c4019a7560d74ffd4c"/><file name="hipercard_small.png" hash="d4d0e1aab233b3ec3f94cbbe985fd8ad"/><file name="hppPos.png" hash="4780e785c785e93aed6ad13df323d6ef"/><file name="hyvesafrekenen.png" hash="5c8068c5b31a55f043cee6dff3246bb7"/><file name="hyvesafrekenen_small.png" hash="5a4c5747c030ac74cea799032ada3b26"/><file name="hyvesafrekenen_tiny.png" hash="2215dc356edeb426da65f43536960afe"/><file name="ideal.png" hash="6a851bfc5bac2835fd31c18c1224e8c9"/><file name="ideal_small.png" hash="8b115bda559a24a3564e02f7a90caae9"/><file name="ideal_tiny.png" hash="140c2e52427e074f95627a44db1f9f88"/><file name="img_trans.gif" hash="325472601571f31e1bf00674c368d335"/><file name="interac.png" hash="c63021e21273e83423d8af2b4c7c1728"/><file name="interac_small.png" hash="0c74bd42750252eda57b054651afca18"/><file name="interac_tiny.png" hash="1a42ba184555605ab8e2ea1a4956f21a"/><file name="ipay88.png" hash="116aa967091843ee6e8e911ff4c34b22"/><file name="ipay88_small.png" hash="1dfb38797a43657d72b0701c446a841e"/><file name="ipay88_small_grey.png" hash="418f051bc03571334cec46e122fa698f"/><file name="ipay88_tiny.png" hash="0009e8c253c57564c3688010c5192ad4"/><file name="ivr.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline.png" hash="0ebef34ac806802b0d29c1d74f84fdbf"/><file name="ivrLandline_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivrLandline_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="ivrMobile.png" hash="6a16e39d5deffb8fa3234108ca97b7de"/><file name="ivrMobile_small.png" hash="a9756b756b3ea56dea07a16edcdf39a9"/><file name="ivrMobile_tiny.png" hash="8c35341f8a8f6ca16b752ff7e1bb51bf"/><file name="ivr_small.png" hash="155f9a61db970885782db7cbe997dab4"/><file name="ivr_tiny.png" hash="ecf7994d1e627023dbd47615a8ebb848"/><file name="jcb.png" hash="68303da687ac6e8615196a66f40bb6fb"/><file name="jcb_small.png" hash="f469481ddecb206cfc74478c6b58266e"/><file name="jcb_small_grey.png" hash="ddb4587396f2e7c7ad83d2aa6561cf7a"/><file name="jcb_tiny.png" hash="5d89108481655ee9dc2dbf6476bbcc14"/><file name="kadowereld.png" hash="c2eea3806e2f55ffa2f7eb3154450be5"/><file name="kadowereld_small.png" hash="203f4584e34c3f059025f3d4329b4898"/><file name="kadowereld_small_grey.png" hash="3afa5e33cd29e5c3ce1723ea10607463"/><file name="kadowereld_tiny.png" hash="b2ca2f7f504670555d332f4c5e8d3074"/><file name="klarna.png" hash="51bc6b70472fe29b728192222b88c709"/><file name="klarna_small.png" hash="57a98dc539dd5c329aac8540a3204d1e"/><file name="klarna_tiny.png" hash="fe0295e2cba0b79136e86180d7db5963"/><file name="laser.png" hash="c64699ddd372b4a48e72b8066fd2aa78"/><file name="laser_small.png" hash="abda432193ffcd5388037fa34b9e0737"/><file name="laser_small_grey.png" hash="ef7193af17ae93fa9bb5215a0ec73195"/><file name="laser_tiny.png" hash="2f87b8e37582541355e9b77008cf3853"/><file name="maestro.png" hash="e91fa85475ae74b16b92b7ac05e562c2"/><file name="maestro_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestro_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestro_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="maestrouk.png" hash="cf0fcc0e1f41ad2301d5814e4a9c88c4"/><file name="maestrouk_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="maestrouk_small_grey.png" hash="31ab5c8168e8a5b075fe1136b221d453"/><file name="maestrouk_tiny.png" hash="87ff6ebe1ef2e4cbae340881169065c4"/><file name="mc.png" hash="0d108b48ed7f8e1f0020da611e223800"/><file name="mc_small.png" hash="51ca51c64a8f0277961effeb0a0dedbb"/><file name="mc_small_grey.png" hash="0762490e5dc86277d0e411468b01a269"/><file name="mc_tiny.png" hash="814af4ec011f2f33edb7d38763dea2ea"/><file name="mercadopago.png" hash="e8cdc9cab0494fbaec13ffa7a008f0d6"/><file name="mimoney.png" hash="0f6d07a6156c6dc931636c8c618384ac"/><file name="mimoney_small.png" hash="4a8b0586fd04690de902120a463ca5b2"/><file name="mimoney_small_grey.png" hash="c85a2d63e583a8fd231713d30d484ecb"/><file name="mimoney_tiny.png" hash="0c562f6e53a95ebe2ff12747f9271a56"/><file name="moneta.png" hash="c208f24cbe664e0c9df753d1dd6b8d43"/><file name="moneybookers.png" hash="7bfc54c2a787b53f699f124d7449a169"/><file name="moneybookers_small.png" hash="1290894e479fafda67291355ea65defe"/><file name="moneybookers_tiny.png" hash="4ed8a8052e9b394e174889de6d621604"/><file name="moneymail.png" hash="73d044eac9d9f1679a653dd2e62935f3"/><file name="moneymoney.png" hash="7204b9579b665085d00b1ea2184b678f"/><file name="multibanco.png" hash="178a9292a9743e3b8904f105e7d6715b"/><file name="nedbank.png" hash="a8a2dc3af1e76262b75270a24a041331"/><file name="nedbank_small.png" hash="d386a8672bd21e53580ae32ae529ca3a"/><file name="nedbank_small_grey.png" hash="7085229e1217e47b07663764f8bb1e6e"/><file name="nedbank_tiny.png" hash="af3694515dd8b68ca71324ca20089c58"/><file name="onebip.png" hash="ca289a3c9fd8d72bce90165db98a88b9"/><file name="online_RU.png" hash="afcc9ad6292e2e21feff4af23e2fa46e"/><file name="online_RU_small.png" hash="712fa0be37857b024e3118d96da61bab"/><file name="online_RU_tiny.png" hash="0e3ac8d1ca10dff95657aa9b9ebdc13b"/><file name="online_transfer_de.png" hash="43324fb914cdbf8eff66f3668a353f1e"/><file name="openinvoice.png" hash="cd46b7d11c9dd79b1cc9c073c0696aff"/><file name="openinvoice.xcf" hash="d5f41ec9c48415f65a519c33999a1229"/><file name="openinvoice_small.png" hash="63d4c6fd1e5b214d018f3e00ca687cd5"/><file name="openinvoice_tiny.png" hash="153791c1eb5bae6095e1210787ffe4fa"/><file name="pagosonline.png" hash="04a1d0c0bb46ed7f931b3d4e248f8c0a"/><file name="pagosonline_small.png" hash="9768e52502eb299716268a212a044812"/><file name="pagosonline_small_grey.png" hash="e9f7365e885652200fdb08201e1b13cf"/><file name="pagosonline_tiny.png" hash="70d51512b8bf5215f5865b21a3ca7731"/><file name="paypal.png" hash="02362803ca1d3ab9c9e8dc3176100d66"/><file name="paypal_small.png" hash="294698dab8f5aa31f2ad62702bd9d379"/><file name="paypal_tiny.png" hash="709c47f06297455d8d55d6937245e016"/><file name="paysafecard.png" hash="20861199bb6e8781c0b10e995f1490de"/><file name="paysafecard_small.png" hash="e7452ca00265fdc91dd28a2b326355d3"/><file name="paysafecard_small_grey.png" hash="06377beb14a2666f153b273e89053419"/><file name="paysafecard_tiny.png" hash="92b3df13741ef6f71d2c12206ab3f412"/><file name="payshop.png" hash="c9c79c76313370d9165e814d3d81e062"/><file name="payu.png" hash="bc671fff056fd108fe24ba52053111b0"/><file name="payu_small.png" hash="ca3eb82cb24dd1f1bfc34436287dc9d0"/><file name="payu_small_grey.png" hash="6097711eeb2ea309d407c03a467e1653"/><file name="payu_tiny.png" hash="2b89f57174338ba3d3192eb8519ece3f"/><file name="plastix.png" hash="82d3202239d01c6bf49d8dc2399900e2"/><file name="plastix_small.png" hash="447240736bdba2d15a34986395c3fb1f"/><file name="plastix_small_grey.png" hash="7e039f412a96a0e884f86598ebfccfb1"/><file name="plastix_tiny.png" hash="aaff5ff8c33af35fe4ae64e627c0964c"/><file name="platezhru.png" hash="2f36e088146ab75470c7a55177db8c07"/><file name="platika.png" hash="03e93ab41b0d330706e2c4f85cae966a"/><file name="pm_gloss.png" hash="dcfc71b0c819e58a1287cd206cfb9d14"/><file name="poli.png" hash="4e14e9d246fdbc07ae58ed8ae639f7b0"/><file name="postoffice_ru.png" hash="8ade3cd1711071ab73248d4ba62eae64"/><file name="pps.png" hash="29f4efc8d08cfd5ba90920b1fcef6bde"/><file name="pps_small.png" hash="7bf1fa7c4adcd8dfc2b2f56eb172fcaa"/><file name="pps_small_grey.png" hash="08d6188b7f5c13ec9c5f3488b4cbf19e"/><file name="pps_tiny.png" hash="4ed68db4ca98ac69f0557319a8284c8d"/><file name="pse.png" hash="6af65a4a18af66d103473fece5536e1c"/><file name="pse_small.png" hash="1f6695131dca61647b07f7180e695c46"/><file name="pse_small_grey.png" hash="7adf2fdfc48d8b078f7c0aeaa4f50e1c"/><file name="pse_tiny.png" hash="128b2749a126cfade0300f27c6919308"/><file name="qiwi.png" hash="b5e092af3394bc333fe83d073e8a6dfd"/><file name="qiwiwallet.png" hash="623b4c7fec53864fdee6d567da5f61cc"/><file name="refresh.png" hash="69ddc65b628d15a4375e66792c07484f"/><file name="safetypay.png" hash="af4e58d22f816f148faae179d0867b3f"/><file name="safetypay_small.png" hash="26749f1a95011897c8aaf568425df3dc"/><file name="safetypay_small_grey.png" hash="e5f3e5287e3fee2d77c065063b43e17d"/><file name="safetypay_tiny.png" hash="f3700f2d3cda7834cd178ac0f70d6352"/><file name="sendEmail.png" hash="cdddfa5e77d565a0ed23b6c26e0dee09"/><file name="sendEmail_small.png" hash="b5d63cc1613f08a08194442647ee451d"/><file name="sepadirectdebit.png" hash="e565455436d808fa07499131296490de"/><file name="sm_small.png" hash="7814fbfff53e57643137fd68889ec807"/><file name="sms.png" hash="7c6c0fddee039be4d879808b374f06f5"/><file name="sms_small.png" hash="fd1d52278d2446c7fe1c34d4fc70d556"/><file name="sms_tiny.png" hash="ed22de378fdbc717f987f8d4199e0452"/><file name="solo.png" hash="13f13c36cff7835d4a46df140fe432a3"/><file name="solo_small.png" hash="96de4f5f750a415fef573ce28092bf68"/><file name="solo_small_grey.png" hash="75c9b0b2daae0d6d80a5f5ff4f14e8d6"/><file name="solo_tiny.png" hash="3e2d7a21d19b12ed84aabdb26304fae6"/><file name="switch.png" hash="8cf19bb8c744a3f852511e781c176c07"/><file name="template.xcf" hash="e5035cd9e4e96859e50c1a9773098e89"/><file name="tenpay.png" hash="ddd0b5b8e3ff63cf1bfc555fbede0242"/><file name="tenpay_small.png" hash="2aa6c5919108eec42ed5c47ad4155a8f"/><file name="tenpay_small_grey.png" hash="6a21283b21295eefb4db553f877ea4c1"/><file name="tenpay_tiny.png" hash="736275eeec39e56c3c1d29fcb9d8ebb7"/><file name="terminal_RU.png" hash="711ab27d1cbbf6771e0ee133f75c7c46"/><file name="terminal_RU_small.png" hash="9bafe5dd035f73757f553250382764c6"/><file name="terminal_RU_tiny.png" hash="1b4dce2e901d90185933420cd80648cb"/><file name="tnt_rembours.png" hash="a8abb6f51d7893da39fcc2477d7bd2bb"/><file name="tnt_rembours_small.png" hash="72ee2b0ae6742cd325bda44a14093f4c"/><file name="trustly.png" hash="2a82872cc0ada644b0442e05423a2db8"/><file name="trustpay.png" hash="88a3680bf1007661ab4fc63106aa1ff4"/><file name="uhisbank.png" hash="8c0967455a15aefe3cdfb47240a18850"/><file name="ukash.png" hash="b95eb9f2658923c38a6252f5ff9ca9c7"/><file name="ukash_small.png" hash="2210a65cd1fb85bc883d112b12c79e6e"/><file name="ukash_small_grey.png" hash="65e6cc21082ebd3c93e96bbf96499df4"/><file name="ukash_tiny.png" hash="543ab39e6dcbc094188b4f473ac4b998"/><file name="unionpay.png" hash="068dee300e2c12e58e9a47d3556e977c"/><file name="unionpay_small.png" hash="55a00c9d7bbcbe1c448b449974d85af1"/><file name="unionpay_small_grey.png" hash="5c69e46ee4663f2d0e47c7f503bbd1e4"/><file name="unionpay_tiny.png" hash="45d3b4e758237412b524a5c52418da67"/><file name="unknown.png" hash="b2d137147db4d6eb7dacb5414a4f7a30"/><file name="unknown_small.png" hash="a5234e9eb2e4485acb19b196876d762b"/><file name="vi_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="vias.png" hash="aca848fa54b173225fe17637699d87c4"/><file name="vias_small.png" hash="37bee85c36b52a07a4529735a194a41e"/><file name="vias_small_grey.png" hash="4da77d558ae9488ee2a85191e9db8748"/><file name="vias_tiny.png" hash="1a45f0a2696b5539195c2fcb69be49b6"/><file name="visa-electron.png" hash="308132b89febd4979bac61594919057f"/><file name="visa-electron_small.png" hash="5ab129027f4f4acbc7a9aa2b5d0e84d3"/><file name="visa-electron_small_grey.png" hash="712b876d4f060613f54f2ec04516e512"/><file name="visa.png" hash="30f9fde31aa41197e71ccd9a63a1fe75"/><file name="visa_fr.png" hash="abd117879295333ac54497e15f81ea18"/><file name="visa_fr_small.png" hash="837db98a87141717dcd1b90bcb5ff5b1"/><file name="visa_fr_small_grey.png" hash="e8cef14608278ab71ef2ffd58e65dc9e"/><file name="visa_small.png" hash="cdab39efaf22fcd2ab88f3dc42c32de1"/><file name="visa_small_grey.png" hash="9411565a7e81c5c3cc484863dc53031a"/><file name="visa_tiny.png" hash="e374bec64dcc345848b43f0a8a3490c2"/><file name="vvvgiftcard.png" hash="d8fc48a0c0907d06830ab28c4ec480e6"/><file name="vvvgiftcard_small.png" hash="ace5fcb4f3ff86c9e9441fa941302a0d"/><file name="vvvgiftcard_tiny.png" hash="ce0f82dba3c65be8db13257cee4153d0"/><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="078d587a6c0bd87eeb6237d26967b6fb"/></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="adyen"><dir name="payment"><file name="adyen.encrypt.js" hash="6e6d006f2ac96f33a4531d3115f2d852"/><file name="cc.js" hash="2e7a07ae072be379ae707b14771e5d0d"/><file name="elv.js" hash="db612a634c95727ec9db82c50e9aec8e"/><file name="epos-device-2.6.0.js" hash="94c73689bec45b74a311d76400f05ba6"/><file name="epos-device-3.0.0.js" hash="0056bb4902efed998d1fdcfbb7ab3495"/><file name="iban.js" hash="92cff3bbc297f8aa60acca331e736063"/></dir></dir></dir></target><target name="mage"><dir name="shell"><file name="adyen.php" hash="b16519e93064c72a5cb361e8d2c251ee"/></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.3.3</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
shell/adyen.php CHANGED
@@ -94,23 +94,27 @@ class Adyen_Payments_Shell extends Mage_Shell_Abstract
94
 
95
  $select = $customerCollection->getSelect();
96
  $select->reset(Varien_Db_Select::COLUMNS);
97
- $select->columns('e.entity_id');
98
  $customerCollection->joinAttribute(
99
  'adyen_customer_ref',
100
  'customer/adyen_customer_ref',
101
  'entity_id', null, 'left'
102
  );
103
 
104
- $customerReferences = $customerCollection->getConnection()->fetchPairs($select);
105
- foreach ($customerReferences as $customerId => $adyenCustomerRef) {
106
- $customerReference = $adyenCustomerRef ?: $customerId;
 
 
 
107
 
108
  $recurringContracts = $api->listRecurringContracts($customerReference, $store);
109
  echo sprintf("Found %s recurring contracts for customer %s (ref. %s)\n", count($recurringContracts), $customerId, $customerReference);
110
 
111
  $billingAgreementCollection = Mage::getResourceModel('adyen/billing_agreement_collection')
112
  ->addCustomerFilter($customerId)
113
- ->addStoreFilter($store);
 
114
 
115
  //Update the billing agreements
116
  foreach ($recurringContracts as $recurringContract) {
94
 
95
  $select = $customerCollection->getSelect();
96
  $select->reset(Varien_Db_Select::COLUMNS);
97
+ $select->columns(['e.entity_id','e.increment_id']);
98
  $customerCollection->joinAttribute(
99
  'adyen_customer_ref',
100
  'customer/adyen_customer_ref',
101
  'entity_id', null, 'left'
102
  );
103
 
104
+ $customerReferences = $customerCollection->getConnection()->fetchAssoc($select);
105
+ foreach ($customerReferences as $customerId => $customerData) {
106
+
107
+ $customerReference = $customerData['adyen_customer_ref']
108
+ ?: $customerData['increment_id']
109
+ ?: $customerId;
110
 
111
  $recurringContracts = $api->listRecurringContracts($customerReference, $store);
112
  echo sprintf("Found %s recurring contracts for customer %s (ref. %s)\n", count($recurringContracts), $customerId, $customerReference);
113
 
114
  $billingAgreementCollection = Mage::getResourceModel('adyen/billing_agreement_collection')
115
  ->addCustomerFilter($customerId)
116
+ ->addStoreFilter($store)
117
+ ->addFieldToFilter('method_code', ['like' => 'adyen_%']);
118
 
119
  //Update the billing agreements
120
  foreach ($recurringContracts as $recurringContract) {
skin/frontend/base/default/css/adyenstyle.css CHANGED
@@ -39,7 +39,21 @@
39
 
40
  /*.sp-methods #payment_form_adyen_cc .v-fix label { float:none; vertical-align: middle;}*/
41
 
42
- .adyen-payment-method-icon { margin-right: 6px; margin-left:2px; border:none !important; width:66px; height:43px; background:url(../images/adyen/pm_gloss.png) left top no-repeat; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  .adyen-payment-method-icon.adyen_cc { background-position: 0 -272px; }
44
  .adyen-payment-method-icon.adyen_boleto { background-position: 0 -2092px; }
45
  .adyen-payment-method-icon.adyen_elv {background-position: 0 -2000px; }
@@ -89,6 +103,7 @@
89
  .sp-methods #oneclick_payment_form_adyen_oneclick { padding-top:10px; }
90
  .sp-methods #oneclick_payment_form_adyen_oneclick .recurring-creditcards .recurring_type { float:left; vertical-align: middle; height:120px;}
91
 
 
92
 
93
  .saved-cards ul li { margin-bottom:10px; }
94
  .saved-cards .btn-delete {margin-top:10px;}
39
 
40
  /*.sp-methods #payment_form_adyen_cc .v-fix label { float:none; vertical-align: middle;}*/
41
 
42
+
43
+ .adyen-payment-method-icon { margin-right: 6px; margin-left:2px; border:none !important; width:66px; height:43px; }
44
+
45
+ .adyen-payment-method-icon.adyen_cc,
46
+ .adyen-payment-method-icon.adyen_boleto,
47
+ .adyen-payment-method-icon.adyen_elv,
48
+ .adyen-payment-method-icon.adyen_openinvoice_afterpay_default,
49
+ .adyen-payment-method-icon.adyen_openinvoice_klarna,
50
+ .adyen-payment-method-icon.adyen_pos,
51
+ .adyen-payment-method-icon.adyen_sepa,
52
+ .adyen-payment-method-icon.adyen_ideal,
53
+ .adyen-payment-method-icon .no-mc∂∂∂
54
+ { background:url(../images/adyen/pm_gloss.png) left top no-repeat; }
55
+
56
+
57
  .adyen-payment-method-icon.adyen_cc { background-position: 0 -272px; }
58
  .adyen-payment-method-icon.adyen_boleto { background-position: 0 -2092px; }
59
  .adyen-payment-method-icon.adyen_elv {background-position: 0 -2000px; }
103
  .sp-methods #oneclick_payment_form_adyen_oneclick { padding-top:10px; }
104
  .sp-methods #oneclick_payment_form_adyen_oneclick .recurring-creditcards .recurring_type { float:left; vertical-align: middle; height:120px;}
105
 
106
+ #payment_form_adyen_ideal label img { float:none; }
107
 
108
  .saved-cards ul li { margin-bottom:10px; }
109
  .saved-cards .btn-delete {margin-top:10px;}
skin/frontend/base/default/images/adyen/cartebancaire.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vvvgiftcard.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vvvgiftcard_small.png ADDED
Binary file
skin/frontend/base/default/images/adyen/vvvgiftcard_tiny.png ADDED
Binary file