Paymill_Paymill - Version 3.2.0

Version Notes

* OneStepCheckout now supported
* more logs during the checkout
* better log view
* no cvc for maestro now provided

Download this release

Release Info

Developer PayIntelligent
Extension Paymill_Paymill
Version 3.2.0
Comparing to
See all releases


Code changes from version 3.1.0 to 3.2.0

Files changed (33) hide show
  1. app/code/community/Paymill/Paymill/Block/Adminhtml/Log/Grid.php +11 -9
  2. app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View.php +46 -0
  3. app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View/Plane.php +65 -0
  4. app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View/Tabs.php +34 -0
  5. app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormAbstract.php +48 -0
  6. app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormCreditcard.php +20 -1
  7. app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormDirectdebit.php +15 -2
  8. app/code/community/Paymill/Paymill/Helper/Data.php +0 -27
  9. app/code/community/Paymill/Paymill/Helper/FastCheckoutHelper.php +15 -1
  10. app/code/community/Paymill/Paymill/Helper/OptionHelper.php +2 -6
  11. app/code/community/Paymill/Paymill/Helper/PaymentHelper.php +3 -136
  12. app/code/community/Paymill/Paymill/Model/Log/Search.php +38 -0
  13. app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php +38 -34
  14. app/code/community/Paymill/Paymill/Model/Method/MethodModelCreditcard.php +18 -14
  15. app/code/community/Paymill/Paymill/controllers/Adminhtml/LogController.php +21 -2
  16. app/code/community/Paymill/Paymill/etc/config.xml +8 -1
  17. app/code/community/Paymill/Paymill/etc/system.xml +23 -35
  18. app/design/adminhtml/base/default/template/paymill/payment/info/creditcard.phtml +0 -14
  19. app/design/adminhtml/base/default/template/paymill/payment/info/directdebit.phtml +0 -14
  20. app/design/frontend/base/default/layout/paymill.xml +2 -1
  21. app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml +0 -65
  22. app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml +0 -42
  23. app/design/frontend/base/default/template/paymill/payment/info/creditcard.phtml +0 -6
  24. app/design/frontend/base/default/template/paymill/payment/info/directdebit.phtml +0 -6
  25. app/etc/modules/Paymill_Paymill.xml +0 -16
  26. app/locale/de_DE/Paymill_Paymill.csv +4 -3
  27. app/locale/en_GB/Paymill_Paymill.csv +1 -0
  28. app/locale/en_US/Paymill_Paymill.csv +1 -0
  29. app/locale/es_ES/Paymill_Paymill.csv +56 -0
  30. js/paymill/paymentForm.js +188 -121
  31. lib/Services/Paymill/PaymentProcessor.php +36 -16
  32. package.xml +9 -7
  33. skin/frontend/base/default/css/paymill/logo.css +63 -11
app/code/community/Paymill/Paymill/Block/Adminhtml/Log/Grid.php CHANGED
@@ -84,7 +84,17 @@ class Paymill_Paymill_Block_Adminhtml_Log_Grid extends Mage_Adminhtml_Block_Widg
84
  $this->setCollection($collection);
85
  return parent::_prepareCollection();
86
  }
87
-
 
 
 
 
 
 
 
 
 
 
88
  /**
89
  * Prepare Columns
90
  *
@@ -104,14 +114,6 @@ class Paymill_Paymill_Block_Adminhtml_Log_Grid extends Mage_Adminhtml_Block_Widg
104
  'header' => Mage::helper('paymill')->__('paymill_backend_log_merchant_info'),
105
  'index' => 'merchant_info',
106
  ));
107
- $this->addColumn('dev_info', array(
108
- 'header' => Mage::helper('paymill')->__('paymill_backend_log_dev_info'),
109
- 'index' => 'dev_info',
110
- ));
111
- $this->addColumn('dev_info_additional', array(
112
- 'header' => Mage::helper('paymill')->__('paymill_backend_log_dev_info_additional'),
113
- 'index' => 'dev_info_additional',
114
- ));
115
 
116
  return parent::_prepareColumns();
117
  }
84
  $this->setCollection($collection);
85
  return parent::_prepareCollection();
86
  }
87
+
88
+ /**
89
+ * Gets Row Url
90
+ *
91
+ * @return string
92
+ */
93
+ public function getRowUrl($row)
94
+ {
95
+ return $this->getUrl('*/*/view', array('id' => $row->getId()));
96
+ }
97
+
98
  /**
99
  * Prepare Columns
100
  *
114
  'header' => Mage::helper('paymill')->__('paymill_backend_log_merchant_info'),
115
  'index' => 'merchant_info',
116
  ));
 
 
 
 
 
 
 
 
117
 
118
  return parent::_prepareColumns();
119
  }
app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
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 Paymill
17
+ * @package Paymill_Paymill
18
+ * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ class Paymill_Paymill_Block_Adminhtml_Log_View extends Mage_Adminhtml_Block_Widget_View_Container
22
+ {
23
+ /**
24
+ * Construct
25
+ */
26
+ public function __construct()
27
+ {
28
+ $this->_objectId = 'id';
29
+ $this->_controller = 'adminhtml_log';
30
+ $this->_mode = 'view';
31
+ $this->_headerText = Mage::helper('paymill')->__('Log Entry');
32
+
33
+ parent::__construct();
34
+
35
+ $this->_removeButton('edit');
36
+ }
37
+
38
+ /**
39
+ * @see Mage_Adminhtml_Block_Widget_View_Container::_prepareLayout()
40
+ */
41
+ protected function _prepareLayout()
42
+ {
43
+ $this->setChild('plane', $this->getLayout()->createBlock('paymill/' . $this->_controller . '_view_plane'));
44
+ }
45
+
46
+ }
app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View/Plane.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
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 Paymill
17
+ * @package Paymill_Paymill
18
+ * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ class Paymill_Paymill_Block_Adminhtml_Log_View_Plane extends Mage_Adminhtml_Block_Widget_Form
22
+ {
23
+
24
+ /**
25
+ * Prepare form before rendering HTML
26
+ *
27
+ * @return Paymill_Paymill_Block_Adminhtml_Log_View_Plane
28
+ */
29
+ protected function _prepareForm()
30
+ {
31
+ $this->setTemplate('paymill/log/view.phtml');
32
+ return parent::_prepareForm();
33
+ }
34
+
35
+ /**
36
+ * Returns Log Model
37
+ *
38
+ * @return Paymill_Paymill_Model_Log
39
+ */
40
+ public function getEntry()
41
+ {
42
+ return Mage::registry('paymill_log_entry');
43
+ }
44
+
45
+ /**
46
+ * Gets the formatted Request Xml
47
+ *
48
+ * @return string
49
+ */
50
+ public function getDevInfo()
51
+ {
52
+ return $this->getEntry()->getDevInfo();
53
+ }
54
+
55
+ /**
56
+ * Gets the formatted Response Xml
57
+ *
58
+ * @return string
59
+ */
60
+ public function getDevInfoAdditional()
61
+ {
62
+ return $this->getEntry()->getDevInfoAdditional();
63
+ }
64
+
65
+ }
app/code/community/Paymill/Paymill/Block/Adminhtml/Log/View/Tabs.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
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 Paymill
17
+ * @package Paymill_Paymill
18
+ * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ class Paymill_Paymill_Block_Adminhtml_Log_View_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
22
+ {
23
+ /**
24
+ * Construct
25
+ */
26
+ public function __construct()
27
+ {
28
+ parent::__construct();
29
+ $this->setId('log_view_tabs');
30
+ $this->setDestElementId('log_view');
31
+ $this->setTitle(Mage::helper('paymill')->__('Log Information View'));
32
+ }
33
+
34
+ }
app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormAbstract.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
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 Paymill
17
+ * @package Paymill_Paymill
18
+ * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ class Paymill_Paymill_Block_Payment_Form_PaymentFormAbstract extends Mage_Payment_Block_Form
22
+ {
23
+ public function getPaymentData($code)
24
+ {
25
+ return Mage::helper('paymill/fastCheckoutHelper')->getPaymentData($code);
26
+ }
27
+
28
+ public function getPaymentEntry($code, $key)
29
+ {
30
+ $data = $this->getPaymentData($code);
31
+ return array_key_exists($key, $data) ? $data[$key] : null;
32
+ }
33
+
34
+ public function isPaymentDataAvailable($code)
35
+ {
36
+ return Mage::helper('paymill/fastCheckoutHelper')->hasData($code);
37
+ }
38
+
39
+ /**
40
+ * Returns a boolean deciding if the template is going to be displayed of not
41
+ * @param String $code payment code
42
+ * @return boolean
43
+ */
44
+ public function isNormalCheckout($code)
45
+ {
46
+ return !Mage::helper('paymill/fastCheckoutHelper')->hasData($code) ? 'false' : 'true';
47
+ }
48
+ }
app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormCreditcard.php CHANGED
@@ -18,7 +18,7 @@
18
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
21
- class Paymill_Paymill_Block_Payment_Form_PaymentFormCreditcard extends Mage_Payment_Block_Form
22
  {
23
 
24
  /**
@@ -55,5 +55,24 @@ class Paymill_Paymill_Block_Payment_Form_PaymentFormCreditcard extends Mage_Paym
55
 
56
  return $years;
57
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
  }
18
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
21
+ class Paymill_Paymill_Block_Payment_Form_PaymentFormCreditcard extends Paymill_Paymill_Block_Payment_Form_PaymentFormAbstract
22
  {
23
 
24
  /**
55
 
56
  return $years;
57
  }
58
+
59
+ public function getPaymentData($code)
60
+ {
61
+ $payment = parent::getPaymentData($code);
62
+
63
+ $data = array();
64
+ if (!is_null($payment)) {
65
+ $data['cc_number'] = '************' . $payment['last4'];
66
+ $data['expire_year'] = $payment['expire_year'];
67
+ $data['expire_month'] = $payment['expire_month'];
68
+ $data['cvc'] = '***';
69
+ $data['card_holder'] = $payment['card_holder'];
70
+ $data['card_type'] = $payment['card_type'];
71
+ }
72
+
73
+ return $data;
74
+ }
75
+
76
+
77
 
78
  }
app/code/community/Paymill/Paymill/Block/Payment/Form/PaymentFormDirectdebit.php CHANGED
@@ -18,7 +18,7 @@
18
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
21
- class Paymill_Paymill_Block_Payment_Form_PaymentFormDirectdebit extends Mage_Payment_Block_Form
22
  {
23
 
24
  /**
@@ -29,5 +29,18 @@ class Paymill_Paymill_Block_Payment_Form_PaymentFormDirectdebit extends Mage_Pay
29
  parent::_construct();
30
  $this->setTemplate('paymill/payment/form/directdebit.phtml');
31
  }
32
-
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  }
18
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
21
+ class Paymill_Paymill_Block_Payment_Form_PaymentFormDirectdebit extends Paymill_Paymill_Block_Payment_Form_PaymentFormAbstract
22
  {
23
 
24
  /**
29
  parent::_construct();
30
  $this->setTemplate('paymill/payment/form/directdebit.phtml');
31
  }
32
+
33
+ public function getPaymentData($code)
34
+ {
35
+ $payment = parent::getPaymentData($code);
36
+
37
+ $data = array();
38
+ if (!is_null($payment)) {
39
+ $data['code'] = $payment['code'];
40
+ $data['holder'] = $payment['holder'];
41
+ $data['account'] = $payment['account'];
42
+ }
43
+
44
+ return $data;
45
+ }
46
  }
app/code/community/Paymill/Paymill/Helper/Data.php CHANGED
@@ -62,33 +62,6 @@ class Paymill_Paymill_Helper_Data extends Mage_Core_Helper_Abstract
62
  return (string) Mage::getConfig()->getNode()->modules->Paymill_Paymill->version;
63
  }
64
 
65
- /**
66
- * Returns a boolean deciding if the template is going to be displayed of not
67
- * @param String $code payment code
68
- * @return boolean
69
- */
70
- public function showTemplateForm($code)
71
- {
72
- $optionHelper = Mage::helper('paymill/optionHelper');
73
- $fcHelper = Mage::helper('paymill/fastCheckoutHelper');
74
-
75
- return !($optionHelper->isFastCheckoutEnabled() && $fcHelper->hasData($code));
76
- }
77
-
78
- /**
79
- * Returns the div tag opening defining the visibility of the payment form
80
- * @param String $code
81
- * @return string
82
- */
83
- public function getFormTypeForDisplay($code)
84
- {
85
- if ($this->showTemplateForm($code)) {
86
- return "<div>";
87
- } else {
88
- return "<div style='display:none;'>";
89
- }
90
- }
91
-
92
  /**
93
  * Returns the Source string passt to every transaction
94
  * @return String Source
62
  return (string) Mage::getConfig()->getNode()->modules->Paymill_Paymill->version;
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  /**
66
  * Returns the Source string passt to every transaction
67
  * @return String Source
app/code/community/Paymill/Paymill/Helper/FastCheckoutHelper.php CHANGED
@@ -71,8 +71,22 @@ class Paymill_Paymill_Helper_FastCheckoutHelper extends Mage_Core_Helper_Abstrac
71
  if (Mage::getModel("paymill/fastcheckout")->hasFcData($userId, $code)) {
72
  return true;
73
  }
 
74
  return false;
75
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
  /**
78
  * Saves the dataset into the database
@@ -80,7 +94,7 @@ class Paymill_Paymill_Helper_FastCheckoutHelper extends Mage_Core_Helper_Abstrac
80
  * @param String $clientId Description
81
  * @param String $name Description
82
  */
83
- public function saveData($code, $clientId, $paymentId)
84
  {
85
  $userId = Mage::helper("paymill/customerHelper")->getUserId();
86
  if (isset($userId)) {
71
  if (Mage::getModel("paymill/fastcheckout")->hasFcData($userId, $code)) {
72
  return true;
73
  }
74
+
75
  return false;
76
  }
77
+
78
+ public function getPaymentData($code)
79
+ {
80
+ $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
81
+ $apiUrl = Mage::helper('paymill')->getApiUrl();
82
+ $payment = null;
83
+ if ($this->hasData($code)) {
84
+ $payments = new Services_Paymill_Payments($privateKey, $apiUrl);
85
+ $payment = $payments->getOne($this->getPaymentId($code));
86
+ }
87
+
88
+ return $payment;
89
+ }
90
 
91
  /**
92
  * Saves the dataset into the database
94
  * @param String $clientId Description
95
  * @param String $name Description
96
  */
97
+ public function saveData($code, $clientId, $paymentId = null)
98
  {
99
  $userId = Mage::helper("paymill/customerHelper")->getUserId();
100
  if (isset($userId)) {
app/code/community/Paymill/Paymill/Helper/OptionHelper.php CHANGED
@@ -89,11 +89,7 @@ class Paymill_Paymill_Helper_OptionHelper extends Mage_Core_Helper_Abstract
89
  */
90
  private function _getBackendOption($choice, $optionName)
91
  {
92
- try {
93
- $value = Mage::getStoreConfig('payment/' . $choice . '/' . $optionName, Mage::app()->getStore()->getStoreId());
94
- } catch (Exception $ex) {
95
- $value = "An Error has occoured getting the config element";
96
- }
97
 
98
  return $value;
99
  }
@@ -115,7 +111,7 @@ class Paymill_Paymill_Helper_OptionHelper extends Mage_Core_Helper_Abstract
115
  */
116
  public function isPreAuthorizing()
117
  {
118
- return $this->_getGeneralOption("preAuth_active");
119
  }
120
 
121
  /**
89
  */
90
  private function _getBackendOption($choice, $optionName)
91
  {
92
+ $value = Mage::getStoreConfig('payment/' . $choice . '/' . $optionName, Mage::app()->getStore()->getStoreId());
 
 
 
 
93
 
94
  return $value;
95
  }
111
  */
112
  public function isPreAuthorizing()
113
  {
114
+ return $this->_getBackendOption("paymill_creditcard", "preAuth_active");
115
  }
116
 
117
  /**
app/code/community/Paymill/Paymill/Helper/PaymentHelper.php CHANGED
@@ -39,7 +39,7 @@ class Paymill_Paymill_Helper_PaymentHelper extends Mage_Core_Helper_Abstract
39
  }
40
  $decimalTotal = $object->getGrandTotal();
41
  $amountTotal = $decimalTotal * 100;
42
- return $amountTotal;
43
  }
44
 
45
  /**
@@ -141,141 +141,8 @@ class Paymill_Paymill_Helper_PaymentHelper extends Mage_Core_Helper_Abstract
141
  $params['email'] = Mage::helper("paymill/customerHelper")->getCustomerEmail($quote);
142
  $params['description'] = $this->getDescription($quote);
143
  $params['source'] = Mage::helper('paymill')->getSourceString();
144
-
145
- $paymentProcessor = new Services_Paymill_PaymentProcessor($privateKey, $apiUrl, $libBase, $params, Mage::helper('paymill/loggingHelper'));
146
- return $paymentProcessor;
147
- }
148
-
149
- /**
150
- * Creates a client object from the given data and returns the Id
151
- * @param String $email
152
- * @param String $description
153
- * @return String ClientId
154
- * @throws Exception "Invalid Result Exception: Invalid ResponseCode for Client"
155
- */
156
- public function createClient($email, $description)
157
- {
158
- $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
159
- $apiUrl = Mage::helper('paymill')->getApiUrl();
160
-
161
- if (empty($privateKey)) {
162
- Mage::helper('paymill/loggingHelper')->log("No private Key was set.");
163
- Mage::throwException("No private Key was set.");
164
- }
165
-
166
- $clientsObject = new Services_Paymill_Clients($privateKey, $apiUrl);
167
-
168
- $client = $clientsObject->create(
169
- array(
170
- 'email' => $email,
171
- 'description' => $description
172
- )
173
- );
174
-
175
- if (isset($client['data']['response_code']) && $client['data']['response_code'] !== 20000) {
176
- $this->_log("An Error occured: " . $client['data']['response_code'], var_export($client, true));
177
- throw new Exception("Invalid Result Exception: Invalid ResponseCode for Client");
178
- }
179
-
180
- $clientId = $client['id'];
181
- Mage::helper('paymill/loggingHelper')->log("Client created.", $clientId);
182
- return $clientId;
183
- }
184
-
185
- /**
186
- * Creates a payment object from the given data and returns the Id
187
- * @param String $token
188
- * @param String $clientId
189
- * @return String PaymentId
190
- * @throws Exception "Invalid Result Exception: Invalid ResponseCode for Payment"
191
- */
192
- public function createPayment($token, $clientId)
193
- {
194
- $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
195
- $apiUrl = Mage::helper('paymill')->getApiUrl();
196
-
197
- if (empty($privateKey)) {
198
- Mage::helper('paymill/loggingHelper')->log("No private Key was set.");
199
- Mage::throwException("No private Key was set.");
200
- }
201
-
202
- $paymentsObject = new Services_Paymill_Payments($privateKey, $apiUrl);
203
-
204
- $payment = $paymentsObject->create(
205
- array(
206
- 'token' => $token,
207
- 'client' => $clientId
208
- )
209
- );
210
-
211
- if (isset($payment['data']['response_code']) && $payment['data']['response_code'] !== 20000) {
212
- $this->_log("An Error occured: " . $payment['data']['response_code'], var_export($payment, true));
213
- throw new Exception("Invalid Result Exception: Invalid ResponseCode for Payment");
214
- }
215
-
216
- $paymentId = $payment['id'];
217
- Mage::helper('paymill/loggingHelper')->log("Payment created.", $paymentId);
218
- return $paymentId;
219
- }
220
-
221
- /**
222
- * Creates a preAuthorization with the given arguments
223
- * @param String $token
224
- * @param String $paymentId if given, this replaces the token to use fast checkout
225
- * @return mixed Response
226
- */
227
- public function createPreAuthorization($paymentId)
228
- {
229
- $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
230
- $apiUrl = Mage::helper('paymill')->getApiUrl();
231
-
232
- if (empty($privateKey)) {
233
- Mage::helper('paymill/loggingHelper')->log("No private Key was set.");
234
- Mage::throwException("No private Key was set.");
235
- }
236
-
237
- $preAuthObject = new Services_Paymill_Preauthorizations($privateKey, $apiUrl);
238
-
239
- $amount = (int) $this->getAmount();
240
- $currency = $this->getCurrency();
241
-
242
- $params = array('payment' => $paymentId, 'source' => Mage::helper('paymill')->getSourceString(), 'amount' => $amount, 'currency' => $currency);
243
- $preAuth = $preAuthObject->create($params);
244
-
245
- Mage::helper('paymill/loggingHelper')->log("PreAuthorization created from Payment", $preAuth['preauthorization']['id'], print_r($params, true));
246
-
247
- return $preAuth['preauthorization'];
248
- }
249
-
250
- /**
251
- * Generates a transaction from the given arguments
252
- * @param Mage_Sales_Model_Order $order
253
- * @param String $preAuthorizationId
254
- * @param float|double $amount
255
- * @return Boolean Indicator of success
256
- */
257
- public function createTransactionFromPreAuth($order, $preAuthorizationId, $amount)
258
- {
259
- $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
260
- $apiUrl = Mage::helper('paymill')->getApiUrl();
261
- if (empty($privateKey)) {
262
- Mage::helper('paymill/loggingHelper')->log("No private Key was set.");
263
- Mage::throwException("No private Key was set.");
264
- }
265
-
266
- $transactionsObject = new Services_Paymill_Transactions($privateKey, $apiUrl);
267
- $params = array(
268
- 'amount' => (int) ($amount * 100),
269
- 'currency' => $this->getCurrency(),
270
- 'description' => $this->getDescription($order),
271
- 'source' => Mage::helper('paymill')->getSourceString(),
272
- 'preauthorization' => $preAuthorizationId
273
- );
274
-
275
- $transaction = $transactionsObject->create($params);
276
- Mage::helper('paymill/loggingHelper')->log("Creating Transaction from PreAuthorization", print_r($params, true), var_export($transaction, true));
277
-
278
- return $transaction;
279
  }
280
 
281
  }
39
  }
40
  $decimalTotal = $object->getGrandTotal();
41
  $amountTotal = $decimalTotal * 100;
42
+ return round($amountTotal);
43
  }
44
 
45
  /**
141
  $params['email'] = Mage::helper("paymill/customerHelper")->getCustomerEmail($quote);
142
  $params['description'] = $this->getDescription($quote);
143
  $params['source'] = Mage::helper('paymill')->getSourceString();
144
+
145
+ return new Services_Paymill_PaymentProcessor($privateKey, $apiUrl, $libBase, $params, Mage::helper('paymill/loggingHelper'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  }
147
 
148
  }
app/code/community/Paymill/Paymill/Model/Log/Search.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Paymill_Paymill_Model_Log_Search extends Varien_Object
4
+ {
5
+
6
+ /**
7
+ * Load search results
8
+ *
9
+ * @return Paymill_Paymill_Model_Log_Search
10
+ */
11
+ public function load()
12
+ {
13
+ $arr = array();
14
+ $searchText = $this->getQuery();
15
+ $collection = Mage::getModel('paymill/log')->getCollection()
16
+ ->addFieldToFilter(
17
+ array('dev_info', 'dev_info_additional'), array(
18
+ array('like' => '%' . $searchText . '%'),
19
+ array('like' => '%' . $searchText . '%')
20
+ )
21
+ )
22
+ ->load();
23
+
24
+ foreach ($collection as $model) {
25
+ $arr[] = array(
26
+ 'id' => 'paymill/search/' . $model->getId(),
27
+ 'type' => Mage::helper('adminhtml')->__('Paymill Log Entry'),
28
+ 'name' => $model->getMerchantInfo(),
29
+ 'description' => $model->getEntryDate(),
30
+ 'url' => Mage::helper('adminhtml')->getUrl('paymill/adminhtml_log/view', array('id' => $model->getId())),
31
+ );
32
+ }
33
+
34
+ $this->setResults($arr);
35
+ return $this;
36
+ }
37
+
38
+ }
app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php CHANGED
@@ -99,10 +99,7 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
99
  */
