Paymill_Paymill - Version 3.5.9

Version Notes

* set existing invoices to paid
* fix install sql for missing prefixes

Download this release

Release Info

Developer PayIntelligent
Extension Paymill_Paymill
Version 3.5.9
Comparing to
See all releases


Code changes from version 3.5.5 to 3.5.9

Files changed (25) hide show
  1. app/code/community/Paymill/Paymill/Helper/CustomerHelper.php +9 -10
  2. app/code/community/Paymill/Paymill/Helper/Data.php +3 -3
  3. app/code/community/Paymill/Paymill/Helper/PaymentHelper.php +1 -2
  4. app/code/community/Paymill/Paymill/Helper/TransactionHelper.php +3 -3
  5. app/code/community/Paymill/Paymill/Model/Fastcheckout.php +1 -1
  6. app/code/community/Paymill/Paymill/Model/Log.php +1 -1
  7. app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php +3 -2
  8. app/code/community/Paymill/Paymill/Model/Method/MethodModelCreditcard.php +1 -1
  9. app/code/community/Paymill/Paymill/Model/Mysql4/Fastcheckout.php +1 -1
  10. app/code/community/Paymill/Paymill/Model/Mysql4/Log.php +1 -1
  11. app/code/community/Paymill/Paymill/Model/Observer.php +6 -2
  12. app/code/community/Paymill/Paymill/Model/TransactionData.php +1 -1
  13. app/code/community/Paymill/Paymill/controllers/TokenController.php +24 -0
  14. app/code/community/Paymill/Paymill/etc/config.xml +1 -1
  15. app/code/community/Paymill/Paymill/etc/system.xml +3 -3
  16. app/code/community/Paymill/Paymill/sql/paymill_setup/mysql4-install-3.0.0.php +5 -5
  17. app/design/frontend/base/default/layout/paymill.xml +28 -28
  18. app/design/frontend/base/default/template/paymill/form/paymill.phtml +0 -299
  19. app/design/frontend/base/default/template/paymill/form/paymill_elv.phtml +0 -184
  20. app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml +4 -2
  21. app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml +2 -1
  22. js/paymill/paymentForm.js +64 -6
  23. package.xml +6 -8
  24. skin/frontend/base/default/css/paymill/logo.css +15 -1
  25. skin/frontend/base/default/images/paymill/ajax-loader.gif +0 -0
app/code/community/Paymill/Paymill/Helper/CustomerHelper.php CHANGED
@@ -46,23 +46,22 @@ class Paymill_Paymill_Helper_CustomerHelper extends Mage_Core_Helper_Abstract
46
  public function getCustomerEmail($object)
47
  {
48
  $email = $object->getCustomerEmail();
49
-
50
  if (empty($email)) {
51
- $email = $object->getBillingAddress()->getEmail();
52
  }
53
-
54
  return $email;
55
  }
56
-
57
  public function getClientData()
58
  {
59
  $clients = new Services_Paymill_Clients(
60
- Mage::helper('paymill/optionHelper')->getPrivateKey(),
61
- Mage::helper('paymill')->getApiUrl()
62
  );
63
-
64
  $clientId = Mage::helper("paymill/fastCheckoutHelper")->getClientId();
65
-
66
  $client = null;
67
  if (!empty($clientId)) {
68
  $client = $clients->getOne($clientId);
@@ -70,7 +69,7 @@ class Paymill_Paymill_Helper_CustomerHelper extends Mage_Core_Helper_Abstract
70
  $client = null;
71
  }
72
  }
73
-
74
  return $client;
75
  }
76
 
@@ -85,7 +84,7 @@ class Paymill_Paymill_Helper_CustomerHelper extends Mage_Core_Helper_Abstract
85
  if (Mage::getSingleton('customer/session')->isLoggedIn()) {
86
  $result = Mage::getSingleton('customer/session')->getId();
87
  }
88
-
89
  return $result;
90
  }
91
 
46
  public function getCustomerEmail($object)
47
  {
48
  $email = $object->getCustomerEmail();
49
+
50
  if (empty($email)) {
51
+ $email = $object->getBillingAddress()->getEmail();
52
  }
53
+
54
  return $email;
55
  }
56
+
57
  public function getClientData()
58
  {
59
  $clients = new Services_Paymill_Clients(
60
+ Mage::helper('paymill/optionHelper')->getPrivateKey(), Mage::helper('paymill')->getApiUrl()
 
61
  );
62
+
63
  $clientId = Mage::helper("paymill/fastCheckoutHelper")->getClientId();
64
+
65
  $client = null;
66
  if (!empty($clientId)) {
67
  $client = $clients->getOne($clientId);
69
  $client = null;
70
  }
71
  }
72
+
73
  return $client;
74
  }
75
 
84
  if (Mage::getSingleton('customer/session')->isLoggedIn()) {
85
  $result = Mage::getSingleton('customer/session')->getId();
86
  }
87
+
88
  return $result;
89
  }
90
 
app/code/community/Paymill/Paymill/Helper/Data.php CHANGED
@@ -77,9 +77,9 @@ class Paymill_Paymill_Helper_Data extends Mage_Core_Helper_Abstract
77
  */
78
  public function isPrivateKeySet()
79
  {
80
- return Mage::helper('paymill/OptionHelper')->getPrivateKey() !== "";
81
  }
82
-
83
  /**
84
  * Validates the public key value by comparing it to an empty string
85
  * @return boolean
@@ -88,5 +88,5 @@ class Paymill_Paymill_Helper_Data extends Mage_Core_Helper_Abstract
88
  {
89
  return Mage::helper('paymill/OptionHelper')->getPublicKey() !== "";
90
  }
91
-
92
  }
77
  */
78
  public function isPrivateKeySet()
79
  {
80
+ return Mage::helper('paymill/OptionHelper')->getPrivateKey() !== "";
81
  }
82
+
83
  /**
84
  * Validates the public key value by comparing it to an empty string
85
  * @return boolean
88
  {
89
  return Mage::helper('paymill/OptionHelper')->getPublicKey() !== "";
90
  }
91
+
92
  }
app/code/community/Paymill/Paymill/Helper/PaymentHelper.php CHANGED
@@ -104,8 +104,7 @@ class Paymill_Paymill_Helper_PaymentHelper extends Mage_Core_Helper_Abstract
104
  */
105
  public function getCurrency()
106
  {
107
- $currency_code = Mage::app()->getStore()->getCurrentCurrencyCode();
108
- return $currency_code;
109
  }
110
 
111
  /**
104
  */
105
  public function getCurrency()
106
  {
107
+ return Mage::app()->getStore()->getCurrentCurrencyCode();
 
108
  }
109
 
110
  /**
app/code/community/Paymill/Paymill/Helper/TransactionHelper.php CHANGED
@@ -47,7 +47,7 @@ class Paymill_Paymill_Helper_TransactionHelper extends Mage_Core_Helper_Abstract
47
  public function setAdditionalInformation(Mage_Sales_Model_Order_Payment $object, Paymill_Paymill_Model_TransactionData $transactionModel)
48
  {
49
  $object->setAdditionalInformation('paymillTransactionId', $transactionModel->getTransactionId());
50
- $object->setAdditionalInformation('paymillPreAuthFlag', $transactionModel->getPreAuthorizationFlag());
51
  Mage::helper('paymill/loggingHelper')->log("Saved Transaction Data.", "Order " . $object->getIncrementId() .
52
  $object->getReservedOrderId(), var_export($object->getAdditionalInformation(), true));
53
 
@@ -59,12 +59,12 @@ class Paymill_Paymill_Helper_TransactionHelper extends Mage_Core_Helper_Abstract
59
  * @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order $object
60
  * @return booelean PreAuthorizationFlag
61
  */
