Paymill_Paymill - Version 3.5.5

Version Notes

* expend js validation to paymill token field
* set invoice state to paid
* selectable order states

Download this release

Release Info

Developer PayIntelligent
Extension Paymill_Paymill
Version 3.5.5
Comparing to
See all releases


Code changes from version 3.5.3 to 3.5.5

Files changed (35) hide show
  1. app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php +2 -1
  2. app/code/community/Paymill/Paymill/Model/Observer.php +2 -8
  3. app/code/community/Paymill/Paymill/etc/config.xml +3 -3
  4. app/code/community/Paymill/Paymill/etc/system.xml +21 -3
  5. app/code/community/Paymill/Paymillcc/Block/Form/Paymill.php +0 -57
  6. app/code/community/Paymill/Paymillcc/Block/Info/Paymill.php +0 -34
  7. app/code/community/Paymill/Paymillcc/Helper/Data.php +0 -6
  8. app/code/community/Paymill/Paymillcc/LibraryVersion.php +0 -13
  9. app/code/community/Paymill/Paymillcc/Model/Customerdata.php +0 -60
  10. app/code/community/Paymill/Paymillcc/Model/Mysql4/Customerdata.php +0 -31
  11. app/code/community/Paymill/Paymillcc/Model/Mysql4/Customerdata/Collection.php +0 -31
  12. app/code/community/Paymill/Paymillcc/Model/PaymentAbstract.php +0 -131
  13. app/code/community/Paymill/Paymillcc/Model/PaymentMethod.php +0 -300
  14. app/code/community/Paymill/Paymillcc/etc/config.xml +0 -95
  15. app/code/community/Paymill/Paymillcc/etc/system.xml +0 -150
  16. app/code/community/Paymill/Paymillcc/sql/paymillcc_setup/mysql4-install-2.1.2.php +0 -15
  17. app/code/community/Paymill/Paymillcc/sql/paymillcc_setup/mysql4-upgrade-2.1.1-2.1.2.php +0 -15
  18. app/code/community/Paymill/Paymillelv/Block/Form/Paymill.php +0 -49
  19. app/code/community/Paymill/Paymillelv/Block/Info/Paymill.php +0 -34
  20. app/code/community/Paymill/Paymillelv/Helper/Data.php +0 -6
  21. app/code/community/Paymill/Paymillelv/Model/Customerdata.php +0 -60
  22. app/code/community/Paymill/Paymillelv/Model/Mysql4/Customerdata.php +0 -31
  23. app/code/community/Paymill/Paymillelv/Model/Mysql4/Customerdata/Collection.php +0 -31
  24. app/code/community/Paymill/Paymillelv/Model/PaymentAbstract.php +0 -131
  25. app/code/community/Paymill/Paymillelv/Model/PaymentMethod.php +0 -278
  26. app/code/community/Paymill/Paymillelv/etc/config.xml +0 -93
  27. app/code/community/Paymill/Paymillelv/etc/system.xml +0 -141
  28. app/code/community/Paymill/Paymillelv/sql/paymillelv_setup/mysql4-install-2.1.2.php +0 -15
  29. app/code/community/Paymill/Paymillelv/sql/paymillelv_setup/mysql4-upgrade-2.1.1-2.1.2.php +0 -15
  30. app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml +3 -2
  31. app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml +2 -1
  32. app/locale/de_DE/Paymill_Paymill.csv +1 -0
  33. app/locale/en_GB/Paymill_Paymill.csv +1 -0
  34. js/paymill/paymentForm.js +15 -2
  35. package.xml +7 -5
app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php CHANGED
@@ -117,6 +117,7 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
117
  */
118
  public function isAvailable($quote = null)
119
  {
 
120
  $keysAreSet = Mage::helper("paymill")->isPublicKeySet() && Mage::helper("paymill")->isPrivateKeySet();
121
  return parent::isAvailable($quote) && $keysAreSet;
122
  }
@@ -283,4 +284,4 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
283
  return $methods[$this->_code];
284
  }
285
 
286
- }
117
  */
118
  public function isAvailable($quote = null)
119
  {
120
+ Mage::log('Token: ' . Mage::getSingleton('core/session')->getToken(), null, 'paymill_test');
121
  $keysAreSet = Mage::helper("paymill")->isPublicKeySet() && Mage::helper("paymill")->isPrivateKeySet();
122
  return parent::isAvailable($quote) && $keysAreSet;
123
  }
284
  return $methods[$this->_code];
285
  }
286
 
287
+ }
app/code/community/Paymill/Paymill/Model/Observer.php CHANGED
@@ -43,19 +43,13 @@ class Paymill_Paymill_Model_Observer
43
  ->addObject($invoice->getOrder())
44
  ->save();
45
 
 
 
46
  $invoice->sendEmail(Mage::getStoreConfig('payment/paymill_creditcard/send_invoice_mail', Mage::app()->getStore()->getStoreId()), '');
47
-
48
- $this->_changeOrderStatus($order);
49
  }
50
  }
51
  }
52
  }
53
-
54
- private function _changeOrderStatus($order)
55
- {
56
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
57
- $order->save();
58
- }
59
 