100
  public function canUseForCurrency($currencyCode)
101
  {
102
- $quote = Mage::getSingleton('checkout/session')->getQuote();
103
- $storeId = $quote ? $quote->getStoreId() : null;
104
-
105
- $availableCurrencies = explode(',', $this->getConfigData('currency', $storeId));
106
  if (!in_array($currencyCode, $availableCurrencies)) {
107
  return false;
108
  }
@@ -123,7 +120,7 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
123
  /**
124
  * Return Quote or Order Object depending on the type of the payment info
125
  *
126
- * @return Mage_Sales_Model_Order
127
  */
128
  public function getOrder()
129
  {
@@ -157,16 +154,20 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
157
  public function assignData($data)
158
  {
159
  $post = $data->getData();
160
- if (!array_key_exists('paymill-payment-token', $post)
161
- || empty($post['paymill-payment-token'])) {
162
- Mage::helper('paymill/loggingHelper')->log("No token found.");
163
- Mage::throwException("There was an error processing your payment.");
 
 
 
 
 
 
 
 
164
  }
165
 
166
- //Save Data into session
167
- Mage::getSingleton('core/session')->setToken($post['paymill-payment-token']);
168
- Mage::getSingleton('core/session')->setPaymentCode($this->getCode());
169
-
170
  //Finish as usual
171
  return parent::assignData($data);
172
  }
@@ -193,6 +194,7 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
193
  Mage::getSingleton('checkout/session')->setGotoSection('payment');
194
  Mage::throwException("There was an error processing your payment.");
195
  }
 
196
  //Finish as usual
197
  return parent::authorize($payment, $amount);
198
  }