62
- public function getPreAuthenticatedFlagState($object)
63
  {
64
  $payment = $object->getPayment();
65
  $transactionObject = $this->getAdditionalInformation($payment);
66
  Mage::helper('paymill/loggingHelper')->log("Read Model from object to return Flag.", var_export($transactionObject, true));
67
- return $transactionObject->getPreAuthorizationFlag();
68
  }
69
 
70
  /**
47
  public function setAdditionalInformation(Mage_Sales_Model_Order_Payment $object, Paymill_Paymill_Model_TransactionData $transactionModel)
48
  {
49
  $object->setAdditionalInformation('paymillTransactionId', $transactionModel->getTransactionId());
50
+ $object->setAdditionalInformation('paymillPreAuthFlag', $transactionModel->isPreAuthorization());
51
  Mage::helper('paymill/loggingHelper')->log("Saved Transaction Data.", "Order " . $object->getIncrementId() .
52
  $object->getReservedOrderId(), var_export($object->getAdditionalInformation(), true));
53
 
59
  * @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order $object
60
  * @return booelean PreAuthorizationFlag
61
  */
62
+ public function isPreAuthenticated($object)
63
  {
64
  $payment = $object->getPayment();
65
  $transactionObject = $this->getAdditionalInformation($payment);
66
  Mage::helper('paymill/loggingHelper')->log("Read Model from object to return Flag.", var_export($transactionObject, true));
67
+ return $transactionObject->isPreAuthorization();
68
  }
69
 
70
  /**
app/code/community/Paymill/Paymill/Model/Fastcheckout.php CHANGED
@@ -24,7 +24,7 @@ class Paymill_Paymill_Model_Fastcheckout extends Mage_Core_Model_Abstract
24
  /**
25
  * Construct
26
  */