60
  /**
61
  * Registered for the sales_order_creditmemo_refund event
43
  ->addObject($invoice->getOrder())
44
  ->save();
45
 
46
+ $invoice->pay()->save();
47
+
48
  $invoice->sendEmail(Mage::getStoreConfig('payment/paymill_creditcard/send_invoice_mail', Mage::app()->getStore()->getStoreId()), '');
 
 
49
  }
50
  }
51
  }
52
  }
 
 
 
 
 
 
53
 
54
  /**
55
  * Registered for the sales_order_creditmemo_refund event
app/code/community/Paymill/Paymill/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
- <version>3.5.3</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
@@ -83,7 +83,7 @@
83
  <active>0</active>
84
  <currency>EUR,USD</currency>
85
  <model>paymill/method_methodModelCreditcard</model>
86
- <order_status>pending</order_status>
87
  <title>paymill_credit_card</title>
88
  <payment_action>authorize</payment_action>
89
  </paymill_creditcard>
@@ -92,7 +92,7 @@
92
  <active>0</active>
93
  <currency>EUR,USD</currency>
94
  <model>paymill/method_methodModelDirectdebit</model>
95
- <order_status>pending_payment</order_status>
96
  <title>paymill_direct_debit</title>
97
  <payment_action>authorize</payment_action>
98
  </paymill_directdebit>
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
+ <version>3.5.5</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
83
  <active>0</active>
84
  <currency>EUR,USD</currency>
85
  <model>paymill/method_methodModelCreditcard</model>
86
+ <order_status>processing</order_status>
87
  <title>paymill_credit_card</title>
88
  <payment_action>authorize</payment_action>
89
  </paymill_creditcard>
92
  <active>0</active>
93
  <currency>EUR,USD</currency>
94
  <model>paymill/method_methodModelDirectdebit</model>
95
+ <order_status>pending</order_status>
96
  <title>paymill_direct_debit</title>
97
  <payment_action>authorize</payment_action>
98
  </paymill_directdebit>
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.5.3</label>
15
  <sort_order>1</sort_order>
16
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
17
  <frontend_type>label</frontend_type>
@@ -77,7 +77,7 @@
77
  <sort_order>800</sort_order>
78
  <fields>
79
  <version>
80
- <label>v3.5.3</label>
81
  <sort_order>100</sort_order>
82
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
83
  <frontend_type>label</frontend_type>
@@ -122,6 +122,15 @@
122
  <show_in_website>1</show_in_website>
123
  <show_in_store>0</show_in_store>
124
  </currency>
 
 
 
 
 
 
 
 
 
125
  <preAuth_active translate="label">
126
  <label>paymill_preAuth_active</label>
127
  <sort_order>360</sort_order>
@@ -162,7 +171,7 @@
162
  <sort_order>800</sort_order>
163
  <fields>
164
  <version>
165
- <label>v3.5.3</label>
166
  <sort_order>100</sort_order>
167
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
168
  <frontend_type>label</frontend_type>
@@ -207,6 +216,15 @@
207
  <show_in_website>1</show_in_website>
208
  <show_in_store>0</show_in_store>
209
  </currency>
 
 
 
 
 
 
 
 
 
210
  <sort_order translate="label">
211
  <label>paymill_opt_Sort</label>
212
  <frontend_type>text</frontend_type>
11
  <sort_order>700</sort_order>
12
  <fields>
13
  <version>
14
+ <label>v3.5.5</label>
15
  <sort_order>1</sort_order>
16
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
17
  <frontend_type>label</frontend_type>
77
  <sort_order>800</sort_order>
78
  <fields>
79
  <version>
80
+ <label>v3.5.5</label>
81
  <sort_order>100</sort_order>
82
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
83
  <frontend_type>label</frontend_type>
122
  <show_in_website>1</show_in_website>
123
  <show_in_store>0</show_in_store>
124
  </currency>
125
+ <order_status translate="label">
126
+ <label>New order status</label>
127
+ <frontend_type>select</frontend_type>
128
+ <source_model>adminhtml/system_config_source_order_status</source_model>
129
+ <sort_order>355</sort_order>
130
+ <show_in_default>1</show_in_default>
131
+ <show_in_website>1</show_in_website>
132
+ <show_in_store>1</show_in_store>
133
+ </order_status>
134
  <preAuth_active translate="label">
135
  <label>paymill_preAuth_active</label>
136
  <sort_order>360</sort_order>
171
  <sort_order>800</sort_order>
172
  <fields>
173
  <version>
174
+ <label>v3.5.5</label>
175
  <sort_order>100</sort_order>
176
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
177
  <frontend_type>label</frontend_type>
216
  <show_in_website>1</show_in_website>
217
  <show_in_store>0</show_in_store>
218
  </currency>
219
+ <order_status translate="label">
220
+ <label>New order status</label>
221
+ <frontend_type>select</frontend_type>
222
+ <source_model>adminhtml/system_config_source_order_status</source_model>
223
+ <sort_order>355</sort_order>
224
+ <show_in_default>1</show_in_default>
225
+ <show_in_website>1</show_in_website>
226
+ <show_in_store>1</show_in_store>
227
+ </order_status>
228
  <sort_order translate="label">
229
  <label>paymill_opt_Sort</label>
230
  <frontend_type>text</frontend_type>
app/code/community/Paymill/Paymillcc/Block/Form/Paymill.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
-
3
- class Paymill_Paymillcc_Block_Form_Paymill extends Mage_Payment_Block_Form
4
- {
5
- public $paymillBridgeEndpoint;
6
- public $paymillPublicApiKey;
7
- public $paymillDebugMode = "false";
8
-
9
- protected function _construct()
10
- {
11
-
12
- // read some configuration data
13
- $this->paymillPublicApiKey = Mage::getStoreConfig(
14
- 'payment/paymillcc/paymill_public_api_key',
15
- Mage::app()->getStore()
16
- );
17
-
18
- $this->paymillBridgeEndpoint = Mage::getStoreConfig(
19
- 'payment/paymillcc/paymill_bridge_endpoint',
20
- Mage::app()->getStore()
21
- );
22
-
23
- $this->paymillDebugMode = Mage::getStoreConfig(
24
- 'payment/paymillcc/paymill_debug_mode',
25
- Mage::app()->getStore()
26
- );
27
-
28
- $this->showPaymillLabel = Mage::getStoreConfig(
29
- 'payment/paymillcc/paymill_show_credits',
30
- Mage::app()->getStore()
31
- );
32
-
33
- $this->paymillLibVersion = Mage::getStoreConfig(
34
- 'payment/paymillcc/paymill_lib_version',
35
- Mage::app()->getStore()
36
- );
37
-
38
- $this->paymillApiEndpoint = Mage::getStoreConfig(
39
- 'payment/paymillcc/paymill_api_endpoint',
40
- Mage::app()->getStore()
41
- );
42
-
43
- $this->paymillPaymentAmount = Mage::getSingleton('core/session')->getPaymillPaymentAmount();
44
- $this->paymillPaymentCurrency = Mage::getSingleton('core/session')->getPaymillPaymentCurrency();
45
-
46
- if ($this->paymillDebugMode == "") {
47
- $this->paymillDebugMode = "false";
48
- }
49
-
50
- parent::_construct();
51
-
52
- // load paymill form
53
- $this->setTemplate('paymill/form/paymill.phtml');
54
- }
55
- }
56
-
57
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Block/Info/Paymill.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
-
3
- class Paymill_Paymillcc_Block_Info_Paymill extends Mage_Payment_Block_Info_Cc
4
- {
5
- /**
6
- * Prepare credit card related payment info
7
- *
8
- * @param Varien_Object|array $transport
9
- * @return Varien_Object
10
- */
11
- protected function _prepareSpecificInformation($transport = null)
12
- {
13
- $transport = parent::_prepareSpecificInformation($transport);
14
- $additionalInformation = array();
15
- if(Mage::app()->getStore()->isAdmin()) {
16
- $order = Mage::registry('current_order');
17
- if(!$order && Mage::registry('current_shipment')) {
18
- $order = Mage::registry('current_shipment')->getOrder();
19
- }
20
- elseif (!$order && Mage::registry('current_invoice')) {
21
- $order = Mage::registry('current_invoice')->getOrder();
22
- } elseif (!$order && Mage::registry('current_creditmemo')) {
23
- $order = Mage::registry('current_creditmemo')->getOrder();
24
- }
25
- if($order) {
26
- $additionalInformation = array(
27
- 'Transaction ID' => ' ' . $order->getPayment()->getAdditionalInformation('paymill_transaction_id')
28
- );
29
- }
30
- }
31
-
32
- return $transport->setData($additionalInformation);
33
- }
34
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Helper/Data.php DELETED
@@ -1,6 +0,0 @@
1
- <?php
2
- class Paymill_Paymillcc_Helper_Data extends Mage_Core_Helper_Abstract
3
- {
4
-
5
- }
6
- ?>
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/LibraryVersion.php DELETED
@@ -1,13 +0,0 @@
1
- <?php
2
-
3
- class Paymill_Paymillcc_LibraryVersion
4
- {
5
-
6
- public function toOptionArray()
7
- {
8
- return array(
9
- array('value' => 'v2', 'label' => 'V2')
10
- );
11
- }
12
-
13
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Model/Customerdata.php DELETED
@@ -1,60 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillcc_Model_Customerdata extends Mage_Core_Model_Abstract
22
- {
23
-
24
- /**
25
- * Construct
26
- */
27
- function _construct()
28
- {
29
- parent::_construct();
30
- $this->_init('paymillcc/customerdata');
31
- }
32
-
33
- public function setEntry($customerId, $data)
34
- {
35
- //$this->setId(null);
36
- $this->setUserId($customerId);
37
- $this->setUserData($data);
38
- $this->save();
39
-
40
- }
41
-
42
- public function loadByUserId($customerId)
43
- {
44
- return $this->loadByAttribute('user_id', $customerId);
45
- }
46
-
47
- public function loadByAttribute($attribute, $value, $additionalAttributes = '*')
48
- {
49
- $collection = $this->getResourceCollection()
50
- ->addFieldToSelect($additionalAttributes)
51
- ->addFieldToFilter($attribute, $value);
52
-
53
- foreach ($collection as $object) {
54
- return $object;
55
- }
56
-
57
- return null;
58
- }
59
-
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Model/Mysql4/Customerdata.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillcc_Model_Mysql4_Customerdata extends Mage_Core_Model_Mysql4_Abstract
22
- {
23
-
24
- /**
25
- * Construct
26
- */
27
- function _construct()
28
- {
29
- $this->_init('paymillcc/customerdata', 'id');
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Model/Mysql4/Customerdata/Collection.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillcc_Model_Mysql4_Customerdata_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
22
- {
23
- /**
24
- * Construct
25
- */
26
- public function _construct()
27
- {
28
- parent::_construct();
29
- $this->_init('paymillcc/customerdata');
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Model/PaymentAbstract.php DELETED
@@ -1,131 +0,0 @@
1
- <?php
2
-
3
- abstract class Paymill_Paymillcc_Model_PaymentAbstract extends Mage_Payment_Model_Method_Cc
4
- {
5
- /**
6
- * Processes the payment against the paymill API
7
- * @param $params array The settings array
8
- * @return boolean
9
- */
10
- protected function _processPayment($params)
11
- {
12
-
13
- // setup the logger
14
- $logger = $params['loggerCallback'];
15
-
16
- // setup client params
17
- $clientParams = array(
18
- 'email' => $params['email'],
19
- 'description' => $params['name']
20
- );
21
-
22
- // setup credit card params
23
- $paymentParams = array(
24
- 'token' => $params['token']
25
- );
26
-
27
- // setup transaction params
28
- $transactionParams = array(
29
- 'amount' => $params['amount'],
30
- 'currency' => $params['currency'],
31
- 'description' => $params['description']
32
- );
33
-
34
- require_once $params['libBase'] . 'Services/Paymill/Transactions.php';
35
- require_once $params['libBase'] . 'Services/Paymill/Clients.php';
36
- require_once $params['libBase'] . 'Services/Paymill/Payments.php';
37
-
38
- $clientsObject = new Services_Paymill_Clients(
39
- $params['privateKey'], $params['apiUrl']
40
- );
41
- $transactionsObject = new Services_Paymill_Transactions(
42
- $params['privateKey'], $params['apiUrl']
43
- );
44
- $paymentsObject = new Services_Paymill_Payments(
45
- $params['privateKey'], $params['apiUrl']
46
- );
47
-
48
- // perform conection to the Paymill API and trigger the payment
49
- try {
50
- if (!array_key_exists('client_id', $params)) {
51
- $client = $clientsObject->create($clientParams);
52
- if (!isset($client['id'])) {
53
- call_user_func_array($logger, array("No client created" . var_export($client, true)));
54
- return false;
55
- } else {
56
- call_user_func_array($logger, array("Client created: " . $client['id']));
57
- }
58
-
59
- // create card
60
- $paymentParams['client'] = $client['id'];
61
- } else {
62
- $paymentParams['client'] = $params['client_id'];
63
- }
64
-
65
- $payment = $paymentsObject->create($paymentParams);
66
- if (!array_key_exists('client_id', $params)) {
67
- if (!isset($payment['id'])) {
68
- call_user_func_array($logger, array("No payment (credit card) created: " . var_export($payment, true) . " with params " . var_export($paymentParams, true)));
69
- return false;
70
- } else {
71
- call_user_func_array($logger, array("Payment (credit card) created: " . $payment['id']));
72
- }
73
-
74
- // create transaction
75
- //$transactionParams['client'] = $client['id'];
76
- $transactionParams['payment'] = $payment['id'];
77
- } else {
78
- $transactionParams['payment'] = $params['payment_id'];
79
- }
80
-
81
- $transaction = $transactionsObject->create($transactionParams);
82
-
83
- if(isset($transaction['data']['response_code'])){
84
- call_user_func_array($logger, array("An Error occured: " . var_export($transaction, true)));
85
- return false;
86
- }
87
-
88
- if (!isset($transaction['id'])) {
89
- call_user_func_array($logger, array("No transaction created" . var_export($transaction, true)));
90
- return false;
91
- } else {
92
- $this->_setPaymillClientToken($client['id']);
93
- $this->_setPaymillPaymentToken($payment['id']);
94
- $this->_setPaymillTransactionId($transaction['id']);
95
- call_user_func_array($logger, array("Transaction created: " . $transaction['id']));
96
- }
97
-
98
- // check result
99
- if (is_array($transaction) && array_key_exists('status', $transaction)) {
100
- if ($transaction['status'] == "closed") {
101
- // transaction was successfully issued
102
- return true;
103
- } elseif ($transaction['status'] == "open") {
104
- // transaction was issued but status is open for any reason
105
- call_user_func_array($logger, array("Status is open."));
106
- return false;
107
- } else {
108
- // another error occured
109
- call_user_func_array($logger, array("Unknown error." . var_export($transaction, true)));
110
- return false;
111
- }
112
- } else {
113
- // another error occured
114
- call_user_func_array($logger, array("Transaction could not be issued."));
115
- return false;
116
- }
117
- } catch (Services_Paymill_Exception $ex) {
118
- // paymill wrapper threw an exception
119
- call_user_func_array($logger, array("Exception thrown from paymill wrapper: " . $ex->getMessage()));
120
- return false;
121
- }
122
-
123
- return true;
124
- }
125
-
126
- protected abstract function _setPaymillClientToken($id);
127
-
128
- protected abstract function _setPaymillPaymentToken($id);
129
-
130
- protected abstract function _setPaymillTransactionId($id);
131
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/Model/PaymentMethod.php DELETED
@@ -1,300 +0,0 @@
1
- <?php
2
-
3
- // require this here due to a Magento bug
4
- require_once 'lib/Zend/Log.php';
5
- require_once 'lib/Zend/Log/Formatter/Simple.php';
6
- require_once 'lib/Zend/Log/Writer/Stream.php';
7
-
8
- class Paymill_Paymillcc_Model_PaymentMethod extends Paymill_Paymillcc_Model_PaymentAbstract
9
- {
10
-
11
- /**
12
- * unique internal payment method identifier
13
- *
14
- * @var string [a-z0-9_]
15
- */
16
- protected $_code = 'paymillcc';
17
- protected $_formBlockType = 'paymillcc/form_paymill';
18
- protected $_infoBlockType = 'paymillcc/info_paymill';
19
-
20
- /**
21
- * Is this payment method a gateway (online auth/charge) ?
22
- */
23
- protected $_isGateway = false;
24
-
25
- /**
26
- * Can authorize online?
27
- */
28
- protected $_canAuthorize = true;
29
-
30
- /**
31
- * Can capture funds online?
32
- */
33
- protected $_canCapture = false;
34
-
35
- /**
36
- * Can capture partial amounts online?
37
- */
38
- protected $_canCapturePartial = false;
39
-
40
- /**
41
- * Can refund online?
42
- */
43
- protected $_canRefund = false;
44
-
45
- /**
46
- * Can void transactions online?
47
- */
48
- protected $_canVoid = true;
49
-
50
- /**
51
- * Can use this payment method in administration panel?
52
- */
53
- protected $_canUseInternal = false;
54
-
55
- /**
56
- * Can show this payment method as an option on checkout payment page?
57
- */
58
- protected $_canUseCheckout = true;
59
-
60
- /**
61
- * Is this payment method suitable for multi-shipping checkout?
62
- */
63
- protected $_canUseForMultishipping = true;
64
-
65
- /**
66
- * Can save credit card information for future processing?
67
- */
68
- protected $_canSaveCc = false;
69
-
70
- /**
71
- */
72
- public function assignData($data)
73
- {
74
-
75
- if (!($data instanceof Varien_Object)) {
76
- $data = new Varien_Object($data);
77
- }
78
-
79
- $info = $this->getInfoInstance();
80
-
81
- // read the paymill_transaction_token from the credit
82
- // card form and store it for later use
83
- $info->setAdditionalInformation(
84
- "paymill_transaction_token", $data->paymill_transaction_token
85
- );
86
-
87
- return $this;
88
- }
89
-
90
- /**
91
- * Serverside validations.
92
- */
93
- public function validate()
94
- {
95
- $info = $this->getInfoInstance();
96
- $token = $info->getAdditionalInformation("paymill_transaction_token");
97
- if (!$token && is_null(Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))) {
98
- self::logAction("No transaction code was received in PaymentMethod (Paymill_Paymillcc_Model_PaymentMethod::validate)");
99
- Mage::throwException(
100
- Mage::helper('paymillelv')->__("Error while performing your payment. The payment was not processed.")
101
- );
102
- }
103
- return $this;
104
- }
105
-
106
- /**
107
- * This method is triggered after order is placed.
108
- *
109
- * @return boolean Returns true if the payment was successfully processed
110
- */
111
- public function authorize(Varien_Object $payment, $amount)
112
- {
113
- $info = $this->getInfoInstance();
114
- // retrieve the transaction_token and save it for later processing
115
- $token = $info->getAdditionalInformation("paymill_transaction_token");
116
-
117
- // process the payment
118
- $result = $this->processPayment($payment, $amount, $token);
119
- if ($result == false) {
120
- $payment->setStatus('ERROR')->setIsTransactionClosed(1)->save();
121
- throw new Exception(
122
- Mage::helper('paymillcc')->__("Payment was not successfully processed. See log.")
123
- );
124
- }
125
-
126
- if (Mage::getSingleton('customer/session')->isLoggedIn() && Mage::getStoreConfig('payment/paymillcc/recurring', Mage::app()->getStore())) {
127
- if (is_null(Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))) {
128
- Mage::getSingleton("paymillcc/customerdata")->setEntry(
129
- Mage::getSingleton('customer/session')->getCustomer()->getId(),
130
- Mage::getSingleton('core/session')->getPaymillCcClientToken() . '|' . Mage::getSingleton('core/session')->getPaymillCcPaymentToken()
131
- );
132
- }
133
- }
134
-
135
- $transactionId = Mage::getSingleton('core/session')->getPaymillTransactionId();
136
- $info->setAdditionalInformation('paymill_transaction_id', $transactionId);
137
- $payment->setStatus('APPROVED')
138
- ->setTransactionId($transactionId)
139
- ->setIsTransactionClosed(1)
140
- ->save();
141
-
142
-
143
- return $this;
144
- }
145
-
146
- /**
147
- * This method triggers the payment.
148
- * It is triggered when the invoice is created.
149
- * @return void
150
- */
151
- public function capture(Varien_Object $payment, $amount)
152
- {
153
- return $this;
154
- }
155
-
156
- /**
157
- * Specify currency support
158
- */
159
- public function canUseForCurrency($currency)
160
- {
161
- $currency = Mage::getSingleton('checkout/session')->getQuote()->getQuoteCurrencyCode();
162
- Mage::getSingleton('core/session')->setPaymillPaymentCurrency($currency);
163
- $acceptedCurrencies = Mage::getStoreConfig(
164
- 'payment/paymillcc/paymill_accepted_currencies', Mage::app()->getStore()
165
- );
166
-
167
- $acceptedCurrenciesExploded = explode(',', trim(strtolower($acceptedCurrencies)));
168
-
169
- if (!in_array(strtolower($currency), $acceptedCurrenciesExploded)) {
170
- return false;
171
- }
172
-
173
- return true;
174
- }
175
-
176
- /**
177
- * Specify minimum order amount from config
178
- * @return boolean Returns true if the payment method is available for the current context
179
- */
180
- public function isAvailable($quote = null)
181
- {
182
- if (is_object($quote)) {
183
- $amount = number_format($quote->getBaseGrandTotal(), 2, '.', '');
184
-
185
- Mage::getSingleton('core/session')->setPaymillPaymentAmount($amount);
186
-
187
- // is active
188
- $paymillActive = Mage::getStoreConfig(
189
- 'payment/paymillcc/active', Mage::app()->getStore()
190
- );
191
-
192
- if (!$paymillActive) {
193
- return false;
194
- }
195
-
196
- // get minimum order amount
197
- $paymillMinimumOrderAmount = Mage::getStoreConfig(
198
- 'payment/paymillcc/paymill_minimum_order_amount', Mage::app()->getStore()
199
- );
200
-
201
- if ($quote && $quote->getBaseGrandTotal() <= 0.5) {
202
- return false;
203
- }
204
-
205
- if ($quote && $quote->getBaseGrandTotal() <= $paymillMinimumOrderAmount) {
206
- return false;
207
- }
208
-
209
- return true;
210
- }
211
-
212
- return false;
213
- }
214
-
215
- /**
216
- * The payment capturing method
217
- * @param Varien_Object $payment The payment object
218
- * @param $amount The amount to be captures
219
- * @return boolean $result Returns true if the payment was successfully processed
220
- */
221
- public function processPayment(Varien_Object $payment, $amount, $token)
222
- {
223
- // get some relevant objects
224
- $order = $payment->getOrder();
225
- $billing = $order->getBillingAddress();
226
-
227
- // check the library version
228
- $paymillLibraryVersion = Mage::getStoreConfig(
229
- 'payment/paymillcc/paymill_lib_version', Mage::app()->getStore()
230
- );
231
-
232
- // keep this for further versions
233
- if ($paymillLibraryVersion == "v2") {
234
- $libBase = 'lib/paymill/v2/lib/';
235
- $libVersion = 'v2';
236
- } else {
237
- $libBase = 'lib/paymill/v2/lib/';
238
- $libVersion = 'v2';
239
- }
240
-
241
- $data = array(
242
- 'libVersion' => $libVersion,
243
- 'token' => $token,
244
- 'amount' => round($amount * 100),
245
- 'currency' => strtoupper($payment->getOrder()->getOrderCurrency()->getCode()),
246
- 'name' => $billing->getName(),
247
- 'email' => $order->getCustomerEmail(),
248
- 'description' => 'Order from: '
249
- . Mage::getStoreConfig('general/store_information/name', Mage::app()->getStore())
250
- . ' ' . sprintf('#%s, %s', $order->getIncrementId(), $order->getCustomerEmail()),
251
- 'libBase' => $libBase,
252
- 'privateKey' => Mage::getStoreConfig(
253
- 'payment/paymillcc/paymill_private_api_key', Mage::app()->getStore()
254
- ),
255
- 'apiUrl' => Mage::getStoreConfig(
256
- 'payment/paymillcc/paymill_api_endpoint', Mage::app()->getStore()
257
- ),
258
- 'loggerCallback' => array('Paymill_Paymillcc_Model_PaymentMethod', 'logAction')
259
- );
260
-
261
- $paymillUser = Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId());
262
- if (!is_null($paymillUser)){
263
- $token = explode('|', $paymillUser->getUserData());
264
- $data['client_id'] = $token[0];
265
- $data['payment_id'] = $token[1];
266
- }
267
-
268
- // process the payment
269
- $result = $this->_processPayment($data);
270
-
271
-
272
-
273
- return $result;
274
- }
275
-
276
- protected function _setPaymillClientToken($id)
277
- {
278
- Mage::getSingleton('core/session')->setPaymillCcClientToken($id);
279
- }
280
-
281
- protected function _setPaymillPaymentToken($id)
282
- {
283
- Mage::getSingleton('core/session')->setPaymillCcPaymentToken($id);
284
- }
285
-
286
- protected function _setPaymillTransactionId($id)
287
- {
288
- Mage::getSingleton('core/session')->setPaymillTransactionId($id);
289
- }
290
-
291
- /**
292
- * Logs an event
293
- * @param $message The message to be logged
294
- */
295
- public static function logAction($message)
296
- {
297
- Mage::log($message);
298
- }
299
-
300
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/etc/config.xml DELETED
@@ -1,95 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <Paymill_Paymillcc>
5
- <version>2.1.4</version>
6
- </Paymill_Paymillcc>
7
- </modules>
8
- <global>
9
- <blocks>
10
- <paymillcc>
11
- <class>Paymill_Paymillcc_Block</class>
12
- </paymillcc>
13
- </blocks>
14
- <models>
15
- <paymillcc>
16
- <class>Paymill_Paymillcc_Model</class>
17
- <resourceModel>paymillcc_mysql4</resourceModel>
18
- </paymillcc>
19
-
20
- <paymillcc_mysql4>
21
- <class>Paymill_Paymillcc_Model_Mysql4</class>
22
- <entities>
23
- <customerdata>
24
- <table>paymill_cc_additional_customer_data</table>
25
- </customerdata>
26
- </entities>
27
- </paymillcc_mysql4>
28
- </models>
29
- <resources>
30
- <paymillcc_setup>
31
- <setup>
32
- <module>Paymill_Paymillcc</module>
33
- </setup>
34
- <connection>
35
- <use>core_setup</use>
36
- </connection>
37
- </paymillcc_setup>
38
- <paymillcc_write>
39
- <connection>
40
- <use>core_write</use>
41
- </connection>
42
- </paymillcc_write>
43
- <paymillcc_read>
44
- <connection>
45
- <use>core_read</use>
46
- </connection>
47
- </paymillcc_read>
48
- </resources>
49
- <helpers>
50
- <paymillcc>
51
- <class>Paymill_Paymillcc_Helper</class>
52
- </paymillcc>
53
- </helpers>
54
- </global>
55
- <frontend>
56
- <translate>
57
- <modules>
58
- <Paymill_Paymillcc>
59
- <files>
60
- <default>Paymill_Paymillcc.csv</default>
61
- </files>
62
- </Paymill_Paymillcc>
63
- </modules>
64
- </translate>
65
- </frontend>
66
- <adminhtml>
67
- <translate>
68
- <modules>
69
- <Paymill_Paymillcc>
70
- <files>
71
- <default>Paymill_Paymillcc.csv</default>
72
- </files>
73
- </Paymill_Paymillcc>
74
- </modules>
75
- </translate>
76
- </adminhtml>
77
- <default>
78
- <payment>
79
- <paymillcc>
80
- <active>0</active>
81
- <model>paymillcc/paymentMethod</model>
82
- <order_status>pending</order_status>
83
- <title>Kreditkartenzahlung</title>
84
- <cctypes>VI,MC</cctypes>
85
- <payment_action>authorize</payment_action>
86
- <allowspecific>0</allowspecific>
87
- <paymill_bridge_endpoint>https://bridge.paymill.com/</paymill_bridge_endpoint>
88
- <paymill_api_endpoint>https://api.paymill.com/v2/</paymill_api_endpoint>
89
- <paymill_show_credits>1</paymill_show_credits>
90
- <paymill_accepted_currencies>EUR</paymill_accepted_currencies>
91
- <paymill_lib_version>v2</paymill_lib_version>
92
- </paymillcc>
93
- </payment>
94
- </default>
95
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/etc/system.xml DELETED
@@ -1,150 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <sections>
4
- <!-- payment tab -->
5
- <payment>
6
- <groups>
7
- <!-- newmodule fieldset -->
8
- <paymillcc translate="label" module="paymillcc">
9
- <!-- will have title 'New Module' -->
10
- <label>Paymill Kreditkartenzahlung</label>
11
- <!-- position between other payment methods -->
12
- <sort_order>1</sort_order>
13
- <!-- do not show this configuration options in store scope -->
14
- <show_in_default>1</show_in_default>
15
- <show_in_website>1</show_in_website>
16
- <show_in_store>1</show_in_store>
17
- <comment><![CDATA[<a href="https://www.paymill.de/" target="_blank">Click here to get a Paymill account</a>]]></comment>
18
- <fields>
19
- <!-- is this payment method active for the website? -->
20
- <active translate="label">
21
- <!-- label for the field -->
22
- <label>Enabled</label>
23
- <!-- input type for configuration value -->
24
- <frontend_type>select</frontend_type>
25
- <!-- model to take the option values from -->
26
- <source_model>adminhtml/system_config_source_yesno</source_model>
27
- <!-- field position -->
28
- <sort_order>1</sort_order>
29
- <!-- do not show this field in store scope -->
30
- <show_in_default>1</show_in_default>
31
- <show_in_website>1</show_in_website>
32
- <show_in_store>1</show_in_store>
33
- </active>
34
- <recurring translate="label">
35
- <label>Recurring Payment</label>
36
- <frontend_type>select</frontend_type>
37
- <source_model>adminhtml/system_config_source_yesno</source_model>
38
- <sort_order>2</sort_order>
39
- <show_in_default>1</show_in_default>
40
- <show_in_website>1</show_in_website>
41
- <show_in_store>1</show_in_store>
42
- </recurring>
43
- <sort_order translate="label">
44
- <label>Sort Order</label>
45
- <frontend_type>text</frontend_type>
46
- <sort_order>100</sort_order>
47
- <show_in_default>1</show_in_default>
48
- <show_in_website>1</show_in_website>
49
- <show_in_store>1</show_in_store>
50
- <frontend_class>validate-number</frontend_class>
51
- </sort_order>
52
- <paymill_minimum_order_amount translate="label">
53
- <label>Minimum order amount</label>
54
- <frontend_type>text</frontend_type>
55
- <sort_order>100</sort_order>
56
- <show_in_default>1</show_in_default>
57
- <show_in_website>1</show_in_website>
58
- <show_in_store>1</show_in_store>
59
- <frontend_class>validate-number</frontend_class>
60
- </paymill_minimum_order_amount>
61
- <paymill_debug_mode translate="label">
62
- <label>Paymill debug mode</label>
63
- <frontend_type>select</frontend_type>
64
- <source_model>adminhtml/system_config_source_yesno</source_model>
65
- <sort_order>4</sort_order>
66
- <show_in_default>1</show_in_default>
67
- <show_in_website>1</show_in_website>
68
- <show_in_store>1</show_in_store>
69
- </paymill_debug_mode>
70
- <paymill_private_api_key translate="label">
71
- <label>Private Paymill API Key</label>
72
- <frontend_type>text</frontend_type>
73
- <sort_order>2</sort_order>
74
- <show_in_default>1</show_in_default>
75
- <show_in_website>1</show_in_website>
76
- <show_in_store>1</show_in_store>
77
- </paymill_private_api_key>
78
- <paymill_public_api_key translate="label">
79
- <label>Public Paymill API Key</label>
80
- <frontend_type>text</frontend_type>
81
- <sort_order>3</sort_order>
82
- <show_in_default>1</show_in_default>
83
- <show_in_website>1</show_in_website>
84
- <show_in_store>1</show_in_store>
85
- </paymill_public_api_key>
86
- <paymill_bridge_endpoint translate="label">
87
- <label>Paymill bridge URL</label>
88
- <frontend_type>text</frontend_type>
89
- <sort_order>5</sort_order>
90
- <show_in_default>1</show_in_default>
91
- <show_in_website>1</show_in_website>
92
- <show_in_store>1</show_in_store>
93
- </paymill_bridge_endpoint>
94
- <paymill_api_endpoint translate="label">
95
- <label>Paymill API Endpoint</label>
96
- <frontend_type>text</frontend_type>
97
- <sort_order>6</sort_order>
98
- <show_in_default>1</show_in_default>
99
- <show_in_website>1</show_in_website>
100
- <show_in_store>1</show_in_store>
101
- </paymill_api_endpoint>
102
- <title>
103
- <label>Title</label>
104
- <frontend_type>text</frontend_type>
105
- <sort_order>8</sort_order>
106
- <show_in_default>1</show_in_default>
107
- <show_in_website>1</show_in_website>
108
- <show_in_store>1</show_in_store>
109
- </title>
110
- <order_status translate="label">
111
- <label>New order status</label>
112
- <frontend_type>select</frontend_type>
113
- <source_model>adminhtml/system_config_source_order_status_processing</source_model>
114
- <sort_order>9</sort_order>
115
- <show_in_default>1</show_in_default>
116
- <show_in_website>1</show_in_website>
117
- <show_in_store>1</show_in_store>
118
- </order_status>
119
- <paymill_accepted_currencies translate="label">
120
- <label>Accepted Currencies</label>
121
- <frontend_type>text</frontend_type>
122
- <sort_order>10</sort_order>
123
- <show_in_default>1</show_in_default>
124
- <show_in_website>1</show_in_website>
125
- <show_in_store>1</show_in_store>
126
- </paymill_accepted_currencies>
127
- <paymill_lib_version translate="label">
128
- <label>Paymill library version</label>
129
- <frontend_type>select</frontend_type>
130
- <source_model>Paymill_Paymillcc_LibraryVersion</source_model>
131
- <sort_order>11</sort_order>
132
- <show_in_default>1</show_in_default>
133
- <show_in_website>1</show_in_website>
134
- <show_in_store>1</show_in_store>
135
- </paymill_lib_version>
136
- <paymill_show_credits translate="label">
137
- <label>Show Paymill label</label>
138
- <frontend_type>select</frontend_type>
139
- <source_model>adminhtml/system_config_source_yesno</source_model>
140
- <sort_order>12</sort_order>
141
- <show_in_default>1</show_in_default>
142
- <show_in_website>1</show_in_website>
143
- <show_in_store>1</show_in_store>
144
- </paymill_show_credits>
145
- </fields>
146
- </paymillcc>
147
- </groups>
148
- </payment>
149
- </sections>
150
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/sql/paymillcc_setup/mysql4-install-2.1.2.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
- $installer->startSetup();
5
-
6
- $installer->run("
7
- CREATE TABLE IF NOT EXISTS `{$this->getTable('paymill_cc_additional_customer_data')}` (
8
- `id` int(11) NOT NULL AUTO_INCREMENT,
9
- `user_id` varchar(255) NOT NULL,
10
- `user_data` varchar(256) NOT NULL,
11
- PRIMARY KEY (`id`)
12
- ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"
13
- );
14
-
15
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillcc/sql/paymillcc_setup/mysql4-upgrade-2.1.1-2.1.2.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
- $installer->startSetup();
5
-
6
- $installer->run("
7
- CREATE TABLE IF NOT EXISTS `{$this->getTable('paymill_cc_additional_customer_data')}` (
8
- `id` int(11) NOT NULL AUTO_INCREMENT,
9
- `user_id` varchar(255) NOT NULL,
10
- `user_data` varchar(256) NOT NULL,
11
- PRIMARY KEY (`id`)
12
- ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"
13
- );
14
-
15
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Block/Form/Paymill.php DELETED
@@ -1,49 +0,0 @@
1
- <?php
2
-
3
- class Paymill_Paymillelv_Block_Form_Paymill extends Mage_Payment_Block_Form
4
- {
5
- public $paymillBridgeEndpoint;
6
- public $paymillPublicApiKey;
7
- public $paymillDebugMode = "false";
8
-
9
- protected function _construct()
10
- {
11
- // read some configuration data
12
-
13
- $this->paymillPublicApiKey = Mage::getStoreConfig(
14
- 'payment/paymillelv/paymill_public_api_key',
15
- Mage::app()->getStore()
16
- );
17
-
18
- $this->paymillBridgeEndpoint = Mage::getStoreConfig(
19
- 'payment/paymillelv/paymill_bridge_endpoint',
20
- Mage::app()->getStore()
21
- );
22
-
23
- $this->paymillDebugMode = Mage::getStoreConfig(
24
- 'payment/paymillelv/paymill_debug_mode',
25
- Mage::app()->getStore()
26
- );
27
-
28
- $this->showPaymillLabel = Mage::getStoreConfig(
29
- 'payment/paymillelv/paymill_show_credits',
30
- Mage::app()->getStore()
31
- );
32
-
33
- $this->paymillApiEndpoint = Mage::getStoreConfig(
34
- 'payment/paymillelv/paymill_api_endpoint',
35
- Mage::app()->getStore()
36
- );
37
-
38
- if ($this->paymillDebugMode == "") {
39
- $this->paymillDebugMode = "false";
40
- }
41
-
42
- parent::_construct();
43
-
44
- // load paymill form
45
- $this->setTemplate('paymill/form/paymill_elv.phtml');
46
- }
47
- }
48
-
49
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Block/Info/Paymill.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
-
3
- class Paymill_Paymillelv_Block_Info_Paymill extends Mage_Payment_Block_Info_Cc
4
- {
5
- /**
6
- * Prepare credit card related payment info
7
- *
8
- * @param Varien_Object|array $transport
9
- * @return Varien_Object
10
- */
11
- protected function _prepareSpecificInformation($transport = null)
12
- {
13
- $transport = parent::_prepareSpecificInformation($transport);
14
- $additionalInformation = array();
15
- if(Mage::app()->getStore()->isAdmin()) {
16
- $order = Mage::registry('current_order');
17
- if(!$order && Mage::registry('current_shipment')) {
18
- $order = Mage::registry('current_shipment')->getOrder();
19
- }
20
- elseif (!$order && Mage::registry('current_invoice')) {
21
- $order = Mage::registry('current_invoice')->getOrder();
22
- } elseif (!$order && Mage::registry('current_creditmemo')) {
23
- $order = Mage::registry('current_creditmemo')->getOrder();
24
- }
25
- if($order) {
26
- $additionalInformation = array(
27
- 'Transaction ID' => ' ' . $order->getPayment()->getAdditionalInformation('paymill_transaction_id')
28
- );
29
- }
30
- }
31
-
32
- return $transport->setData($additionalInformation);
33
- }
34
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Helper/Data.php DELETED
@@ -1,6 +0,0 @@
1
- <?php
2
- class Paymill_Paymillelv_Helper_Data extends Mage_Core_Helper_Abstract
3
- {
4
-
5
- }
6
- ?>
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Model/Customerdata.php DELETED
@@ -1,60 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillelv_Model_Customerdata extends Mage_Core_Model_Abstract
22
- {
23
-
24
- /**
25
- * Construct
26
- */
27
- function _construct()
28
- {
29
- parent::_construct();
30
- $this->_init('paymillelv/customerdata');
31
- }
32
-
33
- public function setEntry($customerId, $data)
34
- {
35
- //$this->setId(null);
36
- $this->setUserId($customerId);
37
- $this->setUserData($data);
38
- $this->save();
39
-
40
- }
41
-
42
- public function loadByUserId($customerId)
43
- {
44
- return $this->loadByAttribute('user_id', $customerId);
45
- }
46
-
47
- public function loadByAttribute($attribute, $value, $additionalAttributes = '*')
48
- {
49
- $collection = $this->getResourceCollection()
50
- ->addFieldToSelect($additionalAttributes)
51
- ->addFieldToFilter($attribute, $value);
52
-
53
- foreach ($collection as $object) {
54
- return $object;
55
- }
56
-
57
- return null;
58
- }
59
-
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Model/Mysql4/Customerdata.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillelv_Model_Mysql4_Customerdata extends Mage_Core_Model_Mysql4_Abstract
22
- {
23
-
24
- /**
25
- * Construct
26
- */
27
- function _construct()
28
- {
29
- $this->_init('paymillelv/customerdata', 'id');
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Model/Mysql4/Customerdata/Collection.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category PayIntelligent
16
- * @package PayIntelligent_RatePAY
17
- * @copyright Copyright (c) 2011 PayIntelligent GmbH (http://www.payintelligent.de)
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- */
20
-
21
- class Paymill_Paymillelv_Model_Mysql4_Customerdata_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
22
- {
23
- /**
24
- * Construct
25
- */
26
- public function _construct()
27
- {
28
- parent::_construct();
29
- $this->_init('paymillelv/customerdata');
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Model/PaymentAbstract.php DELETED
@@ -1,131 +0,0 @@
1
- <?php
2
-
3
- abstract class Paymill_Paymillcc_Model_PaymentAbstract extends Mage_Payment_Model_Method_Cc
4
- {
5
- /**
6
- * Processes the payment against the paymill API
7
- * @param $params array The settings array
8
- * @return boolean
9
- */
10
- protected function _processPayment($params)
11
- {
12
-
13
- // setup the logger
14
- $logger = $params['loggerCallback'];
15
-
16
- // setup client params
17
- $clientParams = array(
18
- 'email' => $params['email'],
19
- 'description' => $params['name']
20
- );
21
-
22
- // setup credit card params
23
- $paymentParams = array(
24
- 'token' => $params['token']
25
- );
26
-
27
- // setup transaction params
28
- $transactionParams = array(
29
- 'amount' => $params['amount'],
30
- 'currency' => $params['currency'],
31
- 'description' => $params['description']
32
- );
33
-
34
- require_once $params['libBase'] . 'Services/Paymill/Transactions.php';
35
- require_once $params['libBase'] . 'Services/Paymill/Clients.php';
36
- require_once $params['libBase'] . 'Services/Paymill/Payments.php';
37
-
38
- $clientsObject = new Services_Paymill_Clients(
39
- $params['privateKey'], $params['apiUrl']
40
- );
41
- $transactionsObject = new Services_Paymill_Transactions(
42
- $params['privateKey'], $params['apiUrl']
43
- );
44
- $paymentsObject = new Services_Paymill_Payments(
45
- $params['privateKey'], $params['apiUrl']
46
- );
47
-
48
- // perform conection to the Paymill API and trigger the payment
49
- try {
50
- if (!array_key_exists('client_id', $params)) {
51
- $client = $clientsObject->create($clientParams);
52
- if (!isset($client['id'])) {
53
- call_user_func_array($logger, array("No client created" . var_export($client, true)));
54
- return false;
55
- } else {
56
- call_user_func_array($logger, array("Client created: " . $client['id']));
57
- }
58
-
59
- // create card
60
- $paymentParams['client'] = $client['id'];
61
- } else {
62
- $paymentParams['client'] = $params['client_id'];
63
- }
64
-
65
- $payment = $paymentsObject->create($paymentParams);
66
- if (!array_key_exists('client_id', $params)) {
67
- if (!isset($payment['id'])) {
68
- call_user_func_array($logger, array("No payment (credit card) created: " . var_export($payment, true) . " with params " . var_export($paymentParams, true)));
69
- return false;
70
- } else {
71
- call_user_func_array($logger, array("Payment (credit card) created: " . $payment['id']));
72
- }
73
-
74
- // create transaction
75
- //$transactionParams['client'] = $client['id'];
76
- $transactionParams['payment'] = $payment['id'];
77
- } else {
78
- $transactionParams['payment'] = $params['payment_id'];
79
- }
80
-
81
- $transaction = $transactionsObject->create($transactionParams);
82
-
83
- if(isset($transaction['data']['response_code'])){
84
- call_user_func_array($logger, array("An Error occured: " . var_export($transaction, true)));
85
- return false;
86
- }
87
-
88
- if (!isset($transaction['id'])) {
89
- call_user_func_array($logger, array("No transaction created" . var_export($transaction, true)));
90
- return false;
91
- } else {
92
- $this->_setPaymillClientToken($client['id']);
93
- $this->_setPaymillPaymentToken($payment['id']);
94
- $this->_setPaymillTransactionId($transaction['id']);
95
- call_user_func_array($logger, array("Transaction created: " . $transaction['id']));
96
- }
97
-
98
- // check result
99
- if (is_array($transaction) && array_key_exists('status', $transaction)) {
100
- if ($transaction['status'] == "closed") {
101
- // transaction was successfully issued
102
- return true;
103
- } elseif ($transaction['status'] == "open") {
104
- // transaction was issued but status is open for any reason
105
- call_user_func_array($logger, array("Status is open."));
106
- return false;
107
- } else {
108
- // another error occured
109
- call_user_func_array($logger, array("Unknown error." . var_export($transaction, true)));
110
- return false;
111
- }
112
- } else {
113
- // another error occured
114
- call_user_func_array($logger, array("Transaction could not be issued."));
115
- return false;
116
- }
117
- } catch (Services_Paymill_Exception $ex) {
118
- // paymill wrapper threw an exception
119
- call_user_func_array($logger, array("Exception thrown from paymill wrapper: " . $ex->getMessage()));
120
- return false;
121
- }
122
-
123
- return true;
124
- }
125
-
126
- protected abstract function _setPaymillClientToken($id);
127
-
128
- protected abstract function _setPaymillPaymentToken($id);
129
-
130
- protected abstract function _setPaymillTransactionId($id);
131
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/Model/PaymentMethod.php DELETED
@@ -1,278 +0,0 @@
1
- <?php
2
-
3
- // require this here due to a Magento bug
4
- require_once 'lib/Zend/Log.php';
5
- require_once 'lib/Zend/Log/Formatter/Simple.php';
6
- require_once 'lib/Zend/Log/Writer/Stream.php';
7
-
8
- class Paymill_Paymillelv_Model_PaymentMethod extends Paymill_Paymillcc_Model_PaymentAbstract
9
- {
10
-
11
- /**
12
- * unique internal payment method identifier
13
- *
14
- * @var string [a-z0-9_]
15
- */
16
- protected $_code = 'paymillelv';
17
- protected $_formBlockType = 'paymillelv/form_paymill';
18
- protected $_infoBlockType = 'paymillelv/info_paymill';
19
-
20
- /**
21
- * Is this payment method a gateway (online auth/charge) ?
22
- */
23
- protected $_isGateway = false;
24
-
25
- /**
26
- * Can authorize online?
27
- */
28
- protected $_canAuthorize = true;
29
-
30
- /**
31
- * Can capture funds online?
32
- */
33
- protected $_canCapture = false;
34
-
35
- /**
36
- * Can capture partial amounts online?
37
- */
38
- protected $_canCapturePartial = false;
39
-
40
- /**
41
- * Can refund online?
42
- */
43
- protected $_canRefund = false;
44
-
45
- /**
46
- * Can void transactions online?
47
- */
48
- protected $_canVoid = true;
49
-
50
- /**
51
- * Can use this payment method in administration panel?
52
- */
53
- protected $_canUseInternal = false;
54
-
55
- /**
56
- * Can show this payment method as an option on checkout payment page?
57
- */
58
- protected $_canUseCheckout = true;
59
-
60
- /**
61
- * Is this payment method suitable for multi-shipping checkout?
62
- */
63
- protected $_canUseForMultishipping = true;
64
-
65
- /**
66
- * Can save credit card information for future processing?
67
- */
68
- protected $_canSaveCc = false;
69
-
70
- /**
71
- */
72
- public function assignData($data)
73
- {
74
-
75
- if (!($data instanceof Varien_Object)) {
76
- $data = new Varien_Object($data);
77
- }
78
-
79
- $info = $this->getInfoInstance();
80
-
81
- // read the paymill_transaction_token from the credit
82
- // card form and store it for later use
83
- $info->setAdditionalInformation(
84
- "paymill_elv_transaction_token", $data->paymill_elv_transaction_token
85
- );
86
- return $this;
87
- }
88
-
89
- /**
90
- * Serverside validations.
91
- */
92
- public function validate()
93
- {
94
- $info = $this->getInfoInstance();
95
- $token = $info->getAdditionalInformation("paymill_elv_transaction_token");
96
- if (!$token && is_null(Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))) {
97
- self::logAction("No transaction code was received in PaymentMethod (Paymill_Paymillelv_Model_PaymentMethod::validate)");
98
- Mage::throwException(
99
- Mage::helper('paymillelv')->__("Error while performing your payment. The payment was not processed.")
100
- );
101
- }
102
-
103
- return $this;
104
- }
105
-
106
- /**
107
- * This method is triggered after order is placed.
108
- *
109
- * @return boolean Returns true if the payment was successfully processed
110
- */
111
- public function authorize(Varien_Object $payment, $amount)
112
- {
113
- $info = $this->getInfoInstance();
114
- // retrieve the transaction_token and save it for later processing
115
- $token = $info->getAdditionalInformation("paymill_elv_transaction_token");
116
-
117
- // process the payment
118
- $result = $this->processPayment($payment, $amount, $token);
119
- if ($result == false) {
120
- $payment->setStatus('ERROR')->setIsTransactionClosed(1)->save();
121
- throw new Exception(
122
- Mage::helper('paymillelv')->__("Payment was not successfully processed. See log.")
123
- );
124
- }
125
-
126
- if (Mage::getSingleton('customer/session')->isLoggedIn() && Mage::getStoreConfig('payment/paymillelv/recurring', Mage::app()->getStore())) {
127
- if (is_null(Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))) {
128
- Mage::getSingleton("paymillelv/customerdata")->setEntry(
129
- Mage::getSingleton('customer/session')->getCustomer()->getId(),
130
- Mage::getSingleton('core/session')->getPaymillElvClientToken() . '|' . Mage::getSingleton('core/session')->getPaymillElvPaymentToken()
131
- );
132
- }
133
- }
134
-
135
- $transactionId = Mage::getSingleton('core/session')->getPaymillTransactionId();
136
- $info->setAdditionalInformation('paymill_transaction_id', $transactionId);
137
- $payment->setStatus('APPROVED')
138
- ->setTransactionId($transactionId)
139
- ->setIsTransactionClosed(1)
140
- ->save();
141
-
142
- return $this;
143
- }
144
-
145
- /**
146
- * This method triggers the payment.
147
- * It is triggered when the invoice is created.
148
- * @return void
149
- */
150
- public function capture(Varien_Object $payment, $amount)
151
- {
152
- return $this;
153
- }
154
-
155
- /**
156
- * Specify currency support
157
- */
158
- public function canUseForCurrency($currency)
159
- {
160
- $currency = Mage::getSingleton('checkout/session')->getQuote()->getQuoteCurrencyCode();
161
-
162
- $acceptedCurrencies = Mage::getStoreConfig(
163
- 'payment/paymillelv/paymill_accepted_currencies', Mage::app()->getStore()
164
- );
165
- $acceptedCurrenciesExploded = explode(',', trim(strtolower($acceptedCurrencies)));
166
-
167
- if (!in_array(strtolower($currency), $acceptedCurrenciesExploded)) {
168
- return false;
169
- }
170
-
171
- return true;
172
- }
173
-
174
- /**
175
- * Specify minimum order amount from config
176
- * @return boolean Returns true if the payment method is available for the current context
177
- */
178
- public function isAvailable($quote = null)
179
- {
180
- if (is_object($quote)) {
181
- // is active
182
- $paymillActive = Mage::getStoreConfig(
183
- 'payment/paymillelv/active', Mage::app()->getStore()
184
- );
185
-
186
- if (!$paymillActive) {
187
- return false;
188
- }
189
-
190
- // get minimum order amount
191
- $paymillMinimumOrderAmount = Mage::getStoreConfig(
192
- 'payment/paymillelv/paymill_minimum_order_amount', Mage::app()->getStore()
193
- );
194
-
195
- if ($quote && $quote->getBaseGrandTotal() <= 0.5) {
196
- return false;
197
- }
198
-
199
- if ($quote && $quote->getBaseGrandTotal() <= $paymillMinimumOrderAmount) {
200
- return false;
201
- }
202
-
203
- return true;
204
- }
205
- return false;
206
- }
207
-
208
- /**
209
- * The payment capturing method
210
- * @param Varien_Object $payment The payment object
211
- * @param $amount The amount to be captures
212
- * @return boolean $result Returns true if the payment was successfully processed
213
- */
214
- public function processPayment(Varien_Object $payment, $amount, $token)
215
- {
216
- // get some relevant objects
217
- $order = $payment->getOrder();
218
- $billing = $order->getBillingAddress();
219
-
220
- $libBase = 'lib/paymill/v2/lib/';
221
-
222
- $data = array(
223
- 'token' => $token,
224
- 'amount' => round($amount * 100),
225
- 'currency' => strtolower($payment->getOrder()->getOrderCurrency()->getCode()),
226
- 'name' => $billing->getName(),
227
- 'email' => $order->getCustomerEmail(),
228
- 'description' => 'Order from: '
229
- . Mage::getStoreConfig('general/store_information/name', Mage::app()->getStore())
230
- . ' ' . sprintf('#%s, %s', $order->getIncrementId(), $order->getCustomerEmail()),
231
- 'libBase' => $libBase,
232
- 'privateKey' => Mage::getStoreConfig(
233
- 'payment/paymillelv/paymill_private_api_key', Mage::app()->getStore()
234
- ),
235
- 'apiUrl' => Mage::getStoreConfig(
236
- 'payment/paymillelv/paymill_api_endpoint', Mage::app()->getStore()
237
- ),
238
- 'loggerCallback' => array('Paymill_Paymillelv_Model_PaymentMethod', 'logAction')
239
- );
240
-
241
- $paymillUser = Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId());
242
- if (!is_null($paymillUser)){
243
- $token = explode('|', $paymillUser->getUserData());
244
- $data['client_id'] = $token[0];
245
- $data['payment_id'] = $token[1];
246
- }
247
-
248
- // process the payment
249
- $result = $this->_processPayment($data);
250
-
251
- return $result;
252
- }
253
-
254
- protected function _setPaymillClientToken($id)
255
- {
256
- Mage::getSingleton('core/session')->setPaymillElvClientToken($id);
257
- }
258
-
259
- protected function _setPaymillPaymentToken($id)
260
- {
261
- Mage::getSingleton('core/session')->setPaymillElvPaymentToken($id);
262
- }
263
-
264
- protected function _setPaymillTransactionId($id)
265
- {
266
- Mage::getSingleton('core/session')->setPaymillTransactionId($id);
267
- }
268
-
269
- /**
270
- * Logs an event
271
- * @param $message The message to be logged
272
- */
273
- public static function logAction($message)
274
- {
275
- Mage::log($message);
276
- }
277
-
278
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/etc/config.xml DELETED
@@ -1,93 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <modules>
4
- <Paymill_Paymillelv>
5
- <version>2.1.4</version>
6
- </Paymill_Paymillelv>
7
- </modules>
8
- <global>
9
- <blocks>
10
- <paymillelv>
11
- <class>Paymill_Paymillelv_Block</class>
12
- </paymillelv>
13
- </blocks>
14
- <models>
15
- <paymillelv>
16
- <class>Paymill_Paymillelv_Model</class>
17
- <resourceModel>paymillelv_mysql4</resourceModel>
18
- </paymillelv>
19
- <paymillelv_mysql4>
20
- <class>Paymill_Paymillelv_Model_Mysql4</class>
21
- <entities>
22
- <customerdata>
23
- <table>paymill_elv_additional_customer_data</table>
24
- </customerdata>
25
- </entities>
26
- </paymillelv_mysql4>
27
- </models>
28
- <resources>
29
- <paymillelv_setup>
30
- <setup>
31
- <module>Paymill_Paymillelv</module>
32
- <class>Mage_Customer_Model_Entity_Setup</class>
33
- </setup>
34
- <connection>
35
- <use>core_setup</use>
36
- </connection>
37
- </paymillelv_setup>
38
- <paymillelv_write>
39
- <connection>
40
- <use>core_write</use>
41
- </connection>
42
- </paymillelv_write>
43
- <paymillelv_read>
44
- <connection>
45
- <use>core_read</use>
46
- </connection>
47
- </paymillelv_read>
48
- </resources>
49
- <helpers>
50
- <paymillelv>
51
- <class>Paymill_Paymillelv_Helper</class>
52
- </paymillelv>
53
- </helpers>
54
- </global>
55
- <frontend>
56
- <translate>
57
- <modules>
58
- <Paymill_Paymillelv>
59
- <files>
60
- <default>Paymill_Paymillelv.csv</default>
61
- </files>
62
- </Paymill_Paymillelv>
63
- </modules>
64
- </translate>
65
- </frontend>
66
- <adminhtml>
67
- <translate>
68
- <modules>
69
- <Paymill_Paymillelv>
70
- <files>
71
- <default>Paymill_Paymillelv.csv</default>
72
- </files>
73
- </Paymill_Paymillelv>
74
- </modules>
75
- </translate>
76
- </adminhtml>
77
- <default>
78
- <payment>
79
- <paymillelv>
80
- <active>0</active>
81
- <model>paymillelv/paymentMethod</model>
82
- <order_status>pending</order_status>
83
- <title>Elektronisches Lastschriftverfahren</title>
84
- <payment_action>authorize</payment_action>
85
- <allowspecific>0</allowspecific>
86
- <paymill_bridge_endpoint>https://bridge.paymill.com/</paymill_bridge_endpoint>
87
- <paymill_api_endpoint>https://api.paymill.com/v2/</paymill_api_endpoint>
88
- <paymill_show_credits>1</paymill_show_credits>
89
- <paymill_accepted_currencies>EUR</paymill_accepted_currencies>
90
- </paymillelv>
91
- </payment>
92
- </default>
93
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/etc/system.xml DELETED
@@ -1,141 +0,0 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <sections>
4
- <!-- payment tab -->
5
- <payment>
6
- <groups>
7
- <!-- newmodule fieldset -->
8
- <paymillelv translate="label" module="paymillelv">
9
- <!-- will have title 'New Module' -->
10
- <label>Paymill ELV</label>
11
- <!-- position between other payment methods -->
12
- <sort_order>1</sort_order>
13
- <!-- do not show this configuration options in store scope -->
14
- <show_in_default>1</show_in_default>
15
- <show_in_website>1</show_in_website>
16
- <show_in_store>1</show_in_store>
17
- <comment><![CDATA[<a href="https://www.paymill.de/" target="_blank">Click here to get a Paymill account</a>]]></comment>
18
- <fields>
19
- <!-- is this payment method active for the website? -->
20
- <active translate="label">
21
- <!-- label for the field -->
22
- <label>Enabled</label>
23
- <!-- input type for configuration value -->
24
- <frontend_type>select</frontend_type>
25
- <!-- model to take the option values from -->
26
- <source_model>adminhtml/system_config_source_yesno</source_model>
27
- <!-- field position -->
28
- <sort_order>1</sort_order>
29
- <!-- do not show this field in store scope -->
30
- <show_in_default>1</show_in_default>
31
- <show_in_website>1</show_in_website>
32
- <show_in_store>1</show_in_store>
33
- </active>
34
- <recurring translate="label">
35
- <label>Recurring Payment</label>
36
- <frontend_type>select</frontend_type>
37
- <source_model>adminhtml/system_config_source_yesno</source_model>
38
- <sort_order>2</sort_order>
39
- <show_in_default>1</show_in_default>
40
- <show_in_website>1</show_in_website>
41
- <show_in_store>1</show_in_store>
42
- </recurring>
43
- <sort_order translate="label">
44
- <label>Sort Order</label>
45
- <frontend_type>text</frontend_type>
46
- <sort_order>100</sort_order>
47
- <show_in_default>1</show_in_default>
48
- <show_in_website>1</show_in_website>
49
- <show_in_store>1</show_in_store>
50
- <frontend_class>validate-number</frontend_class>
51
- </sort_order>
52
- <paymill_minimum_order_amount translate="label">
53
- <label>Minimum order amount</label>
54
- <frontend_type>text</frontend_type>
55
- <sort_order>100</sort_order>
56
- <show_in_default>1</show_in_default>
57
- <show_in_website>1</show_in_website>
58
- <show_in_store>1</show_in_store>
59
- <frontend_class>validate-number</frontend_class>
60
- </paymill_minimum_order_amount>
61
- <paymill_debug_mode translate="label">
62
- <label>Paymill debug mode</label>
63
- <frontend_type>select</frontend_type>
64
- <source_model>adminhtml/system_config_source_yesno</source_model>
65
- <sort_order>4</sort_order>
66
- <show_in_default>1</show_in_default>
67
- <show_in_website>1</show_in_website>
68
- <show_in_store>1</show_in_store>
69
- </paymill_debug_mode>
70
- <paymill_private_api_key translate="label">
71
- <label>Private Paymill API Key</label>
72
- <frontend_type>text</frontend_type>
73
- <sort_order>2</sort_order>
74
- <show_in_default>1</show_in_default>
75
- <show_in_website>1</show_in_website>
76
- <show_in_store>1</show_in_store>
77
- </paymill_private_api_key>
78
- <paymill_public_api_key translate="label">
79
- <label>Public Paymill API Key</label>
80
- <frontend_type>text</frontend_type>
81
- <sort_order>3</sort_order>
82
- <show_in_default>1</show_in_default>
83
- <show_in_website>1</show_in_website>
84
- <show_in_store>1</show_in_store>
85
- </paymill_public_api_key>
86
- <paymill_bridge_endpoint translate="label">
87
- <label>Paymill bridge URL</label>
88
- <frontend_type>text</frontend_type>
89
- <sort_order>5</sort_order>
90
- <show_in_default>1</show_in_default>
91
- <show_in_website>1</show_in_website>
92
- <show_in_store>1</show_in_store>
93
- </paymill_bridge_endpoint>
94
- <paymill_api_endpoint translate="label">
95
- <label>Paymill API Endpoint</label>
96
- <frontend_type>text</frontend_type>
97
- <sort_order>6</sort_order>
98
- <show_in_default>1</show_in_default>
99
- <show_in_website>1</show_in_website>
100
- <show_in_store>1</show_in_store>
101
- </paymill_api_endpoint>
102
- <title>
103
- <label>Title</label>
104
- <frontend_type>text</frontend_type>
105
- <sort_order>8</sort_order>
106
- <show_in_default>1</show_in_default>
107
- <show_in_website>1</show_in_website>
108
- <show_in_store>1</show_in_store>
109
- </title>
110
- <order_status translate="label">
111
- <label>New order status</label>
112
- <frontend_type>select</frontend_type>
113
- <source_model>adminhtml/system_config_source_order_status_processing</source_model>
114
- <sort_order>9</sort_order>
115
- <show_in_default>1</show_in_default>
116
- <show_in_website>1</show_in_website>
117
- <show_in_store>1</show_in_store>
118
- </order_status>
119
- <paymill_accepted_currencies translate="label">
120
- <label>Accepted Currencies</label>
121
- <frontend_type>text</frontend_type>
122
- <sort_order>10</sort_order>
123
- <show_in_default>1</show_in_default>
124
- <show_in_website>1</show_in_website>
125
- <show_in_store>1</show_in_store>
126
- </paymill_accepted_currencies>
127
- <paymill_show_credits translate="label">
128
- <label>Show Paymill label</label>
129
- <frontend_type>select</frontend_type>
130
- <source_model>adminhtml/system_config_source_yesno</source_model>
131
- <sort_order>12</sort_order>
132
- <show_in_default>1</show_in_default>
133
- <show_in_website>1</show_in_website>
134
- <show_in_store>1</show_in_store>
135
- </paymill_show_credits>
136
- </fields>
137
- </paymillelv>
138
- </groups>
139
- </payment>
140
- </sections>
141
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/sql/paymillelv_setup/mysql4-install-2.1.2.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
- $installer->startSetup();
5
-
6
- $installer->run("
7
- CREATE TABLE IF NOT EXISTS `{$this->getTable('paymill_elv_additional_customer_data')}` (
8
- `id` int(11) NOT NULL AUTO_INCREMENT,
9
- `user_id` varchar(255) NOT NULL,
10
- `user_data` varchar(256) NOT NULL,
11
- PRIMARY KEY (`id`)
12
- ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"
13
- );
14
-
15
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Paymill/Paymillelv/sql/paymillelv_setup/mysql4-upgrade-2.1.1-2.1.2.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- $installer = $this;
4
- $installer->startSetup();
5
-
6
- $installer->run("
7
- CREATE TABLE IF NOT EXISTS `{$this->getTable('paymill_elv_additional_customer_data')}` (
8
- `id` int(11) NOT NULL AUTO_INCREMENT,
9
- `user_id` varchar(255) NOT NULL,
10
- `user_data` varchar(256) NOT NULL,
11
- PRIMARY KEY (`id`)
12
- ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;"
13
- );
14
-
15
- $installer->endSetup();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml CHANGED
@@ -38,7 +38,7 @@
38
  </div>
39
  </li>
40
  <li>
41
- <input class="paymill-payment-token-cc" name="payment[paymill-payment-token-cc]" id="payment[paymill-payment-token-cc]" type="hidden" />
42
  <input class="paymill_3ds_cancel" name="payment[paymill_3ds_cancel]" id="payment[paymill_3ds_cancel]" type="hidden" value="<?php echo $this->__("paymill_3ds_cancel") ?>"/>
43
  <input class="paymill-payment-amount-cc" name="payment[paymill-payment-amount-cc]" id="payment[paymill-payment-amount-cc]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getAmount() ?>"/>
44
  <input class="paymill-payment-currency-cc" name="payment[paymill-payment-currency-cc]" id="payment[paymill-payment-currency-cc]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency() ?>"/>
@@ -48,7 +48,8 @@
48
  <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");?>"/>
49
  <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"); ?>"/>
50
  <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"); ?>"/>
51
- <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"); ?>"/>
 
52
  </li>
53
  </ul>
54
  <script type="text/javascript">
38
  </div>
39
  </li>
40
  <li>
41
+ <input class="paymill-payment-token-cc paymill-validate-cc-token required-entry" name="payment[paymill-payment-token-cc]" id="payment[paymill-payment-token-cc]" type="hidden" />
42
  <input class="paymill_3ds_cancel" name="payment[paymill_3ds_cancel]" id="payment[paymill_3ds_cancel]" type="hidden" value="<?php echo $this->__("paymill_3ds_cancel") ?>"/>
43
  <input class="paymill-payment-amount-cc" name="payment[paymill-payment-amount-cc]" id="payment[paymill-payment-amount-cc]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getAmount() ?>"/>
44
  <input class="paymill-payment-currency-cc" name="payment[paymill-payment-currency-cc]" id="payment[paymill-payment-currency-cc]" type="hidden" value="<?php echo Mage::helper('paymill/paymentHelper')->getCurrency() ?>"/>
48
  <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");?>"/>
49
  <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"); ?>"/>
50
  <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"); ?>"/>
51
+ <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_token"); ?>"/>
52
+ <input class="paymill-payment-error-cc-token" name="payment[paymill-payment-error-cc-token]" id="payment[paymill-payment-error-cc-token]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_token"); ?>"/>
53
  </li>
54
  </ul>
55
  <script type="text/javascript">
app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml CHANGED
@@ -22,13 +22,14 @@
22
  </div>
23
  </li>
24
  <li>
25
- <input class="paymill-payment-token-elv" name="payment[paymill-payment-token-elv]" id="payment[paymill-payment-token-elv]" type="hidden" />
26
  <input class="paymill-option-debug-elv" name="payment[paymill-option-debug-elv]" id="payment[paymill-option-debug-elv]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>" />
27
  <input class="paymill-info-public_key-elv" name="payment[paymill-info-public_key-elv]" id="payment[paymill-info-public_key-elv]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>" />
28
  <input class="paymill-info-fastCheckout-elv" name="payment[paymill-info-fastCheckout-elv]" id="payment[paymill-info-fastCheckout-elv]" type="hidden" value="<?php echo $this->isNormalCheckout($_code) ?>" />
29
  <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"); ?>" />
30
  <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"); ?>" />
31
  <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"); ?>" />
 
32
  </li>
33
  </ul>
34
  <script type="text/javascript">
22
  </div>
23
  </li>
24
  <li>
25
+ <input class="paymill-payment-token-elv paymill-validate-elv-token required-entry" name="payment[paymill-payment-token-elv]" id="payment[paymill-payment-token-elv]" type="hidden" />
26
  <input class="paymill-option-debug-elv" name="payment[paymill-option-debug-elv]" id="payment[paymill-option-debug-elv]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>" />
27
  <input class="paymill-info-public_key-elv" name="payment[paymill-info-public_key-elv]" id="payment[paymill-info-public_key-elv]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>" />
28
  <input class="paymill-info-fastCheckout-elv" name="payment[paymill-info-fastCheckout-elv]" id="payment[paymill-info-fastCheckout-elv]" type="hidden" value="<?php echo $this->isNormalCheckout($_code) ?>" />
29
  <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"); ?>" />
30
  <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"); ?>" />
31
  <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"); ?>" />
32
+ <input class="paymill-payment-error-elv-token" name="payment[paymill-payment-error-elv-token]" id="payment[paymill-payment-error-elv-token]" type="hidden" value="<?php echo $this->__("paymill_error_text_invalid_token"); ?>"/>
33
  </li>
34
  </ul>
35
  <script type="text/javascript">
app/locale/de_DE/Paymill_Paymill.csv CHANGED
@@ -29,6 +29,7 @@
29
  "paymill_error_text_invalid_expdate","Ungültiges Ablaufdatum"
30
  "paymill_error_text_invalid_holder_cc","Bitte geben Sie einen Karteninhaber an."
31
  "paymill_error_text_invalid_holder_elv","Bitte geben Sie einen Kontoinhaber an."
 
32
  "paymill_error_text_invalid_bankcode","Ungültige Bankleitzahl"
33
  "paymill_error_text_invalid_payment","Zahlart konnte nicht identifiziert werden. Bitte kontaktieren Sie den Support."
34
  "paymill_account","Kontonummer"
29
  "paymill_error_text_invalid_expdate","Ungültiges Ablaufdatum"
30
  "paymill_error_text_invalid_holder_cc","Bitte geben Sie einen Karteninhaber an."
31
  "paymill_error_text_invalid_holder_elv","Bitte geben Sie einen Kontoinhaber an."
32
+ "paymill_error_text_invalid_token", "Folgender Fehler ist aufgetreten: "
33
  "paymill_error_text_invalid_bankcode","Ungültige Bankleitzahl"
34
  "paymill_error_text_invalid_payment","Zahlart konnte nicht identifiziert werden. Bitte kontaktieren Sie den Support."
35
  "paymill_account","Kontonummer"
app/locale/en_GB/Paymill_Paymill.csv CHANGED
@@ -29,6 +29,7 @@
29
  "paymill_error_text_invalid_expdate","Invalid Expiry Date"
30
  "paymill_error_text_invalid_holder_cc","Please enter a card holder."
31
  "paymill_error_text_invalid_holder_elv","Please enter an account holder."
 
32
  "paymill_error_text_invalid_bankcode","Invalid Bankcode"
33
  "paymill_error_text_invalid_payment","The payment you chose could not be identified. Please contact the support"
34
  "paymill_account","Accountnumber"
29
  "paymill_error_text_invalid_expdate","Invalid Expiry Date"
30
  "paymill_error_text_invalid_holder_cc","Please enter a card holder."
31
  "paymill_error_text_invalid_holder_elv","Please enter an account holder."
32
+ "paymill_error_text_invalid_token", "There is a problem occurred: "
33
  "paymill_error_text_invalid_bankcode","Invalid Bankcode"
34
  "paymill_error_text_invalid_payment","The payment you chose could not be identified. Please contact the support"
35
  "paymill_account","Accountnumber"
js/paymill/paymentForm.js CHANGED
@@ -72,17 +72,30 @@ function paymillShowCardIcon()
72
  function paymillResponseHandler(error, result)
73
  {
74
  var paymillValidator = new Validation(pmQuery("input[name='payment[method]']:checked").closest("form").attr("id"));
75
- paymillValidator.validate();
76
  if (error) {
77
  // Appending error
78
- PAYMILL_ERROR_STRING += error.apierror + "\n";
 
 
 
 
 
 
 
 
 
 
 
79
  debug(error.apierror);
 
80
  debug("Paymill Response Handler triggered: Error.");
81
  } else {
82
  // Appending Token to form
83
  debug("Saving Token in Form: " + result.token);
84
  pmQuery('.paymill-payment-token-' + getPaymillCode()).val(result.token);
85
  }
 
 
86
  }
87
 
88
  function getValueIfExist(selector)
72
  function paymillResponseHandler(error, result)
73
  {
74
  var paymillValidator = new Validation(pmQuery("input[name='payment[method]']:checked").closest("form").attr("id"));
 
75
  if (error) {
76
  // Appending error
77
+ var nv = {};
78
+
79
+ nv['paymill-validate-' + getPaymillCode() + '-token'] = new Validator(
80
+ 'paymill-validate-' + getPaymillCode() + '-token',
81
+ getValueIfExist('.paymill-payment-error-' + getPaymillCode() + '-token') + error.message,
82
+ function(v) {
83
+ return v !== '';
84
+ },
85
+ ''
86
+ );
87
+
88
+ Object.extend(Validation.methods, nv);
89
  debug(error.apierror);
90
+ debug(error.message);
91
  debug("Paymill Response Handler triggered: Error.");
92
  } else {
93
  // Appending Token to form
94
  debug("Saving Token in Form: " + result.token);
95
  pmQuery('.paymill-payment-token-' + getPaymillCode()).val(result.token);
96
  }
97
+
98
+ paymillValidator.validate();
99
  }
100
 
101
  function getValueIfExist(selector)
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Paymill_Paymill</name>
4
- <version>3.5.3</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> * fix broken image in pdf invoice&#xD;
 
 
17
  </notes>
18
  <authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
19
- <date>2013-11-26</date>
20
- <time>17:07:27</time>
21
- <contents><target name="magecommunity"><dir name="Paymill"><dir><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="179e10aea0213d2caed595ae9111b993"/><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="b42edc338110bd2f81fcf85169d3d82c"/><file name="PaymentFormCreditcard.php" hash="5351fa41246fb107bd3e62fdd274f715"/><file name="PaymentFormDirectdebit.php" hash="526991e3ed3c25b6c242fdd21e7aba25"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="9d11216e743fa204bea678276f5a16b3"/><file name="PaymentFormDirectdebit.php" hash="2143f473d531511aa2f6ae1051b0e7f9"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="ff84eeb76190bebb7c6eeeb0a6aedadf"/><file name="Data.php" hash="65371da937bd0aa1ba57aa4b9d27d989"/><file name="FastCheckoutHelper.php" hash="57372d9ec58c027dbd15771ab703da30"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="cbf3daa334bce07b7eb62a5a43dd18dc"/><file name="PaymentHelper.php" hash="9680fc6d2eb76ec3295bada2dd0ee5da"/><file name="RefundHelper.php" hash="b936d48e6f9022acb0370ec755cf5850"/><file name="TransactionHelper.php" hash="7cce355230eee2f1c617df1bd18f8752"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="a0ac4318beb875fa24a09dcd1fab81e7"/><dir name="Log"><file name="Search.php" hash="4338b3876e745405bfcc5a32cfe42527"/></dir><file name="Log.php" hash="476c497495b92c3cf49e0c7b470854d4"/><dir name="Method"><file name="MethodModelAbstract.php" hash="49ef0fda51651524a9e11cfc9b38db8f"/><file name="MethodModelCreditcard.php" hash="404c8b23b02ae7001687e74c681b7592"/><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="9382d38aed9aff7c3c4bc3e356dac9bf"/><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="e288e8207a3fcd33b341cf8145c2aa46"/><file name="system.xml" hash="b5cdd598f98a2aed06ebf6d638194206"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="f6c07215c8bad93c70f3db364c2b43c0"/></dir></dir></dir><dir name="Paymillcc"><dir name="Block"><dir name="Form"><file name="Paymill.php" hash="e0a8d4d996c4d967433d146c66066675"/></dir><dir name="Info"><file name="Paymill.php" hash="227a03895daff070b81db745832113b5"/></dir></dir><dir name="Helper"><file name="Data.php" hash="901beaefa74e1d111d535b6d7a039f8b"/></dir><file name="LibraryVersion.php" hash="5df580a71fe7d5ef555838427b00ffba"/><dir name="Model"><file name="Customerdata.php" hash="cb9acf05ad612c3012554b6e20c66a20"/><dir name="Mysql4"><dir name="Customerdata"><file name="Collection.php" hash="b89dd70704e7fdf0cd6cd955c8bec7e3"/></dir><file name="Customerdata.php" hash="fd65309ee965a98e6840127c70ca3fdd"/></dir><file name="PaymentAbstract.php" hash="bbf1ecb31bcf6bef5614bad8ac4a9cc8"/><file name="PaymentMethod.php" hash="92650ea95a9d1b5a0e28b1c637528a65"/></dir><dir name="etc"><file name="config.xml" hash="13911c0caf93dff2089d96f8bc859059"/><file name="system.xml" hash="049a03e9b93fe7c4d30bc171c93a956c"/></dir><dir name="sql"><dir name="paymillcc_setup"><file name="mysql4-install-2.1.2.php" hash="5a4fd9f053eebe81b1db9a62ab3e5c90"/><file name="mysql4-upgrade-2.1.1-2.1.2.php" hash="5a4fd9f053eebe81b1db9a62ab3e5c90"/></dir></dir></dir><dir name="Paymillelv"><dir name="Block"><dir name="Form"><file name="Paymill.php" hash="6dc2c36cbbbd9837c211cdfb2e266891"/></dir><dir name="Info"><file name="Paymill.php" hash="688faf632b0511f1f7551b85d6025ce8"/></dir></dir><dir name="Helper"><file name="Data.php" hash="f245b99eaf05d7a4d8870eea95a4f3a2"/></dir><dir name="Model"><file name="Customerdata.php" hash="4c8b2c12fb3855a7c527c72cb61ea563"/><dir name="Mysql4"><dir name="Customerdata"><file name="Collection.php" hash="b8ad389912dde4201bdcd77757cc8b3f"/></dir><file name="Customerdata.php" hash="d7adacd7f5fd8fff667226db0a849e71"/></dir><file name="PaymentAbstract.php" hash="bbf1ecb31bcf6bef5614bad8ac4a9cc8"/><file name="PaymentMethod.php" hash="a74bd8e73439d789d29e1b40cb150ebb"/></dir><dir name="etc"><file name="config.xml" hash="a4fa5e1f8217aff5dd70c4ebbfd3feed"/><file name="system.xml" hash="193a984065342a7ec2621f9b3e3aa6f5"/></dir><dir name="sql"><dir name="paymillelv_setup"><file name="mysql4-install-2.1.2.php" hash="114ff4ff631bdea4a965d58d563c44b7"/><file name="mysql4-upgrade-2.1.1-2.1.2.php" hash="114ff4ff631bdea4a965d58d563c44b7"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="log"><file name="view.phtml" hash="2d4df28de6e1cb4701963db3d0c0545c"/></dir><dir name="payment"><dir name="info"><file name="creditcard.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/><file name="creditcard_pdf.phtml" hash="68febe619bb9918b785dcbb0593c4ebe"/><file name="directdebit.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/><file name="directdebit_pdf.phtml" hash="5a2e5c36d4f4702e5f9be4b5affe3421"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="fcc95f6e7c375fee779178a0f9f1a1d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="form"><file name="paymill.phtml" hash="a51c471c33a281335ff87715b4656fed"/><file name="paymill_elv.phtml" hash="1cd97b98a789cdd47e8edbf82f28f276"/></dir><dir name="payment"><dir name="form"><file name="creditcard.phtml" hash="3d6e9fc0b4952c3d651973414ec8c812"/><file name="directdebit.phtml" hash="17f5f15153ca0f3ceea2fc66a2876acb"/></dir><dir name="info"><file name="creditcard.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/><file name="directdebit.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="da4ed04467f50a8a5bbe5766834b765e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Paymill_Paymill.xml" hash="d36d3af5f5752dcf87517272ddb9af53"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="6041b143470bb035f6ba78d30714bbb6"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="81a19829117ebc2c486ae0935bcbcdb4"/></dir></target><target name="magelocal"><dir name="en_US"><file name="Paymill_Paymill.csv" hash=""/></dir><dir name="es_ES"><file name="Paymill_Paymill.csv" hash=""/></dir></target><target name="mage"><dir name="js"><dir name="paymill"><file name="paymentForm.js" hash="3d5066189641cc6924772b7cc6321b78"/></dir></dir></target><target name="magelib"><dir name="Services"><dir><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="b1e7fb6eacb5a5cb41dc91247774db45"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="141fa330c6894ff15faf413be19bf209"/><file name="Clients.php" hash="c8eb5fe8780f2da7b5eb173a5be43c7f"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="e2dcf9c9a54d9aba16e1caf02b438098"/><file name="PaymentProcessor.php" hash="5532a7043b185cd64ced0167c42ea763"/><file name="Payments.php" hash="d2a6d0679701d100c9e876f88215455c"/><file name="Preauthorizations.php" hash="597f7228584f32ee42d8916ae098b454"/><file name="Refunds.php" hash="e909af53108426a9e178417db850675f"/><file name="Subscriptions.php" hash="b72a31c4041029e08df1d7e85aa7391b"/><file name="Transactions.php" hash="a4c9d4d2243af38f2109e89ee4943888"/><file name="Webhooks.php" hash="5fd2e6baf7bb0dc3ad8edb1eab41fb91"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="5a5712da05d598fb11aad22e7854da4a"/></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_unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></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.5.5</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> * expend js validation to paymill token field&#xD;
17
+ * set invoice state to paid&#xD;
18
+ * selectable order states&#xD;
19
  </notes>
20
  <authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
21
+ <date>2013-12-05</date>
22
+ <time>10:34:30</time>
23
+ <contents><target name="magecommunity"><dir name="Paymill"><dir><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="179e10aea0213d2caed595ae9111b993"/><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="b42edc338110bd2f81fcf85169d3d82c"/><file name="PaymentFormCreditcard.php" hash="5351fa41246fb107bd3e62fdd274f715"/><file name="PaymentFormDirectdebit.php" hash="526991e3ed3c25b6c242fdd21e7aba25"/></dir><dir name="Info"><file name="PaymentFormCreditcard.php" hash="9d11216e743fa204bea678276f5a16b3"/><file name="PaymentFormDirectdebit.php" hash="2143f473d531511aa2f6ae1051b0e7f9"/></dir></dir></dir><dir name="Helper"><file name="CustomerHelper.php" hash="ff84eeb76190bebb7c6eeeb0a6aedadf"/><file name="Data.php" hash="65371da937bd0aa1ba57aa4b9d27d989"/><file name="FastCheckoutHelper.php" hash="57372d9ec58c027dbd15771ab703da30"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="cbf3daa334bce07b7eb62a5a43dd18dc"/><file name="PaymentHelper.php" hash="9680fc6d2eb76ec3295bada2dd0ee5da"/><file name="RefundHelper.php" hash="b936d48e6f9022acb0370ec755cf5850"/><file name="TransactionHelper.php" hash="7cce355230eee2f1c617df1bd18f8752"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="a0ac4318beb875fa24a09dcd1fab81e7"/><dir name="Log"><file name="Search.php" hash="4338b3876e745405bfcc5a32cfe42527"/></dir><file name="Log.php" hash="476c497495b92c3cf49e0c7b470854d4"/><dir name="Method"><file name="MethodModelAbstract.php" hash="6a02ece7a1471e5e4bc2374c1cb79f33"/><file name="MethodModelCreditcard.php" hash="404c8b23b02ae7001687e74c681b7592"/><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="54fb1f61206ccb0ff55cdc653acc1d01"/><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="73b28ed96a76d2b456d42d6e56532ad1"/><file name="system.xml" hash="f5fc2d08ae22c9562865c4f0962cc1ac"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="f6c07215c8bad93c70f3db364c2b43c0"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="log"><file name="view.phtml" hash="2d4df28de6e1cb4701963db3d0c0545c"/></dir><dir name="payment"><dir name="info"><file name="creditcard.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/><file name="creditcard_pdf.phtml" hash="68febe619bb9918b785dcbb0593c4ebe"/><file name="directdebit.phtml" hash="1c604ec666d9a3028a04c0d9a4257e4a"/><file name="directdebit_pdf.phtml" hash="5a2e5c36d4f4702e5f9be4b5affe3421"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="fcc95f6e7c375fee779178a0f9f1a1d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="paymill"><dir><dir name="form"><file name="paymill.phtml" hash="a51c471c33a281335ff87715b4656fed"/><file name="paymill_elv.phtml" hash="1cd97b98a789cdd47e8edbf82f28f276"/></dir><dir name="payment"><dir name="form"><file name="creditcard.phtml" hash="b772dd18069a03a0ebe53462984b3a32"/><file name="directdebit.phtml" hash="a6c349ae828b7c65ca30af9be315f792"/></dir><dir name="info"><file name="creditcard.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/><file name="directdebit.phtml" hash="42f875eb1b6e3e6151ddf152ef0bf13a"/></dir></dir></dir></dir></dir><dir name="layout"><file name="paymill.xml" hash="da4ed04467f50a8a5bbe5766834b765e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Paymill_Paymill.xml" hash="d36d3af5f5752dcf87517272ddb9af53"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Paymill_Paymill.csv" hash="97a876ee45669f5dd4ef24e952192b79"/></dir><dir name="en_GB"><file name="Paymill_Paymill.csv" hash="8f20e09de71425c0f6153700a3cc9f93"/></dir></target><target name="magelocal"><dir name="en_US"><file name="Paymill_Paymill.csv" hash=""/></dir><dir name="es_ES"><file name="Paymill_Paymill.csv" hash=""/></dir></target><target name="mage"><dir name="js"><dir name="paymill"><file name="paymentForm.js" hash="fe39ff30d6debe1f7a8e124d11170d37"/></dir></dir></target><target name="magelib"><dir name="Services"><dir><dir name="Paymill"><dir name="Apiclient"><file name="Curl.php" hash="b1e7fb6eacb5a5cb41dc91247774db45"/><file name="Interface.php" hash="349309458455e550c562fb17cf23f4a6"/><file name="paymill.crt" hash="51e14b4c734e450402ea2cf73f2aee0f"/></dir><file name="Base.php" hash="141fa330c6894ff15faf413be19bf209"/><file name="Clients.php" hash="c8eb5fe8780f2da7b5eb173a5be43c7f"/><file name="Exception.php" hash="9beffb75d92c0de3c1c7ea5b33930fff"/><file name="LoggingInterface.php" hash="46ebeede1da14b761c54a18aff6c3b79"/><file name="Offers.php" hash="e2dcf9c9a54d9aba16e1caf02b438098"/><file name="PaymentProcessor.php" hash="5532a7043b185cd64ced0167c42ea763"/><file name="Payments.php" hash="d2a6d0679701d100c9e876f88215455c"/><file name="Preauthorizations.php" hash="597f7228584f32ee42d8916ae098b454"/><file name="Refunds.php" hash="e909af53108426a9e178417db850675f"/><file name="Subscriptions.php" hash="b72a31c4041029e08df1d7e85aa7391b"/><file name="Transactions.php" hash="a4c9d4d2243af38f2109e89ee4943888"/><file name="Webhooks.php" hash="5fd2e6baf7bb0dc3ad8edb1eab41fb91"/></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="paymill"><file name="logo.css" hash="5a5712da05d598fb11aad22e7854da4a"/></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_unionpay.png" hash="6c9d16d6c65c0da5ff11e8ae13b01d15"/><file name="icon_32x20_visa.png" hash="e6d54e5c0120202eb5757bcfe499d73b"/><file name="icon_paymill.png" hash="303983a288b45cc7ddc5b88ad2eedd51"/></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>