@@ -205,43 +207,45 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
205
  {
206
  //Gathering data from session
207
  $token = Mage::getSingleton('core/session')->getToken();
208
- $quote = Mage::getSingleton('checkout/session')->getQuote();
209
-
210
  //Create Payment Processor
211
  $paymentHelper = Mage::helper("paymill/paymentHelper");
212
  $fcHelper = Mage::helper("paymill/fastCheckoutHelper");
213
  $paymentProcessor = $paymentHelper->createPaymentProcessor($this->getCode(), $token);
214
- $paymentProcessor->setPreAuthAmount(Mage::getSingleton('core/session')->getPreAuthAmount());
 
 
 
215
 
 
 
 
 
 
 
216
  //Loading Fast Checkout Data (if enabled and given)
217
- if ($fcHelper->isFastCheckoutEnabled()) {
218
- $clientId = $fcHelper->getClientId();
219
- if (isset($clientId)) {
220
- $paymentProcessor->setClientId($clientId);
221
- $paymentId = $fcHelper->getPaymentId($this->_code);
222
- if (isset($paymentId)) {
223
- $paymentProcessor->setPaymentId($paymentId);
224
- }
225
  }
226
  }
227
-
228
- //Process Payment
229
  $success = $paymentProcessor->processPayment();
230
 
231
-
232
  If ($success) {
233
  //Save Transaction Data
234
  $transactionHelper = Mage::helper("paymill/transactionHelper");
235
  $transactionModel = $transactionHelper->createTransactionModel($paymentProcessor->getTransactionId(), false);
236
  $transactionHelper->setAdditionalInformation($payment, $transactionModel);
237
-
238
- //Save Data for Fast Checkout (if enabled)
 
 
 
 
239
  if ($fcHelper->isFastCheckoutEnabled()) { //Fast checkout enabled
240
- if (!$fcHelper->hasData($this->_code)) {
241
- $clientId = $paymentProcessor->getClientId();
242
- $paymentId = $paymentProcessor->getPaymentId();
243
- $fcHelper->saveData($this->_code, $clientId, $paymentId);
244
- }
245
  }
246
 
247
  return true;
99
  */
100
  public function canUseForCurrency($currencyCode)
101
  {
102
+ $availableCurrencies = explode(',', $this->getConfigData('currency', Mage::app()->getStore()->getId()));
 
 
 
103
  if (!in_array($currencyCode, $availableCurrencies)) {
104
  return false;
105
  }
120
  /**
121
  * Return Quote or Order Object depending on the type of the payment info
122
  *
123
+ * @return Mage_Sales_Model_Order | Mage_Sales_Model_Order_Quote
124
  */
125
  public function getOrder()
126
  {
154
  public function assignData($data)
155
  {
156
  $post = $data->getData();
157
+ if (array_key_exists('paymill-payment-token', $post)
158
+ && !empty($post['paymill-payment-token'])) {
159
+ //Save Data into session
160
+ Mage::getSingleton('core/session')->setToken($post['paymill-payment-token']);
161
+ Mage::getSingleton('core/session')->setPaymentCode($this->getCode());
162
+ } else {
163
+ if (Mage::helper('paymill/fastCheckoutHelper')->hasData($this->_code)) {
164
+ Mage::getSingleton('core/session')->setToken('dummyToken');
165
+ } else {
166
+ Mage::helper('paymill/loggingHelper')->log("No token found.");
167
+ Mage::throwException("There was an error processing your payment.");
168
+ }
169
  }
170
 
 
 
 
 
171
  //Finish as usual
172
  return parent::assignData($data);
173
  }
194
  Mage::getSingleton('checkout/session')->setGotoSection('payment');
195
  Mage::throwException("There was an error processing your payment.");
196
  }
197
+
198
  //Finish as usual
199
  return parent::authorize($payment, $amount);
200
  }
207
  {
208
  //Gathering data from session
209
  $token = Mage::getSingleton('core/session')->getToken();
 
 
210
  //Create Payment Processor
211
  $paymentHelper = Mage::helper("paymill/paymentHelper");
212
  $fcHelper = Mage::helper("paymill/fastCheckoutHelper");
213
  $paymentProcessor = $paymentHelper->createPaymentProcessor($this->getCode(), $token);
214
+
215
+ if ($this->getCode() === 'paymill_creditcard') {
216
+ $paymentProcessor->setPreAuthAmount(Mage::getSingleton('core/session')->getPreAuthAmount());
217
+ }
218
 
219
+ //Always load client if email doesn't change
220
+ $clientId = $fcHelper->getClientId();
221
+ if (isset($clientId)) {
222
+ $paymentProcessor->setClientId($clientId);
223
+ }
224
+
225
  //Loading Fast Checkout Data (if enabled and given)
226
+ if ($fcHelper->hasData($this->_code) && $token === 'dummyToken') {
227
+ $paymentId = $fcHelper->getPaymentId($this->_code);
228
+ if (isset($paymentId)) {
229
+ $paymentProcessor->setPaymentId($paymentId);
 
 
 
 
230
  }
231
  }
232
+
 
233
  $success = $paymentProcessor->processPayment();
234
 
 
235
  If ($success) {
236
  //Save Transaction Data
237
  $transactionHelper = Mage::helper("paymill/transactionHelper");
238
  $transactionModel = $transactionHelper->createTransactionModel($paymentProcessor->getTransactionId(), false);
239
  $transactionHelper->setAdditionalInformation($payment, $transactionModel);
240
+
241
+ //Allways update the client
242
+ $clientId = $paymentProcessor->getClientId();
243
+ $fcHelper->saveData($this->_code, $clientId);
244
+
245
+ //Save payment data for FastCheckout (if enabled)
246
  if ($fcHelper->isFastCheckoutEnabled()) { //Fast checkout enabled
247
+ $paymentId = $paymentProcessor->getPaymentId();
248
+ $fcHelper->saveData($this->_code, $clientId, $paymentId);
 
 
 
249
  }
250
 
251
  return true;
app/code/community/Paymill/Paymill/Model/Method/MethodModelCreditcard.php CHANGED
@@ -56,15 +56,17 @@ class Paymill_Paymill_Model_Method_MethodModelCreditcard extends Paymill_Paymill
56
  $paymentProcessor = $paymentHelper->createPaymentProcessor($this->getCode(), $token);
57
  $paymentProcessor->setPreAuthAmount(Mage::getSingleton('core/session')->getPreAuthAmount());
58
 
 
 
 
 
 
 
59
  //Loading Fast Checkout Data (if enabled and given)
60
- if ($fcHelper->isFastCheckoutEnabled()) {
61
- $clientId = $fcHelper->getClientId();
62
- if (isset($clientId)) {
63
- $paymentProcessor->setClientId($clientId);
64
- $paymentId = $fcHelper->getPaymentId($this->_code);
65
- if (isset($paymentId)) {
66
- $paymentProcessor->setPaymentId($paymentId);
67
- }
68
  }
69
  }
70
 
@@ -77,13 +79,15 @@ class Paymill_Paymill_Model_Method_MethodModelCreditcard extends Paymill_Paymill
77
  $transactionModel = $transactionHelper->createTransactionModel($paymentProcessor->getPreauthId(), true);
78
  $transactionHelper->setAdditionalInformation($payment, $transactionModel);
79
 
80
- //Save Data for Fast Checkout (if enabled)
 
 
 
 
 
81
  if ($fcHelper->isFastCheckoutEnabled()) { //Fast checkout enabled
82
- if (!$fcHelper->hasData($this->_code)) {
83
- $clientId = $paymentProcessor->getClientId();
84
- $paymentId = $paymentProcessor->getPaymentId();
85
- $fcHelper->saveData($this->_code, $clientId, $paymentId);
86
- }
87
  }
88
 
89
  return true;
56
  $paymentProcessor = $paymentHelper->createPaymentProcessor($this->getCode(), $token);
57
  $paymentProcessor->setPreAuthAmount(Mage::getSingleton('core/session')->getPreAuthAmount());
58
 
59
+ //Always load client if email doesn't change
60
+ $clientId = $fcHelper->getClientId();
61
+ if (isset($clientId)) {
62
+ $paymentProcessor->setClientId($clientId);
63
+ }
64
+
65
  //Loading Fast Checkout Data (if enabled and given)
66
+ if ($fcHelper->hasData($this->_code) && $token === 'dummyToken') {
67
+ $paymentId = $fcHelper->getPaymentId($this->_code);
68
+ if (isset($paymentId)) {
69
+ $paymentProcessor->setPaymentId($paymentId);
 
 
 
 
70
  }
71
  }
72
 
79
  $transactionModel = $transactionHelper->createTransactionModel($paymentProcessor->getPreauthId(), true);
80
  $transactionHelper->setAdditionalInformation($payment, $transactionModel);
81
 
82
+
83
+ //Allways update the client
84
+ $clientId = $paymentProcessor->getClientId();
85
+ $fcHelper->saveData($this->_code, $clientId);
86
+
87
+ //Save payment data for FastCheckout (if enabled)
88
  if ($fcHelper->isFastCheckoutEnabled()) { //Fast checkout enabled
89
+ $paymentId = $paymentProcessor->getPaymentId();
90
+ $fcHelper->saveData($this->_code, $clientId, $paymentId);
 
 
 
91
  }
92
 
93
  return true;
app/code/community/Paymill/Paymill/controllers/Adminhtml/LogController.php CHANGED
@@ -13,7 +13,8 @@
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 Paymill * @package Paymill_Paymill
 
17
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
18
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
  */
@@ -40,7 +41,25 @@ class Paymill_Paymill_Adminhtml_LogController extends Mage_Adminhtml_Controller_
40
  $this->_initAction()
41
  ->renderLayout();
42
  }
43
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  /**
45
  * Normal Magento delete mass action for selected entries
46
  */
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 Paymill
17
+ * @package Paymill_Paymill
18
  * @copyright Copyright (c) 2013 PAYMILL GmbH (https://paymill.com/en-gb/)
19
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
  */
41
  $this->_initAction()
42
  ->renderLayout();
43
  }
44
+
45
+ /**
46
+ * View single xml request or response
47
+ */
48
+ public function viewAction()
49
+ {
50
+ $id = $this->getRequest()->getParam('id');
51
+ $model = Mage::getModel('paymill/log')->load($id);
52
+ if ($model->getId()) {
53
+ Mage::register('paymill_log_entry', $model);
54
+ $this->_initAction();
55
+ $this->_addContent($this->getLayout()->createBlock('paymill/adminhtml_log_view'));
56
+ $this->renderLayout();
57
+ } else {
58
+ Mage::getSingleton('adminhtml/session')->addError(Mage::helper('ratepay')->__('Item does not exist'));
59
+ $this->_redirect('*/*/');
60
+ }
61
+ }
62
+
63
  /**
64
  * Normal Magento delete mass action for selected entries
65
  */
app/code/community/Paymill/Paymill/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
- <version>3.1.0</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
@@ -145,6 +145,13 @@
145
  </observers>
146
  </sales_order_creditmemo_refund>
147
  </events>
 
 
 
 
 
 
 
148
  </adminhtml>
149
 
150
  <admin>
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
+ <version>3.2.0</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
145
  </observers>
146
  </sales_order_creditmemo_refund>
147
  </events>
148
+
149
+ <global_search>
150
+ <paymill_search>
151
+ <class>paymill/log_search</class>
152
+ <acl>paymill</acl>
153
+ </paymill_search>
154
+ </global_search>
155
  </adminhtml>
156
 
157
  <admin>
app/code/community/Paymill/Paymill/etc/system.xml CHANGED
@@ -11,7 +11,7 @@
11
  <sort_order>700</sort_order>
12
  <fields>
13
  <version>
14
- <label>v3.1.0</label>
15
  <sort_order>1</sort_order>
16
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
17
  <frontend_type>label</frontend_type>
@@ -19,26 +19,26 @@
19
  <show_in_website>1</show_in_website>
20
  <show_in_store>1</show_in_store>
21
  </version>
22
- <public_key translate="label, tooltip, comment">
23
- <label>paymill_Public_Key</label>
24
  <sort_order>2</sort_order>
25
- <tooltip>paymill_public_key_tooltip</tooltip>
26
- <comment>paymill_public_key_comment</comment>
27
  <frontend_type>text</frontend_type>
28
  <show_in_default>1</show_in_default>
29
  <show_in_website>1</show_in_website>
30
  <show_in_store>1</show_in_store>
31
- </public_key>
32
- <private_key translate="label, tooltip, comment">
33
- <label>paymill_Private_Key</label>
34
  <sort_order>3</sort_order>
35
- <tooltip>paymill_private_key_tooltip</tooltip>
36
- <comment>paymill_private_key_comment</comment>
37
  <frontend_type>text</frontend_type>
38
  <show_in_default>1</show_in_default>
39
  <show_in_website>1</show_in_website>
40
  <show_in_store>1</show_in_store>
41
- </private_key>
42
  <debugging_active translate="label">
43
  <label>paymill_Activate_Debugging</label>
44
  <sort_order>6</sort_order>
@@ -75,15 +75,6 @@
75
  <show_in_website>1</show_in_website>
76
  <show_in_store>1</show_in_store>
77
  </show_label>
78
- <preAuth_active translate="label">
79
- <label>paymill_preAuth_active</label>
80
- <sort_order>10</sort_order>
81
- <frontend_type>select</frontend_type>
82
- <source_model>adminhtml/system_config_source_yesno</source_model>
83
- <show_in_default>1</show_in_default>
84
- <show_in_website>1</show_in_website>
85
- <show_in_store>1</show_in_store>
86
- </preAuth_active>
87
  </fields>
88
  </paymill>
89
 
@@ -95,7 +86,7 @@
95
  <sort_order>800</sort_order>
96
  <fields>
97
  <version>
98
- <label>v3.1.0</label>
99
  <sort_order>100</sort_order>
100
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
101
  <frontend_type>label</frontend_type>
@@ -151,7 +142,16 @@
151
  <show_in_default>1</show_in_default>
152
  <show_in_website>1</show_in_website>
153
  <show_in_store>0</show_in_store>
154
- </currency>
 
 
 
 
 
 
 
 
 
155
  <sort_order translate="label">
156
  <label>paymill_opt_Sort</label>
157
  <frontend_type>text</frontend_type>
@@ -171,7 +171,7 @@
171
  <sort_order>800</sort_order>
172
  <fields>
173
  <version>
174
- <label>v3.1.0</label>
175
  <sort_order>100</sort_order>
176
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
177
  <frontend_type>label</frontend_type>
@@ -179,7 +179,6 @@
179
  <show_in_website>1</show_in_website>
180
  <show_in_store>1</show_in_store>
181
  </version>
182
-
183
  <active translate="label">
184
  <label>paymill_opt_Enabled</label>
185
  <sort_order>200</sort_order>
@@ -189,17 +188,6 @@
189
  <show_in_website>1</show_in_website>
190
  <show_in_store>1</show_in_store>
191
  </active>
192
-
193
- <tokenTolerance translate="label, tooltip, comment">
194
- <label>paymill_token_tolerace</label>
195
- <sort_order>210</sort_order>
196
- <tooltip>paymill_token_tolerace_tooltip</tooltip>
197
- <comment>paymill_token_tolerace_comment</comment>
198
- <frontend_type>text</frontend_type>
199
- <show_in_default>1</show_in_default>
200
- <show_in_website>1</show_in_website>
201
- <show_in_store>1</show_in_store>
202
- </tokenTolerance>
203
  <allowspecific translate="label">
204
  <label>Payment from Applicable Countries</label>
205
  <sort_order>220</sort_order>
11
  <sort_order>700</sort_order>
12
  <fields>
13
  <version>
14
+ <label>v3.2.0</label>
15
  <sort_order>1</sort_order>
16
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
17
  <frontend_type>label</frontend_type>
19
  <show_in_website>1</show_in_website>
20
  <show_in_store>1</show_in_store>
21
  </version>
22
+ <private_key translate="label, tooltip, comment">
23
+ <label>paymill_Private_Key</label>
24
  <sort_order>2</sort_order>
25
+ <tooltip>paymill_private_key_tooltip</tooltip>
26
+ <comment>paymill_private_key_comment</comment>
27
  <frontend_type>text</frontend_type>
28
  <show_in_default>1</show_in_default>
29
  <show_in_website>1</show_in_website>
30
  <show_in_store>1</show_in_store>
31
+ </private_key>
32
+ <public_key translate="label, tooltip, comment">
33
+ <label>paymill_Public_Key</label>
34
  <sort_order>3</sort_order>
35
+ <tooltip>paymill_public_key_tooltip</tooltip>
36
+ <comment>paymill_public_key_comment</comment>
37
  <frontend_type>text</frontend_type>
38
  <show_in_default>1</show_in_default>
39
  <show_in_website>1</show_in_website>
40
  <show_in_store>1</show_in_store>
41
+ </public_key>
42
  <debugging_active translate="label">
43
  <label>paymill_Activate_Debugging</label>
44
  <sort_order>6</sort_order>
75
  <show_in_website>1</show_in_website>
76
  <show_in_store>1</show_in_store>
77
  </show_label>
 
 
 
 
 
 
 
 
 
78
  </fields>
79
  </paymill>
80
 
86
  <sort_order>800</sort_order>
87
  <fields>
88
  <version>
89
+ <label>v3.2.0</label>
90
  <sort_order>100</sort_order>
91
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
92
  <frontend_type>label</frontend_type>
142
  <show_in_default>1</show_in_default>
143
  <show_in_website>1</show_in_website>
144
  <show_in_store>0</show_in_store>
145
+ </currency>
146
+ <preAuth_active translate="label">
147
+ <label>paymill_preAuth_active</label>
148
+ <sort_order>360</sort_order>
149
+ <frontend_type>select</frontend_type>
150
+ <source_model>adminhtml/system_config_source_yesno</source_model>
151
+ <show_in_default>1</show_in_default>
152
+ <show_in_website>1</show_in_website>
153
+ <show_in_store>1</show_in_store>
154
+ </preAuth_active>
155
  <sort_order translate="label">
156
  <label>paymill_opt_Sort</label>
157
  <frontend_type>text</frontend_type>
171
  <sort_order>800</sort_order>
172
  <fields>
173
  <version>
174
+ <label>v3.2.0</label>
175
  <sort_order>100</sort_order>
176
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
177
  <frontend_type>label</frontend_type>
179
  <show_in_website>1</show_in_website>
180
  <show_in_store>1</show_in_store>
181
  </version>
 
182
  <active translate="label">
183
  <label>paymill_opt_Enabled</label>
184
  <sort_order>200</sort_order>
188
  <show_in_website>1</show_in_website>
189
  <show_in_store>1</show_in_store>
190
  </active>
 
 
 
 
 
 
 
 
 
 
 
191
  <allowspecific translate="label">
192
  <label>Payment from Applicable Countries</label>
193
  <sort_order>220</sort_order>
app/design/adminhtml/base/default/template/paymill/payment/info/creditcard.phtml DELETED
@@ -1,14 +0,0 @@
1
- <?php if ($_specificInfo = $this->getSpecificInformation()): ?>
2
- <table
3
- <tr>
4
- <td><img src="<?php echo $_specificInfo['imgUrl'] ?>" /></td>
5
- </tr>
6
- <tr>
7
- <td><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></td>
8
- </tr>
9
- <tr>
10
- <td><?php echo $this->escapeHtml("Transaction Id: " . $_specificInfo['paymillTransactionId']); ?></td>
11
- </tr>
12
- </table>
13
- <?php endif; ?>
14
- <?php echo $this->getChildHtml() ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/adminhtml/base/default/template/paymill/payment/info/directdebit.phtml DELETED
@@ -1,14 +0,0 @@
1
- <?php if ($_specificInfo = $this->getSpecificInformation()): ?>
2
- <table
3
- <tr>
4
- <td><img src="<?php echo $_specificInfo['imgUrl'] ?>" /></td>
5
- </tr>
6
- <tr>
7
- <td><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></td>
8
- </tr>
9
- <tr>
10
- <td><?php echo $this->escapeHtml("Transaction Id: " . $_specificInfo['paymillTransactionId']); ?></td>
11
- </tr>
12
- </table>
13
- <?php endif; ?>
14
- <?php echo $this->getChildHtml() ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/layout/paymill.xml CHANGED
@@ -11,7 +11,8 @@ and open the template in the editor.
11
  </action>
12
  <block type="core/text" name="google.cdn.jquery">
13
  <action method="setText">
14
- <text><![CDATA[<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><script type="text/javascript" src="https://bridge.paymill.com/"></script></script><script type="text/javascript">pmQuery = jQuery.noConflict();</script>]]>
 
15
  </text>
16
  </action>
17
  </block>
11
  </action>
12
  <block type="core/text" name="google.cdn.jquery">
13
  <action method="setText">
14
+ <text>
15
+ <![CDATA[]]>
16
  </text>
17
  </action>
18
  </block>
app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml DELETED
@@ -1,65 +0,0 @@
1
- <?php $_code = $this->getMethodCode() ?>
2
- <script type="text/javascript" src="<?php echo Mage::helper('paymill')->getJscriptPath() . "paymentForm.js" ?>"></script>
3
- <?php echo Mage::helper('paymill')->getFormTypeForDisplay($_code) ?>
4
- <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
5
- <li>
6
- <label for="<?php echo $_code ?>_holdername" class="required"><em>*</em><?php echo $this->__("paymill_Holder") ?></label>
7
- <div class="input-box">
8
- <input value="" type="text" id="<?php echo $_code ?>_holdername" class="input-text paymill-validate-cc-holder required-entry"/>
9
- </div>
10
- </li>
11
- <li>
12
- <label for="<?php echo $_code ?>_number" class="required"><em>*</em><?php echo $this->__("paymill_Number") ?></label>
13
- <div class="input-box">
14
- <table>
15
- <tr>
16
- <td><input value="" type="text" id="<?php echo $_code ?>_number" class="input-text paymill-validate-cc-number required-entry"/></td>
17
- <td><div id="<?php echo $_code ?>_card_icon"></div></td>
18
- </tr>
19
- </table>
20
- </div>
21
- </li>
22
- <li>
23
- <label for="<?php echo $_code ?>_cvc" class="required"><em>*</em><?php echo $this->__("paymill_Cvc") ?></label>
24
- <div class="input-box">
25
- <input value="" type="text" id="<?php echo $_code ?>_cvc" class="input-text paymill-validate-cc-cvc required-entry"/>
26
- </div>
27
- </li>
28
- <li>
29
- <label for="<?php echo $_code ?>_expiry_month" class="required"><em>*</em><?php echo $this->__("paymill_Date") ?></label>
30
- <div class="input-box">
31
- <div class="v-fix">
32
- <select id="<?php echo $_code ?>_expiry_month" class="month paymill-validate-cc-expdate">
33
- <?php foreach ($this->getPaymillCcMonths() as $k => $v): ?>
34
- <option value="<?php echo $k ? $k : '' ?>"<?php if ($k == $this->getInfoData($_code . '_expiry_month')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
35
- <?php endforeach ?>
36
- </select>
37
- </div>
38
- <div class="v-fix">
39
- <select id="<?php echo $_code ?>_expiry_year" class="year">
40
- <?php foreach ($this->getPaymillCcYears() as $k => $v): ?>
41
- <option value="<?php echo $k ? $k : '' ?>"<?php if ($k == $this->getInfoData($_code . '_expiry_year')): ?> selected="selected"<?php endif ?>><?php echo $v ?></option>
42
- <?php endforeach ?>
43
- </select>
44
- </div>
45
- </div>
46
- </li>
47
- <?php if (Mage::helper('paymill/optionHelper')->isShowingLabels()) : ?>
48
- <li><div class='paymill_powered'><div class='paymill_credits'><?php echo $this->__("paymill_slogan"); ?><a href='http://www.paymill.de' target='_blank'>PAYMILL</a></div></div></li>
49
- <?php endif; ?>
50
- <li>
51
- <input class="paymill-payment-token" name="payment[paymill-payment-token]" id="payment[paymill-payment-token]" type="hidden" value="" />
52
- <input class="paymill_3ds_cancel" name="payment[paymill_3ds_cancel]" id="payment[paymill_3ds_cancel]" type="hidden" value="<?php echo $this->__("paymill_3ds_cancel") ?>" />
53
- <input class="paymill-payment-amount" name="payment[paymill-payment-amount]" id="payment[paymill-payment-amount]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getPreAuthAmount($_code) ?>"/>
54
- <input class="paymill-payment-currency" name="payment[paymill-payment-currency]" id="payment[paymill-payment-currency]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency() ?>" />
55
- <input class="paymill-option-debug" name="payment[paymill-option-debug]" id="payment[paymill-option-debug]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>" />
56
- <input class="paymill-info-image-path" name="payment[paymill-info-image-path]" id="payment[paymill-info-image-path]" type="hidden" value="<?php echo Mage::helper('paymill')->getImagePath() ?>" />
57
- <input class="paymill-info-public_key" name="payment[paymill-info-public_key]" id="payment[paymill-info-public_key]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>" />
58
- <input class="paymill-info-fastCheckout-cc" name="payment[paymill-info-fastCheckout-cc]" id="payment[paymill-info-fastCheckout-cc]" type="hidden" value="<?php echo Mage::helper('paymill')->showTemplateForm($_code) ?>" />
59
- <input class="paymill-payment-error-number" name="payment[paymill-payment-error-number]" id="payment[paymill-payment-error-number]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_cc") . "<br/>\n" ?>" />
60
- <input class="paymill-payment-error-holder" name="payment[paymill-payment-error-holder]" id="payment[paymill-payment-error-holder]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_cc") . "<br/>\n" ?>" />
61
- <input class="paymill-payment-error-expdate" name="payment[paymill-payment-error-expdate]" id="payment[paymill-payment-error-expdate]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_expdate") . "<br/>\n" ?>" />
62
- <input class="paymill-payment-error-cvc" name="payment[paymill-payment-error-cvc]" id="payment[paymill-payment-error--cvc]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_cvc") . "<br/>\n" ?>" />
63
- </li>
64
- </ul>
65
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml DELETED
@@ -1,42 +0,0 @@
1
- <?php $_code = $this->getMethodCode() ?>
2
- <script type="text/javascript" src="<?php echo Mage::helper('paymill')->getJscriptPath() . "paymentForm.js" ?>"></script>
3
- <?php echo Mage::helper('paymill')->getFormTypeForDisplay($_code) ?>
4
- <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
5
- <li>
6
- <p class="paymill-payment-errors alert-error" style="display:none;"></p>
7
- </li>
8
- <li>
9
- <label for="<?php echo $_code ?>_holdername" class="required"><em>*</em><?php echo $this->__("paymill_Holder") ?></label>
10
- <div class="input-box">
11
- <input value="" type="text" id="<?php echo $_code ?>_holdername" class="input-text paymill-validate-dd-holdername required-entry"/>
12
- </div>
13
- </li>
14
- <li>
15
- <label for="<?php echo $_code ?>_account" class="required"><em>*</em><?php echo $this->__("paymill_account") ?></label>
16
- <div class="input-box">
17
- <input value="" type="text" id="<?php echo $_code ?>_account" class="input-text paymill-validate-dd-account required-entry"/>
18
- </div>
19
- </li>
20
- <li>
21
- <label for="<?php echo $_code ?>_bankcode" class="required"><em>*</em><?php echo $this->__("paymill_bankcode") ?></label>
22
- <div class="input-box">
23
- <input value="" type="text" id="<?php echo $_code ?>_bankcode" class="input-text paymill-validate-dd-bankcode required-entry"/>
24
- </div>
25
- </li>
26
- <?php if (Mage::helper('paymill/optionHelper')->isShowingLabels()) : ?>
27
- <li><div class='paymill_powered'><div class='paymill_credits'> <?php echo $this->__("paymill_slogan_elv"); ?> <a href='http://www.paymill.de' target='_blank'>PAYMILL</a></div></div></li>
28
- <?php endif; ?>
29
- <li>
30
- <input class="paymill-payment-token" name="payment[paymill-payment-token]" id="payment[paymill-payment-token]" type="hidden" value="" />
31
- <input class="paymill-payment-amount" name="payment[paymill-payment-amount]" id="payment[paymill-payment-amount]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getPreAuthAmount($_code) ?>" />
32
- <input class="paymill-payment-currency" name="payment[paymill-payment-currency]" id="payment[paymill-payment-currency]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency() ?>" />
33
- <input class="paymill-option-debug" name="payment[paymill-option-debug]" id="payment[paymill-option-debug]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>" />
34
- <input class="paymill-info-image-path" name="payment[paymill-info-image-path]" id="payment[paymill-info-image-path]" type="hidden" value="<?php echo Mage::helper('paymill')->getImagePath() ?>" />
35
- <input class="paymill-info-public_key" name="payment[paymill-info-public_key]" id="payment[paymill-info-public_key]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>" />
36
- <input class="paymill-info-fastCheckout-elv" name="payment[paymill-info-fastCheckout-elv]" id="payment[paymill-info-fastCheckout-elv]" type="hidden" value="<?php echo Mage::helper('paymill')->showTemplateForm($_code) ?>" />
37
- <input class="paymill-payment-error-number-elv" name="payment[paymill-payment-error-number-elv]" id="payment[paymill-payment-error-number-elv]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_number_elv") . "<br/>\n" ?>" />
38
- <input class="paymill-payment-error-holder-elv" name="payment[paymill-payment-error-holder-elv]" id="payment[paymill-payment-error-holder-elv]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_holder_elv") . "<br/>\n" ?>" />
39
- <input class="paymill-payment-error-bankcode" name="payment[paymill-payment-error-bankcode]" id="payment[paymill-payment-error-bankcode]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_bankcode") . "<br/>\n" ?>" />
40
- </li>
41
- </ul>
42
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/payment/info/creditcard.phtml DELETED
@@ -1,6 +0,0 @@
1
- <table>
2
- <tr>
3
- <td><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></td>
4
- </tr>
5
- </table>
6
- <?php echo $this->getChildHtml() ?>
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/payment/info/directdebit.phtml DELETED
@@ -1,6 +0,0 @@
1
- <table>
2
- <tr>
3
- <td><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></td>
4
- </tr>
5
- </table>
6
- <?php echo $this->getChildHtml() ?>
 
 
 
 
 
 
app/etc/modules/Paymill_Paymill.xml DELETED
@@ -1,16 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <config>
3
- <modules>
4
- <!-- declare CompanyName_NewModule module -->
5
- <Paymill_Paymill>
6
- <!-- this is an active module -->
7
- <active>true</active>
8
- <!-- this module will be located in app/code/local code pool -->
9
- <codePool>community</codePool>
10
- <!-- specify dependencies for correct module loading order -->
11
- <depends>
12
- <Mage_Payment />
13
- </depends>
14
- </Paymill_Paymill>
15
- </modules>
16
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/locale/de_DE/Paymill_Paymill.csv CHANGED
@@ -1,5 +1,5 @@
1
  "paymill_credit_card","Kreditkarte"