27
- function _construct()
28
  {
29
  parent::_construct();
30
  $this->_init('paymill/fastcheckout');
24
  /**
25
  * Construct
26
  */
27
+ public function _construct()
28
  {
29
  parent::_construct();
30
  $this->_init('paymill/fastcheckout');
app/code/community/Paymill/Paymill/Model/Log.php CHANGED
@@ -24,7 +24,7 @@ class Paymill_Paymill_Model_Log extends Mage_Core_Model_Abstract
24
  /**
25
  * Construct
26
  */
27
- function _construct()
28
  {
29
  parent::_construct();
30
  $this->_init('paymill/log');
24
  /**
25
  * Construct
26
  */
27
+ public function _construct()
28
  {
29
  parent::_construct();
30
  $this->_init('paymill/log');
app/code/community/Paymill/Paymill/Model/Method/MethodModelAbstract.php CHANGED
@@ -94,6 +94,8 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
94
  protected $_errorCode;
95
 
96
  protected $_preAuthFlag;
 
 
97
 
98
  /**
99
  * Check if currency is avaible for this payment
@@ -117,7 +119,6 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
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,4 +285,4 @@ abstract class Paymill_Paymill_Model_Method_MethodModelAbstract extends Mage_Pay
284
  return $methods[$this->_code];
285
  }
286
 
287
- }
94
  protected $_errorCode;
95
 
96
  protected $_preAuthFlag;
97
+
98
+ protected $_canUseInternal = false;
99
 
100
  /**
101
  * Check if currency is avaible for this payment
119
  */
120
  public function isAvailable($quote = null)
121
  {
 
122
  $keysAreSet = Mage::helper("paymill")->isPublicKeySet() && Mage::helper("paymill")->isPrivateKeySet();
123
  return parent::isAvailable($quote) && $keysAreSet;
124
  }
285
  return $methods[$this->_code];
286
  }
287
 
288
+ }
app/code/community/Paymill/Paymill/Model/Method/MethodModelCreditcard.php CHANGED
@@ -53,7 +53,7 @@ class Paymill_Paymill_Model_Method_MethodModelCreditcard extends Paymill_Paymill
53
  $transactionHelper = Mage::helper("paymill/transactionHelper");
54
  $order = $payment->getOrder();
55
 
56
- if ($transactionHelper->getPreAuthenticatedFlagState($order)) {
57
  //Capture preAuth
58
  $preAuthorization = $transactionHelper->getTransactionId($order);
59
  $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
53
  $transactionHelper = Mage::helper("paymill/transactionHelper");
54
  $order = $payment->getOrder();
55
 
56
+ if ($transactionHelper->isPreAuthenticated($order)) {
57
  //Capture preAuth
58
  $preAuthorization = $transactionHelper->getTransactionId($order);
59
  $privateKey = Mage::helper('paymill/optionHelper')->getPrivateKey();
app/code/community/Paymill/Paymill/Model/Mysql4/Fastcheckout.php CHANGED
@@ -23,7 +23,7 @@ class Paymill_Paymill_Model_Mysql4_Fastcheckout extends Mage_Core_Model_Mysql4_A
23
  /**
24
  * Construct
25
  */
26
- function _construct()
27
  {
28
  $this->_init('paymill/fastcheckout', 'id');
29
  }
23
  /**
24
  * Construct
25
  */
26
+ public function _construct()
27
  {
28
  $this->_init('paymill/fastcheckout', 'id');
29
  }
app/code/community/Paymill/Paymill/Model/Mysql4/Log.php CHANGED
@@ -23,7 +23,7 @@ class Paymill_Paymill_Model_Mysql4_Log extends Mage_Core_Model_Mysql4_Abstract
23
  /**
24
  * Construct
25
  */
26
- function _construct()
27
  {
28
  $this->_init('paymill/log', 'id');
29
  }
23
  /**
24
  * Construct
25
  */
26
+ public function _construct()
27
  {
28
  $this->_init('paymill/log', 'id');
29
  }
app/code/community/Paymill/Paymill/Model/Observer.php CHANGED
@@ -31,7 +31,7 @@ class Paymill_Paymill_Model_Observer
31
  {
32
  $order = $observer->getEvent()->getOrder();
33
  if ($order->getPayment()->getMethod() === 'paymill_creditcard') {
34
- if (Mage::helper('paymill/transactionHelper')->getPreAuthenticatedFlagState($order)) { // If the transaction is not flagged as a debit (not a preAuth) transaction
35
  Mage::helper('paymill/loggingHelper')->log("Debug", "No Invoice generated, since the transaction is flagged as preauth");
36
  } else {
37
  if ($order->canInvoice()) {
@@ -46,6 +46,10 @@ class Paymill_Paymill_Model_Observer
46
  $invoice->pay()->save();
47
 
48
  $invoice->sendEmail(Mage::getStoreConfig('payment/paymill_creditcard/send_invoice_mail', Mage::app()->getStore()->getStoreId()), '');
 
 
 
 
49
  }
50
  }
51
  }
@@ -64,7 +68,7 @@ class Paymill_Paymill_Model_Observer
64
  $amount = (int) ((string) ($creditmemo->getGrandTotal() * 100));
65
  Mage::helper('paymill/loggingHelper')->log("Trying to Refund.", var_export($order->getIncrementId(), true), $amount);
66
  if (!Mage::helper('paymill/refundHelper')->createRefund($order, $amount)) {
67
-
68
  }
69
  }
70
  }
31
  {
32
  $order = $observer->getEvent()->getOrder();
33
  if ($order->getPayment()->getMethod() === 'paymill_creditcard') {
34
+ if (Mage::helper('paymill/transactionHelper')->isPreAuthenticated($order)) { // If the transaction is not flagged as a debit (not a preAuth) transaction
35
  Mage::helper('paymill/loggingHelper')->log("Debug", "No Invoice generated, since the transaction is flagged as preauth");
36
  } else {
37
  if ($order->canInvoice()) {
46
  $invoice->pay()->save();
47
 
48
  $invoice->sendEmail(Mage::getStoreConfig('payment/paymill_creditcard/send_invoice_mail', Mage::app()->getStore()->getStoreId()), '');
49
+ } else {
50
+ foreach ($order->getInvoiceCollection() as $invoice) {
51
+ $invoice->pay()->save();
52
+ }
53
  }
54
  }
55
  }
68
  $amount = (int) ((string) ($creditmemo->getGrandTotal() * 100));
69
  Mage::helper('paymill/loggingHelper')->log("Trying to Refund.", var_export($order->getIncrementId(), true), $amount);
70
  if (!Mage::helper('paymill/refundHelper')->createRefund($order, $amount)) {
71
+ Mage::throwException('Refund failed.');
72
  }
73
  }
74
  }
app/code/community/Paymill/Paymill/Model/TransactionData.php CHANGED
@@ -28,7 +28,7 @@ class Paymill_Paymill_Model_TransactionData
28
  * Returns the state of the PreAuthorizationFlag
29
  * @return Boolean
30
  */
31
- public function getPreAuthorizationFlag()
32
  {
33
  return $this->_preAuthorizationFlag;
34
  }
28
  * Returns the state of the PreAuthorizationFlag
29
  * @return Boolean
30
  */
31
+ public function isPreAuthorization()
32
  {
33
  return $this->_preAuthorizationFlag;
34
  }
app/code/community/Paymill/Paymill/controllers/TokenController.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Paymill_Paymill_TokenController extends Mage_Core_Controller_Front_Action
4
+ {
5
+ public function totalAction()
6
+ {
7
+ echo Mage::helper('paymill/paymentHelper')->getAmount();
8
+ }
9
+
10
+ public function logAction()
11
+ {
12
+ $post = $this->getRequest()->getPost();
13
+ if (array_key_exists('error', $post) && array_key_exists('apierror', $post['error'])) {
14
+ Mage::helper('paymill/loggingHelper')->log(
15
+ "Token creation failed for the following reason: " . $post['error']['apierror'],
16
+ print_r($post['error'], true)
17
+ );
18
+ } else {
19
+ Mage::helper('paymill/loggingHelper')->log(
20
+ "Token creation failed for the following reason: Unkown reason."
21
+ );
22
+ }
23
+ }
24
+ }
app/code/community/Paymill/Paymill/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
- <version>3.5.5</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
2
  <config>
3
  <modules>
4
  <Paymill_Paymill>
5
+ <version>3.5.9</version>
6
  </Paymill_Paymill>
7
  </modules>
8
 
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.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,7 +77,7 @@
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>
@@ -171,7 +171,7 @@
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>
11
  <sort_order>700</sort_order>
12
  <fields>
13
  <version>
14
+ <label>v3.5.9</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.9</label>
81
  <sort_order>100</sort_order>
82
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
83
  <frontend_type>label</frontend_type>
171
  <sort_order>800</sort_order>
172
  <fields>
173
  <version>
174
+ <label>v3.5.9</label>
175
  <sort_order>100</sort_order>
176
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
177
  <frontend_type>label</frontend_type>
app/code/community/Paymill/Paymill/sql/paymill_setup/mysql4-install-3.0.0.php CHANGED
@@ -42,13 +42,13 @@ $installer->run("
42
  UNIQUE KEY `userId` (`user_id`)
43
  ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
44
  ");
 
 
45
 
46
- $installer->run("UPDATE sales_flat_quote_payment SET method = 'paymill_creditcard' WHERE method = 'paymillcc';");
47
-
48
- $installer->run("UPDATE sales_flat_order_payment SET method = 'paymill_creditcard' WHERE method = 'paymillcc';");
49
 
50
- $installer->run("UPDATE sales_flat_quote_payment SET method = 'paymill_directdebit' WHERE method = 'paymillelv';");
51
 
52
- $installer->run("UPDATE sales_flat_order_payment SET method = 'paymill_directdebit' WHERE method = 'paymillelv';");
53
 
54
  $installer->endSetup();
42
  UNIQUE KEY `userId` (`user_id`)
43
  ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
44
  ");
45
+
46
+ $installer->run("UPDATE `{$this->getTable('sales_flat_quote_payment')}` SET method = 'paymill_creditcard' WHERE method = 'paymillcc';");
47
 
48
+ $installer->run("UPDATE `{$this->getTable('sales_flat_quote_payment')}` SET method = 'paymill_creditcard' WHERE method = 'paymillcc';");
 
 
49
 
50
+ $installer->run("UPDATE `{$this->getTable('sales_flat_quote_payment')}` SET method = 'paymill_directdebit' WHERE method = 'paymillelv';");
51
 
52
+ $installer->run("UPDATE `{$this->getTable('sales_flat_quote_payment')}` SET method = 'paymill_directdebit' WHERE method = 'paymillelv';");
53
 
54
  $installer->endSetup();
app/design/frontend/base/default/layout/paymill.xml CHANGED
@@ -1,28 +1,28 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- To change this template, choose Tools | Templates
4
- and open the template in the editor.
5
- -->
6
- <layout version="0.1.0">
7
- <default>
8
- <reference name="head">
9
- <action method="addCss">
10
- <stylesheet>css/paymill/logo.css</stylesheet>
11
- </action>
12
- <block type="core/text" name="google.cdn.jquery">
13
- <action method="setText">
14
- <text>
15
- <![CDATA[
16
- <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
17
- <script type="text/javascript" src="https://bridge.paymill.com/"></script></script>
18
- <script type="text/javascript">pmQuery = jQuery.noConflict(true);</script>
19
- ]]>
20
- </text>
21
- </action>
22
- </block>
23
- <action method="addJs">
24
- <script>paymill/paymentForm.js</script>
25
- </action>
26
- </reference>
27
- </default>
28
- </layout>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ To change this template, choose Tools | Templates
4
+ and open the template in the editor.
5
+ -->
6
+ <layout version="0.1.0">
7
+ <default>
8
+ <reference name="head">
9
+ <action method="addCss">
10
+ <stylesheet>css/paymill/logo.css</stylesheet>
11
+ </action>
12
+ <block type="core/text" name="google.cdn.jquery">
13
+ <action method="setText">
14
+ <text>
15
+ <![CDATA[
16
+ <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
17
+ <script type="text/javascript" src="https://bridge.paymill.com/"></script>
18
+ <script type="text/javascript">pmQuery = jQuery.noConflict(true);</script>
19
+ ]]>
20
+ </text>
21
+ </action>
22
+ </block>
23
+ <action method="addJs">
24
+ <script>paymill/paymentForm.js</script>
25
+ </action>
26
+ </reference>
27
+ </default>
28
+ </layout>
app/design/frontend/base/default/template/paymill/form/paymill.phtml DELETED
@@ -1,299 +0,0 @@
1
- <?php $_code = $this->getMethodCode() ?>
2
- <script src="<?php echo Mage::getDesign()->getSkinUrl('paymill/jquery.min.js'); ?>"></script>
3
- <link rel="stylesheet" type="text/css" href="<?php echo Mage::getDesign()->getSkinUrl('paymill/paymill_styles.css'); ?>" />
4
- <!--
5
- The payment form.
6
- Important: do not process any card data to the server (leave name attribute away)
7
- -->
8
- <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display: none">
9
- <li>
10
- <img src="<?php echo Mage::getDesign()->getSkinUrl('paymill/icon_visa.png'); ?>" />
11
- <img src="<?php echo Mage::getDesign()->getSkinUrl('paymill/icon_mastercard.png'); ?>" />
12
- </li>
13
- <?php if (is_null(Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
14
- <li>
15
- <label for="paymillcc_cardholder" class="required"><em>*</em><?php echo Mage::helper('paymillcc')->__('Credit Card Holder') ?></label>
16
- <div class="input-box">
17
- <input type="text" class="input-text" id="paymillcc_cardholder" value="" autocomplete="off">
18
- <div class="validation-advice" id="cardholder_error" style="display: none"></div>
19
- </div>
20
- </li>
21
- <li>
22
- <label for="paymillcc_number" class="required"><em>*</em><?php echo Mage::helper('paymillcc')->__('Credit Card Number') ?></label>
23
- <div class="input-box">
24
- <input type="text" id="paymillcc_number" class="input-text" value="" autocomplete="off">
25
- <div class="validation-advice" id="number_error" style="display: none"></div>
26
- <div id="paymill_card_type" style="display: none; color: #666; margin-top: 2px;"></div>
27
- </div>
28
- </li>
29
- <li>
30
- <label for="paymillcc_cvc" class="required"><em>*</em><?php echo Mage::helper('paymillcc')->__('Card Verification Number') ?></label>
31
- <div class="input-box">
32
- <input type="text" id="paymillcc_cvc" class="input-text" autocomplete="off" value="">
33
- <div class="validation-advice" id="cvc_error" style="display: none"></div>
34
- </div>
35
- </li>
36
- <li>
37
- <label for="paymillcc_expiry" class="required"><em>*</em><?php echo Mage::helper('paymillcc')->__('Expiration Date') ?></label>
38
- <div class="input-box">
39
- <div class="v-fix">
40
- <select id="paymillcc_expiry_month" class="month" autocomplete="off">
41
- <option value="" selected="selected">--</option>
42
- <option value="01">01 - <?php echo Mage::helper('paymillcc')->__('January'); ?></option>
43
- <option value="02">02 - <?php echo Mage::helper('paymillcc')->__('February'); ?></option>
44
- <option value="03">03 - <?php echo Mage::helper('paymillcc')->__('March'); ?></option>
45
- <option value="04">04 - <?php echo Mage::helper('paymillcc')->__('April'); ?></option>
46
- <option value="05">05 - <?php echo Mage::helper('paymillcc')->__('May'); ?></option>
47
- <option value="06">06 - <?php echo Mage::helper('paymillcc')->__('June'); ?></option>
48
- <option value="07">07 - <?php echo Mage::helper('paymillcc')->__('July'); ?></option>
49
- <option value="08">08 - <?php echo Mage::helper('paymillcc')->__('August'); ?></option>
50
- <option value="09">09 - <?php echo Mage::helper('paymillcc')->__('September'); ?></option>
51
- <option value="10">10 - <?php echo Mage::helper('paymillcc')->__('October'); ?></option>
52
- <option value="11">11 - <?php echo Mage::helper('paymillcc')->__('November'); ?></option>
53
- <option value="12">12 - <?php echo Mage::helper('paymillcc')->__('December'); ?></option>
54
- </select>
55
- </div>
56
- <div class="v-fix">
57
- <select id="paymillcc_expiry_year" class="year" autocomplete="off">
58
- <option value="" selected="selected">--</option>
59
- <option value="2012">2012</option>
60
- <option value="2013">2013</option>
61
- <option value="2014">2014</option>
62
- <option value="2015">2015</option>
63
- <option value="2016">2016</option>
64
- <option value="2017">2017</option>
65
- <option value="2018">2018</option>
66
- <option value="2019">2019</option>
67
- <option value="2020">2020</option>
68
- <option value="2021">2021</option>
69
- <option value="2022">2022</option>
70
- </select>
71
- </div>
72
- <div class="validation-advice" id="expiry_error" style="display: none"></div>
73
- </div>
74
- </li>
75
- <?php endif; ?>
76
- <?php if (!is_null(Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
77
- <input type="hidden" id="paymill_existing_customer" value="true">
78
- <?php elseif (is_null(Mage::getSingleton("paymillcc/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
79
- <input type="hidden" id="paymill_existing_customer" value="false">
80
- <?php endif; ?>
81
- <!-- this gets the transaction token -->
82
- <input type="hidden" id="paymill_order_amount" value="<?php print round($this->paymillPaymentAmount * 100); ?>">
83
- <input type="hidden" id="paymill_transaction_token" type="text" value="" name="payment[paymill_transaction_token]" />
84
- <?php if ($this->showPaymillLabel) { ?>
85
- <li>
86
- <div class="paymill_powered"><div class="paymill_credits"><?php echo Mage::helper('paymillcc')->__('Secure credit card payment powered by') ?> <a href="http://www.paymill.de" target="_blank">Paymill</a></div></div>
87
- </li>
88
- <?php } ?>
89
- </ul>
90
- <!--
91
- PaymillPayment
92
- Wrapper version: <?php print $this->paymillLibVersion; ?>;
93
- API enpoint: <?php print $this->paymillApiEndpoint; ?>
94
- -->
95
- <script type="text/javascript">
96
- var PAYMILL_PUBLIC_KEY = '<?php print $this->paymillPublicApiKey; ?>';
97
- </script>
98
- <script type="text/javascript" src="<?php print $this->paymillBridgeEndpoint; ?>"></script>
99
- <script type="text/javascript">
100
- jQuery.noConflict();
101
-
102
- jQuery(document).ready(function(){
103
- jQuery('#payment-buttons-container button:first').prop("onclick", null);
104
- jQuery('#payment-buttons-container button:first').unbind('click');
105
- jQuery('#payment-buttons-container button:first').click(paymill_payment_save_override);
106
- // bind change listener to show the cardtype
107
- jQuery('#paymillcc_number').change(function() {
108
- if (paymill.cardType(jQuery('#paymillcc_number').val()) == "Visa") {
109
- jQuery('#paymill_card_type').html("Visa").show();
110
- } else if (paymill.cardType(jQuery('#paymillcc_number').val()) == "MasterCard") {
111
- jQuery('#paymill_card_type').html("MasterCard").show();
112
- } else {
113
- jQuery('#paymill_card_type').hide();
114
- }
115
- });
116
-
117
- });
118
-
119
- if (typeof paymill_payment_save_override != 'function') {
120
- function paymill_payment_save_override() {
121
- if (payment.currentMethod == "paymillcc") {
122
- if (jQuery('#paymill_existing_customer').val() == 'false') {
123
- paymill_cc_payment_save_override();
124
- } else {
125
- payment.save();
126
- }
127
- } else if (payment.currentMethod == "paymillelv") {
128
- if (jQuery('#paymill_elv_existing_customer').val() == 'false') {
129
- paymill_elv_payment_save_override();
130
- } else {
131
- payment.save();
132
- }
133
- } else {
134
- payment.save();
135
- }
136
- }
137
- }
138
-
139
- // is paymillPayment?
140
- function paymill_is_paymill_cc_payment() {
141
- return payment.currentMethod == "<?php print $_code; ?>";
142
- }
143
-
144
- // handler that is called when click on next step button
145
- function paymill_cc_payment_save_override() {
146
- if (paymill_is_paymill_cc_payment()) {
147
- paymill_cc_debug('Paymill payment method triggered');
148
- if (paymill_cc_validate()) {
149
- paymill_cc_debug('Validation successful');
150
- var cardholder = jQuery('#paymillcc_cardholder');
151
- var number = jQuery('#paymillcc_number');
152
- var expiry_month = jQuery('#paymillcc_expiry_month');
153
- var expiry_year = jQuery('#paymillcc_expiry_year');
154
- var cvc = jQuery('#paymillcc_cvc');
155
- paymill.createToken({
156
- number: number.val(),
157
- exp_month: expiry_month.val(),
158
- exp_year: expiry_year.val(),
159
- cvc: cvc.val(),
160
- cardholder: cardholder.val(),
161
- amount_int: jQuery('#paymill_order_amount').val(),
162
- currency: '<?php print $this->paymillPaymentCurrency; ?>'
163
- }, paymill_cc_response_handler
164
- );
165
- }
166
- } else {
167
- payment.save();
168
- }
169
- }
170
-
171
- // paymill response handler
172
- function paymill_cc_response_handler(error, result) {
173
- paymill_cc_debug('Start Paymill response handler');
174
- if (error) {
175
- alert("API returned error" + error.apierror);
176
- paymill_cc_debug('An API error occured ' + error.apierror);
177
- } else {
178
- paymill_cc_debug('Received a token: ' + result.token);
179
- jQuery('#paymill_transaction_token').val(result.token);
180
- payment.save();
181
- }
182
- }
183
-
184
- // validation
185
- function paymill_cc_validate() {
186
-
187
- var cardholder = jQuery('#paymillcc_cardholder');
188
- var number = jQuery('#paymillcc_number');
189
- var expiry_month = jQuery('#paymillcc_expiry_month');
190
- var expiry_year = jQuery('#paymillcc_expiry_year');
191
- var cvc = jQuery('#paymillcc_cvc');
192
- var cvc_error = jQuery('#cvc_error');
193
- var expiry_error = jQuery('#expiry_error');
194
- var number_error = jQuery('#number_error');
195
- var cardholder_error = jQuery('#cardholder_error');
196
-
197
- var result = true;
198
-
199
- paymill_cc_debug('Start form validation');
200
-
201
- // reset errors
202
- cardholder_error.hide();
203
- cvc_error.hide();
204
- expiry_error.hide();
205
- number_error.hide();
206
-
207
- // error messages
208
- error_msg_cardholder_missing = "<?php echo Mage::helper('paymillcc')->__('Credit Card Holder is missing') ?>";
209
- error_msg_cardnumber_invalid = "<?php echo Mage::helper('paymillcc')->__('Your credit card number is invalid'); ?>";
210
- error_msg_expiry_invalid = "<?php echo Mage::helper('paymillcc')->__('The expiration date is invalid'); ?>";
211
- error_msg_cvc_invalid = "<?php echo Mage::helper('paymillcc')->__('The verification number is invalid'); ?>";
212
-
213
- if (cardholder.val() == "") {
214
- cardholder_error.html(error_msg_cardholder_missing).show();
215
- cardholder.addClass('validation-failed');
216
- result = false;
217
- } else {
218
- cardholder.removeClass('validation-failed');
219
- }
220
-
221
- if (!paymill.validateCardNumber(number.val())) {
222
- number_error.html(error_msg_cardnumber_invalid).show();
223
- number.addClass('validation-failed');
224
- result = false;
225
- } else {
226
- number.removeClass('validation-failed');
227
- }
228
-
229
- if (!paymill.validateCvc(cvc.val())) {
230
- cvc_error.html(error_msg_cvc_invalid).show();
231
- cvc.addClass('validation-failed');
232
- result = false;
233
- } else {
234
- cvc.removeClass('validation-failed');
235
- }
236
-
237
- if (!paymill.validateExpiry(expiry_month.val(), expiry_year.val())) {
238
- expiry_error.html(error_msg_expiry_invalid).show();
239
- expiry_month.addClass('validation-failed');
240
- expiry_year.addClass('validation-failed');
241
- result = false;
242
- } else {
243
- expiry_month.removeClass('validation-failed');
244
- expiry_year.removeClass('validation-failed');
245
- }
246
-
247
- return result;
248
- }
249
-
250
- // debug mode
251
- function paymill_cc_debug(message) {
252
- if (<?php print $this->paymillDebugMode; ?>) {
253
- console.log("[PaymillCC] " + message);
254
- }
255
- }
256
-
257
- // handling for onestep extension
258
- function paymill_onestep_cc(onestep_callback) {
259
- if (paymill_is_paymill_cc_payment()) {
260
- paymill_cc_debug('Paymill payment method triggered');
261
- if (paymill_cc_validate()) {
262
- paymill_cc_debug('Validation successful');
263
- var cardholder = jQuery('#paymillcc_cardholder');
264
- var number = jQuery('#paymillcc_number');
265
- var expiry_month = jQuery('#paymillcc_expiry_month');
266
- var expiry_year = jQuery('#paymillcc_expiry_year');
267
- var cvc = jQuery('#paymillcc_cvc');
268
- paymill.createToken({
269
- number: number.val(),
270
- exp_month: expiry_month.val(),
271
- exp_year: expiry_year.val(),
272
- cvc: cvc.val(),
273
- cardholder: cardholder.val(),
274
- amount: '<?php print $this->paymillPaymentAmount; ?>',
275
- currency: '<?php print $this->paymillPaymentCurrency; ?>'
276
- }, function(error, result) {
277
- paymill_cc_debug('Start Paymill response handler');
278
- if (error) {
279
- paymill_cc_debug('An API error occured ' + error.apierror);
280
- return false;
281
- } else {
282
- paymill_cc_debug('Received a token: ' + result.token);
283
- jQuery('#paymill_transaction_token').val(result.token);
284
- onestep_callback();
285
- }
286
- }
287
- );
288
- return false;
289
- } else {
290
- return false;
291
- }
292
- } else {
293
- return false;
294
- }
295
- return false;
296
- }
297
-
298
- </script>
299
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/form/paymill_elv.phtml DELETED
@@ -1,184 +0,0 @@
1
- <?php $_code=$this->getMethodCode() ?>
2
- <script src="<?php echo Mage::getDesign()->getSkinUrl('paymill/jquery.min.js'); ?>"></script>
3
- <link rel="stylesheet" type="text/css" href="<?php echo Mage::getDesign()->getSkinUrl('paymill/paymill_styles.css'); ?>" />
4
- <!--
5
- The payment form.
6
- Important: do not process any card data to the server (leave name attribute away)
7
- -->
8
- <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display: none">
9
- <li>
10
- <img src="<?php echo Mage::getDesign()->getSkinUrl('paymill/icon_elv.png'); ?>" />
11
- </li>
12
- <?php if (is_null(Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
13
- <li>
14
- <label for="paymillelv_accountholder" class="required"><em>*</em>Kontoinhaber</label>
15
- <div class="input-box">
16
- <input type="text" class="input-text required-entry" id="paymillelv_accountholder" value="" autocomplete="off">
17
- <div class="validation-advice" id="accountholder_error" style="display: none"></div>
18
- </div>
19
- </li>
20
- <li>
21
- <label for="paymillelv_accountnumber" class="required"><em>*</em>Kontonummer</label>
22
- <div class="input-box">
23
- <input type="text" id="paymillelv_accountnumber" class="input-text" value="" autocomplete="off">
24
- <div class="validation-advice" id="accountnumber_error" style="display: none"></div>
25
- </div>
26
- </li>
27
- <li>
28
- <label for="paymillelv_banknumber" class="required"><em>*</em>Bankleitzahl</label>
29
- <div class="input-box">
30
- <input type="text" id="paymillelv_banknumber" class="input-text" autocomplete="off" value="">
31
- <div class="validation-advice" id="banknumber_error" style="display: none"></div>
32
- </div>
33
- </li>
34
- <?php endif; ?>
35
- <?php if (!is_null(Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
36
- <input type="hidden" id="paymill_elv_existing_customer" value="true">
37
- <?php elseif (is_null(Mage::getSingleton("paymillelv/customerdata")->loadByUserId(Mage::getSingleton('customer/session')->getCustomer()->getId()))): ?>
38
- <input type="hidden" id="paymill_elv_existing_customer" value="false">
39
- <?php endif; ?>
40
- <!-- this gets the transaction token -->
41
- <input type="hidden" id="paymill_elv_transaction_token" type="text" value="" name="payment[paymill_elv_transaction_token]" />
42
- <?php if ($this->showPaymillLabel) { ?>
43
- <li>
44
- <div class="paymill_powered"><div class="paymill_credits">Sicheres Lastschriftverfahren powered by <a href="http://www.paymill.de" target="_blank">Paymill</a></div></div>
45
- </li>
46
- <?php } ?>
47
- </ul>
48
- <!--
49
- PaymillPaymentELV
50
- API enpoint: <?php print $this->paymillApiEndpoint; ?>
51
- -->
52
- <script type="text/javascript">
53
- var PAYMILL_PUBLIC_KEY = '<?php print $this->paymillPublicApiKey; ?>';
54
- </script>
55
- <script type="text/javascript" src="<?php print $this->paymillBridgeEndpoint; ?>"></script>
56
- <script type="text/javascript">
57
- jQuery.noConflict();
58
-
59
- jQuery(document).ready(function(){
60
- jQuery('#payment-buttons-container button:first').prop("onclick", null);
61
- jQuery('#payment-buttons-container button:first').unbind('click');
62
- jQuery('#payment-buttons-container button:first').click(paymill_payment_save_override);
63
- });
64
-
65
- if (typeof paymill_payment_save_override != 'function') {
66
- function paymill_payment_save_override() {
67
- if (payment.currentMethod == "paymillcc") {
68
- if (jQuery('#paymill_existing_customer').val() == 'false') {
69
- paymill_cc_payment_save_override();
70
- } else {
71
- payment.save();
72
- }
73
- } else if (payment.currentMethod == "paymillelv") {
74
- if (jQuery('#paymill_elv_existing_customer').val() == 'false') {
75
- paymill_elv_payment_save_override();
76
- } else {
77
- payment.save();
78
- }
79
- } else {
80
- payment.save();
81
- }
82
- }
83
- }
84
-
85
- // is paymillPayment?
86
- function paymill_is_paymill_elv_payment() {
87
- return payment.currentMethod == "<?php print $_code; ?>";
88
- }
89
-
90
- // handler that is called when click on next step button
91
- function paymill_elv_payment_save_override() {
92
- if (paymill_is_paymill_elv_payment()) {
93
- paymill_elv_debug('Paymill elv payment method triggered');
94
- if (paymill_elv_validate()) {
95
- paymill_elv_debug('Validation successful');
96
- var accountholder = jQuery('#paymillelv_accountholder');
97
- var accountnumber = jQuery('#paymillelv_accountnumber');
98
- var banknumber = jQuery('#paymillelv_banknumber');
99
- paymill.createToken({
100
- number: accountnumber.val(),
101
- bank: banknumber.val(),
102
- accountholder: accountholder.val(),
103
- }, paymill_elv_response_handler
104
- );
105
- }
106
- } else {
107
- payment.save();
108
- }
109
- }
110
-
111
- // paymill response handler
112
- function paymill_elv_response_handler(error, result) {
113
- paymill_elv_debug('Start Paymill response handler');
114
- if (error) {
115
- alert("API returned error" + error.apierror);
116
- paymill_elv_debug('An API error occured ' + error.apierror);
117
- } else {
118
- paymill_elv_debug('Received a token: ' + result.token);
119
- jQuery('#paymill_elv_transaction_token').val(result.token);
120
- payment.save();
121
- }
122
- }
123
-
124
- // validation
125
- function paymill_elv_validate() {
126
-
127
- var accountholder = jQuery('#paymillelv_accountholder');
128
- var accountnumber = jQuery('#paymillelv_accountnumber');
129
- var banknumber = jQuery('#paymillelv_banknumber');
130
- var banknumber_error = jQuery('#banknumber_error');
131
- var accountnumber_error = jQuery('#accountnumber_error');
132
- var accountholder_error = jQuery('#accountholder_error');
133
-
134
- var result = true;
135
-
136
- paymill_elv_debug('Start form validation');
137
-
138
- // reset errors
139
- banknumber_error.hide();
140
- accountnumber_error.hide();
141
- accountholder_error.hide();
142
-
143
- // error messages
144
- error_msg_accountholder_missing = "<?php echo Mage::helper('paymillelv')->__("The account holder is missing"); ?>";
145
- error_msg_accountnumber_invalid = "<?php echo Mage::helper('paymillelv')->__("The account number is invalid"); ?>"
146
- error_msg_banknumber_invalid = "<?php echo Mage::helper('paymillelv')->__("The bank code is invalid"); ?>"
147
-
148
- if (accountholder.val() == "") {
149
- accountholder_error.html(error_msg_accountholder_missing).show();
150
- accountholder.addClass('validation-failed');
151
- result = false;
152
- } else {
153
- accountholder.removeClass('validation-failed');
154
- }
155
-
156
- if (!paymill.validateAccountNumber(accountnumber.val())) {
157
- accountnumber_error.html(error_msg_accountnumber_invalid).show();
158
- accountnumber.addClass('validation-failed');
159
- result = false;
160
- } else {
161
- accountnumber.removeClass('validation-failed');
162
- }
163
-
164
- if (!paymill.validateBankCode(banknumber.val())) {
165
- banknumber_error.html(error_msg_banknumber_invalid).show();
166
- banknumber.addClass('validation-failed');
167
- result = false;
168
- } else {
169
- banknumber.removeClass('validation-failed');
170
- }
171
-
172
- return result;
173
- }
174
-
175
- // debug mode
176
- function paymill_elv_debug(message) {
177
- if (<?php print $this->paymillDebugMode; ?>) {
178
- console.log("[PaymillELV] " + message);
179
- }
180
- }
181
-
182
- </script>
183
-
184
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/paymill/payment/form/creditcard.phtml CHANGED
@@ -1,4 +1,5 @@
1
  <?php $_code = $this->getMethodCode() ?>
 
2
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
3
  <li>
4
  <label for="<?php echo $_code ?>_holdername" class="required"><em>*</em><?php echo $this->__("paymill_Holder") ?></label>
@@ -38,9 +39,9 @@
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() ?>"/>
45
  <input class="paymill-option-debug-cc" name="payment[paymill-option-debug]" id="payment[paymill-option-debug]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>"/>
46
  <input class="paymill-info-public_key-cc" name="payment[paymill-info-public_key-cc]" id="payment[paymill-info-public_key-cc]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>"/>
@@ -52,6 +53,7 @@
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">
56
  //<![CDATA[
57
  addPaymillEvents();
1
  <?php $_code = $this->getMethodCode() ?>
2
+ <div id="paymill-layer"></div>
3
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none;">
4
  <li>
5
  <label for="<?php echo $_code ?>_holdername" class="required"><em>*</em><?php echo $this->__("paymill_Holder") ?></label>
39
  </div>
40
  </li>
41
  <li>
42
+ <input class="paymill-payment-token-cc paymill-validate-cc-token" name="payment[paymill-payment-token-cc]" id="payment[paymill-payment-token-cc]" type="hidden" />
43
  <input class="paymill_3ds_cancel" name="payment[paymill_3ds_cancel]" id="payment[paymill_3ds_cancel]" type="hidden" value="<?php echo $this->__("paymill_3ds_cancel") ?>"/>
44
+ <input class="paymill-payment-token-url-cc" name="payment[paymill-payment-token-url-cc]" id="payment[paymill-payment-token-url-cc]" type="hidden" value="<?php echo $this->getUrl('paymill/token/', array('_secure' => true)); ?>"/>
45
  <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() ?>"/>
46
  <input class="paymill-option-debug-cc" name="payment[paymill-option-debug]" id="payment[paymill-option-debug]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->isInDebugMode() ?>"/>
47
  <input class="paymill-info-public_key-cc" name="payment[paymill-info-public_key-cc]" id="payment[paymill-info-public_key-cc]" type="hidden" value="<?php echo Mage::helper('paymill/optionHelper')->getPublicKey() ?>"/>
53
  <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"); ?>"/>
54
  </li>
55
  </ul>
56
+
57
  <script type="text/javascript">
58
  //<![CDATA[
59
  addPaymillEvents();
app/design/frontend/base/default/template/paymill/payment/form/directdebit.phtml CHANGED
@@ -22,7 +22,7 @@
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) ?>" />
@@ -30,6 +30,7 @@
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">
22
  </div>
23
  </li>
24
  <li>
25
+ <input class="paymill-payment-token-elv paymill-validate-elv-token" 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) ?>" />
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
+ <input class="paymill-payment-token-url-elv" name="payment[paymill-payment-token-url-elv]" id="payment[paymill-payment-token-url-elv]" type="hidden" value="<?php echo $this->getUrl('paymill/token', array('_secure' => true)); ?>"/>
34
  </li>
35
  </ul>
36
  <script type="text/javascript">
js/paymill/paymentForm.js CHANGED
@@ -71,7 +71,6 @@ function paymillShowCardIcon()
71
  */
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 = {};
@@ -86,6 +85,9 @@ function paymillResponseHandler(error, result)
86
  );
87
 
88
  Object.extend(Validation.methods, nv);
 
 
 
89
  debug(error.apierror);
90
  debug(error.message);
91
  debug("Paymill Response Handler triggered: Error.");
@@ -95,7 +97,7 @@ function paymillResponseHandler(error, result)
95
  pmQuery('.paymill-payment-token-' + getPaymillCode()).val(result.token);
96
  }
97
 
98
- paymillValidator.validate();
99
  }
100
 
101
  function getValueIfExist(selector)
@@ -128,16 +130,18 @@ function paymillSubmitForm()
128
  if (!valid) {
129
  return false;
130
  }
 
 
131
 
132
  var cvc = '000';
133
 
134
  if (pmQuery('#paymill_creditcard_cvc').val() !== '') {
135
  cvc = pmQuery('#paymill_creditcard_cvc').val();
136
  }
137
-
138
  debug("Generating Token");
139
  paymill.createToken({
140
- amount_int: parseInt(pmQuery('.paymill-payment-amount-' + getPaymillCode()).val()), // E.g. "15" for 0.15 Eur
141
  currency: pmQuery('.paymill-payment-currency-' + getPaymillCode()).val(), // ISO 4217 e.g. "EUR"
142
  number: pmQuery('#paymill_creditcard_number').val(),
143
  exp_month: pmQuery('#paymill_creditcard_expiry_month').val(),
@@ -170,6 +174,48 @@ function paymillSubmitForm()
170
  return false;
171
  }
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  function unsetElvValidationRules()
174
  {
175
  var nvElv = {
@@ -405,14 +451,26 @@ function addPaymillEvents()
405
  paymillSubmitForm();
406
  });
407
 
408
- pmQuery('#paymill_directdebit_bankcode').live('input', function() {
 
 
 
 
409
  paymillSubmitForm();
410
  });
411
 
412
- pmQuery('#paymill_creditcard_number').live('input', function() {
 
 
 
 
413
  paymillSubmitForm();
414
  });
415
 
 
 
 
 
416
  eventFlag = true;
417
  }
418
  }
71
  */
72
  function paymillResponseHandler(error, result)
73
  {
 
74
  if (error) {
75
  // Appending error
76
  var nv = {};
85
  );
86
 
87
  Object.extend(Validation.methods, nv);
88
+
89
+ logError(error);
90
+
91
  debug(error.apierror);
92
  debug(error.message);
93
  debug("Paymill Response Handler triggered: Error.");
97
  pmQuery('.paymill-payment-token-' + getPaymillCode()).val(result.token);
98
  }
99
 
100
+ pmQuery('#paymill-layer').removeClass("paymill-layer");
101
  }
102
 
103
  function getValueIfExist(selector)
130
  if (!valid) {
131
  return false;
132
  }
133
+
134
+ pmQuery('#paymill-layer').addClass("paymill-layer");
135
 
136
  var cvc = '000';
137
 
138
  if (pmQuery('#paymill_creditcard_cvc').val() !== '') {
139
  cvc = pmQuery('#paymill_creditcard_cvc').val();
140
  }
141
+
142
  debug("Generating Token");
143
  paymill.createToken({
144
+ amount_int: parseInt(getTokenAmount()),
145
  currency: pmQuery('.paymill-payment-currency-' + getPaymillCode()).val(), // ISO 4217 e.g. "EUR"
146
  number: pmQuery('#paymill_creditcard_number').val(),
147
  exp_month: pmQuery('#paymill_creditcard_expiry_month').val(),
174
  return false;
175
  }
176
 
177
+ function logError(data)
178
+ {
179
+ pmQuery.ajax({
180
+ async: false,
181
+ type: "POST",
182
+ url: pmQuery('.paymill-payment-token-url-' + getPaymillCode()).val() + 'log',
183
+ data: {error: data},
184
+ }).done(function(msg) {
185
+ debug('Logging done.');
186
+ }).fail(function(jqXHR, textStatus) {
187
+ debug('Logging failed.');
188
+ });
189
+ }
190
+
191
+ function getTokenAmount()
192
+ {
193
+ var returnVal = null;
194
+ pmQuery.ajax({
195
+ async: false,
196
+ type: "POST",
197
+ url: pmQuery('.paymill-payment-token-url-cc').val() + "total",
198
+ }).done(function(msg) {
199
+ returnVal = msg;
200
+ }).fail(function(jqXHR, textStatus) {
201
+ // Appending error
202
+ var nv = {};
203
+
204
+ nv['paymill-validate-' + getPaymillCode() + '-token'] = new Validator(
205
+ 'paymill-validate-' + getPaymillCode() + '-token',
206
+ getValueIfExist('.paymill-payment-error-' + getPaymillCode() + '-token') + " Amount not accessable. Reason: " + textStatus,
207
+ function(v) {
208
+ return v !== '';
209
+ },
210
+ ''
211
+ );
212
+
213
+ Object.extend(Validation.methods, nv);
214
+ });
215
+
216
+ return returnVal;
217
+ }
218
+
219
  function unsetElvValidationRules()
220
  {
221
  var nvElv = {
451
  paymillSubmitForm();
452
  });
453
 
454
+ pmQuery('#paymill_creditcard_number').live('input', function() {
455
+ paymillSubmitForm();
456
+ });
457
+
458
+ pmQuery('#paymill_creditcard_holdername').live('input', function() {
459
  paymillSubmitForm();
460
  });
461
 
462
+ pmQuery('#paymill_directdebit_holdername').live('input', function() {
463
+ paymillSubmitForm();
464
+ });
465
+
466
+ pmQuery('#paymill_directdebit_account').live('input', function() {
467
  paymillSubmitForm();
468
  });
469
 
470
+ pmQuery('#paymill_directdebit_bankcode').live('input', function() {
471
+ paymillSubmitForm();
472
+ });
473
+
474
  eventFlag = true;
475
  }
476
  }
package.xml CHANGED
@@ -1,7 +1,7 @@
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,14 +13,12 @@ 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> * 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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Paymill_Paymill</name>
4
+ <version>3.5.9</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>* set existing invoices to paid&#xD;
17
+ * fix install sql for missing prefixes</notes>
 
 
18
  <authors><author><name>PayIntelligent</name><user>Paymill</user><email>community@paymill.de</email></author></authors>
19
+ <date>2014-01-17</date>
20
+ <time>09:16:36</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="6c3229dc3943ce4506ed23c0f246df24"/><file name="Data.php" hash="8e55041f6bb52f1e142b86dfa486b85e"/><file name="FastCheckoutHelper.php" hash="57372d9ec58c027dbd15771ab703da30"/><file name="LoggingHelper.php" hash="53ea7f4d5c3af8de149a06dbe37ac061"/><file name="OptionHelper.php" hash="cbf3daa334bce07b7eb62a5a43dd18dc"/><file name="PaymentHelper.php" hash="1a90794eeb572a02c55ee0d596445ace"/><file name="RefundHelper.php" hash="b936d48e6f9022acb0370ec755cf5850"/><file name="TransactionHelper.php" hash="efdb288bcc7cd9c8f7a26513ba769c72"/></dir><dir name="Model"><file name="Fastcheckout.php" hash="e3b585d2f3265300f08fa44a4e9ccd7b"/><dir name="Log"><file name="Search.php" hash="4338b3876e745405bfcc5a32cfe42527"/></dir><file name="Log.php" hash="0662d814e53bd2eeb6f5c906c16ad971"/><dir name="Method"><file name="MethodModelAbstract.php" hash="e7564d9676b04a687489f4c5bdd8e03f"/><file name="MethodModelCreditcard.php" hash="97ca6c75e372fcddddbbe3fd2c2354a0"/><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="9b19c307417862938442ddd6789f2b43"/><dir name="Log"><file name="Collection.php" hash="cf4d8fec68a4cc44b2e47bf69e014cf3"/></dir><file name="Log.php" hash="bdf0bf498c1214955e20e72185e5320f"/></dir><file name="Observer.php" hash="6e4e4af379f59644b6de76ccd4732093"/><file name="TransactionData.php" hash="4b2c8b136a04333ed3d03a54ddf5d20b"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="LogController.php" hash="fe634fc07d161f160ae060600561a0b1"/></dir><file name="TokenController.php" hash="8b606f0728fd556a6180ebeb042dbf13"/></dir><dir name="etc"><file name="adminhtml.xml" hash="402c36431d690ffa9b7eae074cadfb4e"/><file name="config.xml" hash="e03ea6e64c2d8493a11ed501146beafc"/><file name="system.xml" hash="bf24ab60bcc2bac89dda4d72956d1177"/></dir><dir name="sql"><dir name="paymill_setup"><file name="mysql4-install-3.0.0.php" hash="37e5e1850e143315779e30bd1b45f277"/></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="payment"><dir name="form"><file name="creditcard.phtml" hash="4c7b872169052c3889653d4125933f18"/><file name="directdebit.phtml" hash="e2986decb92129b4f1bdd1a28d212d77"/></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="f0f6e4a11f165da63c2a45c4033c6f3a"/></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="ca5aac2d8be8c7503f88eb4bbecbabc4"/></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="b7678ffcb3e1e902e23217885991a0f5"/></dir></dir><dir name="images"><dir name="paymill"><file name="ajax-loader.gif" hash="07c56b266e277696ee3d9e3ffd627450"/><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>
skin/frontend/base/default/css/paymill/logo.css CHANGED
@@ -54,7 +54,7 @@
54
  background-position: right center !important;
55
  }
56
 
57
- .paymill-card-number-carte-bleue
58
  {
59
  background-image: url('../../images/paymill/icon_32x20_unionpay.png') !important;
60
  background-repeat: no-repeat !important;
@@ -83,4 +83,18 @@
83
  padding: 0 5px;
84
  border-radius: 100px;
85
  background: #636363;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  }
54
  background-position: right center !important;
55
  }
56
 
57
+ .paymill-card-number-unionpay
58
  {
59
  background-image: url('../../images/paymill/icon_32x20_unionpay.png') !important;
60
  background-repeat: no-repeat !important;
83
  padding: 0 5px;
84
  border-radius: 100px;
85
  background: #636363;
86
+ }
87
+
88
+ .paymill-layer
89
+ {
90
+ background-image: url('../../images/paymill/ajax-loader.gif');
91
+ background-repeat: no-repeat;
92
+ background-position: center center;
93
+ z-index: 999;
94
+ position: absolute;
95
+ top:0px;
96
+ left:0px;
97
+ width: 100%;
98
+ height: 100%;
99
+
100
  }
skin/frontend/base/default/images/paymill/ajax-loader.gif ADDED
Binary file