2
- "paymill_direct_debit","Lastschrift"
3
  "paymill_creditcard","Kreditkarte"
4
  "paymill_directdebit","Lastschrift"
5
  "paymill_Basic_Setting","Paymill Grundeinstellungen"
@@ -10,7 +10,7 @@
10
  "paymill_Activate_Logging","Logging aktivieren"
11
  "paymill_Show_Label","Paymill Label im Checkout anzeigen"
12
  "paymill_credit_card_label","Paymill Kreditkarte"
13
- "paymill_direct_debit_label","Paymill Lastschrift"
14
  "paymill_opt_Enabled","Aktivieren"
15
  "paymill_opt_Countries","Länder"
16
  "paymill_opt_Sort","Reihenfolge"
@@ -53,4 +53,5 @@
53
  "paymill_slogan","Sichere Kreditkartenzahlung powered by "
54
  "paymill_slogan_elv","Elektronisches Lastschriftverfahren powered by "
55
  "paymill_error_text_invalid_cvc", "Ungültige CVC"
56
- "paymill_3ds_cancel", "Abbrechen"
 
1
  "paymill_credit_card","Kreditkarte"
2
+ "paymill_direct_debit","ELV"
3
  "paymill_creditcard","Kreditkarte"
4
  "paymill_directdebit","Lastschrift"
5
  "paymill_Basic_Setting","Paymill Grundeinstellungen"
10
  "paymill_Activate_Logging","Logging aktivieren"
11
  "paymill_Show_Label","Paymill Label im Checkout anzeigen"
12
  "paymill_credit_card_label","Paymill Kreditkarte"
13
+ "paymill_direct_debit_label","Paymill ELV"
14
  "paymill_opt_Enabled","Aktivieren"
15
  "paymill_opt_Countries","Länder"
16
  "paymill_opt_Sort","Reihenfolge"
53
  "paymill_slogan","Sichere Kreditkartenzahlung powered by "
54
  "paymill_slogan_elv","Elektronisches Lastschriftverfahren powered by "
55
  "paymill_error_text_invalid_cvc", "Ungültige CVC"
56
+ "paymill_3ds_cancel", "Abbrechen"
57
+ "paymill_cvc_tooltip", "Hinter dem CVV-Code bzw. CVC verbirgt sich ein Sicherheitsmerkmal von Kreditkarten, üblicherweise handelt es sich dabei um eine drei- bis vierstelligen Nummer. Der CVV-Code befindet sich auf VISA-Kreditkarten. Der gleiche Code ist auch auf MasterCard-Kreditkarten zu finden, hier allerdings unter dem Namen CVC. Die Abkürzung CVC steht dabei für Card Validation Code. Bei VISA wird der Code als Card Verification Value-Code bezeichnet. Ähnlich wie bei Mastercard und VISA gibt es auch bei Diners Club, Discover und JCB eine dreistellige Nummer, die meist auf der Rückseite der Karte zu finden ist. Bei Maestro-Karten gibt es mit und ohne dreistelligen CVV. Wird eine Maestro-Karte ohne CVV verwendet kann einfach 000 eingetragen werden. American Express verwendet die CID (Card Identification Number). Dabei handelt es sich um eine vierstellige Nummer, die meist auf der Vorderseite der Karte, rechts oberhalb der Kartennummer zu finden ist."
app/locale/en_GB/Paymill_Paymill.csv CHANGED
@@ -54,3 +54,4 @@
54
  "paymill_slogan_elv","Direct debit payments powered by "
55
  "paymill_error_text_invalid_cvc", "Invalid cvc"
56
  "paymill_3ds_cancel", "cancel"
 
54
  "paymill_slogan_elv","Direct debit payments powered by "
55
  "paymill_error_text_invalid_cvc", "Invalid cvc"
56
  "paymill_3ds_cancel", "cancel"
57
+ "paymill_cvc_tooltip", "What is a CVV/CVC number? Prospective credit cards will have a 3 to 4-digit number, usually on the back of the card. It ascertains that the payment is carried out by the credit card holder and the card account is legitimate. On Visa the CVV (Card Verification Value) appears after and to the right of your card number. Same goes for Mastercard’s CVC (Card Verfication Code), which also appears after and to the right of your card number, and has 3-digits. Diners Club, Discover, and JCB credit and debit cards have a three-digit card security code which also appears after and to the right of your card number. The American Express CID (Card Identification Number) is a 4-digit number printed on the front of your card. It appears above and to the right of your card number. On Maestro the CVV appears after and to the right of your number. If you don’t have a CVV for your Maestro card you can use 000."
app/locale/en_US/Paymill_Paymill.csv CHANGED
@@ -53,3 +53,4 @@
53
  "paymill_slogan","Secure credit card payments powered by "
54
  "paymill_slogan_elv","Direct debit payments powered by "
55
  "paymill_error_text_invalid_cvc", "Invalid cvc"
 
53
  "paymill_slogan","Secure credit card payments powered by "
54
  "paymill_slogan_elv","Direct debit payments powered by "
55
  "paymill_error_text_invalid_cvc", "Invalid cvc"
56
+ "paymill_cvc_tooltip", "What is a CVV/CVC number? Prospective credit cards will have a 3 to 4-digit number, usually on the back of the card. It ascertains that the payment is carried out by the credit card holder and the card account is legitimate. On Visa the CVV (Card Verification Value) appears after and to the right of your card number. Same goes for Mastercard’s CVC (Card Verfication Code), which also appears after and to the right of your card number, and has 3-digits. Diners Club, Discover, and JCB credit and debit cards have a three-digit card security code which also appears after and to the right of your card number. The American Express CID (Card Identification Number) is a 4-digit number printed on the front of your card. It appears above and to the right of your card number. On Maestro the CVV appears after and to the right of your number. If you don’t have a CVV for your Maestro card you can use 000."
app/locale/es_ES/Paymill_Paymill.csv ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "paymill_credit_card","Tarjeta de crédito"
2
+ "paymill_direct_debit","Débito directo"
3
+ "paymill_creditcard","Tarjeta de crédito"
4
+ "paymill_directdebit","Débito directo"
5
+ "paymill_Basic_Setting","Paymill: Configuración básica"
6
+ "paymill_Public_Key","Clave pública"
7
+ "paymill_Private_Key","Clave privada"
8
+ "paymill_Activate_Debugging","Activar Depuración"
9
+ "paymill_fc_active","Activar Pago rápido"
10
+ "paymill_Activate_Logging","Activar Registro"
11
+ "paymill_Show_Label","Mostrar etiqueta de Paymill durante el Pago"
12
+ "paymill_credit_card_label","Paymill: Tarjeta de crédito"
13
+ "paymill_direct_debit_label","Paymill: Débito directo"
14
+ "paymill_opt_Enabled","Activar"
15
+ "paymill_opt_Countries","Países"
16
+ "paymill_opt_Sort","Ordenar por"
17
+ "paymill_Number","Número"
18
+ "paymill_Cvc","CVC"
19
+ "paymill_Holder","Nombre del titular"
20
+ "paymill_Date","Válida hasta (MM/YYYY)"
21
+ "paymill_Amount","Cantidad"
22
+ "paymill_Currency","Moneda"
23
+ "paymill_public_key_tooltip","Introduce tu clave pública"
24
+ "paymill_public_key_comment","Puedes encontrar tu clave pública en el sitio web de Paymill pulsando : MY ACCOUNT->Settings->API Keys"
25
+ "paymill_private_key_tooltip","Introduce tu clave privada."
26
+ "paymill_private_key_comment","Puedes encontrar tu clave pública en el sitio web de Paymill pulsando : MY ACCOUNT->Settings->API Keys"
27
+ "paymill_error_text_invalid_number_cc","Por favor, introduce un número de Tarjeta de Crédito válido."
28
+ "paymill_error_text_invalid_number_elv","Por favor, introduce un número de cuenta válido."
29
+ "paymill_error_text_invalid_expdate","Fecha de expiración inválida"
30
+ "paymill_error_text_invalid_holder_cc","Por favor, introduce el nombre del titular de la tarjeta."
31
+ "paymill_error_text_invalid_holder_elv","Por favor, introduce el nombre del titular de la cuenta."
32
+ "paymill_error_text_invalid_bankcode","Código de banco inválido."
33
+ "paymill_error_text_invalid_payment","No se ha podido indentificar el método de pago escogido. Por favor, contáctese con nuestro equipo de soporte al cliente."
34
+ "paymill_account","Número de cuenta"
35
+ "paymill_bankcode","Código del Banco"
36
+ "paymill_log","Registro de Paymill"
37
+ "paymill_error_text_no_entry_selected","Por favor, selecione una entrada"
38
+ "paymill_action_delete", "Eliminar selección"
39
+ "paymill_dialog_confirm", "Estás seguro?"
40
+ "paymill_backend_log_id","ID"
41
+ "paymill_backend_log_entry_date","Fecha"
42
+ "paymill_backend_log_version","Versión"
43
+ "paymill_backend_log_merchant_info","Información para el Comerciante"
44
+ "paymill_backend_log_dev_info","Información para los desarrolladores"
45
+ "paymill_backend_log_dev_info_additional","Información adicional para desarrolladores"
46
+ "paymill_checkout_generating_invoice","Se está generando la factura"
47
+ "paymill_preAuth_active","Autorizar pagos por Tarjeta de Crédito durante el pago y capturar manualmente al generar la factura."
48
+ "paymill_token_tolerace","Valor del Token de tolerancia"
49
+ "paymill_token_tolerace_tooltip","Suma de todos los cargos adicionales usados para evitar variaciones seguras en 3D"
50
+ "paymill_token_tolerace_comment", "Suma de todos los cargos adicionales usados para evitar variaciones seguras en 3D"
51
+ "paymill_log_action_success", "Acción realizada con éxito"
52
+ "paymill_accepted_currency", "Monedas aceptadas"
53
+ "paymill_slogan","Pago seguro con Tarjeta de crédito por "
54
+ "paymill_slogan_elv","Pagos con Débito directo por "
55
+ "paymill_error_text_invalid_cvc", "cvc incorrecto"
56
+ "paymill_cvc_tooltip", "What is a CVV/CVC number? Prospective credit cards will have a 3 to 4-digit number, usually on the back of the card. It ascertains that the payment is carried out by the credit card holder and the card account is legitimate. On Visa the CVV (Card Verification Value) appears after and to the right of your card number. Same goes for Mastercard’s CVC (Card Verfication Code), which also appears after and to the right of your card number, and has 3-digits. Diners Club, Discover, and JCB credit and debit cards have a three-digit card security code which also appears after and to the right of your card number. The American Express CID (Card Identification Number) is a 4-digit number printed on the front of your card. It appears above and to the right of your card number. On Maestro the CVV appears after and to the right of your number. If you don’t have a CVV for your Maestro card you can use 000."
js/paymill/paymentForm.js CHANGED
@@ -1,10 +1,11 @@
 
 
1
  //Backend Options
2
  var PAYMILL_PUBLIC_KEY = null;
3
 
4
  //State Descriptors
5
  var PAYMILL_PAYMENT_NAME = "Preparing Payment";
6
  var PAYMILL_IMAGE_PATH = null;
7
- var PAYMILL_NO_FAST_CHECKOUT = false;
8
 
9
  //Errortexts
10
  var PAYMILL_ERROR_STRING = "";
@@ -21,7 +22,7 @@ var PAYMILL_ERROR_TEXT_IVALID_PAYMENT = null;
21
  function debug(message)
22
  {
23
  debug_state = pmQuery('.paymill-option-debug').val();
24
- if (debug_state == 1) {
25
  var displayName = "";
26
  if (PAYMILL_PAYMENT_NAME === 'paymill_creditcard') {
27
  displayName = 'Credit Card';
@@ -42,40 +43,41 @@ function debug(message)
42
  */
43
  function paymillShowCardIcon()
44
  {
45
- switch(paymill.cardType(pmQuery('#paymill_creditcard_number').val())){
46
- case 'Visa':
47
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_visa.png" >');
48
- pmQuery('#paymill_creditcard_card_icon').show();
49
- break;
50
- case 'MasterCard':
51
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_mastercard.png" >');
52
- pmQuery('#paymill_creditcard_card_icon').show();
53
- break;
54
- case 'American Express':
55
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_amex.png" >');
56
- pmQuery('#paymill_creditcard_card_icon').show();
57
- break;
58
- case 'JCB':
59
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_jcb.png" >');
60
- pmQuery('#paymill_creditcard_card_icon').show();
61
- break;
62
- case 'Maestro':
63
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_maestro.png" >');
64
- pmQuery('#paymill_creditcard_card_icon').show();
65
- break;
66
- case 'Diners Club':
67
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_dinersclub.png" >');
68
- pmQuery('#paymill_creditcard_card_icon').show();
69
- break;
70
- case 'Discover':
71
- pmQuery('#paymill_creditcard_card_icon').html('<img src="'+ pmQuery('.paymill-info-image-path').val() +'icon_32x20_discover.png" >');
72
- pmQuery('#paymill_creditcard_card_icon').show();
73
- break;
74
- default:
75
- pmQuery('#paymill_creditcard_card_icon').hide();
76
- debug("Creditcard number not according to any known pattern: "+paymill.cardType(pmQuery('#paymill_creditcard_number').val()));
77
- break;
78
- }
 
79
  }
80
 
81
  /**
@@ -94,10 +96,8 @@ function paymillResponseHandler(error, result)
94
  // Appending Token to form
95
  debug("Saving Token in Form: " + result.token);
96
  pmQuery('.paymill-payment-token').val(result.token);
97
- payment.save();
98
  }
99
  }
100
-
101
  /**
102
  *
103
  * @returns {Boolean}
@@ -120,85 +120,115 @@ function paymillSubmitForm()
120
  PAYMILL_ERROR_TEXT_IVALID_BANKCODE = pmQuery('.paymill-payment-error-bankcode').val();
121
  }
122
 
 
 
 
 
 
123
  switch (PAYMILL_PAYMENT_NAME) {
124
  case "paymill_creditcard":
125
- PAYMILL_NO_FAST_CHECKOUT = pmQuery('.paymill-info-fastCheckout-cc').val();
126
- if (PAYMILL_NO_FAST_CHECKOUT) {
127
- var paymillValidator = new Validation('co-payment-form');
128
- var nv = {};
129
- nv['paymill-validate-cc-number'] = new Validator('paymill-validate-cc-number', PAYMILL_ERROR_TEXT_IVALID_NUMBER_CC, function(v) {
130
- if (false == paymill.validateCardNumber(pmQuery('#paymill_creditcard_number').val())) {
131
- debug(PAYMILL_ERROR_TEXT_IVALID_NUMBER_CC);
132
- return false;
133
- }
134
- return true;
135
- }, '');
136
- nv['paymill-validate-cc-expdate'] = new Validator('paymill-validate-cc-expdate', PAYMILL_ERROR_TEXT_IVALID_EXPDATE, function(v) {
137
- if (false == paymill.validateExpiry(pmQuery('#paymill_creditcard_expiry_month').val(), pmQuery('#paymill_creditcard_expiry_year').val())) {
138
- debug(PAYMILL_ERROR_TEXT_IVALID_EXPDATE);
139
- return false;
140
- }
141
- return true;
142
- }, '');
143
- nv['paymill-validate-cc-holder'] = new Validator('paymill-validate-cc-holder', PAYMILL_ERROR_TEXT_IVALID_HOLDER_CC, function(v) {
144
- if (pmQuery('#paymill_creditcard_holdername').val() == '') {
145
- debug(PAYMILL_ERROR_TEXT_IVALID_HOLDER_CC);
146
- return false;
147
- }
148
- return true;
149
- }, '');
150
- nv['paymill-validate-cc-cvc'] = new Validator('paymill-validate-cc-cvc', PAYMILL_ERROR_TEXT_IVALID_CVC, function(v) {
151
- if (false == paymill.validateCvc(pmQuery('#paymill_creditcard_cvc').val())) {
152
- debug(PAYMILL_ERROR_TEXT_IVALID_CVC);
153
- return false;
154
- }
155
- return true;
156
- }, '');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
 
158
  Object.extend(Validation.methods, nv);
159
 
160
  if (!paymillValidator.validate()) {
161
  return false;
162
  }
 
 
 
 
 
 
163
 
164
- var params = {
 
165
  amount_int: parseInt(pmQuery('.paymill-payment-amount').val()), // E.g. "15" for 0.15 Eur
166
  currency: pmQuery('.paymill-payment-currency').val(), // ISO 4217 e.g. "EUR"
167
  number: pmQuery('#paymill_creditcard_number').val(),
168
  exp_month: pmQuery('#paymill_creditcard_expiry_month').val(),
169
  exp_year: pmQuery('#paymill_creditcard_expiry_year').val(),
170
- cvc: pmQuery('#paymill_creditcard_cvc').val(),
171
- cardholdername: pmQuery('#paymill_creditcard_holdername').val()
172
- };
173
  }
174
  break;
175
-
176
  case "paymill_directdebit":
177
- PAYMILL_NO_FAST_CHECKOUT = pmQuery('.paymill-info-fastCheckout-elv').val();
178
- if (PAYMILL_NO_FAST_CHECKOUT) {
179
- var paymillValidator = new Validation('co-payment-form');
180
- var nv = {};
181
- nv['paymill-validate-dd-holdername'] = new Validator('paymill-validate-dd-holdername', PAYMILL_ERROR_TEXT_IVALID_HOLDER_ELV, function(v) {
182
- if (false == pmQuery('#paymill_directdebit_holdername').val()) {
183
- debug(PAYMILL_ERROR_TEXT_IVALID_HOLDER_ELV);
184
- return false;
185
- }
186
- return true;
187
- }, '');
188
- nv['paymill-validate-dd-account'] = new Validator('paymill-validate-dd-account', PAYMILL_ERROR_TEXT_IVALID_NUMBER_ELV, function(v) {
189
- if (false == paymill.validateAccountNumber(pmQuery('#paymill_directdebit_account').val())) {
190
- debug(PAYMILL_ERROR_TEXT_IVALID_NUMBER_ELV);
191
- return false;
192
- }
193
- return true;
194
- }, '');
195
- nv['paymill-validate-dd-bankcode'] = new Validator('paymill-validate-dd-bankcode', PAYMILL_ERROR_TEXT_IVALID_BANKCODE, function(v) {
196
- if (false == paymill.validateBankCode(pmQuery('#paymill_directdebit_bankcode').val())) {
197
- debug(PAYMILL_ERROR_TEXT_IVALID_BANKCODE);
198
- return false;
199
- }
200
- return true;
201
- }, '');
 
 
 
202
 
203
  Object.extend(Validation.methods, nv);
204
 
@@ -206,40 +236,77 @@ function paymillSubmitForm()
206
  return false;
207
  }
208
 
209
- var params = {
 
210
  amount_int: pmQuery('.paymill-payment-amount').val(), // E.g. "15" for 0.15 Eur
211
  currency: pmQuery('.paymill-payment-currency').val(), // ISO 4217 e.g. "EUR"
212
  number: pmQuery('#paymill_directdebit_account').val(),
213
  bank: pmQuery('#paymill_directdebit_bankcode').val(),
214
- accountholder: pmQuery('#paymill_directdebit_holdername').val()
215
- };
216
  }
217
  break;
218
-
219
- default:
220
- payment.save();
221
- return false;
222
- break;
223
- }
224
-
225
- if (PAYMILL_NO_FAST_CHECKOUT) {
226
- debug("Generating Token");
227
- paymill.createToken(params, paymillResponseHandler);
228
- } else {
229
- debug("FastCheckout Data found. Skipping Token generation.");
230
- payment.save();
231
  }
232
 
233
  return false;
234
  }
235
 
236
-
237
- pmQuery(document).ready(function()
238
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  //Gather Data
240
  PAYMILL_PUBLIC_KEY = pmQuery('.paymill-info-public_key').val();
241
  pmQuery('#paymill_creditcard_number').live('input', paymillShowCardIcon);
242
- pmQuery('#payment-buttons-container button:first').prop("onclick", null);
243
- pmQuery('#payment-buttons-container button:first').unbind('click');
244
- pmQuery('#payment-buttons-container button:first').click(paymillSubmitForm);
 
 
 
 
 
 
 
 
 
 
 
 
245
  });
1
+ var eventsSetted = false;
2
+
3
  //Backend Options
4
  var PAYMILL_PUBLIC_KEY = null;
5
 
6
  //State Descriptors
7
  var PAYMILL_PAYMENT_NAME = "Preparing Payment";
8
  var PAYMILL_IMAGE_PATH = null;
 
9
 
10
  //Errortexts
11
  var PAYMILL_ERROR_STRING = "";
22
  function debug(message)
23
  {
24
  debug_state = pmQuery('.paymill-option-debug').val();
25
+ if (debug_state === 1) {
26
  var displayName = "";
27
  if (PAYMILL_PAYMENT_NAME === 'paymill_creditcard') {
28
  displayName = 'Credit Card';
43
  */
44
  function paymillShowCardIcon()
45
  {
46
+ var cssClass = "input-text paymill-validate-cc-number required-entry paymill_creditcard_number-";
47
+ switch (paymill.cardType(pmQuery('#paymill_creditcard_number').val()).toLowerCase()) {
48
+ case 'visa':
49
+ pmQuery('#paymill_creditcard_number').removeClass();
50
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'visa');
51
+ break;
52
+ case 'mastercard':
53
+ pmQuery('#paymill_creditcard_number').removeClass();
54
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'mastercard');
55
+ break;
56
+ case 'american express':
57
+ pmQuery('#paymill_creditcard_number').removeClass();
58
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'american');
59
+ break;
60
+ case 'jcb':
61
+ pmQuery('#paymill_creditcard_number').removeClass();
62
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'jcb');
63
+ break;
64
+ case 'maestro':
65
+ pmQuery('#paymill_creditcard_number').removeClass();
66
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'maestro');
67
+ break;
68
+ case 'diners club':
69
+ pmQuery('#paymill_creditcard_number').removeClass();
70
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'diners');
71
+ break;
72
+ case 'discover':
73
+ pmQuery('#paymill_creditcard_number').removeClass();
74
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'discover');
75
+ break;
76
+ case 'unionpay':
77
+ pmQuery('#paymill_creditcard_number').removeClass();
78
+ pmQuery('#paymill_creditcard_number').addClass(cssClass + 'unionpay');
79
+ break;
80
+ }
81
  }
82
 
83
  /**
96
  // Appending Token to form
97
  debug("Saving Token in Form: " + result.token);
98
  pmQuery('.paymill-payment-token').val(result.token);
 
99
  }
100
  }
 
101
  /**
102
  *
103
  * @returns {Boolean}
120
  PAYMILL_ERROR_TEXT_IVALID_BANKCODE = pmQuery('.paymill-payment-error-bankcode').val();
121
  }
122
 
123
+ var form = 'co-payment-form';
124
+ if (pmQuery("#onestepcheckout-form").length > 0) {
125
+ var form = 'onestepcheckout-form';
126
+ }
127
+
128
  switch (PAYMILL_PAYMENT_NAME) {
129
  case "paymill_creditcard":
130
+ if (pmQuery('.paymill-info-fastCheckout-cc').val() === 'false') {
131
+ var paymillValidator = new Validation(form);
132
+ var nv = {
133
+ 'paymill-validate-cc-number': new Validator(
134
+ 'paymill-validate-cc-number',
135
+ PAYMILL_ERROR_TEXT_IVALID_NUMBER_CC,
136
+ function(v) {
137
+ return paymill.validateCardNumber(v);
138
+ },
139
+ ''
140
+ ),
141
+ 'paymill-validate-cc-expdate-month': new Validator(
142
+ 'paymill-validate-cc-expdate-month',
143
+ PAYMILL_ERROR_TEXT_IVALID_EXPDATE,
144
+ function(v) {
145
+ return paymill.validateExpiry(pmQuery('#paymill_creditcard_expiry_month').val(), pmQuery('#paymill_creditcard_expiry_year').val());
146
+ },
147
+ ''
148
+ ),
149
+ 'paymill-validate-cc-expdate-year': new Validator(
150
+ 'paymill-validate-cc-expdate-year',
151
+ PAYMILL_ERROR_TEXT_IVALID_EXPDATE,
152
+ function(v) {
153
+ return paymill.validateExpiry(pmQuery('#paymill_creditcard_expiry_month').val(), pmQuery('#paymill_creditcard_expiry_year').val());
154
+ },
155
+ ''
156
+ ),
157
+ 'paymill-validate-cc-holder': new Validator(
158
+ 'paymill-validate-cc-holder',
159
+ PAYMILL_ERROR_TEXT_IVALID_HOLDER_CC,
160
+ function(v) {
161
+ return (v !== '');
162
+ },
163
+ ''
164
+ ),
165
+ 'paymill-validate-cc-cvc': new Validator(
166
+ 'paymill-validate-cc-cvc',
167
+ PAYMILL_ERROR_TEXT_IVALID_CVC,
168
+ function(v) {
169
+ if (paymill.cardType(pmQuery('#paymill_creditcard_number').val()).toLowerCase() === 'maestro') {
170
+ return true;
171
+ }
172
+
173
+ return paymill.validateCvc(v);
174
+ },
175
+ ''
176
+ )
177
+ };
178
 
179
  Object.extend(Validation.methods, nv);
180
 
181
  if (!paymillValidator.validate()) {
182
  return false;
183
  }
184
+
185
+ var cvc = 000;
186
+
187
+ if (!paymill.cardType(pmQuery('#paymill_creditcard_number').val()).toLowerCase() === 'maestro') {
188
+ cvc = pmQuery('#paymill_creditcard_cvc').val();
189
+ }
190
 
191
+ debug("Generating Token");
192
+ paymill.createToken({
193
  amount_int: parseInt(pmQuery('.paymill-payment-amount').val()), // E.g. "15" for 0.15 Eur
194
  currency: pmQuery('.paymill-payment-currency').val(), // ISO 4217 e.g. "EUR"
195
  number: pmQuery('#paymill_creditcard_number').val(),
196
  exp_month: pmQuery('#paymill_creditcard_expiry_month').val(),
197
  exp_year: pmQuery('#paymill_creditcard_expiry_year').val(),
198
+ cvc: cvc,
199
+ cardholder: pmQuery('#paymill_creditcard_holdername').val()
200
+ }, paymillResponseHandler);
201
  }
202
  break;
 
203
  case "paymill_directdebit":
204
+ if (pmQuery('.paymill-info-fastCheckout-elv').val() === 'false') {
205
+ var paymillValidator = new Validation(form);
206
+ var nv = {
207
+ 'paymill-validate-dd-holdername': new Validator(
208
+ 'paymill-validate-dd-holdername',
209
+ PAYMILL_ERROR_TEXT_IVALID_HOLDER_ELV,
210
+ function(v) {
211
+ return !(v === '');
212
+ },
213
+ ''
214
+ ),
215
+ 'paymill-validate-dd-account': new Validator(
216
+ 'paymill-validate-dd-account',
217
+ PAYMILL_ERROR_TEXT_IVALID_NUMBER_ELV,
218
+ function(v) {
219
+ return paymill.validateAccountNumber(v);
220
+ },
221
+ ''
222
+ ),
223
+ 'paymill-validate-dd-bankcode': new Validator(
224
+ 'paymill-validate-dd-bankcode',
225
+ PAYMILL_ERROR_TEXT_IVALID_BANKCODE,
226
+ function(v) {
227
+ return paymill.validateBankCode(v);
228
+ },
229
+ ''
230
+ )
231
+ };
232
 
233
  Object.extend(Validation.methods, nv);
234
 
236
  return false;
237
  }
238
 
239
+ debug("Generating Token");
240
+ paymill.createToken({
241
  amount_int: pmQuery('.paymill-payment-amount').val(), // E.g. "15" for 0.15 Eur
242
  currency: pmQuery('.paymill-payment-currency').val(), // ISO 4217 e.g. "EUR"
243
  number: pmQuery('#paymill_directdebit_account').val(),
244
  bank: pmQuery('#paymill_directdebit_bankcode').val(),
245
+ cardholder: pmQuery('#paymill_directdebit_holdername').val()
246
+ }, paymillResponseHandler);
247
  }
248
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  }
250
 
251
  return false;
252
  }
253
 
254
+ function addPaymillEvents()
 
255
  {
256
+
257
+ pmQuery('#paymill_directdebit_holdername').live('focus', function() {
258
+ pmQuery('.paymill-info-fastCheckout-elv').val('false');
259
+ pmQuery('#paymill_directdebit_holdername').val('');
260
+ });
261
+
262
+ pmQuery('#paymill_directdebit_account').live('focus', function() {
263
+ pmQuery('.paymill-info-fastCheckout-elv').val('false');
264
+ pmQuery('#paymill_directdebit_account').val('');
265
+ });
266
+
267
+
268
+ pmQuery('#paymill_directdebit_bankcode').live('focus', function() {
269
+ pmQuery('.paymill-info-fastCheckout-elv').val('false');
270
+ pmQuery('#paymill_directdebit_bankcode').val('');
271
+ });
272
+
273
+ pmQuery('#paymill_creditcard_holdername').live('focus', function() {
274
+ pmQuery('.paymill-info-fastCheckout-cc').val('false');
275
+ pmQuery('#paymill_creditcard_holdername').val('');
276
+ });
277
+
278
+ pmQuery('#paymill_creditcard_cvc').live('focus', function() {
279
+ pmQuery('.paymill-info-fastCheckout-cc').val('false');
280
+ });
281
+
282
+ pmQuery('#paymill_creditcard_number').live('focus', function() {
283
+ pmQuery('.paymill-info-fastCheckout-cc').val('false');
284
+ });
285
+
286
+ pmQuery('#paymill_creditcard_expiry_month').live('change', function() {
287
+ pmQuery('.paymill-info-fastCheckout-cc').val('false');
288
+ });
289
+
290
+ pmQuery('#paymill_creditcard_expiry_year').live('change', function() {
291
+ pmQuery('.paymill-info-fastCheckout-cc').val('false');
292
+ });
293
+
294
  //Gather Data
295
  PAYMILL_PUBLIC_KEY = pmQuery('.paymill-info-public_key').val();
296
  pmQuery('#paymill_creditcard_number').live('input', paymillShowCardIcon);
297
+ pmQuery('#paymill_creditcard_number').live('input', paymillSubmitForm);
298
+ pmQuery('#paymill_creditcard_cvc').live('input', paymillSubmitForm);
299
+ pmQuery('#paymill_creditcard_expiry_month').live('change', paymillSubmitForm);
300
+ pmQuery('#paymill_creditcard_expiry_year').live('change', paymillSubmitForm);
301
+
302
+ pmQuery('#paymill_directdebit_bankcode').live('input', paymillSubmitForm);
303
+ eventsSetted = true;
304
+
305
+ }
306
+
307
+ pmQuery(document).ready(function()
308
+ {
309
+ if (!eventsSetted) {
310
+ addPaymillEvents();
311
+ }
312
  });
lib/Services/Paymill/PaymentProcessor.php CHANGED
@@ -56,7 +56,6 @@ class Services_Paymill_PaymentProcessor
56
  $this->setPrivateKey($privateKey);
57
  $this->setApiUrl($apiUrl);
58
  $this->setLibBase($libBase);
59
- $this->_preAuthAmount = isset($params['preauthamount']) ? $params['preauthamount'] : 0;
60
  $this->_token = $params['token'];
61
  $this->_amount = $params['amount'];
62
  $this->_currency = $params['currency'];
@@ -108,6 +107,7 @@ class Services_Paymill_PaymentProcessor
108
  'client' => $this->_clientId
109
  )
110
  );
 
111
  $this->_validateResult($payment, 'Payment');
112
 
113
  $this->_paymentId = $payment['id'];
@@ -123,15 +123,15 @@ class Services_Paymill_PaymentProcessor
123
  */
124
  private function _createTransaction()
125
  {
126
- $transaction = $this->_transactionsObject->create(
127
- array(
128
- 'amount' => $this->_amount,
129
- 'currency' => $this->_currency,
130
- 'description' => $this->_description,
131
- 'preauthorization' => $this->_preauthId,
132
- 'source' => $this->_source
133
- )
134
  );
 
 
135
  $this->_validateResult($transaction, 'Transaction');
136
 
137
  $this->_transactionId = $transaction['id'];
@@ -196,7 +196,7 @@ class Services_Paymill_PaymentProcessor
196
  */
197
  private function _validateParameter()
198
  {
199
- if($this->_preAuthAmount == null){
200
  $this->_preAuthAmount = $this->_amount;
201
  }
202
 
@@ -292,6 +292,15 @@ class Services_Paymill_PaymentProcessor
292
  }
293
  }
294
 
 
 
 
 
 
 
 
 
 
295
  /**
296
  * Executes the Payment Process
297
  *
@@ -304,13 +313,24 @@ class Services_Paymill_PaymentProcessor
304
  return false;
305
  }
306
 
 
 
307
  try {
 
308
  $this->_createClient();
 
309
  $this->_createPayment();
310
- $this->_createPreauthorization();
311
- if($captureNow){
 
 
312
  $this->_createTransaction();
 
 
 
 
313
  }
 
314
  return true;
315
  } catch (Exception $ex) {
316
  // paymill wrapper threw an exception
@@ -319,15 +339,16 @@ class Services_Paymill_PaymentProcessor
319
  }
320
  }
321
 
322
- final public function capture(){
 
323
  $this->_initiatePhpWrapperClasses();
324
- if(!isset($this->_amount) || !isset($this->_currency) || !isset($this->_preauthId)){
325
  return false;
326
  }
327
  return $this->_createTransaction();
328
  }
329
 
330
- /**
331
  * Returns the objects data
332
  *
333
  * @return array
@@ -338,7 +359,6 @@ class Services_Paymill_PaymentProcessor
338
  'apiurl' => $this->_apiUrl,
339
  'libbase' => $this->_libBase,
340
  'privatekey' => $this->_privateKey,
341
- 'logger' => $this->_logger,
342
  'token' => $this->_token,
343
  'amount' => $this->_amount,
344
  'preauthamount' => $this->_preAuthAmount,
56
  $this->setPrivateKey($privateKey);
57
  $this->setApiUrl($apiUrl);
58
  $this->setLibBase($libBase);
 
59
  $this->_token = $params['token'];
60
  $this->_amount = $params['amount'];
61
  $this->_currency = $params['currency'];
107
  'client' => $this->_clientId
108
  )
109
  );
110
+
111
  $this->_validateResult($payment, 'Payment');
112
 
113
  $this->_paymentId = $payment['id'];
123
  */
124
  private function _createTransaction()
125
  {
126
+ $parameter = array(
127
+ 'amount' => $this->_amount,
128
+ 'currency' => $this->_currency,
129
+ 'description' => $this->_description,
130
+ 'preauthorization' => $this->_preauthId,
131
+ 'source' => $this->_source
 
 
132
  );
133
+ $this->_preauthId != null ? $parameter['preauthorization'] = $this->_preauthId : $parameter['payment'] = $this->_paymentId;
134
+ $transaction = $this->_transactionsObject->create($parameter);
135
  $this->_validateResult($transaction, 'Transaction');
136
 
137
  $this->_transactionId = $transaction['id'];
196
  */
197
  private function _validateParameter()
198
  {
199
+ if ($this->_preAuthAmount == null) {
200
  $this->_preAuthAmount = $this->_amount;
201
  }
202
 
292
  }
293
  }
294
 
295
+ private function _processPreAuthCapture($captureNow)
296
+ {
297
+ $this->_createPreauthorization();
298
+ if ($captureNow) {
299
+ $this->_createTransaction();
300
+ }
301
+ return true;
302
+ }
303
+
304
  /**
305
  * Executes the Payment Process
306
  *
313
  return false;
314
  }
315
 
316
+ $this->_log('Process payment with following data', print_r($this->toArray(), true));
317
+
318
  try {
319
+
320
  $this->_createClient();
321
+ $this->_log('Client API Response', print_r($this->_clientsObject->getResponse(), true));
322
  $this->_createPayment();
323
+ $this->_log('Payment API Response', print_r($this->_paymentsObject->getResponse(), true));
324
+
325
+ //creates a transaction if there is no difference between the amount
326
+ if ($this->_preAuthAmount === $this->_amount && $captureNow) {
327
  $this->_createTransaction();
328
+ $this->_log('Transaction API Response', print_r($this->getLastResponse(), true));
329
+ } else {
330
+ $this->_processPreAuthCapture($captureNow);
331
+ $this->_log('Pre-Auth API Response', print_r($this->getLastResponse(), true));
332
  }
333
+
334
  return true;
335
  } catch (Exception $ex) {
336
  // paymill wrapper threw an exception
339
  }
340
  }
341
 
342
+ final public function capture()
343
+ {
344
  $this->_initiatePhpWrapperClasses();
345
+ if (!isset($this->_amount) || !isset($this->_currency) || !isset($this->_preauthId)) {
346
  return false;
347
  }
348
  return $this->_createTransaction();
349
  }
350
 
351
+ /**
352
  * Returns the objects data
353
  *
354
  * @return array
359
  'apiurl' => $this->_apiUrl,
360
  'libbase' => $this->_libBase,
361
  'privatekey' => $this->_privateKey,
 
362
  'token' => $this->_token,
363
  'amount' => $this->_amount,
364
  'preauthamount' => $this->_preAuthAmount,
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Paymill_Paymill</name>
4
- <version>3.1.0</version>
5
  <stability>stable</stability>
6
  <license>Open Software License</license>
7
  <channel>community</channel>
@@ -13,12 +13,14 @@ The Paymill Magento extension provides a credit card form and a direct debit for
13
  &lt;br /&gt;&lt;br /&gt;&#xD;
14
  IMPORTANT: Only use the latest version.&#xD;
15
  </description>
16
- <notes>* ensure that a token exist&#xD;
17
- * payment form styling</notes>
 
 
18
  <authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
19
- <date>2013-09-24</date>
20
- <time>12:21:10</time>
21
- <contents><target name="magecommunity"><dir><dir name="Paymill"><dir name="Paymill"><dir name="Block"><dir name="Adminhtml"><dir name="Log"><file name="Grid.php" hash="c391d53272be7fcdface2946949256a6"/></dir><file name="Log.php" hash="02930fb46a2a4569176ceb29c45037e8"/></dir><dir name="Payment"><dir name="Form"><file name="PaymentFormCreditcard.php" hash="c699219946c8f4b3925d62629da9790a"/><file name="PaymentFormDirectdebit.php" hash="e5958d8aee1777dfce4ba08308b3fa6e"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="3e7a3d2b84878bc22f6ac9e2a0ac5c76"/><file name="PaymentFormDirectdebit.php" hash="bbc8f0cae5dff57df9ec1975650fe5e0"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="2970725a233e835e8c24d47d6a650c6a"/><file name="Data.php" hash="48b84dc87bc37a077b595812b95bfc2f"/><file name="FastCheckoutHelper.php" hash="7c3c8af30080ec99e8ff4154409b4135"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="c80b6d673e5f0889062e1978d9fce599"/><file name="PaymentHelper.php" hash="677d90ce786a140f418099cf00557dde"/><file name="RefundHelper.php" hash="b936d48e6f9022acb0370ec755cf5850"/><file name="TransactionHelper.php" hash="7cce355230eee2f1c617df1bd18f8752"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="94565a600a12f880edeabc941bd35ded"/><file name="Log.php" hash="476c497495b92c3cf49e0c7b470854d4"/><dir name="Method"><file name="MethodModelAbstract.php" hash="5df552abf962ab1b7db99e24269b5e2c"/><file name="MethodModelCreditcard.php" hash="03a6926e8a56f994196268e313697e6e"/><file name="MethodModelDirectdebit.php" hash="bc7bc9b40760ca488e48a257dccc768d"/></dir><dir name="Mysql4"><dir name="Fastcheckout"><file name="Collection.php" hash="14d4aa413ec952fd2452f08ab2a208f6"/></dir><file name="Fastcheckout.php" hash="56b09daa390ba1f4f5116f1d701833e4"/><dir name="Log"><file name="Collection.php" hash="cf4d8fec68a4cc44b2e47bf69e014cf3"/></dir><file name="Log.php" hash="9bd80dc9300cc189b6b3ebd921b4e3e6"/></dir><file name="Observer.php" hash="1f4a97d901810157228fd9224f319827"/><file name="TransactionData.php" hash="6f2bfd7a7ecde8dc4f21e03d33fdd7e4"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="LogController.php" hash="66f680f85a31fa40164dea952acf0e68"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="402c36431d690ffa9b7eae074cadfb4e"/><file name="config.xml" hash="b1fb38f44fec083ae8583f80b32592d4"/><file name="system.xml" hash="6322dd7b90ef6baf598193ccf93d2eb9"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="c092db5064c8a204fdbbb01f2bba3974"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="paymill.xml" hash="fcc95f6e7c375fee779178a0f9f1a1d8"/></dir><dir name="template"><dir name="paymill"><dir name="payment"><dir name="info"><file name="creditcard.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/><file name="directdebit.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="paymill.xml" hash="a93d3b26d40c793f10b51ba8f5bea27d"/></dir><dir name="template"><dir name="paymill"><dir name="payment"><dir name="form"><file name="creditcard.phtml" hash="b5a100620772a2fd9fc98c2cce479180"/><file name="directdebit.phtml" hash="d78f8090a4115e1fa879b0f7e506f60c"/></dir><dir name="info"><file name="creditcard.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/><file name="directdebit.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir name="modules"><file name="Paymill_Paymill.xml" hash="d36d3af5f5752dcf87517272ddb9af53"/></dir></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="eec8ff8295f324789bded24ede85e80e"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="bd30eacaf4d47b5c98d961f301842a82"/></dir><dir name="en_US"><file name="Paymill_Paymill.csv" hash="3d003ce9bd872c634b581b894cfe7279"/></dir></dir></target><target name="mageweb"><dir><dir name="js"><dir name="paymill"><file name="paymentForm.js" hash="59ea8db344b49e9e4f69e7d3d91dab43"/></dir></dir></dir></target><target name="magelib"><dir><dir name="Services"><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="62457ead798a8bf62ccddb0bc7e8f449"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="9f583d1613257b20a7d325131d545fae"/><file name="Clients.php" hash="f9bc9034a6f3b88a842f35efd6524ab6"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="28b2d420c87531ffa1f193ec3934fc5b"/><file name="PaymentProcessor.php" hash="2ba66701b6f405ccdb218a9b320458f0"/><file name="Payments.php" hash="dd8e18548fb149956fff93fd55f68029"/><file name="Preauthorizations.php" hash="af4c8ab19444eee76951e9fe9f0e8fdd"/><file name="Refunds.php" hash="e15a2dfb3df362cb9cd45c8e5382b77b"/><file name="Subscriptions.php" hash="e8f55fcfd1065439d49bc5f734294be6"/><file name="Transactions.php" hash="fb6d248c88285105a426bf4491cbfc6b"/><file name="Webhooks.php" hash="06be5e57b81b3052a56371933e0674e9"/></dir></dir></dir></target><target name="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="7000c544325686518772af11130e5b23"/></dir></dir><dir name="images"><dir name="paymill"><file name="icon_32x20_amex.png" hash="42c5fb43b4b603804b50da9761927d40"/><file name="icon_32x20_dinersclub.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_discover.png" hash="4fe8ef419087bed97cddbdeb251b847c"/><file name="icon_32x20_jcb.png" hash="774a040f938c5566fa3fddfa840d4743"/><file name="icon_32x20_maestro.png" hash="a6ffd22c9bbedb603449e2aa6136dbd1"/><file name="icon_32x20_mastercard.png" hash="09aef6dcbc50038605b7c0e5a38eb76e"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></dir></dir></dir></dir></dir></dir></target></contents>
22
  <compatible/>
23
- <dependencies><required><php><min>5.2.0</min><max>6.0.0.</max></php></required></dependencies>
24
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Paymill_Paymill</name>
4
+ <version>3.2.0</version>
5
  <stability>stable</stability>
6
  <license>Open Software License</license>
7
  <channel>community</channel>
13
  &lt;br /&gt;&lt;br /&gt;&#xD;
14
  IMPORTANT: Only use the latest version.&#xD;
15
  </description>
16
+ <notes>* OneStepCheckout now supported&#xD;
17
+ * more logs during the checkout&#xD;
18
+ * better log view&#xD;
19
+ * no cvc for maestro now provided</notes>
20
  <authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
21
+ <date>2013-10-09</date>
22
+ <time>13:00:39</time>
23
+ <contents><target name="magecommunity"><dir><dir name="Paymill"><dir name="Paymill"><dir name="Block"><dir name="Adminhtml"><dir name="Log"><file name="Grid.php" hash="7d74f94403297eeb551272ad5c94513f"/><dir name="View"><file name="Plane.php" hash="87b7707dba28fa4357ab7fb2d12b19e4"/><file name="Tabs.php" hash="d16d9748921a34067242eaf92d6f299e"/></dir><file name="View.php" hash="af850dd16c3e7505a69a6cb3ca3fbc27"/></dir><file name="Log.php" hash="02930fb46a2a4569176ceb29c45037e8"/></dir><dir name="Payment"><dir name="Form"><file name="PaymentFormAbstract.php" hash="3b7c3c02a50d24def79485a7d2d47dd5"/><file name="PaymentFormCreditcard.php" hash="5351fa41246fb107bd3e62fdd274f715"/><file name="PaymentFormDirectdebit.php" hash="526991e3ed3c25b6c242fdd21e7aba25"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="3e7a3d2b84878bc22f6ac9e2a0ac5c76"/><file name="PaymentFormDirectdebit.php" hash="bbc8f0cae5dff57df9ec1975650fe5e0"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="2970725a233e835e8c24d47d6a650c6a"/><file name="Data.php" hash="65371da937bd0aa1ba57aa4b9d27d989"/><file name="FastCheckoutHelper.php" hash="48058398d9af8d92f69e0a0566b0b040"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="f0fae6bb8f67fc2e27f6957925e8168e"/><file name="PaymentHelper.php" hash="192be10925ef842da606bcad3f652375"/><file name="RefundHelper.php" hash="b936d48e6f9022acb0370ec755cf5850"/><file name="TransactionHelper.php" hash="7cce355230eee2f1c617df1bd18f8752"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="94565a600a12f880edeabc941bd35ded"/><dir name="Log"><file name="Search.php" hash="4338b3876e745405bfcc5a32cfe42527"/></dir><file name="Log.php" hash="476c497495b92c3cf49e0c7b470854d4"/><dir name="Method"><file name="MethodModelAbstract.php" hash="ad32789858c27a51eadab5de0c5d8234"/><file name="MethodModelCreditcard.php" hash="972c52004e7f8f9be24a9037bd93be29"/><file name="MethodModelDirectdebit.php" hash="bc7bc9b40760ca488e48a257dccc768d"/></dir><dir name="Mysql4"><dir name="Fastcheckout"><file name="Collection.php" hash="14d4aa413ec952fd2452f08ab2a208f6"/></dir><file name="Fastcheckout.php" hash="56b09daa390ba1f4f5116f1d701833e4"/><dir name="Log"><file name="Collection.php" hash="cf4d8fec68a4cc44b2e47bf69e014cf3"/></dir><file name="Log.php" hash="9bd80dc9300cc189b6b3ebd921b4e3e6"/></dir><file name="Observer.php" hash="1f4a97d901810157228fd9224f319827"/><file name="TransactionData.php" hash="6f2bfd7a7ecde8dc4f21e03d33fdd7e4"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="LogController.php" hash="fe634fc07d161f160ae060600561a0b1"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="402c36431d690ffa9b7eae074cadfb4e"/><file name="config.xml" hash="ecae69a4f11d40a4a72f771419fde28f"/><file name="system.xml" hash="6120717df12907e1b707c749435ea829"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="c092db5064c8a204fdbbb01f2bba3974"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="layout"><file name="paymill.xml" hash="fcc95f6e7c375fee779178a0f9f1a1d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="paymill.xml" hash="e3dee97111982dab7c2816e4d65504e9"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir><dir><file name="Paymill_Paymill.xml" hash=""/></dir></dir></target><target name="magelocale"><dir><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="39f32cc2babac62a1796971aca3a97b8"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="3945f929635b1e2e556915b1017f6634"/></dir><dir name="en_US"><file name="Paymill_Paymill.csv" hash="3ce7c761e916c56e55024a588dd61fc2"/></dir><dir name="es_ES"><file name="Paymill_Paymill.csv" hash="49e6fd014b2e2f559e791f048ace44d7"/></dir></dir></target><target name="mage"><dir><dir name="js"><dir name="paymill"><file name="paymentForm.js" hash="b433bfa1ef6be9a12b6ae2ab557da33c"/></dir></dir></dir></target><target name="magelib"><dir><dir name="Services"><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="62457ead798a8bf62ccddb0bc7e8f449"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="9f583d1613257b20a7d325131d545fae"/><file name="Clients.php" hash="f9bc9034a6f3b88a842f35efd6524ab6"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="28b2d420c87531ffa1f193ec3934fc5b"/><file name="PaymentProcessor.php" hash="e16fb85db7fa34a17f98f3e1ecac5f91"/><file name="Payments.php" hash="dd8e18548fb149956fff93fd55f68029"/><file name="Preauthorizations.php" hash="af4c8ab19444eee76951e9fe9f0e8fdd"/><file name="Refunds.php" hash="e15a2dfb3df362cb9cd45c8e5382b77b"/><file name="Subscriptions.php" hash="e8f55fcfd1065439d49bc5f734294be6"/><file name="Transactions.php" hash="fb6d248c88285105a426bf4491cbfc6b"/><file name="Webhooks.php" hash="06be5e57b81b3052a56371933e0674e9"/></dir></dir></dir></target><target name="mageskin"><dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="6c09811ecd11d36b9e41b4a616481769"/></dir></dir><dir name="images"><dir name="paymill"><file name="icon_32x20_amex.png" hash="42c5fb43b4b603804b50da9761927d40"/><file name="icon_32x20_dinersclub.png" hash="0a7a8fc8f679ccf05d91298c9968629c"/><file name="icon_32x20_discover.png" hash="4fe8ef419087bed97cddbdeb251b847c"/><file name="icon_32x20_jcb.png" hash="774a040f938c5566fa3fddfa840d4743"/><file name="icon_32x20_maestro.png" hash="a6ffd22c9bbedb603449e2aa6136dbd1"/><file name="icon_32x20_mastercard.png" hash="09aef6dcbc50038605b7c0e5a38eb76e"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></dir></dir></dir></dir></dir></dir></target></contents>
24
  <compatible/>
25
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
26
  </package>
skin/frontend/base/default/css/paymill/logo.css CHANGED
@@ -1,17 +1,69 @@
1
  .paymill_powered {
2
- border: 1px solid #ccc;
3
- width: 350px;
4
- padding: 4px;
5
- background: white url('../../images/paymill/icon_paymill.png') no-repeat center right;
6
- -moz-border-radius: 3px;
7
- border-radius: 3px;
8
- margin-top: 10px;
9
  }
 
10
  .paymill_powered > .paymill_credits {
11
- width: 160px;
12
- color: #666;
13
  }
 
14
  .paymill_powered > a {
15
- color: #666;
16
- text-decoration: underline;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
1
  .paymill_powered {
2
+ border: 1px solid #ccc;
3
+ width: 350px;
4
+ padding: 4px;
5
+ background: white url('../../images/paymill/icon_paymill.png') no-repeat center right;
6
+ -moz-border-radius: 3px;
7
+ border-radius: 3px;
8
+ margin-top: 10px;
9
  }
10
+
11
  .paymill_powered > .paymill_credits {
12
+ width: 160px;
13
+ color: #666;
14
  }
15
+
16
  .paymill_powered > a {
17
+ color: #666;
18
+ text-decoration: underline;
19
+ }
20
+
21
+ .paymill_creditcard_number-visa
22
+ {
23
+ background: url('../../images/paymill/icon_32x20_visa.png') no-repeat center right;
24
+ }
25
+
26
+ .paymill_creditcard_number-mastercard
27
+ {
28
+ background: url('../../images/paymill/icon_32x20_mastercard.png') no-repeat center right;
29
+ }
30
+
31
+ .paymill_creditcard_number-american
32
+ {
33
+ background: url('../../images/paymill/icon_32x20_amex.png') no-repeat center right;
34
+ }
35
+
36
+ .paymill_creditcard_number-jcb
37
+ {
38
+ background: url('../../images/paymill/icon_32x20_jcb.png') no-repeat center right;
39
+ }
40
+
41
+ .paymill_creditcard_number-maestro
42
+ {
43
+ background: url('../../images/paymill/icon_32x20_maestro.png') no-repeat center right;
44
+ }
45
+
46
+ .paymill_creditcard_number-unionpay
47
+ {
48
+ background: url('../../images/paymill/icon_32x20_unionpay.png') no-repeat center right;
49
+ }
50
+
51
+ .paymill_creditcard_number-diners
52
+ {
53
+ background: url('../../images/paymill/icon_32x20_dinersclub.png') no-repeat center right;
54
+ }
55
+
56
+ .paymill_creditcard_number-discover
57
+ {
58
+ background: url('../../images/paymill/icon_32x20_discover.png') no-repeat center right;
59
+ }
60
+
61
+ .tooltip
62
+ {
63
+ margin-left: 3px;
64
+ font-size: 11px;
65
+ color: #E2E2E2;
66
+ padding: 0 5px;
67
+ border-radius: 100px;
68
+ background: #636363;
69
  }