Heidelpay - Version 1.2.0

Version Notes

First imported Version from the Premium Heidelpay Module

For more Information contact tobias.eilers@heidelpay.de

Download this release

Release Info

Developer Tobias Eilers
Extension Heidelpay
Version 1.2.0
Comparing to
See all releases


Version 1.2.0

Files changed (79) hide show
  1. app/code/local/Mage/Heidelpay/Block/Cancel.php +10 -0
  2. app/code/local/Mage/Heidelpay/Block/Error.php +10 -0
  3. app/code/local/Mage/Heidelpay/Block/Form.php +52 -0
  4. app/code/local/Mage/Heidelpay/Block/Form/Ccard.php +20 -0
  5. app/code/local/Mage/Heidelpay/Block/Form/Debitcard.php +20 -0
  6. app/code/local/Mage/Heidelpay/Block/Form/Directdebit.php +20 -0
  7. app/code/local/Mage/Heidelpay/Block/Form/Eps.php +20 -0
  8. app/code/local/Mage/Heidelpay/Block/Form/Giropay.php +20 -0
  9. app/code/local/Mage/Heidelpay/Block/Form/Ideal.php +20 -0
  10. app/code/local/Mage/Heidelpay/Block/Form/Invoice.php +20 -0
  11. app/code/local/Mage/Heidelpay/Block/Form/Paypal.php +20 -0
  12. app/code/local/Mage/Heidelpay/Block/Form/Prepaid.php +20 -0
  13. app/code/local/Mage/Heidelpay/Block/Form/Sofortueberweisung.php +20 -0
  14. app/code/local/Mage/Heidelpay/Block/Iframe.php +26 -0
  15. app/code/local/Mage/Heidelpay/Block/Info.php +43 -0
  16. app/code/local/Mage/Heidelpay/Block/Info/Payment.php +22 -0
  17. app/code/local/Mage/Heidelpay/Block/Lightbox.php +26 -0
  18. app/code/local/Mage/Heidelpay/Block/Paymentccard.php +56 -0
  19. app/code/local/Mage/Heidelpay/Block/Redirect.php +15 -0
  20. app/code/local/Mage/Heidelpay/Block/Secure.php +15 -0
  21. app/code/local/Mage/Heidelpay/Block/Success.php +14 -0
  22. app/code/local/Mage/Heidelpay/Block/Suform.php +14 -0
  23. app/code/local/Mage/Heidelpay/Helper/Data.php +8 -0
  24. app/code/local/Mage/Heidelpay/Model/Entity/Setup.php +128 -0
  25. app/code/local/Mage/Heidelpay/Model/Errors.php +309 -0
  26. app/code/local/Mage/Heidelpay/Model/Method/Hpcc.php +69 -0
  27. app/code/local/Mage/Heidelpay/Model/Method/Hpdc.php +69 -0
  28. app/code/local/Mage/Heidelpay/Model/Method/Hpdd.php +70 -0
  29. app/code/local/Mage/Heidelpay/Model/Method/Hpeps.php +54 -0
  30. app/code/local/Mage/Heidelpay/Model/Method/Hpgp.php +54 -0
  31. app/code/local/Mage/Heidelpay/Model/Method/Hpidl.php +55 -0
  32. app/code/local/Mage/Heidelpay/Model/Method/Hpiv.php +55 -0
  33. app/code/local/Mage/Heidelpay/Model/Method/Hppp.php +55 -0
  34. app/code/local/Mage/Heidelpay/Model/Method/Hpppal.php +55 -0
  35. app/code/local/Mage/Heidelpay/Model/Method/Hpsu.php +54 -0
  36. app/code/local/Mage/Heidelpay/Model/Method/Payment.php +786 -0
  37. app/code/local/Mage/Heidelpay/Model/Order/Payment.php +55 -0
  38. app/code/local/Mage/Heidelpay/Model/Session.php +9 -0
  39. app/code/local/Mage/Heidelpay/Model/System/Config/Source/Bookingmode.php +12 -0
  40. app/code/local/Mage/Heidelpay/Model/System/Config/Source/Orderstatus.php +10 -0
  41. app/code/local/Mage/Heidelpay/Model/System/Config/Source/Transactionmode.php +13 -0
  42. app/code/local/Mage/Heidelpay/controllers/PaymentController.php +616 -0
  43. app/code/local/Mage/Heidelpay/etc/adminhtml.xml +32 -0
  44. app/code/local/Mage/Heidelpay/etc/config.xml +385 -0
  45. app/code/local/Mage/Heidelpay/etc/system.xml +1432 -0
  46. app/code/local/Mage/Heidelpay/sql/heidelpay_setup/mysql4-install-1.0.0.php +204 -0
  47. app/design/adminhtml/default/default/template/heidelpay/info/payment.phtml +1 -0
  48. app/design/frontend/base/default/layout/heidelpay.xml +87 -0
  49. app/design/frontend/base/default/template/heidelpay/cancel.phtml +5 -0
  50. app/design/frontend/base/default/template/heidelpay/error.phtml +2 -0
  51. app/design/frontend/base/default/template/heidelpay/form/ccard.phtml +9 -0
  52. app/design/frontend/base/default/template/heidelpay/form/debitcard.phtml +9 -0
  53. app/design/frontend/base/default/template/heidelpay/form/directdebit.phtml +9 -0
  54. app/design/frontend/base/default/template/heidelpay/form/eps.phtml +9 -0
  55. app/design/frontend/base/default/template/heidelpay/form/giropay.phtml +9 -0
  56. app/design/frontend/base/default/template/heidelpay/form/ideal.phtml +9 -0
  57. app/design/frontend/base/default/template/heidelpay/form/invoice.phtml +9 -0
  58. app/design/frontend/base/default/template/heidelpay/form/paypal.phtml +9 -0
  59. app/design/frontend/base/default/template/heidelpay/form/prepaid.phtml +9 -0
  60. app/design/frontend/base/default/template/heidelpay/form/sofortueberweisung.phtml +9 -0
  61. app/design/frontend/base/default/template/heidelpay/iframe.phtml +1 -0
  62. app/design/frontend/base/default/template/heidelpay/info/payment.phtml +1 -0
  63. app/design/frontend/base/default/template/heidelpay/lightbox.phtml +5 -0
  64. app/design/frontend/base/default/template/heidelpay/redirect.phtml +1 -0
  65. app/design/frontend/base/default/template/heidelpay/secure.phtml +1 -0
  66. app/design/frontend/base/default/template/heidelpay/success.phtml +21 -0
  67. app/design/frontend/base/default/template/heidelpay/suform.phtml +1 -0
  68. app/etc/modules/Mage_Heidelpay.xml +9 -0
  69. app/locale/de_DE/Mage_Heidelpay.csv +75 -0
  70. app/locale/en_US/Mage_Heidelpay.csv +75 -0
  71. package.xml +32 -0
  72. skin/frontend/base/default/images/heidelpay/Thumbs.db +0 -0
  73. skin/frontend/base/default/images/heidelpay/back.png +0 -0
  74. skin/frontend/base/default/images/heidelpay/forward.jpg +0 -0
  75. skin/frontend/base/default/images/heidelpay/forward.png +0 -0
  76. skin/frontend/base/default/images/heidelpay/heidelpay.png +0 -0
  77. skin/frontend/base/default/images/heidelpay/heidelpay_small.png +0 -0
  78. skin/frontend/base/default/images/heidelpay/heidelpay_style.css +93 -0
  79. skin/frontend/base/default/images/heidelpay/space.gif +0 -0
app/code/local/Mage/Heidelpay/Block/Cancel.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Cancel extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/cancel.phtml');
8
+ }
9
+
10
+ }
app/code/local/Mage/Heidelpay/Block/Error.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Error extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/error.phtml');
8
+ }
9
+
10
+ }
app/code/local/Mage/Heidelpay/Block/Form.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Payment method form base block
5
+ */
6
+ class Mage_Heidelpay_Block_Form extends Mage_Core_Block_Template
7
+ {
8
+ /**
9
+ * Retrieve payment method model
10
+ *
11
+ * @return Mage_Payment_Model_Method_Abstract
12
+ */
13
+ public function getMethod()
14
+ {
15
+ $method = $this->getData('method');
16
+
17
+ if (!($method instanceof Mage_Payment_Model_Method_Abstract)) {
18
+ Mage::throwException($this->__('Can not retrieve payment method model object.'));
19
+ }
20
+ return $method;
21
+ }
22
+
23
+ /**
24
+ * Retrieve payment method code
25
+ *
26
+ * @return string
27
+ */
28
+ public function getMethodCode()
29
+ {
30
+ return $this->getMethod()->getCode();
31
+ }
32
+
33
+ /**
34
+ * Retrieve field value data from payment info object
35
+ *
36
+ * @param string $field
37
+ * @return mixed
38
+ */
39
+ public function getInfoData($field)
40
+ {
41
+ return $this->htmlEscape($this->getMethod()->getInfoInstance()->getData($field));
42
+ }
43
+
44
+ public function getShopLanguage()
45
+ {
46
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
47
+ if (is_array($locale) && !empty($locale)) $locale = $locale[0];
48
+ else $locale = 'de';
49
+
50
+ return $locale;
51
+ }
52
+ }
app/code/local/Mage/Heidelpay/Block/Form/Ccard.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Ccard extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/ccard.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Debitcard.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Debitcard extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/debitcard.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Directdebit.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Directdebit extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/directdebit.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Eps.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Eps extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/eps.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Giropay.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Giropay extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/giropay.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Ideal.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Ideal extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/ideal.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Invoice.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Invoice extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/invoice.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Paypal.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Paypal extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/paypal.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Prepaid.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Prepaid extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/prepaid.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Form/Sofortueberweisung.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Form_Sofortueberweisung extends Mage_Heidelpay_Block_Form
3
+ {
4
+ protected function _construct()
5
+ {
6
+ parent::_construct();
7
+ $this->setTemplate('heidelpay/form/sofortueberweisung.phtml');
8
+ }
9
+
10
+ /**
11
+ * Retrieve payment configuration object
12
+ *
13
+ * @return Mage_Payment_Model_Config
14
+ */
15
+ protected function _getConfig()
16
+ {
17
+ return Mage::getSingleton('payment/config');
18
+ }
19
+
20
+ }
app/code/local/Mage/Heidelpay/Block/Iframe.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Iframe extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/iframe.phtml');
8
+ }
9
+
10
+ protected function getHPUrl()
11
+ {
12
+ return $this->getHPIframeUrl();
13
+ }
14
+ /*
15
+ protected function getIFrameUrl()
16
+ {
17
+ #$payment = $this->getOrder()->getPayment()->getMethodInstance();
18
+ $payment = $this->getPayment();
19
+ echo 'class: '.get_class($this);
20
+ echo '<pre>'.print_r($payment, 1).'</pre>';
21
+ exit();
22
+
23
+ #return $payment->getIFrameUrl();
24
+ }
25
+ */
26
+ }
app/code/local/Mage/Heidelpay/Block/Info.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Base payment iformation block
4
+ *
5
+ */
6
+ class Mage_Heidelpay_Block_Info extends Mage_Payment_Block_Info
7
+ {
8
+
9
+ /**
10
+ * Retrieve info model
11
+ *
12
+ * @return Mage_Payment_Model_Info
13
+ */
14
+ public function getInfo()
15
+ {
16
+ $info = $this->getData('info');
17
+ if (!($info instanceof Mage_Payment_Model_Info)) {
18
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
19
+ }
20
+ return $info;
21
+ }
22
+
23
+ /**
24
+ * Retrieve payment method model
25
+ *
26
+ * @return Mage_Payment_Model_Method_Abstract
27
+ */
28
+ public function getMethod()
29
+ {
30
+ return $this->getInfo()->getMethodInstance();
31
+ }
32
+
33
+ /**
34
+ * Retrieve order model
35
+ *
36
+ * @return Mage_Sales_Model_Order
37
+ */
38
+ public function getOrder()
39
+ {
40
+ return Mage::registry('sales_order');
41
+ }
42
+
43
+ }
app/code/local/Mage/Heidelpay/Block/Info/Payment.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Block_Info_Payment extends Mage_Heidelpay_Block_Info
4
+ {
5
+ /**
6
+ * Init default template for block
7
+ */
8
+ protected function _construct()
9
+ {
10
+ parent::_construct();
11
+
12
+ $order = $this->getOrder();
13
+ #echo '<pre>'.print_r($order, 1).'</pre>';
14
+ if ($order instanceof Mage_Sales_Model_Order) {
15
+ if ($order->getId()) {
16
+
17
+ }
18
+ }
19
+ $this->setTemplate('heidelpay/info/payment.phtml');
20
+ }
21
+
22
+ }
app/code/local/Mage/Heidelpay/Block/Lightbox.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Lightbox extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/lightbox.phtml');
8
+ }
9
+
10
+ protected function getHPUrl()
11
+ {
12
+ return $this->getHPIframeUrl();
13
+ }
14
+ /*
15
+ protected function getIFrameUrl()
16
+ {
17
+ #$payment = $this->getOrder()->getPayment()->getMethodInstance();
18
+ $payment = $this->getPayment();
19
+ echo 'class: '.get_class($this);
20
+ echo '<pre>'.print_r($payment, 1).'</pre>';
21
+ exit();
22
+
23
+ #return $payment->getIFrameUrl();
24
+ }
25
+ */
26
+ }
app/code/local/Mage/Heidelpay/Block/Paymentccard.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Block_Paymentccard extends Mage_Core_Block_Abstract
4
+ {
5
+ public function setHiddenFields($data)
6
+ {
7
+ $html = '';
8
+ foreach($data as $k => $v) {
9
+ $html .= '<input type="hidden" name="'.$k.'" value="'.$v.'" />';
10
+ }
11
+ return $html;
12
+ }
13
+
14
+ /**
15
+ * Retrieve payment configuration object
16
+ *
17
+ * @return Mage_Payment_Model_Config
18
+ */
19
+ protected function _getConfig()
20
+ {
21
+ return Mage::getSingleton('payment/config');
22
+ }
23
+
24
+ /**
25
+ * Retrieve credit card expire months
26
+ *
27
+ * @return array
28
+ */
29
+ public function getCcMonths()
30
+ {
31
+ $months = $this->getData('cc_months');
32
+ if (is_null($months)) {
33
+ $months[0] = $this->__('Month');
34
+ $months = array_merge($months, $this->_getConfig()->getMonths());
35
+ $this->setData('cc_months', $months);
36
+ }
37
+ return $months;
38
+ }
39
+
40
+ /**
41
+ * Retrieve credit card expire years
42
+ *
43
+ * @return array
44
+ */
45
+ public function getCcYears()
46
+ {
47
+ $years = $this->getData('cc_years');
48
+ if (is_null($years)) {
49
+ $years = array();
50
+ $years = $this->_getConfig()->getYears();
51
+ $years = array(0=>$this->__('Year'))+$years;
52
+ $this->setData('cc_years', $years);
53
+ }
54
+ return $years;
55
+ }
56
+ }
app/code/local/Mage/Heidelpay/Block/Redirect.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Block_Redirect extends Mage_Core_Block_Abstract
4
+ {
5
+ public function setIframeHtml($url, $height)
6
+ {
7
+ $html = '<iframe src="'.$url.'" width="100%" height="'.$height.'" name="hp_iframe" frameborder="0">';
8
+ $html.= '<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
9
+ Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis
10
+ aufrufen: <a href="'.$url.'">Payment information</a></p>';
11
+ $html.= '</iframe>';
12
+
13
+ return $html;
14
+ }
15
+ }
app/code/local/Mage/Heidelpay/Block/Secure.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Secure extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/secure.phtml');
8
+ }
9
+
10
+ protected function get3DFrame()
11
+ {
12
+ return $this->getHP3DIframe();
13
+ }
14
+
15
+ }
app/code/local/Mage/Heidelpay/Block/Success.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Success extends Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/success.phtml');
8
+ }
9
+
10
+ protected function getPrePaidData()
11
+ {
12
+ return $this->getHPPPData();
13
+ }
14
+ }
app/code/local/Mage/Heidelpay/Block/Suform.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Block_Suform extends Mage_Core_Block_Template# Mage_Checkout_Block_Onepage_Success
3
+ {
4
+ public function __construct()
5
+ {
6
+ parent::__construct();
7
+ $this->setTemplate('heidelpay/suform.phtml');
8
+ }
9
+
10
+ protected function getHPSUForm()
11
+ {
12
+ return $this->getHPSUFormData();
13
+ }
14
+ }
app/code/local/Mage/Heidelpay/Helper/Data.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Paygate data helper
4
+ */
5
+ class Mage_Heidelpay_Helper_Data extends Mage_Core_Helper_Abstract
6
+ {
7
+ }
8
+ ?>
app/code/local/Mage/Heidelpay/Model/Entity/Setup.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Entity_Setup extends Mage_Customer_Model_Entity_Setup
3
+ {
4
+ public function getDefaultEntities()
5
+ {
6
+ return array();
7
+
8
+ return array(
9
+
10
+ 'customer' => array(
11
+ #'entity_model' => 'customer/customer',
12
+ #'table' => 'customer/entity',
13
+ #'increment_model' => 'eav/entity_increment_numeric',
14
+ #'increment_per_store' => false,
15
+ #'additional_attribute_table' => 'customer/eav_attribute',
16
+ #'entity_attribute_collection' => 'customer/attribute_collection',
17
+ 'attributes' => array(
18
+ 'heidelpay_ccard_unique_id' => array(
19
+ 'type' => 'varchar',
20
+ 'label' => 'Heidelpay Creditcard Unique ID',
21
+ 'required' => FALSE,
22
+ 'sort_order' => 300,
23
+ ),
24
+ 'heidelpay_ccard_payment_type' => array(
25
+ 'type' => 'varchar',
26
+ 'label' => 'Heidelpay Creditcard Payment Type',
27
+ 'required' => FALSE,
28
+ 'sort_order' => 310,
29
+ ),
30
+ 'heidelpay_ccard' => array(
31
+ 'type' => 'varchar',
32
+ 'label' => 'Heidelpay Creditcard',
33
+ 'required' => FALSE,
34
+ 'sort_order' => 320,
35
+ ),
36
+ 'heidelpay_ccard_valid_until' => array(
37
+ 'type' => 'varchar',
38
+ 'label' => 'Heidelpay Creditcard valid until',
39
+ 'required' => FALSE,
40
+ 'sort_order' => 330,
41
+ ),
42
+ 'heidelpay_ccard_brand' => array(
43
+ 'type' => 'varchar',
44
+ 'label' => 'Heidelpay Creditcard Brand',
45
+ 'required' => FALSE,
46
+ 'sort_order' => 340,
47
+ ),
48
+ 'heidelpay_ccard_holder' => array(
49
+ 'type' => 'varchar',
50
+ 'label' => 'Heidelpay Creditcard Holder',
51
+ 'required' => FALSE,
52
+ 'sort_order' => 350,
53
+ ),
54
+ 'heidelpay_dcard_unique_id' => array(
55
+ 'type' => 'varchar',
56
+ 'label' => 'Heidelpay DebitCard Unique ID',
57
+ 'required' => FALSE,
58
+ 'sort_order' => 400,
59
+ ),
60
+ 'heidelpay_dcard_payment_type' => array(
61
+ 'type' => 'varchar',
62
+ 'label' => 'Heidelpay DebitCard Payment Type',
63
+ 'required' => FALSE,
64
+ 'sort_order' => 410,
65
+ ),
66
+ 'heidelpay_dcard' => array(
67
+ 'type' => 'varchar',
68
+ 'label' => 'Heidelpay DebitCard',
69
+ 'required' => FALSE,
70
+ 'sort_order' => 420,
71
+ ),
72
+ 'heidelpay_dcard_valid_until' => array(
73
+ 'type' => 'varchar',
74
+ 'label' => 'Heidelpay DebitCard valid until',
75
+ 'required' => FALSE,
76
+ 'sort_order' => 430,
77
+ ),
78
+ 'heidelpay_dcard_brand' => array(
79
+ 'type' => 'varchar',
80
+ 'label' => 'Heidelpay DebitCard Brand',
81
+ 'required' => FALSE,
82
+ 'sort_order' => 440,
83
+ ),
84
+ 'heidelpay_dcard_holder' => array(
85
+ 'type' => 'varchar',
86
+ 'label' => 'Heidelpay DebitCard Holder',
87
+ 'required' => FALSE,
88
+ 'sort_order' => 450,
89
+ ),
90
+ 'heidelpay_last_blz' => array(
91
+ 'type' => 'varchar',
92
+ 'label' => 'Heidelpay Bankcode',
93
+ 'required' => FALSE,
94
+ 'sort_order' => 460,
95
+ ),
96
+ 'heidelpay_last_kto' => array(
97
+ 'type' => 'varchar',
98
+ 'label' => 'Heidelpay Accuntnumber',
99
+ 'required' => FALSE,
100
+ 'sort_order' => 470,
101
+ ),
102
+ 'heidelpay_last_holder' => array(
103
+ 'type' => 'varchar',
104
+ 'label' => 'Heidelpay Account Holder',
105
+ 'required' => FALSE,
106
+ 'sort_order' => 480,
107
+ ),
108
+ ),
109
+ ),
110
+
111
+ 'order' => array(
112
+ 'entity_model' => 'sales/order',
113
+ 'table' => 'sales/order',
114
+ 'increment_model' => 'eav/entity_increment_numeric',
115
+ 'increment_per_store' => TRUE,
116
+ 'attributes' => array(
117
+ 'last_trans_id' => array(
118
+ 'type' => 'varchar',
119
+ 'label' => 'Heidelpay Unique ID',
120
+ 'required' => FALSE,
121
+ 'sort_order' => 300,
122
+ 'visible' => TRUE,
123
+ ),
124
+ ),
125
+ ),
126
+ );
127
+ }
128
+ }
app/code/local/Mage/Heidelpay/Model/Errors.php ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Model_Errors extends Mage_Core_Model_Abstract
4
+ {
5
+ /**
6
+ * Messages Payment Interface
7
+ */
8
+ private $_piMessages = array(
9
+ '0' => 'Unknown error.',
10
+ '1' => 'Parameter missing.',
11
+ '2' => 'Wrong format.',
12
+ '3' => 'Invalid Format.',
13
+ '100' => 'An error occured while payment.',
14
+ '101' => 'Project hold.',
15
+ '102' => 'Project was not activated.',
16
+ '103' => 'Invalid project type.',
17
+ '104' => 'Wrong checksum.',
18
+ '107' => 'Invalid payment.',
19
+ '108' => 'Invalid URL.',
20
+ '109' => 'Bank is not attend to Giropay.',
21
+ '110' => 'Invalid payment info.',
22
+ '111' => 'Customer has no standard payment.',
23
+ '115' => 'Transfer of credit card information not allowed.',
24
+ '116' => 'Request whithout HTTPS.',
25
+ '117' => 'Minimum age not reached.',
26
+ '118' => 'The stated amount is invalid.',
27
+ '120' => 'CVV invalid.',
28
+ '121' => 'Denial of credit card institute. Please contact you credit card institute.',
29
+ '122' => 'Denial of credit card institute. Please contact you credit card institute.',
30
+ '123' => 'Expiration date of credit card exceeded.',
31
+ '124' => 'Unknown card type.',
32
+ '199' => 'Denial of credit card institute. Please contact you credit card institute.',
33
+ '200' => 'Paymethod is not allowed in this country.',
34
+ '201' => 'Address check failed.',
35
+ '202' => 'Customer already exists.',
36
+ '203' => 'Service temporarily not available.',
37
+ '204' => 'Payment data denied.',
38
+ '205' => 'Customer data denied.',
39
+ '206' => 'Customer data denied.',
40
+ '207' => 'Customer already exists.',
41
+ '208' => 'Customer already exists.',
42
+ '209' => 'Unknown Payment.',
43
+ '210' => 'The request could not be processed.',
44
+ '211' => 'No unique ccard data.',
45
+ '212' => 'Credit card number and expected number mismatch.',
46
+ '213' => 'The booking amount is exceeding the allowed limit.',
47
+ '214' => 'The transaction could not be completed because the system could not check for a double transaction attempt.',
48
+ '215' => 'The transaction has already been completed before. It has not been attempted again.',
49
+ '217' => 'Customer has open reminder.',
50
+ '218' => 'The booking amount is exceeding the allowed limit.',
51
+ '219' => 'There is no method of payment available for a booking with such an amount.',
52
+ '220' => 'The reserved time is expired.',
53
+ '221' => 'The given amount is higher than the available amount.',
54
+ '222' => 'An error occured while deleting the reservation.',
55
+ '223' => 'The reservation has been already closed.',
56
+ '300' => 'CURL error.'
57
+ );
58
+
59
+ /**
60
+ * Messages Whitelabel Interface
61
+ */
62
+ private $_wlMessages = array(
63
+ '0' => 'Unknown error.',
64
+ '1' => 'An error occured while payment.',
65
+ '2' => 'Parameter missing.',
66
+ '3' => 'Wrong format.',
67
+ '4' => 'Payment could not be prepared.',
68
+ '5' => 'Payment could not be finished.',
69
+ '6' => 'The transaction was already send.'
70
+ );
71
+
72
+ /**
73
+ * Field Mapping Payment Interface
74
+ */
75
+ private $_piFields = array(
76
+ 'hp_p' => 'Project ID',
77
+ 'hp_eu' => 'Amount',
78
+ 'hp_payment' => 'Paymethod',
79
+ 'cus_gender' => 'Nametitle',
80
+ 'cus_title' => 'Title',
81
+ 'cus_firstname' => 'Firstname',
82
+ 'cus_lastname' => 'Lastname',
83
+ 'cus_company' => 'Company',
84
+ 'cus_street' => 'Street',
85
+ 'cus_nr' => 'Streetnumber',
86
+ 'cus_pobox' => 'Pobox',
87
+ 'cus_extra' => 'Additional Address',
88
+ 'cus_zipcode' => 'Zipcode',
89
+ 'cus_city' => 'City',
90
+ 'cus_country' => 'Country',
91
+ 'cus_state' => 'State',
92
+ 'cus_dob' => 'Birthday',
93
+ 'cus_prephone' => 'Prephone',
94
+ 'cus_phone' => 'Phone',
95
+ 'cus_prephone_work' => 'Prephone (Work)',
96
+ 'cus_phone_work' => 'Phone (Work)',
97
+ 'cus_email' => 'Email',
98
+ 'cus_language' => 'Language',
99
+ 'cus_ip' => 'IP Address',
100
+ 'cus_owner' => 'Credit card owner, Account owner',
101
+ 'cus_account' => 'Bank account',
102
+ 'cus_bankcode' => 'Bankcode',
103
+ 'cus_cc_number' => 'Credit card number',
104
+ 'cus_cc_cvv' => 'Credit card CVV',
105
+ 'cus_cc_exp_month' => 'Credit Card Expiration (Month)',
106
+ 'cus_cc_exp_year' => 'Credit Card Expiration (Year)'
107
+ );
108
+
109
+ /**
110
+ * Field Mapping Whitelabel Interface
111
+ */
112
+ private $_wlFields = array(
113
+ 'project' => 'Project ID',
114
+ 'amount' => 'Amount',
115
+ 'nameTitle' => 'Nametitle',
116
+ 'title' => 'Title',
117
+ 'firstName' => 'Firstname',
118
+ 'lastName' => 'Lastname',
119
+ 'company' => 'Company',
120
+ 'street' => 'Street',
121
+ 'nr' => 'Streetnumber',
122
+ 'pobox' => 'Pobox',
123
+ 'extra' => 'Additional Address',
124
+ 'zipcode' => 'Zipcode',
125
+ 'city' => 'City',
126
+ 'country' => 'Country',
127
+ 'state' => 'State',
128
+ 'dob' => 'Birthday',
129
+ 'prephone' => 'Prephone',
130
+ 'phone' => 'Phone',
131
+ 'email' => 'Email',
132
+ 'language' => 'Language',
133
+ 'ipaddr' => 'IP Address',
134
+ 'owner' => 'Credit card owner, Account owner',
135
+ 'account' => 'Bank account',
136
+ 'bankcode' => 'Bankcode',
137
+ 'number' => 'Credit card number',
138
+ 'cvv' => 'Credit card CVV',
139
+ 'exp_month' => 'Credit Card Expiration (Month)',
140
+ 'exp_year' => 'Credit Card Expiration (Year)'
141
+ );
142
+
143
+ /**
144
+ * Array with error information
145
+ */
146
+ private $_error = array(
147
+ array(
148
+ 'code' => '',
149
+ 'message' => '',
150
+ 'fields' => array()
151
+ )
152
+ );
153
+
154
+ public function __construct()
155
+ {
156
+ $this->_init('hp/errors');
157
+ }
158
+
159
+ /**
160
+ * Get error message text Payment Interface
161
+ *
162
+ * @param int $code
163
+ * @return string Message
164
+ */
165
+ private function _getErrorTextPaymentInterface($code)
166
+ {
167
+ if (array_key_exists($code, $this->_piMessages)) {
168
+ return $this->_piMessages[$code];
169
+ }
170
+ return $this->_piMessages['0'];
171
+ }
172
+
173
+ /**
174
+ * Get error message text Whitelabel Interface
175
+ *
176
+ * @param int $code
177
+ * @return string Message
178
+ */
179
+ private function _getErrorTextWhitelabelInterface($code)
180
+ {
181
+ if (array_key_exists($code, $this->_wlMessages)) {
182
+ return $this->_wlMessages[$code];
183
+ }
184
+ return $this->_wlMessages['0'];
185
+ }
186
+
187
+ /**
188
+ * Get error fields text Payment Interface
189
+ *
190
+ * @param string $field
191
+ * @return string Message
192
+ */
193
+ private function _getErrorFieldsPaymentInterface($field)
194
+ {
195
+ if (array_key_exists($field, $this->_piFields)) {
196
+ return $this->_piFields[$field];
197
+ }
198
+ return $field;
199
+ }
200
+
201
+ /**
202
+ * Get error fields text Whitelabel Interface
203
+ *
204
+ * @param string $field
205
+ * @return string Message
206
+ */
207
+ private function _getErrorFieldsWhitelabelInterface($field)
208
+ {
209
+ if (array_key_exists($field, $this->_wlFields)) {
210
+ return $this->_wlFields[$field];
211
+ }
212
+ return $field;
213
+ }
214
+
215
+ /**
216
+ * Get error information to display the customer
217
+ *
218
+ * @param array $params
219
+ * @return array Error information
220
+ */
221
+ public function getErrorInformation($params)
222
+ {
223
+ if (!is_array($params) || empty($params)) {
224
+ return $this->_getDefaultMessage();
225
+ }
226
+
227
+ if (isset($params['error'])) {
228
+ $fields = array();
229
+ if (isset($params['fields']) && !empty($params['fields'])) {
230
+ $param_fields = explode(',', $params['fields']);
231
+ foreach ($param_fields as $field) {
232
+ $fields[] = $this->_getErrorFieldsWhitelabelInterface($field);
233
+ }
234
+ }
235
+ if (isset($params['exterror'])) {
236
+ $codes = explode(',', $params['exterror']);
237
+ foreach ($codes as $code) {
238
+ $this->_setErrorMessage($code, $this->_getErrorTextPaymentInterface($code), $fields);
239
+ $fields = array();
240
+ }
241
+ } else {
242
+ $this->_setErrorMessage($params['error'], $this->_getErrorTextWhitelabelInterface($params['error']), $fields);
243
+ }
244
+ } else if (isset($params['code_1'])) {
245
+ $messages = true;
246
+ $i = 1;
247
+ while ($messages) {
248
+ if (isset($params['code_'.$i]) && !empty($params['code_'.$i])) {
249
+ $fields = array();
250
+ if (isset($params['param_'.$i]) && !empty($params['param_'.$i])) {
251
+ $fields[] = $this->_getErrorFieldsPaymentInterface($params['param_'.$i]);
252
+ }
253
+ $this->_setErrorMessage($params['code_'.$i], $this->_getErrorTextPaymentInterface($params['code_'.$i]), $fields);
254
+ } else {
255
+ $messages = false;
256
+ }
257
+ $i++;
258
+ }
259
+ } else {
260
+ return $this->_getDefaultMessage();
261
+ }
262
+
263
+ return $this->_getErrorMessage();
264
+ }
265
+
266
+ /**
267
+ * Get default error message
268
+ *
269
+ * @return array Message
270
+ */
271
+ private function _getDefaultMessage()
272
+ {
273
+ $this->_error[] = array(
274
+ 'code' => '0',
275
+ 'message' => $this->_getErrorTextPaymentInterface('0'),
276
+ 'fields' => array()
277
+ );
278
+
279
+ return $this->_error;
280
+ }
281
+
282
+ /**
283
+ * Get default error message
284
+ *
285
+ * @param int $code
286
+ * @param string $message
287
+ * @param array $fields
288
+ * @return true
289
+ */
290
+ private function _setErrorMessage($code, $message, $fields)
291
+ {
292
+ $this->_error[] = array(
293
+ 'code' => $code,
294
+ 'message' => $message,
295
+ 'fields' => $fields
296
+ );
297
+ return true;
298
+ }
299
+
300
+ /**
301
+ * Get error message
302
+ *
303
+ * @return array Message
304
+ */
305
+ private function _getErrorMessage()
306
+ {
307
+ return $this->_error;
308
+ }
309
+ }
app/code/local/Mage/Heidelpay/Model/Method/Hpcc.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpcc extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpcc';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'';
16
+ $script.= '</script>';
17
+ return $script;
18
+ }
19
+
20
+ public function getLightbox($descArea = false)
21
+ {
22
+ return '';
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'CC';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ /**
33
+ * Retrieve block type for method form generation
34
+ *
35
+ * @return string
36
+ */
37
+ public function getFormBlockType()
38
+ {
39
+ $this->_formBlockType = 'heidelpay/form_ccard';
40
+ return $this->_formBlockType;
41
+ }
42
+
43
+ public function validate()
44
+ {
45
+ parent::validate();
46
+ return $this;
47
+ }
48
+
49
+ /**
50
+ * Retrieve payment method title
51
+ *
52
+ * @return string
53
+ */
54
+ public function getTitle()
55
+ {
56
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
57
+ }
58
+
59
+ /**
60
+ * Retrieve payment method title for Admin
61
+ *
62
+ * @return string
63
+ */
64
+ public function getAdminTitle()
65
+ {
66
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
67
+ }
68
+
69
+ }
app/code/local/Mage/Heidelpay/Model/Method/Hpdc.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpdc extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpdc';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'';
16
+ $script.= '</script>';
17
+ return $script;
18
+ }
19
+
20
+ public function getLightbox($descArea = false)
21
+ {
22
+ return '';
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'DC';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ /**
33
+ * Retrieve block type for method form generation
34
+ *
35
+ * @return string
36
+ */
37
+ public function getFormBlockType()
38
+ {
39
+ $this->_formBlockType = 'heidelpay/form_debitcard';
40
+ return $this->_formBlockType;
41
+ }
42
+
43
+ public function validate()
44
+ {
45
+ parent::validate();
46
+ return $this;
47
+ }
48
+
49
+ /**
50
+ * Retrieve payment method title
51
+ *
52
+ * @return string
53
+ */
54
+ public function getTitle()
55
+ {
56
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
57
+ }
58
+
59
+ /**
60
+ * Retrieve payment method title for Admin
61
+ *
62
+ * @return string
63
+ */
64
+ public function getAdminTitle()
65
+ {
66
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
67
+ }
68
+
69
+ }
app/code/local/Mage/Heidelpay/Model/Method/Hpdd.php ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpdd extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpdd';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ return;
16
+ $script = '<script>'.parent::getJScript().'</script>';
17
+ return $script;
18
+ }
19
+
20
+ public function getLightbox($descArea = false)
21
+ {
22
+ return '';
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'DD';
28
+ #$src = $this->handleRegister();
29
+ $src = $this->handleDebit();
30
+ return $src;
31
+ }
32
+
33
+ /**
34
+ * Retrieve block type for method form generation
35
+ *
36
+ * @return string
37
+ */
38
+ public function getFormBlockType()
39
+ {
40
+ $this->_formBlockType = 'heidelpay/form_directdebit';
41
+ return $this->_formBlockType;
42
+ }
43
+
44
+ public function validate()
45
+ {
46
+ parent::validate();
47
+ return $this;
48
+ }
49
+
50
+ /**
51
+ * Retrieve payment method title
52
+ *
53
+ * @return string
54
+ */
55
+ public function getTitle()
56
+ {
57
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
58
+ }
59
+
60
+ /**
61
+ * Retrieve payment method title for Admin
62
+ *
63
+ * @return string
64
+ */
65
+ public function getAdminTitle()
66
+ {
67
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
68
+ }
69
+
70
+ }
app/code/local/Mage/Heidelpay/Model/Method/Hpeps.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpeps extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpeps';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ $info = '';
22
+ return $info;
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'EPS';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ public function getFormBlockType()
33
+ {
34
+ $this->_formBlockType = 'heidelpay/form_eps';
35
+ return $this->_formBlockType;
36
+ }
37
+
38
+ public function validate()
39
+ {
40
+ parent::validate();
41
+ return $this;
42
+ }
43
+
44
+ public function getTitle()
45
+ {
46
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
47
+ }
48
+
49
+ public function getAdminTitle()
50
+ {
51
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
52
+ }
53
+
54
+ }
app/code/local/Mage/Heidelpay/Model/Method/Hpgp.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpgp extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpgp';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ return '';
22
+ }
23
+
24
+ public function getHeidelpayIFrameUrl()
25
+ {
26
+ $this->actualPaymethod = 'GP';
27
+ $src = $this->handleDebit();
28
+ return $src;
29
+ }
30
+
31
+ public function getFormBlockType()
32
+ {
33
+ $this->_formBlockType = 'heidelpay/form_giropay';
34
+ return $this->_formBlockType;
35
+ }
36
+
37
+ public function validate()
38
+ {
39
+ parent::validate();
40
+ return $this;
41
+ }
42
+
43
+ public function getTitle()
44
+ {
45
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
46
+ }
47
+
48
+ public function getAdminTitle()
49
+ {
50
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
51
+ }
52
+
53
+ }
54
+
app/code/local/Mage/Heidelpay/Model/Method/Hpidl.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpidl extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpidl';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ $info = '';
22
+ return $info;
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'IDL';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ public function getFormBlockType()
33
+ {
34
+ $this->_formBlockType = 'heidelpay/form_ideal';
35
+ return $this->_formBlockType;
36
+ }
37
+
38
+ public function validate()
39
+ {
40
+ parent::validate();
41
+ return $this;
42
+ }
43
+
44
+ public function getTitle()
45
+ {
46
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
47
+ }
48
+
49
+ public function getAdminTitle()
50
+ {
51
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
52
+ }
53
+
54
+ }
55
+
app/code/local/Mage/Heidelpay/Model/Method/Hpiv.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpiv extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpiv';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ $info = '';
22
+ return $info;
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'IV';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ public function getFormBlockType()
33
+ {
34
+ $this->_formBlockType = 'heidelpay/form_invoice';
35
+ return $this->_formBlockType;
36
+ }
37
+
38
+ public function validate()
39
+ {
40
+ parent::validate();
41
+ return $this;
42
+ }
43
+
44
+ public function getTitle()
45
+ {
46
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
47
+ }
48
+
49
+ public function getAdminTitle()
50
+ {
51
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
52
+ }
53
+
54
+ }
55
+
app/code/local/Mage/Heidelpay/Model/Method/Hppp.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hppp extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hppp';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ $info = '';
22
+ return $info;
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'PP';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ public function getFormBlockType()
33
+ {
34
+ $this->_formBlockType = 'heidelpay/form_prepaid';
35
+ return $this->_formBlockType;
36
+ }
37
+
38
+ public function validate()
39
+ {
40
+ parent::validate();
41
+ return $this;
42
+ }
43
+
44
+ public function getTitle()
45
+ {
46
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
47
+ }
48
+
49
+ public function getAdminTitle()
50
+ {
51
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
52
+ }
53
+
54
+ }
55
+
app/code/local/Mage/Heidelpay/Model/Method/Hpppal.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpppal extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpppal';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ $info = '';
22
+ return $info;
23
+ }
24
+
25
+ public function getHeidelpayIFrameUrl()
26
+ {
27
+ $this->actualPaymethod = 'PPAL';
28
+ $src = $this->handleDebit();
29
+ return $src;
30
+ }
31
+
32
+ public function getFormBlockType()
33
+ {
34
+ $this->_formBlockType = 'heidelpay/form_paypal';
35
+ return $this->_formBlockType;
36
+ }
37
+
38
+ public function validate()
39
+ {
40
+ parent::validate();
41
+ return $this;
42
+ }
43
+
44
+ public function getTitle()
45
+ {
46
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
47
+ }
48
+
49
+ public function getAdminTitle()
50
+ {
51
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
52
+ }
53
+
54
+ }
55
+
app/code/local/Mage/Heidelpay/Model/Method/Hpsu.php ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Hpsu extends Mage_Heidelpay_Model_Method_Payment
3
+ {
4
+ /**
5
+ * unique internal payment method identifier
6
+ *
7
+ * @var string [a-z0-9_]
8
+ **/
9
+ protected $_code = 'hpsu';
10
+ protected $_formBlockType = 'payment/form';
11
+ protected $_infoBlockType = 'heidelpay/info_payment';
12
+
13
+ public function getJScript()
14
+ {
15
+ $script = '<script>'.parent::getJScript().'</script>';
16
+ return $script;
17
+ }
18
+
19
+ public function getLightbox($descArea = false)
20
+ {
21
+ return '';
22
+ }
23
+
24
+ public function getHeidelpayIFrameUrl()
25
+ {
26
+ $this->actualPaymethod = 'SU';
27
+ $src = $this->handleDebit();
28
+ return $src;
29
+ }
30
+
31
+ public function getFormBlockType()
32
+ {
33
+ $this->_formBlockType = 'heidelpay/form_sofortueberweisung';
34
+ return $this->_formBlockType;
35
+ }
36
+
37
+ public function validate()
38
+ {
39
+ parent::validate();
40
+ return $this;
41
+ }
42
+
43
+ public function getTitle()
44
+ {
45
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
46
+ }
47
+
48
+ public function getAdminTitle()
49
+ {
50
+ return $this->_getHelper('heidelpay')->__($this->getConfigData('title'));
51
+ }
52
+
53
+ }
54
+
app/code/local/Mage/Heidelpay/Model/Method/Payment.php ADDED
@@ -0,0 +1,786 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Method_Payment extends Mage_Payment_Model_Method_Abstract
3
+ {
4
+ /*{{{Vars*/
5
+ /**
6
+ * unique internal payment method identifier
7
+ *
8
+ * @var string [a-z0-9_]
9
+ */
10
+ protected $_code = 'payment';
11
+ protected $_order;
12
+ /**
13
+ * Availability options
14
+ */
15
+ /*
16
+ protected $_isGateway = true;
17
+ protected $_canAuthorize = true;
18
+ protected $_canCapture = true;
19
+ protected $_canCapturePartial = false;
20
+ protected $_canRefund = false;
21
+ protected $_canVoid = false;
22
+ protected $_canUseInternal = false;
23
+ protected $_canUseCheckout = true;
24
+ protected $_canUseForMultishipping = false;
25
+ protected $_canSaveCc = false;
26
+ */
27
+ protected $_isGateway = false;
28
+ protected $_canAuthorize = false;
29
+ protected $_canCapture = true;
30
+ protected $_canCapturePartial = true;
31
+ protected $_canRefund = true;
32
+ protected $_canRefundInvoicePartial = true;
33
+ protected $_canVoid = false;
34
+ protected $_canUseInternal = false;
35
+ protected $_canUseCheckout = true;
36
+ protected $_canUseForMultishipping = false;
37
+ protected $_isInitializeNeeded = true;
38
+ protected $_paymentMethod = 'abstract';
39
+ protected $_defaultLocale = 'en';
40
+
41
+ /**
42
+ * Default language
43
+ */
44
+ protected $_localeDefault = 'de';
45
+
46
+ /**
47
+ * Payment specific data
48
+ */
49
+ protected $_payment_url;
50
+ protected $_request = array();
51
+ protected $_availablePayments = array('CC','DD','DC','VA','OT','IV','PP','UA');
52
+ protected $_allowCurrencyCode = array('AED','AFA','ALL','AMD','ANG','AOA','ARS','AUD','AWG','AZM','BAM','BBD','BDT','BGN','BHD','BIF','BMD','BND','BOB','BRL','BSD','BTN','BWP','BYR','BZD','CAD','CDF','CHF','CLP','CNY','COP','CRC','CUP','CVE','CYP','CZK','DJF','DKK','DOP','DZD','EEK','EGP','ERN','ETB','EUR','FJD','FKP','GBP','GEL','GGP','GHC','GIP','GMD','GNF','GTQ','GYD','HKD','HNL','HRK','HTG','HUF','IDR','ILS','IMP','INR','IQD','IRR','ISK','JEP','JMD','JOD','JPY','KES','KGS','KHR','KMF','KPW','KRW','KWD','KYD','KZT','LAK','LBP','LKR','LRD','LSL','LTL','LVL','LYD','MAD','MDL','MGA','MKD','MMK','MNT','MOP','MRO','MTL','MUR','MVR','MWK','MXN','MYR','MZM','NAD','NGN','NIO','NOK','NPR','NZD','OMR','PAB','PEN','PGK','PHP','PKR','PLN','PTS','PYG','QAR','RON','RUB','RWF','SAR','SBD','SCR','SDD','SEK','SGD','SHP','SIT','SKK','SLL','SOS','SPL','SRD','STD','SVC','SYP','SZL','THB','TJS','TMM','TND','TOP','TRL','TRY','TTD','TVD','TWD','TZS','UAH','UGX','USD','UYU','UZS','VEF','VND','VUV','WST','XAF','XAG','XAU','XCD','XDR','XOF','XPD','XPF','XPT','YER','ZAR','ZMK','ZWD');
53
+ protected $actualPaymethod;
54
+ /*}}}*/
55
+
56
+ /**
57
+ * Get checkout session namespace
58
+ *
59
+ * @return Mage_Checkout_Model_Session
60
+ */
61
+ public function getCheckout()/*{{{*/
62
+ {
63
+ return Mage::getSingleton('checkout/session');
64
+ }/*}}}*/
65
+
66
+ /**
67
+ * Get current quote
68
+ *
69
+ * @return Mage_Sales_Model_Quote
70
+ */
71
+ public function getQuote()/*{{{*/
72
+ {
73
+ return $this->getCheckout()->getQuote();
74
+ }/*}}}*/
75
+
76
+ /**
77
+ * Get heidelpay session namespace
78
+ *
79
+ * @return Mage_Heidelpay_Model_Session
80
+ */
81
+ public function getSession()/*{{{*/
82
+ {
83
+ return Mage::getSingleton('core/session');
84
+ return Mage::getSingleton('heidelpay/session');
85
+ }/*}}}*/
86
+
87
+ /**
88
+ * Get singleton with heidelpay order transaction information
89
+ *
90
+ * @return Mage_Heidelpay_Model_Method_Hppayment
91
+ */
92
+ public function getHPPayment()/*{{{*/
93
+ {
94
+ return Mage::getSingleton('heidelpay/method_payment');
95
+ }/*}}}*/
96
+
97
+ /**
98
+ * Validate payment method information object
99
+ *
100
+ * @param Varien_Object $info
101
+ * @return Mage_Heidelpay_Model_Method_Payment
102
+ */
103
+ public function validate()/*{{{*/
104
+ {
105
+ parent::validate();
106
+ return $this;
107
+ }/*}}}*/
108
+
109
+ public function getOrder($useRG = false)/*{{{*/
110
+ {
111
+ if ($useRG)
112
+ return Mage::getModel('sales/order');
113
+
114
+ if (!$this->_order) {
115
+ $paymentInfo = $this->getInfoInstance();
116
+ $order = $paymentInfo->getOrder();
117
+ #echo '<pre>'.print_r($order, 1).'</pre>';
118
+ $incID = $order->getRealOrderId();
119
+ $this->_order = Mage::getModel('sales/order')->loadByIncrementId($incID);
120
+ }
121
+ return $this->_order;
122
+ }/*}}}*/
123
+
124
+ /**
125
+ * Retrieve block type for method form generation
126
+ *
127
+ * @return string
128
+ */
129
+ public function getFormBlockType()/*{{{*/
130
+ {
131
+ return $this->_formBlockType;
132
+ }/*}}}*/
133
+
134
+ /**
135
+ * Retirve block type for display method information
136
+ *
137
+ * @return string
138
+ */
139
+ public function getInfoBlockType()/*{{{*/
140
+ {
141
+ return $this->_infoBlockType;
142
+ }/*}}}*/
143
+
144
+ /**
145
+ * Return true if the method can be used at this time
146
+ *
147
+ * @return bool
148
+ */
149
+ public function isAvailable($quote=null)/*{{{*/
150
+ {
151
+ # Allowed Currency
152
+ $currency_code=$this->getQuote()->getQuoteCurrencyCode();
153
+ if (!empty($currency_code) && !in_array($currency_code,$this->_allowCurrencyCode)) return false;
154
+
155
+ # Minimum and maximum amount
156
+ $totals = $this->getQuote()->getTotals();
157
+ if(!isset($totals['grand_total']) ) return false;
158
+
159
+ $amount = sprintf('%1.2f', $totals['grand_total']->getData('value'));
160
+ $amount = $amount * 100;
161
+ $minamount = $this->getConfigData('min_amount');
162
+ $maxamount = $this->getConfigData('max_amount');
163
+ if (is_numeric($minamount) && $minamount > 0 && $minamount > $amount) return false;
164
+ if (is_numeric($maxamount) && $maxamount > 0 && $maxamount < $amount) return false;
165
+ return parent::isAvailable($quote);
166
+ }/*}}}*/
167
+
168
+ /**
169
+ * get redirect URL after response
170
+ *
171
+ * @return string
172
+ */
173
+ public function getOrderPlaceRedirectUrl()/*{{{*/
174
+ {
175
+ return Mage::getUrl('heidelpay/payment/redirect', array('_secure' => true));
176
+
177
+ #$url = Mage::getUrl('heidelpay/payment/iframe', array('_secure' => true));
178
+ #return $url;
179
+ }/*}}}*/
180
+
181
+
182
+ public function getCheckoutRedirectUrl()/*{{{*/
183
+ {
184
+ #$url = Mage::getUrl('heidelpay/payment/iframe', array('_secure' => true));
185
+ #return $url;
186
+ }/*}}}*/
187
+
188
+ public function getJScript()/*{{{*/
189
+ {
190
+ $name = $this->_code;
191
+ $script = 'function swapHP'.$name.'(radio)
192
+ {
193
+ var reuseObj = document.getElementById("heidelpay_reuse_'.$name.'");
194
+ var newObj = document.getElementById("heidelpay_new_'.$name.'");
195
+ if (radio.checked){
196
+ reuseObj.style.display = "block";
197
+ newObj.style.display = "none";
198
+ } else {
199
+ reuseObj.style.display = "none";
200
+ newObj.style.display = "block";
201
+ }
202
+ }';
203
+ return $script;
204
+ }/*}}}*/
205
+
206
+ public function handleRegister()/*{{{*/
207
+ {
208
+ $debug = false;
209
+ $payCode = $this->actualPaymethod;
210
+
211
+ // prepare data
212
+ $amount = number_format($this->getQuote()->grand_total, 2, '.', '');
213
+ $billing = $this->getQuote()->getBillingAddress();
214
+ $customer = $this->getQuote()->getCustomer();
215
+ $currency = $this->getQuote()->store_currency_code;
216
+ $street = $billing->getStreet();
217
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
218
+ $valid = array('CC', 'DD', 'DC'); // valid payment methods
219
+ if ( ! in_array($this->actualPaymethod, $valid)) throw new Exception('Invalid Payment Mode given for Register');
220
+ if (is_array($locale) && ! empty($locale))
221
+ $language = $locale[0];
222
+ else
223
+ $language = $this->getDefaultLocale();
224
+
225
+ $userId = $customer->getId();
226
+ $orderId = $this->getOrder(true)->getIncrementId().'-'.$userId;
227
+ $email = $customer->email;
228
+ if (empty($email)) $email = $billing->getEmail();
229
+
230
+ $userData = array(
231
+ 'firstname' => $billing->getFirstname(),
232
+ 'lastname' => $billing->getLastname(),
233
+ 'salutation'=> 'MR',
234
+ 'street' => $street[0],
235
+ 'zip' => $billing->getPostcode(),
236
+ 'city' => $billing->getCity(),
237
+ 'country' => $billing->getCountry(),
238
+ 'email' => $email,
239
+ 'ip' => $this->getOrder(true)->getRemoteIp(),
240
+ );
241
+ if (empty($userData['ip'])) $userData['ip'] = $_SERVER['REMOTE_ADDR']; // Falls IP Leer, dann aus dem Server holen
242
+ $payMethod = 'RG';
243
+ $data = $this->prepareData($orderId, $amount, $currency, $payCode, $userData, $language, $payMethod);
244
+ if ($debug) echo '<pre>'.print_r($data, 1).'</pre>';
245
+ $res = $this->doRequest($data);
246
+ if ($debug) echo 'URL: '.$this->url;
247
+ if ($debug) echo '<pre>resp('.print_r($this->response, 1).')</pre>';
248
+ if ($debug) echo '<pre>'.print_r($res, 1).'</pre>';
249
+ $res = $this->parseResult($res);
250
+ if ($debug) echo '<pre>'.print_r($res, 1).'</pre>';
251
+ $processingresult = $res['result'];
252
+ $redirectURL = $res['url'];
253
+ $base = Mage::getUrl('heidelpay/payment/error/', array('_secure' => true));
254
+ $src = $base."?payment_error=hp".strtolower($this->actualPaymethod).'&error='.$res['all']['PROCESSING.RETURN'].'&'.session_name().'='.session_id();
255
+ if ($processingresult == "ACK" && strstr($redirectURL,"http")) {
256
+ $src = $redirectURL;
257
+ }
258
+ if ($debug) {
259
+ echo $src;
260
+ exit();
261
+ }
262
+ return $src;
263
+ }/*}}}*/
264
+
265
+ public function handleDebit()/*{{{*/
266
+ {
267
+ $debug = false;
268
+ $payCode = $this->actualPaymethod;
269
+ $actModule = 'hp'.strtolower($payCode);
270
+ $ACT_MOD_MODE = 'AFTER';
271
+ $ACT_PAY_MODE = $this->getConfigData('bookingmode');
272
+
273
+ // set transaction ID for order process
274
+ $this->getOrder()->getPayment()->getMethodInstance()->setTransactionId($this->getOrder()->getRealOrderId());
275
+
276
+ // prepare data
277
+ $billing = $this->getOrder()->getBillingAddress();
278
+
279
+ // Immer in der Basisw�hrung des Shops abrechnen
280
+ //$amount = number_format($this->getOrder()->getBaseGrandTotal(), 2, '.', '');
281
+ //$currency = $this->getOrder()->getBaseCurrencyCode();
282
+ // in der aktuell ausgew�hlten W�hrung abrechnen
283
+ $amount = number_format($this->getOrder()->getGrandTotal(), 2, '.', '');
284
+ $currency = $this->getOrder()->getOrderCurrencyCode();
285
+
286
+ #echo '<pre>'.print_r($this->getOrder(), 1).'</pre>';
287
+
288
+ $street = $billing->getStreet();
289
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
290
+ $valid = array('CC', 'DD', 'DC', 'OT', 'GP', 'SU', 'IV', 'IDL', 'EPS', 'PPAL', 'PP'); // valid payment methods
291
+ if ( ! in_array($this->actualPaymethod, $valid)) throw new Exception('Invalid Payment Mode given. '.$this->actualPaymethod);
292
+ if (is_array($locale) && ! empty($locale))
293
+ $language = $locale[0];
294
+ else
295
+ $language = $this->getDefaultLocale();
296
+
297
+ $userId = $this->getOrder()->getCustomerId();
298
+ $orderId = $this->getOrder()->getPayment()->getMethodInstance()->getTransactionId();
299
+ $insertId = $orderId;
300
+ $orderId .= '-'.$userId;
301
+
302
+ $userData = array(
303
+ 'firstname' => $billing->getFirstname(),
304
+ 'lastname' => $billing->getLastname(),
305
+ 'salutation'=> 'MR',#($order->customer['gender']=='f' ? 'MRS' : 'MR'),
306
+ 'street' => $street[0],
307
+ 'zip' => $billing->getPostcode(),
308
+ 'city' => $billing->getCity(),
309
+ 'country' => $billing->getCountry(),
310
+ 'email' => $this->getOrder()->getCustomerEmail(),
311
+ 'ip' => $this->getOrder()->getRemoteIp(),
312
+ );
313
+ if (empty($userData['ip'])) $userData['ip'] = $_SERVER['REMOTE_ADDR']; // Falls IP Leer, dann aus dem Server holen
314
+
315
+ if ($debug) echo 'UniqueId: '.$this->getSession()->getHpUniqueId();
316
+
317
+ $capture = false;
318
+ $payMethod = $ACT_PAY_MODE;
319
+ $changePayType = array('GP', 'SU', 'IDL', 'EPS');
320
+ if (in_array(strtoupper($payCode), $changePayType)) $payCode = 'OT';
321
+ if (strtoupper($payCode == 'PPAL')) $payCode = 'VA';
322
+ if (empty($payMethod)) $payMethod = 'DB';
323
+ if ($payCode == 'OT' && $payMethod == 'DB') $payMethod = 'PA';
324
+
325
+ if (in_array(strtoupper($payCode), array('PP', 'IV'))) {
326
+ if ($payMethod == 'DB') $payMethod = 'PA'; // Rechnung und Vorkasse immer PA
327
+ $capture = true; // Rechnung und Vorkasse immer ohne IFrame
328
+ }
329
+
330
+ // Payment Request zusammenschrauben
331
+ $data = $this->prepareData($orderId, $amount, $currency, $payCode, $userData, $language, $payMethod, $capture, $this->getSession()->getHpUniqueId());
332
+ if ($debug) echo '<pre>'.print_r($data, 1).'</pre>';
333
+ // Mit Payment kommunizieren
334
+ $res = $this->doRequest($data);
335
+ if ($debug) echo '<pre>resp('.print_r($this->response, 1).')</pre>';
336
+ if ($debug) echo '<pre>'.print_r($res, 1).'</pre>';
337
+ // Payment Antwort auswerten
338
+ $res = $this->parseResult($res);
339
+ if ($debug) echo '<pre>'.print_r($res, 1).'</pre>';
340
+ // IFrame erstmal leeren
341
+ $this->getSession()->setHeidelpayIframe(false);
342
+ $authType = '';
343
+ // 3D Secure
344
+ $post = Mage::app()->getRequest()->getParams();
345
+ if (isset($res['all']['PROCESSING.STATUS.CODE']) && isset($res['all']['PROCESSING.RETURN.CODE']) && $res['all']['PROCESSING.STATUS.CODE'] == '80' && $res['all']['PROCESSING.RETURN.CODE'] == '000.200.000' && $res['all']['PROCESSING.REASON.CODE'] == '00'){
346
+ $authType = '3DSecure';
347
+ $src = $res['all']['PROCESSING.REDIRECT.URL'];
348
+ // 3D Iframe zusammenbauen
349
+ $hpIframe = '<iframe src="about:blank" frameborder="0" width="400" height="600" name="heidelpay_frame"></iframe>';
350
+ $hpIframe.= '<form method="post" action="'.$src.'" target="heidelpay_frame" id="heidelpay_form">';
351
+ $hpIframe.= '<input type="hidden" name="TermUrl" value="'.$res['all']['PROCESSING.REDIRECT.PARAMETER.TermUrl'].'">';
352
+ $hpIframe.= '<input type="hidden" name="PaReq" value="'.$res['all']['PROCESSING.REDIRECT.PARAMETER.PaReq'].'">';
353
+ $hpIframe.= '<input type="hidden" name="MD" value="'.$res['all']['PROCESSING.REDIRECT.PARAMETER.MD'].'">';
354
+ $hpIframe.= '</form>';
355
+ $hpIframe.= '<script>document.getElementById("heidelpay_form").submit();</script>';
356
+ // IFrame setzen
357
+ $this->getSession()->setHeidelpayIframe($hpIframe);
358
+ // Letzte Post Daten merken
359
+ $this->getSession()->setHpLastPost($post);
360
+ // Postdaten wieder auslesen zur Kontrolle
361
+ $lastPost = $this->getSession()->getHpLastPost();
362
+ // Wenn keine Postdaten gemerkt, dann Fake Postdaten anlegen
363
+ if (empty($lastPost)) $this->getSession()->setHpLastPost(array('hp' => 1));
364
+ if ($debug) echo '<pre>'.print_r($this->getSession()->getHpLastPost(), 1).'</pre>';
365
+ // Ab zum 3D Secure
366
+ if (!$debug) header('Location: '.Mage::getUrl('heidelpay/payment/threeDSecure/', array('_secure' => true)));
367
+ exit();
368
+ } else if ($ACT_MOD_MODE == 'AFTER') {
369
+ // Letzte Post Daten merken
370
+ $this->getSession()->setHpLastPost($post);
371
+ }
372
+ $processingresult = $res['result'];
373
+ $redirectURL = $res['url'];
374
+ // Standard auf Fehlerseite
375
+ $base = Mage::getUrl('heidelpay/payment/error/', array('_secure' => true));
376
+ $src = $base.'?payment_error='.$actModule;
377
+ // Fehlerfall
378
+ if ($processingresult != "ACK"){
379
+ $src.= '&error='.$res['all']['PROCESSING.RETURN'].'&'.session_name().'='.session_id();
380
+ if (!$debug) header('Location: '.$src);
381
+ if ($debug) echo $src;
382
+ exit();
383
+ // Redirect
384
+ } else if ($processingresult == "ACK" && strstr($redirectURL,"http")) {
385
+ $src = $redirectURL;
386
+ } else if ($processingresult == "ACK"){
387
+ // Danke Seite
388
+ if ($debug) echo 'ActModMode: '.$ACT_MOD_MODE.'<br>';
389
+ if ($ACT_MOD_MODE == 'DIRECT'){
390
+ $shortid = $res['all']['IDENTIFICATION.SHORTID'];
391
+ $uniqueid = $res['all']['IDENTIFICATION.UNIQUEID'];
392
+ // Order Object
393
+ $order = $this->getOrder();
394
+ if ($debug) echo 'OrderId: '.$orderId.'<br>';
395
+ if (!empty($orderId)){
396
+ $order->loadByIncrementId($orderId);
397
+ #echo '<pre>'.print_r($order, 1).'</pre>'; exit();
398
+ // Payment Object
399
+ $payment = $order->getPayment()->getMethodInstance();
400
+ #echo '<pre>'.print_r($payment, 1).'</pre>'; exit();
401
+ // fill order
402
+ if ($order->canInvoice()) {
403
+ $convertor = Mage::getModel('sales/convert_order');
404
+ $invoice = $convertor->toInvoice($order);
405
+ foreach ($order->getAllItems() as $orderItem) {
406
+ if (!$orderItem->getQtyToInvoice()) {
407
+ continue;
408
+ }
409
+ $item = $convertor->itemToInvoiceItem($orderItem);
410
+ $item->setQty($orderItem->getQtyToInvoice());
411
+ $invoice->addItem($item);
412
+ }
413
+
414
+ $invoice->collectTotals();
415
+ $invoice->register()->capture();
416
+ Mage::getModel('core/resource_transaction')
417
+ ->addObject($invoice)
418
+ ->addObject($invoice->getOrder())
419
+ ->save();
420
+ }
421
+ $order->setCustomerNote('Short ID: '.$shortid); // Kommentar auch in EMail
422
+ $order->setState($payment->getPaymentState());
423
+ $order->addStatusToHistory($payment->getPaymentState(), 'Short ID: '.$shortid, $order->getCustomerNoteNotify());
424
+ if ($debug) echo 'PayMethod: '.$payMethod.'<br>';
425
+ if ($debug) echo 'AuthType: '.$authType.'<br>';
426
+ if (strpos($payMethod, 'PA') !== false && $authType != '3DSecure'){
427
+ // TransID f�r PIXI speichern
428
+ $order->getPayment()->setLastTransId($uniqueid);
429
+ if ($debug) echo 'UniqueId: '.$uniqueid.'<br>';
430
+ }
431
+ $order->save();
432
+ }
433
+ }
434
+
435
+ // Speichern der Vorkasse und Rechnungsinformationen in der Bestellung und EMail
436
+ if (in_array(strtoupper($payCode), array('PP', 'IV'))) {
437
+ $hpPayinfos = array(
438
+ 'CONNECTOR_ACCOUNT_BANK' => $res['all']['CONNECTOR_ACCOUNT_BANK'],
439
+ 'CONNECTOR_ACCOUNT_BIC' => $res['all']['CONNECTOR_ACCOUNT_BIC'],
440
+ 'CONNECTOR_ACCOUNT_COUNTRY' => $res['all']['CONNECTOR_ACCOUNT_COUNTRY'],
441
+ 'CONNECTOR_ACCOUNT_HOLDER' => $res['all']['CONNECTOR_ACCOUNT_HOLDER'],
442
+ 'CONNECTOR_ACCOUNT_IBAN' => $res['all']['CONNECTOR_ACCOUNT_IBAN'],
443
+ 'CONNECTOR_ACCOUNT_NUMBER' => $res['all']['CONNECTOR_ACCOUNT_NUMBER'],
444
+ 'PRESENTATION_AMOUNT' => $res['all']['PRESENTATION_AMOUNT'],
445
+ 'PRESENTATION_CURRENCY' => $res['all']['PRESENTATION_CURRENCY'],
446
+ 'IDENTIFICATION_SHORTID' => $res['all']['IDENTIFICATION_SHORTID'],
447
+ );
448
+ $repl = array(
449
+ '{AMOUNT}' => $hpPayinfos['PRESENTATION_AMOUNT'],
450
+ '{CURRENCY}' => $hpPayinfos['PRESENTATION_CURRENCY'],
451
+ '{ACC_COUNTRY}' => $hpPayinfos['CONNECTOR_ACCOUNT_COUNTRY'],
452
+ '{ACC_OWNER}' => $hpPayinfos['CONNECTOR_ACCOUNT_HOLDER'],
453
+ '{ACC_NUMBER}' => $hpPayinfos['CONNECTOR_ACCOUNT_NUMBER'],
454
+ '{ACC_BANKCODE}' => $hpPayinfos['CONNECTOR_ACCOUNT_BANK'],
455
+ '{ACC_BIC}' => $hpPayinfos['CONNECTOR_ACCOUNT_BIC'],
456
+ '{ACC_IBAN}' => $hpPayinfos['CONNECTOR_ACCOUNT_IBAN'],
457
+ '{SHORTID}' => $hpPayinfos['IDENTIFICATION_SHORTID'],
458
+ );
459
+
460
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
461
+ if (is_array($locale) && ! empty($locale))
462
+ $language = $locale[0];
463
+ else
464
+ $language = $this->getDefaultLocale();
465
+
466
+ define('HP_SUCCESS_PREPAID', $this->_getHelper('heidelpay')->__('HP_SUCCESS_PREPAID'));
467
+ $prePaidData = nl2br(strtr(HP_SUCCESS_PREPAID, $repl));
468
+ if ($debug) echo $prePaidData;
469
+
470
+ #$this->getSession()->setHpPayinfos($hpPayinfos);
471
+ $order = $this->getOrder()->setCustomerNote($prePaidData);
472
+ #$payment = $order->getPayment()->getMethodInstance();
473
+ $order->addStatusToHistory($order->getStatus(), $prePaidData, $order->getCustomerNoteNotify());
474
+ $order->save();
475
+ }
476
+
477
+ $src = Mage::getUrl('heidelpay/payment/success/', array('_secure' => true));
478
+ if (!$debug) header('Location: '.$src);
479
+ if (!$debug) exit();
480
+ }
481
+ if ($debug) echo 'Src: '.$src.'<br>';
482
+ if ($debug) exit();
483
+ return $src;
484
+ }/*}}}*/
485
+
486
+ public function prepareData($orderId, $amount, $currency, $payCode, $userData, $lang, $mode = 'DB', $capture = false, $uniqueId = NULL)/*{{{*/
487
+ {
488
+ $payCode = strtoupper($payCode);
489
+ $amount = sprintf('%1.2f', $amount);
490
+ $currency = strtoupper($currency);
491
+ $userData = $this->encodeData($userData);
492
+ $this->pageURL = Mage::getDesign()->getSkinUrl('images/heidelpay/');
493
+
494
+ $parameters['SECURITY.SENDER'] = $this->getSettingData('security_sender');
495
+ $parameters['USER.LOGIN'] = $this->getSettingData('user_id');
496
+ $parameters['USER.PWD'] = $this->getSettingData('user_pwd');
497
+ $parameters['TRANSACTION.CHANNEL'] = $this->getConfigData('channel');
498
+ $parameters['TRANSACTION.MODE'] = $this->getConfigData('transactionmode');
499
+ $parameters['REQUEST.VERSION'] = "1.0";
500
+ $parameters['IDENTIFICATION.TRANSACTIONID'] = $orderId;
501
+ if ($capture){
502
+ $parameters['FRONTEND.ENABLED'] = "false";
503
+ if (!empty($uniqueId)){
504
+ $parameters['ACCOUNT.REGISTRATION'] = $uniqueId;
505
+ }
506
+ } else {
507
+ $parameters['FRONTEND.ENABLED'] = "true";
508
+ }
509
+ $parameters['FRONTEND.REDIRECT_TIME'] = "0";
510
+ $parameters['FRONTEND.POPUP'] = "false";
511
+ $parameters['FRONTEND.MODE'] = "DEFAULT";
512
+ $parameters['FRONTEND.LANGUAGE'] = $lang;
513
+ $parameters['FRONTEND.LANGUAGE_SELECTOR'] = "true";
514
+ $parameters['FRONTEND.ONEPAGE'] = "true";
515
+ if ($mode == 'RG'){
516
+ $parameters['FRONTEND.NEXTTARGET'] = "location.href";
517
+ } else {
518
+ $parameters['FRONTEND.NEXTTARGET'] = "top.location.href";
519
+ }
520
+ $parameters['FRONTEND.CSS_PATH'] = $this->pageURL."heidelpay_style.css";
521
+ $parameters['FRONTEND.RETURN_ACCOUNT']= "true";
522
+
523
+ if ($this->actualPaymethod == 'TP'){
524
+ $parameters['CRITERION.THOMEPAY_EMB'] = "1";
525
+ $parameters['FRONTEND.HEIGHT'] = "700";
526
+ } else if ($this->actualPaymethod == 'SU'){
527
+ $parameters['FRONTEND.HEIGHT'] = "700";
528
+ } else if ($this->actualPaymethod == 'IDL'){
529
+ } else if ($this->actualPaymethod == 'DD'){
530
+ } else if ($this->actualPaymethod == 'GP'){
531
+ } else if ($this->actualPaymethod == 'PPAL'){
532
+ $parameters['ACCOUNT.BRAND'] = 'PAYPAL';
533
+ }
534
+
535
+ foreach($this->_availablePayments as $key=>$value) {
536
+ if ($value != $payCode) {
537
+ $parameters["FRONTEND.PM." . (string)($key + 1) . ".METHOD"] = $value;
538
+ $parameters["FRONTEND.PM." . (string)($key + 1) . ".ENABLED"] = "false";
539
+ }
540
+ }
541
+
542
+ $parameters['PAYMENT.CODE'] = $payCode.".".$mode;
543
+ $parameters['FRONTEND.RESPONSE_URL'] = Mage::getUrl('heidelpay/payment/response', array('_secure' => true));
544
+ if (strpos($_SERVER['REMOTE_ADDR'], '127.0.0') !== false) $parameters['FRONTEND.RESPONSE_URL'] = "http://tobias.heidelpay.de/magento15/heidelpay_response.php".'?'.session_name().'='.session_id();
545
+ $parameters['NAME.GIVEN'] = trim($userData['firstname']);
546
+ $parameters['NAME.FAMILY'] = trim($userData['lastname']);
547
+ $parameters['NAME.SALUTATION'] = $userData['salutation'];
548
+ $parameters['ADDRESS.STREET'] = $userData['street'];
549
+ $parameters['ADDRESS.ZIP'] = $userData['zip'];
550
+ $parameters['ADDRESS.CITY'] = $userData['city'];
551
+ $parameters['ADDRESS.COUNTRY'] = $userData['country'];
552
+ $parameters['CONTACT.EMAIL'] = $userData['email'];
553
+ $parameters['CONTACT.IP'] = $userData['ip'];
554
+ $parameters['PRESENTATION.AMOUNT'] = $amount; // 99.00
555
+ $parameters['PRESENTATION.CURRENCY'] = $currency; // EUR
556
+ $parameters['ACCOUNT.COUNTRY'] = $userData['country'];
557
+
558
+ $imagePath = Mage::getDesign()->getSkinUrl('images/heidelpay/');
559
+ if ($mode != 'RG'){
560
+ $parameters['FRONTEND.BUTTON.1.NAME'] = 'PAY';
561
+ $parameters['FRONTEND.BUTTON.1.TYPE'] = 'IMAGE';
562
+ $parameters['FRONTEND.BUTTON.1.LINK'] = $imagePath.'forward.png';
563
+ $parameters['FRONTEND.BUTTON.2.NAME'] = 'CANCEL';
564
+ $parameters['FRONTEND.BUTTON.2.TYPE'] = 'IMAGE';
565
+ $parameters['FRONTEND.BUTTON.2.LINK'] = $imagePath.'back.png';
566
+ } else {
567
+ $parameters['FRONTEND.BUTTON.1.NAME'] = 'PAY';
568
+ $parameters['FRONTEND.BUTTON.1.TYPE'] = 'IMAGE';
569
+ $parameters['FRONTEND.BUTTON.1.LINK'] = $imagePath.'forward.jpg';
570
+ $parameters['FRONTEND.BUTTON.2.NAME'] = 'CANCEL';
571
+ $parameters['FRONTEND.BUTTON.2.TYPE'] = 'IMAGE';
572
+ $parameters['FRONTEND.BUTTON.2.LINK'] = $imagePath.'space.gif';
573
+ }
574
+
575
+ $parameters['SHOP.TYPE'] = 'Magento ';
576
+ $parameters['SHOPMODULE.VERSION'] = '';
577
+ return $parameters;
578
+ }/*}}}*/
579
+
580
+ public function encodeData($data)/*{{{*/
581
+ {
582
+ $tmp = array();
583
+ foreach($data AS $k => $v){
584
+ $tmp[$k] = $v;
585
+ if (!$this->isUTF8($v)) $tmp[$k] = utf8_encode($v);
586
+ }
587
+ return $tmp;
588
+ }/*}}}*/
589
+
590
+ public function isUTF8($string)/*{{{*/
591
+ {
592
+ if (is_array($string)) {
593
+ $enc = implode('', $string);
594
+ return @!((ord($enc[0]) != 239) && (ord($enc[1]) != 187) && (ord($enc[2]) != 191));
595
+ } else {
596
+ return (utf8_encode(utf8_decode($string)) == $string);
597
+ }
598
+ }/*}}}*/
599
+
600
+ // Pr�ft den IST Zustand auf dem Server
601
+ public function isHTTPS()/*{{{*/
602
+ {
603
+ if (strpos($_SERVER['HTTP_HOST'], '.local') === false){
604
+ if ( !isset($_SERVER['HTTPS']) || ( strtolower($_SERVER['HTTPS']) != 'on' && $_SERVER['HTTPS'] != '1') ) {
605
+ return false;
606
+ }
607
+ } else {
608
+ // Local
609
+ return false;
610
+ }
611
+ return true;
612
+ }/*}}}*/
613
+
614
+ public function doRequest($data)/*{{{*/
615
+ {
616
+ $url = $this->getSettingData('demo_url');
617
+ if ($this->getConfigData('transactionmode') == 'LIVE'){
618
+ $url = $this->getSettingData('live_url');
619
+ }
620
+ $this->url = $url;
621
+
622
+ // Erstellen des Strings f�r die Daten�bermittlung
623
+ $result = '';
624
+ foreach (array_keys($data) AS $key) {
625
+ $data[$key] = utf8_decode($data[$key]);
626
+ $$key = $data[$key];
627
+ $$key = urlencode($$key);
628
+ $$key .= "&";
629
+ $var = strtoupper($key);
630
+ $value = $$key;
631
+ $result .= "$var=$value";
632
+ }
633
+ $strPOST = stripslashes($result);
634
+
635
+ // pr�fen ob CURL existiert
636
+ if (function_exists('curl_init')) {
637
+ $ch = curl_init();
638
+ curl_setopt($ch, CURLOPT_URL, $url);
639
+ curl_setopt($ch, CURLOPT_HEADER, 0);
640
+ curl_setopt($ch, CURLOPT_FAILONERROR, 1);
641
+ curl_setopt($ch, CURLOPT_TIMEOUT, 60);
642
+ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
643
+ curl_setopt($ch, CURLOPT_POST, 1);
644
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $strPOST);
645
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
646
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
647
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
648
+ curl_setopt($ch, CURLOPT_USERAGENT, "php ctpepost");
649
+
650
+ $this->response = curl_exec($ch);
651
+ $this->error = curl_error($ch);
652
+
653
+ #echo '<pre>'.print_r($this->error, 1).'</pre>';
654
+ curl_close($ch);
655
+
656
+ $res = $this->response;
657
+ if (!$this->response && $this->error){
658
+ $res = 'PROCESSING.RESULT=NOK&PROCESSING.RETURN='.$this->error;
659
+ }
660
+
661
+ } else {
662
+ $msg = urlencode('Curl Fehler');
663
+ $res = 'PROCESSING.RESULT=NOK&PROCESSING.RETURN='.$msg;
664
+ }
665
+
666
+ return $res;
667
+ }/*}}}*/
668
+
669
+ public function parseResult($curlresultURL)/*{{{*/
670
+ {
671
+ $r_arr=explode("&",$curlresultURL);
672
+ foreach($r_arr AS $buf) {
673
+ $temp=urldecode($buf);
674
+ if (strpos($buf, '=') !== false){
675
+ list($postatt, $postvar) = explode('=', $temp,2);
676
+ $returnvalue[$postatt]=$postvar;
677
+ }
678
+ }
679
+ $processingresult = '';
680
+ if (isset($returnvalue['PROCESSING.RESULT'])) $processingresult = $returnvalue['PROCESSING.RESULT'];
681
+ if (empty($processingresult)) $processingresult = $returnvalue['POST.VALIDATION'];
682
+
683
+ $redirectURL = '';
684
+ if (isset($returnvalue['FRONTEND.REDIRECT_URL'])) $redirectURL = $returnvalue['FRONTEND.REDIRECT_URL'];
685
+
686
+ if (!isset($returnvalue['PROCESSING.RETURN']) && !empty($returnvalue['POST.VALIDATION'])){
687
+ $returnvalue['PROCESSING.RETURN'] = 'Errorcode: '.$returnvalue['POST.VALIDATION'];
688
+ }
689
+ ksort($returnvalue);
690
+ return array('result' => $processingresult, 'url' => $redirectURL, 'all' => $returnvalue);
691
+ }/*}}}*/
692
+
693
+ public function getPaymentState()/*{{{*/
694
+ {
695
+ return $this->getConfigData('payment_status') ? $this->getConfigData('payment_status') : Mage_Sales_Model_Order::STATE_PROCESSING;
696
+ }/*}}}*/
697
+
698
+ public function getOrderState()/*{{{*/
699
+ {
700
+ return $this->getConfigData('order_status') ? $this->getConfigData('order_status') : Mage_Sales_Model_Order::STATE_PROCESSING;
701
+ }/*}}}*/
702
+
703
+ public function getCancelState()/*{{{*/
704
+ {
705
+ return $this->getConfigData('cancel_status') ? $this->getConfigData('cancel_status') : Mage_Sales_Model_Order::STATE_CANCELED;
706
+ }/*}}}*/
707
+
708
+ public function getErrorState()/*{{{*/
709
+ {
710
+ return $this->getConfigData('error_status') ? $this->getConfigData('error_status') : Mage_Sales_Model_Order::STATE_CLOSED;
711
+ }/*}}}*/
712
+
713
+ public function getWaitState()/*{{{*/
714
+ {
715
+ return $this->getConfigData('wait_status') ? $this->getConfigData('wait_status') : Mage_Sales_Model_Order::STATE_PROCESSING;
716
+ }/*}}}*/
717
+
718
+ protected function _getBookingMode($type)/*{{{*/
719
+ {
720
+ return $this->getConfigData('bookingmode'.$type) ? $this->getConfigData('bookingmode'.$type) : $this->_default_bookingmode;
721
+ }/*}}}*/
722
+
723
+ protected function _getPaymentMode()/*{{{*/
724
+ {
725
+ return $this->getConfigData('paymentmode') ? $this->getConfigData('paymentmode') : $this->_default_paymentmode;
726
+ }/*}}}*/
727
+
728
+ /**
729
+ * Retrieve information from payment configuration
730
+ *
731
+ * @param string $field
732
+ * @return mixed
733
+ */
734
+ public function getConfigData($field, $storeId = null)/*{{{*/
735
+ {
736
+ if (null === $storeId) {
737
+ $storeId = $this->getStore();
738
+ }
739
+ #var_dump($storeId);
740
+ $path = 'payment/'.$this->getCode().'/'.$field;
741
+ $value = Mage::getStoreConfig($path, $storeId);
742
+ if (!$value) {
743
+ $path = 'heidelpay/'.$this->getHPPayment()->getCode().'/'.$field;
744
+ $value = Mage::getStoreConfig($path, $storeId);
745
+ }
746
+ return $value;
747
+ }/*}}}*/
748
+
749
+ /**
750
+ * Retrieve information from payment configuration
751
+ *
752
+ * @param string $payment
753
+ * @param string $field
754
+ * @return mixed
755
+ */
756
+ public function getConfigDataPayment($payment, $field, $storeId = null)/*{{{*/
757
+ {
758
+ if (null === $storeId) {
759
+ $storeId = $this->getStore();
760
+ }
761
+ $path = 'payment/'.$payment.'/'.$field;
762
+ $value = Mage::getStoreConfig($path, $storeId);
763
+ return $value;
764
+ }/*}}}*/
765
+
766
+ public function getSettingData($field, $storeId = null)/*{{{*/
767
+ {
768
+ if (null === $storeId) {
769
+ $storeId = $this->getStore();
770
+ }
771
+ #var_dump($storeId);
772
+ $path = 'heidelpay/settings/'.$field;
773
+ $value = Mage::getStoreConfig($path, $storeId);
774
+ return $value;
775
+ }/*}}}*/
776
+
777
+ /**
778
+ * Retrieve payment method title for Admin
779
+ *
780
+ * @return string
781
+ */
782
+ public function getAdminTitle()/*{{{*/
783
+ {
784
+ return 'Heidelpay';
785
+ }/*}}}*/
786
+ }
app/code/local/Mage/Heidelpay/Model/Order/Payment.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_Model_Order_Payment extends Mage_Sales_Model_Order_Payment
3
+ {
4
+ /**
5
+ * Place payment information
6
+ *
7
+ * This method are colling when order will be place
8
+ *
9
+ * @return Mage_Sales_Model_Order_Payment
10
+ */
11
+ public function place()
12
+ {
13
+ $methodInstance = $this->getMethodInstance();
14
+
15
+ if (!($methodInstance instanceof Mage_Heidelpay_Model_Method_payment)) {
16
+ return parent::place();
17
+ }
18
+
19
+ $this->setAmountOrdered($this->getOrder()->getTotalDue());
20
+ $this->setBaseAmountOrdered($this->getOrder()->getBaseTotalDue());
21
+
22
+ $this->setShippingAmount($this->getOrder()->getShippingAmount());
23
+ $this->setBaseShippingAmount($this->getOrder()->getBaseShippingAmount());
24
+
25
+ /**
26
+ * validating payment method again
27
+ */
28
+ $methodInstance->validate();
29
+
30
+ /**
31
+ * Authorize payment
32
+ */
33
+ if ($action = $methodInstance->getConfigData('payment_action')) {
34
+ switch ($action) {
35
+ case Mage_Payment_Model_Method_Abstract::ACTION_AUTHORIZE:
36
+ $methodInstance->authorize($this, $this->getOrder()->getBaseTotalDue());
37
+ $this->setAmountAuthorized($this->getOrder()->getTotalDue());
38
+ $this->setBaseAmountAuthorized($this->getOrder()->getBaseTotalDue());
39
+ break;
40
+ default:
41
+ break;
42
+ }
43
+ }
44
+
45
+ $tmporder = Mage::getModel('sales/order');
46
+ $tmporder->load($this->getOrder()->getId());
47
+ $orderState = $tmporder->getData('state');
48
+ $orderStatus = $tmporder->getData('status');
49
+
50
+ $this->getOrder()->setState($orderState);
51
+ $this->getOrder()->setData('status',$orderStatus);
52
+
53
+ return $this;
54
+ }
55
+ }
app/code/local/Mage/Heidelpay/Model/Session.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Model_Session extends Mage_Core_Model_Session_Abstract
4
+ {
5
+ public function __construct()
6
+ {
7
+ $this->init('heidelpay');
8
+ }
9
+ }
app/code/local/Mage/Heidelpay/Model/System/Config/Source/Bookingmode.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Model_System_Config_Source_Bookingmode
4
+ {
5
+ public function toOptionArray()
6
+ {
7
+ return array(
8
+ array('value'=>'DB', 'label'=>Mage::helper('heidelpay')->__('Sofortbuchung')),
9
+ array('value'=>'PA', 'label'=>Mage::helper('heidelpay')->__('Reservierung'))
10
+ );
11
+ }
12
+ }
app/code/local/Mage/Heidelpay/Model/System/Config/Source/Orderstatus.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Model_System_Config_Source_Orderstatus extends Mage_Adminhtml_Model_System_Config_Source_Order_Status
4
+ {
5
+ public function toOptionArray()
6
+ {
7
+ $this->_stateStatuses = null;
8
+ return parent::toOptionArray();
9
+ }
10
+ }
app/code/local/Mage/Heidelpay/Model/System/Config/Source/Transactionmode.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Mage_Heidelpay_Model_System_Config_Source_Transactionmode
4
+ {
5
+ public function toOptionArray()
6
+ {
7
+ return array(
8
+ array('value'=>'LIVE', 'label'=>Mage::helper('heidelpay')->__('LIVE')),
9
+ array('value'=>'INTEGRATOR_TEST', 'label'=>Mage::helper('heidelpay')->__('INTEGRATOR_TEST')),
10
+ array('value'=>'CONNECTOR_TEST', 'label'=>Mage::helper('heidelpay')->__('CONNECTOR_TEST')),
11
+ );
12
+ }
13
+ }
app/code/local/Mage/Heidelpay/controllers/PaymentController.php ADDED
@@ -0,0 +1,616 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Heidelpay_PaymentController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ protected $_sendNewOrderEmail = TRUE;
5
+ protected $_order = NULL;
6
+ protected $_paymentInst = NULL;
7
+
8
+ public $importantPPFields = array(
9
+ 'PRESENTATION_AMOUNT',
10
+ 'PRESENTATION_CURRENCY',
11
+ 'CONNECTOR_ACCOUNT_COUNTRY',
12
+ 'CONNECTOR_ACCOUNT_HOLDER',
13
+ 'CONNECTOR_ACCOUNT_NUMBER',
14
+ 'CONNECTOR_ACCOUNT_BANK',
15
+ 'CONNECTOR_ACCOUNT_BIC',
16
+ 'CONNECTOR_ACCOUNT_IBAN',
17
+ 'IDENTIFICATION_SHORTID',
18
+ );
19
+
20
+ protected function _getHelper()
21
+ {
22
+ return Mage::helper('heidelpay');
23
+ }
24
+
25
+ // Spezial f�r Multishops
26
+ public function _xredirect($target, $secure = array())/*{{{*/
27
+ {
28
+ $protocol = 'http://';
29
+ if ($this->isHTTPS()) $protocol = 'https://';
30
+ header('Location: '.$protocol.$_SERVER['HTTP_HOST'].'/'.$target);
31
+ exit();
32
+ }/*}}}*/
33
+
34
+ public function isHTTPS()/*{{{*/
35
+ {
36
+ if (strpos($_SERVER['HTTP_HOST'], '.local') === false){
37
+ if ( !isset($_SERVER['HTTPS']) || ( strtolower($_SERVER['HTTPS']) != 'on' && $_SERVER['HTTPS'] != '1') ) {
38
+ return false;
39
+ }
40
+ } else {
41
+ // Local
42
+ return false;
43
+ }
44
+ return true;
45
+ }/*}}}*/
46
+
47
+ protected function _expireAjax()/*{{{*/
48
+ {
49
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
50
+ $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
51
+ exit;
52
+ }
53
+ }/*}}}*/
54
+
55
+ /**
56
+ * Get singleton with HP order transaction information
57
+ *
58
+ * @return Mage_Heidelpay_Model_Method_payment
59
+ */
60
+ public function getHPPayment()/*{{{*/
61
+ {
62
+ return Mage::getSingleton('heidelpay/method_payment');
63
+ }/*}}}*/
64
+
65
+ /**
66
+ * Get order model
67
+ *
68
+ * @return Mage_Sales_Model_Order
69
+ */
70
+ public function getOrder()/*{{{*/
71
+ {
72
+ return Mage::getModel('sales/order');
73
+ }/*}}}*/
74
+
75
+ /**
76
+ * Get checkout session namespace
77
+ *
78
+ * @return Mage_Checkout_Model_Session
79
+ */
80
+ public function getCheckout()/*{{{*/
81
+ {
82
+ return Mage::getSingleton('checkout/session');
83
+ }/*}}}*/
84
+
85
+ /**
86
+ * Get current quote
87
+ *
88
+ * @return Mage_Sales_Model_Quote
89
+ */
90
+ public function getQuote()/*{{{*/
91
+ {
92
+ return $this->getCheckout()->getQuote();
93
+ }/*}}}*/
94
+
95
+ /**
96
+ * Get hp session namespace
97
+ *
98
+ * @return Mage_Heidelpay_Model_Session
99
+ */
100
+ public function getSession()/*{{{*/
101
+ {
102
+ return Mage::getSingleton('core/session');
103
+ #return Mage::getSingleton('heidelpay/session');
104
+ }/*}}}*/
105
+
106
+ /**
107
+ * Get HP errors namespace
108
+ *
109
+ * @return Mage_Heidelpay_Model_Session
110
+ */
111
+ public function getErrors()/*{{{*/
112
+ {
113
+ return Mage::getSingleton('heidelpay/errors');
114
+ }/*}}}*/
115
+
116
+ /**
117
+ * iframe return from hp payment
118
+ */
119
+ public function iframeAction()/*{{{*/
120
+ {
121
+ $this->_loadCheckoutObjects();
122
+
123
+ // set quote to active
124
+ if ($quoteId = $this->getCheckout()->getQuoteId()) {
125
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
126
+ if ($quote->getId()) {
127
+ $quote->setIsActive(true)->save();
128
+ }
129
+ }
130
+
131
+ $order = $this->getOrder();
132
+ $session = $this->getCheckout();
133
+ $order->loadByIncrementId($session->getLastRealOrderId());
134
+
135
+ $payment = $order->getPayment()->getMethodInstance();
136
+
137
+ $ACT_MOD_MODE = $payment->getConfigData('modulemode');
138
+ if (!$ACT_MOD_MODE) $ACT_MOD_MODE = 'AFTER';
139
+ /*
140
+ // restock
141
+ if ($ACT_MOD_MODE == 'AFTER'){
142
+ #if (!isset($_SESSION['updated']) || $_SESSION['updated'] != $session->getLastRealOrderId()) {
143
+ if ($this->getSession()->getStockUpdated() != $session->getLastRealOrderId()) {
144
+ $items = $order->getAllItems();
145
+ if ($items) {
146
+ foreach($items as $item) {
147
+ $quantity = $item->getQtyOrdered();
148
+ $product_id = $item->getProductId();
149
+ // load stock for product
150
+ $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id);
151
+ // set to old qty
152
+ $stock->setQty($stock->getQty() + $quantity);
153
+ $stock->save();
154
+ }
155
+ }
156
+ #$_SESSION['updated'] = $session->getLastRealOrderId();
157
+ $this->getSession()->setStockUpdated($session->getLastRealOrderId());
158
+ }
159
+ }
160
+ */
161
+ $this->loadLayout();
162
+ $iframe = $payment->getHeidelpayIFrameUrl();
163
+ $this->getLayout()->getBlock('heidelpay_iframe')->setHPIframeUrl($iframe);
164
+ Mage::dispatchEvent('heidelpay_payment_controller_iframe_action');
165
+ $this->renderLayout();
166
+ }/*}}}*/
167
+
168
+ /**
169
+ * Load quote and order objects from session
170
+ */
171
+ protected function _loadCheckoutObjects()/*{{{*/
172
+ {
173
+ // load quote
174
+ $this->getCheckout()->setQuoteId($this->getCheckout()->getHeidelpayQuoteId(false));
175
+
176
+ // load order
177
+ $this->_order = Mage::getModel('sales/order');
178
+ $this->_order->loadByIncrementId($this->getCheckout()->getHeidelpayLastRealOrderId(false));
179
+ }/*}}}*/
180
+
181
+ /**
182
+ * lightbox return from hp payment
183
+ */
184
+ public function lightboxAction()/*{{{*/
185
+ {
186
+ $order = $this->getOrder();
187
+ $session = $this->getCheckout();
188
+ $order->loadByIncrementId($session->getLastRealOrderId());
189
+ $payment = $order->getPayment()->getMethodInstance();
190
+ $this->loadLayout();
191
+ $iframe = $payment->getHeidelpayIFrameUrl();
192
+ $this->getLayout()->getBlock('heidelpay_lightbox')->setHPIframeUrl($iframe);
193
+ Mage::dispatchEvent('heidelpay_payment_controller_lightbox_action');
194
+ $this->renderLayout();
195
+ }/*}}}*/
196
+
197
+ /**
198
+ * successful return from Heidelpay payment
199
+ */
200
+ public function successAction()/*{{{*/
201
+ {
202
+ try {
203
+ // load quote and order
204
+ $this->_loadCheckoutObjects();
205
+
206
+ // if order is canceled
207
+ if ($this->_order->getStatus() == $this->getHPPayment()->getCancelState()) {
208
+ $this->cancelAction();
209
+ return;
210
+ }
211
+
212
+ // Derzeit auskommentiert, da es scheinbar den verschiedenen Magento Versionen immer andere Werte gibt
213
+ /*
214
+ // Check if Status is paid
215
+ $payment = $this->_order->getPayment()->getMethodInstance();
216
+ // echo $payment->getPaymentState().' != '.$this->_order->getStatus().' != '.$this->_order->getState().' != '.$this->getHPPayment()->getPaymentState(); return;
217
+ if ($this->_order->getStatus() != $payment->getPaymentState()) {
218
+ Mage::throwException($this->_getHelper()->__('Sorry, your payment has not been confirmed by the payment provider.'));
219
+ }
220
+ */
221
+
222
+ $this->getCheckout()->getQuote()->setIsActive(false)->save();
223
+ $this->getCheckout()->clear();
224
+ Mage::dispatchEvent('heidelpay_payment_controller_success_action');
225
+ //send confirmation email to customer
226
+ if($this->_order->getId()) $this->_order->sendNewOrderEmail();
227
+
228
+ // payment is okay. show success page.
229
+ $this->getCheckout()->setLastSuccessQuoteId($this->_order->getQuoteId());
230
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
231
+ return;
232
+ } catch(Mage_Core_Exception $e) {
233
+ $this->getCheckout()->addError($this->_getHelper()->__($e->getMessage()));
234
+ } catch(Exception $e) {
235
+ Mage::logException($e);
236
+ }
237
+
238
+ $this->_redirect('checkout/cart', array('_secure' => true));
239
+ }/*}}}*/
240
+
241
+ /**
242
+ * cancel return from hp payment
243
+ */
244
+ public function cancelAction()/*{{{*/
245
+ {
246
+ try {
247
+ // load quote and order
248
+ $this->_loadCheckoutObjects();
249
+
250
+ // cancel order
251
+ if ($this->_order->canCancel()) {
252
+ $this->_order->cancel();
253
+ $this->_order->addStatusToHistory($this->getHPPayment()->getCancelState(), $this->_getHelper()->__('The transaction has been canceled.'));
254
+ $this->_order->save();
255
+ }
256
+
257
+ // set quote to active
258
+ if ($quoteId = $this->getCheckout()->getQuoteId()) {
259
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
260
+ if ($quote->getId()) {
261
+ $quote->setIsActive(true)->save();
262
+ }
263
+ }
264
+
265
+ // add error message
266
+ $this->getCheckout()->addError($this->_getHelper()->__('The order has been canceled.'));
267
+
268
+ $order = $this->getOrder();
269
+ $order->load($this->getCheckout()->getLastOrderId());
270
+ if($order->getId()){
271
+ $order->setState($this->getHPPayment()->getCancelState());
272
+ $order->addStatusToHistory($this->getHPPayment()->getCancelState());
273
+ $order->save();
274
+ }
275
+
276
+ $this->getSession()->setHpUniqueId('');
277
+
278
+ Mage::dispatchEvent('heidelpay_payment_controller_cancel_action');
279
+ } catch(Mage_Core_Exception $e) {
280
+ $this->getCheckout()->addError($this->_getHelper()->__($e->getMessage()));
281
+ } catch(Exception $e) {
282
+ Mage::logException($e);
283
+ }
284
+
285
+ // redirect customer to cart
286
+ $this->_redirect('checkout/cart', array('_secure' => true));
287
+ }/*}}}*/
288
+
289
+ public function errorAction()/*{{{*/
290
+ {
291
+ try {
292
+ // load quote and order
293
+ $this->_loadCheckoutObjects();
294
+
295
+ // cancel order
296
+ if ($this->_order->canCancel()) {
297
+ $this->_order->cancel();
298
+ $this->_order->addStatusToHistory($this->getHPPayment()->getErrorState(), $this->_getHelper()->__('An error occured during the payment process.'));
299
+ $this->_order->save();
300
+ }
301
+
302
+ // add error message // Changed 20.04.2012
303
+ $error = Mage::app()->getRequest()->getParam('error');
304
+ if (!empty($error)){
305
+ $this->getCheckout()->addError($error);
306
+ } else {
307
+ $this->getCheckout()->addError($this->_getHelper()->__('An error occured during the payment process.'));
308
+ }
309
+
310
+ Mage::dispatchEvent('heidelpay_payment_controller_error_action');
311
+ } catch(Mage_Core_Exception $e) {
312
+ $this->getCheckout()->addError($this->_getHelper()->__($e->getMessage()));
313
+ } catch(Exception $e) {
314
+ Mage::logException($e);
315
+ }
316
+
317
+ // redirect customer to cart
318
+ $this->_redirect('checkout/cart', array('_secure' => true));
319
+ }/*}}}*/
320
+
321
+ /**
322
+ * redirect return from Heidelpay payment (iframe)
323
+ */
324
+ public function redirectAction()/*{{{*/
325
+ {
326
+ try {
327
+ $session = $this->getCheckout();
328
+
329
+ $order = Mage::getModel('sales/order');
330
+ $order->loadByIncrementId($session->getLastRealOrderId());
331
+
332
+ #echo '<pre>'.print_r($order, 1).'</pre>';
333
+ if (!$order->getId()) {
334
+ Mage::throwException('No order for processing found');
335
+ }
336
+
337
+ if ($order->getState() != Mage_Sales_Model_Order::STATE_PENDING_PAYMENT) {
338
+ $order->setState(
339
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
340
+ $this->getHPPayment()->getWaitState(),
341
+ $this->_getHelper()->__('Customer was redirected to Payment IFrame.')
342
+ )->save();
343
+ }
344
+
345
+ if ($session->getQuoteId() && $session->getLastSuccessQuoteId()) {
346
+ $session->setHeidelpayQuoteId($session->getQuoteId());
347
+ $session->setHeidelpayLastSuccessQuoteId($session->getLastSuccessQuoteId());
348
+ $session->setHeidelpayLastRealOrderId($session->getLastRealOrderId());
349
+ $session->getQuote()->setIsActive(true)->save();
350
+ $session->clear();
351
+ }
352
+
353
+ Mage::dispatchEvent('hp_payment_controller_redirect_action');
354
+
355
+ $payment = $order->getPayment()->getMethodInstance()->getCode();
356
+ $this->_redirect('heidelpay/payment/iframe', array('_secure' => true));
357
+ return;
358
+ } catch (Exception $e){
359
+ Mage::logException($e);
360
+ $this->_redirect('checkout/cart', array('_secure' => true));
361
+ }
362
+ }/*}}}*/
363
+
364
+ /**
365
+ * iframe return from hp payment
366
+ */
367
+ public function suformAction()/*{{{*/
368
+ {
369
+ $this->_loadCheckoutObjects();
370
+
371
+ // set quote to active
372
+ if ($quoteId = $this->getCheckout()->getQuoteId()) {
373
+ $quote = Mage::getModel('sales/quote')->load($quoteId);
374
+ if ($quote->getId()) {
375
+ $quote->setIsActive(true)->save();
376
+ }
377
+ }
378
+
379
+ $order = $this->getOrder();
380
+ $session = $this->getCheckout();
381
+ $order->loadByIncrementId($session->getLastRealOrderId());
382
+
383
+ $payment = $order->getPayment()->getMethodInstance();
384
+
385
+ $ACT_MOD_MODE = $payment->getConfigData('modulemode');
386
+ if (!$ACT_MOD_MODE) $ACT_MOD_MODE = 'AFTER';
387
+
388
+ $this->loadLayout();
389
+ $iframe = $payment->getHeidelpayIFrameUrl();
390
+ $form = $this->getSession()->getHeidelpaySURedirectForm();
391
+
392
+ $this->getLayout()->getBlock('heidelpay_suform')->setHPSUFormData($form);
393
+ Mage::dispatchEvent('heidelpay_payment_controller_suform_action');
394
+ $this->renderLayout();
395
+ }/*}}}*/
396
+
397
+ /**
398
+ * response from Heidelpay payment
399
+ */
400
+ public function responseAction()/*{{{*/
401
+ {
402
+ $post = Mage::app()->getRequest()->getParams();
403
+ #echo '<pre>'.print_r($post, 1).'</pre>';
404
+
405
+ $returnvalue = '';
406
+ if (isset($post['PROCESSING_RESULT'])) $returnvalue = $post['PROCESSING_RESULT'];
407
+ if ($returnvalue){
408
+ $shortid = $orderId = $uniqueid = $authType = $statusCode = $processReturn = $frontendCancel = $payCode = $custId = '';
409
+ $accBrand = $accExpMonth = $accExpYear = $accHolder = $accNumber = $accBank = '';
410
+ $conAccCountry = $conAccHolder = $conAccNumber = $conAccBank = $conAccBic = $conAccIban = $presAmount = $presCurrency = '';
411
+ if (isset($post['IDENTIFICATION_SHORTID'])) $shortid = $post['IDENTIFICATION_SHORTID'];
412
+ if (isset($post['IDENTIFICATION_TRANSACTIONID'])) $orderId = $post['IDENTIFICATION_TRANSACTIONID'];
413
+ if (isset($post['IDENTIFICATION_UNIQUEID'])) $uniqueid = $post['IDENTIFICATION_UNIQUEID'];
414
+ if (isset($post['AUTHENTICATION_TYPE'])) $authType = $post['AUTHENTICATION_TYPE'];
415
+ if (isset($post['PROCESSING_STATUS_CODE'])) $statusCode = $post['PROCESSING_STATUS_CODE'];
416
+ if (isset($post['PROCESSING_RETURN'])) $processReturn = $post['PROCESSING_RETURN'];
417
+ if (isset($post['FRONTEND_REQUEST_CANCELLED'])) $frontendCancel = $post['FRONTEND_REQUEST_CANCELLED'];
418
+ if (isset($post['PAYMENT_CODE'])) $payCode = $post['PAYMENT_CODE'];
419
+ if (isset($post['ACCOUNT_BRAND'])) $accBrand = $post['ACCOUNT_BRAND'];
420
+ if (isset($post['ACCOUNT_EXPIRY_MONTH'])) $accExpMonth = $post['ACCOUNT_EXPIRY_MONTH'];
421
+ if (isset($post['ACCOUNT_EXPIRY_YEAR'])) $accExpYear = $post['ACCOUNT_EXPIRY_YEAR'];
422
+ if (isset($post['ACCOUNT_HOLDER'])) $accHolder = $post['ACCOUNT_HOLDER'];
423
+ if (isset($post['ACCOUNT_NUMBER'])) $accNumber = $post['ACCOUNT_NUMBER'];
424
+ if (isset($post['ACCOUNT_BANK'])) $accBank = $post['ACCOUNT_BANK'];
425
+ if (isset($post['CONNECTOR_ACCOUNT_COUNTRY'])) $conAccCountry = $post['CONNECTOR_ACCOUNT_COUNTRY'];
426
+ if (isset($post['CONNECTOR_ACCOUNT_HOLDER'])) $conAccHolder = $post['CONNECTOR_ACCOUNT_HOLDER'];
427
+ if (isset($post['CONNECTOR_ACCOUNT_NUMBER'])) $conAccNumber = $post['CONNECTOR_ACCOUNT_NUMBER'];
428
+ if (isset($post['CONNECTOR_ACCOUNT_BANK'])) $conAccBank = $post['CONNECTOR_ACCOUNT_BANK'];
429
+ if (isset($post['CONNECTOR_ACCOUNT_BIC'])) $conAccBic = $post['CONNECTOR_ACCOUNT_BIC'];
430
+ if (isset($post['CONNECTOR_ACCOUNT_IBAN'])) $conAccIban = $post['CONNECTOR_ACCOUNT_IBAN'];
431
+ if (isset($post['PRESENTATION_AMOUNT'])) $presAmount = $post['PRESENTATION_AMOUNT'];
432
+ if (isset($post['PRESENTATION_CURRENCY'])) $presCurrency = $post['PRESENTATION_CURRENCY'];
433
+
434
+ // Order ID extrahieren
435
+ if (strpos($orderId, '-') !== false){
436
+ $parts = explode('-', $orderId);
437
+ $orderId = $parts[0];
438
+ $custId = $parts[1];
439
+ }
440
+
441
+ // Order Object
442
+ $order = $this->getOrder();
443
+ if (!empty($orderId)){
444
+ $order->loadByIncrementId($orderId);
445
+ // Payment Object
446
+ $payment = $order->getPayment()->getMethodInstance();
447
+ #echo '<pre>'.print_r($payment, 1).'</pre>';
448
+ }
449
+
450
+ $params = '';
451
+ $prePaidData = '';
452
+ // Vorkasse Sonderkrams
453
+ if ($payCode == 'PP.PA'){
454
+ $params.= '&pcode='.$payCode.'&';
455
+ foreach($this->importantPPFields AS $k => $v){
456
+ if (isset($post[$v])) $params.= $v.'='.$post[$v].'&';
457
+ }
458
+ $repl = array(
459
+ '{AMOUNT}' => $presAmount,
460
+ '{CURRENCY}' => $presCurrency,
461
+ '{ACC_COUNTRY}' => $conAccCountry,
462
+ '{ACC_OWNER}' => $conAccHolder,
463
+ '{ACC_NUMBER}' => $conAccNumber,
464
+ '{ACC_BANKCODE}' => $conAccBank,
465
+ '{ACC_BIC}' => $conAccBic,
466
+ '{ACC_IBAN}' => $conAccIban,
467
+ '{SHORTID}' => $shortid,
468
+ );
469
+
470
+ $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
471
+ if (is_array($locale) && ! empty($locale))
472
+ $language = $locale[0];
473
+ else
474
+ $language = $this->getDefaultLocale();
475
+
476
+ define('HP_SUCCESS_PREPAID', $this->_getHelper('heidelpay')->__('HP_SUCCESS_PREPAID'));
477
+
478
+ $prePaidData = strtr(HP_SUCCESS_PREPAID, $repl);
479
+ }
480
+
481
+ // Wenn die OT Zahlung nicht erfolgreich war, dann gespeicherte Kontodaten l�schen
482
+ if (!strstr($returnvalue,"ACK") && strpos($payCode, 'OT') !== false){
483
+ $customer = Mage::getModel('customer/customer')->load($custId);
484
+ $customer->setHeidelpayLastBlz($accBank);
485
+ $customer->setHeidelpayLastKto($accNumber);
486
+ $customer->setHeidelpayLastHolder($accHolder);
487
+ $customer->save();
488
+ }
489
+
490
+ #echo '<pre>'.print_r($order, 1).'</pre>'; exit();
491
+ if (strstr($returnvalue,"ACK")) {
492
+ if (strpos($payCode, 'RG') !== false){
493
+ # Register
494
+ } else {
495
+ if (!empty($orderId)){
496
+ // fill order
497
+ if ($order->canInvoice()) {
498
+ $convertor = Mage::getModel('sales/convert_order');
499
+ $invoice = $convertor->toInvoice($order);
500
+ foreach ($order->getAllItems() as $orderItem) {
501
+ if (!$orderItem->getQtyToInvoice()) {
502
+ continue;
503
+ }
504
+ $item = $convertor->itemToInvoiceItem($orderItem);
505
+ $item->setQty($orderItem->getQtyToInvoice());
506
+ $invoice->addItem($item);
507
+ }
508
+
509
+ $invoice->collectTotals();
510
+ $invoice->register()->capture();
511
+ Mage::getModel('core/resource_transaction')
512
+ ->addObject($invoice)
513
+ ->addObject($invoice->getOrder())
514
+ ->save();
515
+ $invoice->sendEmail(); // Rechnung versenden
516
+ }
517
+
518
+ $order->setState($payment->getPaymentState());
519
+ $order->addStatusToHistory($payment->getPaymentState(), 'Short ID: '.$shortid.' '.$prePaidData, $order->getCustomerNoteNotify());
520
+ if (strpos($payCode, 'PA') !== false){ # Nur bei PA speichern.
521
+ // TransID f�r PIXI speichern
522
+ $order->getPayment()->setLastTransId($uniqueid);
523
+ }
524
+ $order->setCustomerNote('Short ID: '.$shortid); // Kommentar auch in EMail
525
+ $order->save();
526
+ }
527
+ }
528
+ if ($statusCode == '90' && $authType == '3DSecure'){
529
+ #print $base."/index.php/default/Heidelpay/payment/afterThreeDSecure/";
530
+ echo Mage::getUrl('heidelpay/payment/afterThreeDSecure/', array('_secure' => true));
531
+ } else {
532
+ if (strpos($payCode, 'RG') !== false){
533
+ #echo '<pre>Custid: '.print_r($custId, 1).'</pre>';
534
+ if ($custId > 0){
535
+ $customer = Mage::getModel('customer/customer')->load($custId);
536
+ #echo '<pre>'.print_r($customer, 1).'</pre>';
537
+ if (strpos($payCode, 'OT') !== false){
538
+ $customer->setHeidelpayLastBlz($accBank);
539
+ $customer->setHeidelpayLastKto($accNumber);
540
+ $customer->setHeidelpayLastHolder($accHolder);
541
+ }
542
+ if (strpos($payCode, 'CC') !== false){
543
+ $customer->setHeidelpayCcardUniqueId($uniqueid);
544
+ $customer->setHeidelpayCcardPaymentType($payCode);
545
+ $customer->setHeidelpayCcard($accNumber);
546
+ $customer->setHeidelpayCcardValidUntil($accExpMonth.' / '.$accExpYear);
547
+ $customer->setHeidelpayCcardBrand($accBrand);
548
+ $customer->setHeidelpayCcardHolder($accHolder);
549
+ }
550
+ if (strpos($payCode, 'DC') !== false){
551
+ $customer->setHeidelpayDcardUniqueId($uniqueid);
552
+ $customer->setHeidelpayDcardPaymentType($payCode);
553
+ $customer->setHeidelpayDcard($accNumber);
554
+ $customer->setHeidelpayDcardValidUntil($accExpMonth.' / '.$accExpYear);
555
+ $customer->setHeidelpayDcardBrand($accBrand);
556
+ $customer->setHeidelpayDcardHolder($accHolder);
557
+ }
558
+ $customer->save();
559
+ }
560
+ echo Mage::getUrl('heidelpay/payment/afterRegister/', array('_secure' => true)).'?uniqueId='.$uniqueid;
561
+ } else {
562
+ echo Mage::getUrl('heidelpay/payment/success/', array('_secure' => true)).'?uniqueId='.$uniqueid.$params;
563
+ }
564
+ }
565
+ } else if ($frontendCancel == 'true'){
566
+ if (!empty($orderId)){
567
+ $order->setState($payment->getCancelState());
568
+ $order->addStatusToHistory($payment->getCancelState(), 'Cancelled by User', $order->getCustomerNoteNotify());
569
+ $order->save();
570
+ }
571
+ // Bei CC und DC nur bei DIRECT die CANCEL Methode nutzen.
572
+ //if (!empty($orderId) && (strpos($payCode, 'CC') !== false || strpos($payCode, 'DC') !== false) && $payment->getConfigData('bookingmode') == 'DIRECT'){
573
+ if ((strpos($payCode, 'CC') !== false || strpos($payCode, 'DC') !== false)){
574
+ print Mage::getUrl('heidelpay/payment/cancel/', array('_secure' => true, 'error' => 'Cancelled by User'));
575
+ } else {
576
+ print Mage::getUrl('checkout/onepage/', array('_secure' => true));
577
+ }
578
+ } else {
579
+ if (!empty($orderId)){
580
+ $order->setState($payment->getErrorState());
581
+ $order->addStatusToHistory($payment->getErrorState(), $processReturn, $order->getCustomerNoteNotify());
582
+ $order->save();
583
+ }
584
+ if ($processReturn == 'Canceled by user'){
585
+ print Mage::getUrl('checkout/onepage/', array('_secure' => true));
586
+ } else {
587
+ print Mage::getUrl('heidelpay/payment/error/', array('_secure' => true)).'?error='.urlencode($processReturn);
588
+ }
589
+ }
590
+ } else {
591
+ echo 'FAIL';
592
+ }
593
+ }/*}}}*/
594
+
595
+ public function afterRegisterAction()/*{{{*/
596
+ {
597
+ $request = Mage::app()->getRequest()->getParams();
598
+ $this->getSession()->setHpUniqueId($request['uniqueId']);
599
+ echo '<script>top.payment.save()</script>';
600
+ return;
601
+ }/*}}}*/
602
+
603
+ public function threeDSecureAction()/*{{{*/
604
+ {
605
+ $this->loadLayout();
606
+ $this->getLayout()->getBlock('heidelpay_secure')->setHP3DIframe($this->getSession()->getHeidelpayIframe());
607
+ Mage::dispatchEvent('heidelpay_payment_controller_threeDSecure_action');
608
+ $this->renderLayout();
609
+ }/*}}}*/
610
+
611
+ public function afterThreeDSecureAction()/*{{{*/
612
+ {
613
+ echo '<script>top.location.href="'.Mage::getUrl('heidelpay/payment/success/', array('_secure' => true)).'";</script>';
614
+ }/*}}}*/
615
+
616
+ }
app/code/local/Mage/Heidelpay/etc/adminhtml.xml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <config>
4
+ <translate>
5
+ <modules>
6
+ <Mage_Heidelpay>
7
+ <files>
8
+ <default>Mage_Heidelpay.csv</default>
9
+ </files>
10
+ </Mage_Heidelpay>
11
+ </modules>
12
+ </translate>
13
+ <acl>
14
+ <resources>
15
+ <admin>
16
+ <children>
17
+ <system>
18
+ <children>
19
+ <config>
20
+ <children>
21
+ <heidelpay>
22
+ <title>Heidelpay Section</title>
23
+ </heidelpay>
24
+ </children>
25
+ </config>
26
+ </children>
27
+ </system>
28
+ </children>
29
+ </admin>
30
+ </resources>
31
+ </acl>
32
+ </config>
app/code/local/Mage/Heidelpay/etc/config.xml ADDED
@@ -0,0 +1,385 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Mage_Heidelpay>
5
+ <version>1.0.1</version>
6
+ </Mage_Heidelpay>
7
+ </modules>
8
+ <!--{{{Global-->
9
+ <global>
10
+ <models>
11
+ <heidelpay>
12
+ <class>Mage_Heidelpay_Model</class>
13
+ <resourceModel>heidelpay_mysql4</resourceModel>
14
+ </heidelpay>
15
+ <heidelpay_mysql4>
16
+ <class>Mage_Heidelpay_Model_Mysql4</class>
17
+ <entities>
18
+ <authors>
19
+ <table>heidelpay</table>
20
+ </authors>
21
+ </entities>
22
+ </heidelpay_mysql4>
23
+
24
+ <!--
25
+ <sales>
26
+ <rewrite>
27
+ <order_payment>Mage_Heidelpay_Model_Order_Payment</order_payment>
28
+ </rewrite>
29
+ </sales>
30
+ -->
31
+ </models>
32
+ <blocks>
33
+ <heidelpay>
34
+ <class>Mage_Heidelpay_Block</class>
35
+ </heidelpay>
36
+ </blocks>
37
+
38
+ <helpers>
39
+
40
+ </helpers>
41
+ <resources>
42
+
43
+ <heidelpay_setup>
44
+ <setup>
45
+ <module>Mage_Heidelpay</module>
46
+ <class>Mage_Heidelpay_Model_Entity_Setup</class>
47
+ </setup>
48
+ <connection>
49
+ <use>core_setup</use>
50
+ </connection>
51
+ </heidelpay_setup>
52
+
53
+ <heidelpay_write>
54
+ <connection>
55
+ <use>core_write</use>
56
+ </connection>
57
+ </heidelpay_write>
58
+ <heidelpay_read>
59
+ <connection>
60
+ <use>core_read</use>
61
+ </connection>
62
+ </heidelpay_read>
63
+ </resources>
64
+ <sales>
65
+ <order>
66
+ <statuses>
67
+ <hppaid translate="label"><label>Paid</label></hppaid>
68
+ <hpwait translate="label"><label>Waiting</label></hpwait>
69
+ <hpcancel translate="label"><label>Cancel</label></hpcancel>
70
+ <hperror translate="label"><label>Error</label></hperror>
71
+ </statuses>
72
+ <states>
73
+ <hppaid translate="label">
74
+ <label>Paid</label>
75
+ <statuses>
76
+ <paid/>
77
+ </statuses>
78
+ <visible_on_front/>
79
+ </hppaid>
80
+ <hpwait translate="label">
81
+ <label>Waiting</label>
82
+ <statuses>
83
+ <wait/>
84
+ </statuses>
85
+ <visible_on_front/>
86
+ </hpwait>
87
+ <hpcancel translate="label">
88
+ <label>Cancel</label>
89
+ <statuses>
90
+ <cancel/>
91
+ </statuses>
92
+ <visible_on_front/>
93
+ </hpcancel>
94
+ <hperror translate="label">
95
+ <label>Error</label>
96
+ <statuses>
97
+ <error/>
98
+ </statuses>
99
+ <visible_on_front/>
100
+ </hperror>
101
+ </states>
102
+ </order>
103
+ </sales>
104
+ </global>
105
+ <!--}}}-->
106
+ <!--{{{Frontend-->
107
+ <frontend>
108
+ <secure_url>
109
+ <heidelpay_payment_iframe>heidelpay/payment/iframe</heidelpay_payment_iframe>
110
+ </secure_url>
111
+ <routers>
112
+ <heidelpay>
113
+ <use>standard</use>
114
+ <args>
115
+ <module>Mage_Heidelpay</module>
116
+ <frontName>heidelpay</frontName>
117
+ </args>
118
+ </heidelpay>
119
+ </routers>
120
+ <translate>
121
+ <modules>
122
+ <Mage_Heidelpay>
123
+ <files>
124
+ <default>Mage_Heidelpay.csv</default>
125
+ </files>
126
+ </Mage_Heidelpay>
127
+ </modules>
128
+ </translate>
129
+ <layout>
130
+ <updates>
131
+ <heidelpay>
132
+ <file>heidelpay.xml</file>
133
+ </heidelpay>
134
+ </updates>
135
+ </layout>
136
+ </frontend>
137
+ <!--}}}-->
138
+ <!--{{{Admin-->
139
+ <admin>
140
+ <routers>
141
+ <heidelpay>
142
+ <use>admin</use>
143
+ <args>
144
+ <module>Mage_Heidelpay</module>
145
+ <frontName>Heidelpay</frontName>
146
+ </args>
147
+ </heidelpay>
148
+ </routers>
149
+ </admin>
150
+
151
+ <adminhtml>
152
+ <translate>
153
+ <modules>
154
+ <Mage_Heidelpay>
155
+ <files>
156
+ <default>Mage_Heidelpay.csv</default>
157
+ </files>
158
+ </Mage_Heidelpay>
159
+ </modules>
160
+ </translate>
161
+ <acl>
162
+ <resources>
163
+ <admin>
164
+ <children>
165
+ <system>
166
+ <children>
167
+ <config>
168
+ <children>
169
+ <heidelpay>
170
+ <title>Heidelpay Section</title>
171
+ </heidelpay>
172
+ </children>
173
+ </config>
174
+ </children>
175
+ </system>
176
+ </children>
177
+ </admin>
178
+ </resources>
179
+ </acl>
180
+ </adminhtml>
181
+ <!--}}}-->
182
+ <default>
183
+ <heidelpay>
184
+ <settings>
185
+ <security_sender>31HA07BC8124AD82A9E96D9A35FAFD2A</security_sender>
186
+ <user_id>31HA07BC8124AD82A9E96D486D19EDAA</user_id>
187
+ <user_pwd>password</user_pwd>
188
+ <live_url>https://heidelpay.hpcgw.net/sgw/gtw</live_url>
189
+ <demo_url>https://test-heidelpay.hpcgw.net/sgw/gtw</demo_url>
190
+ </settings>
191
+ </heidelpay>
192
+ <payment>
193
+ <!--{{{HPCC-->
194
+ <hpcc>
195
+ <title>Credit Card</title>
196
+ <active>0</active>
197
+ <transactionmode>CONNECTOR_TEST</transactionmode>
198
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
199
+ <bookingmode>DB</bookingmode>
200
+ <order_status>pending</order_status>
201
+ <payment_status>hppaid</payment_status>
202
+ <wait_status>hpwait</wait_status>
203
+ <cancel_status>hpcancel</cancel_status>
204
+ <error_status>hperror</error_status>
205
+ <model>heidelpay/method_hpcc</model>
206
+ <sort_order>1</sort_order>
207
+ <min_amount>0</min_amount>
208
+ <max_amount>0</max_amount>
209
+ <allowspecific>0</allowspecific>
210
+ </hpcc>
211
+ <!--}}}-->
212
+ <!--{{{HPDC-->
213
+ <hpdc>
214
+ <title>Debit Card</title>
215
+ <active>0</active>
216
+ <transactionmode>CONNECTOR_TEST</transactionmode>
217
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
218
+ <bookingmode>DB</bookingmode>
219
+ <order_status>pending</order_status>
220
+ <payment_status>hppaid</payment_status>
221
+ <wait_status>hpwait</wait_status>
222
+ <cancel_status>hpcancel</cancel_status>
223
+ <error_status>hperror</error_status>
224
+ <model>heidelpay/method_hpdc</model>
225
+ <sort_order>1</sort_order>
226
+ <min_amount>0</min_amount>
227
+ <max_amount>0</max_amount>
228
+ <allowspecific>0</allowspecific>
229
+ </hpdc>
230
+ <!--}}}-->
231
+ <!--{{{HPDD-->
232
+ <hpdd>
233
+ <title>Direct Debit - Lastschrift</title>
234
+ <active>0</active>
235
+ <transactionmode>INTEGRATOR_TEST</transactionmode>
236
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
237
+ <bookingmode>DB</bookingmode>
238
+ <order_status>pending</order_status>
239
+ <payment_status>hppaid</payment_status>
240
+ <wait_status>hpwait</wait_status>
241
+ <cancel_status>hpcancel</cancel_status>
242
+ <error_status>hperror</error_status>
243
+ <model>heidelpay/method_hpdd</model>
244
+ <sort_order>1</sort_order>
245
+ <min_amount>0</min_amount>
246
+ <max_amount>0</max_amount>
247
+ <allowspecific>0</allowspecific>
248
+ </hpdd>
249
+ <!--}}}-->
250
+ <!--{{{HPSU-->
251
+ <hpsu>
252
+ <title>Direct E-Banking - Sofortueberweisung</title>
253
+ <active>0</active>
254
+ <transactionmode>CONNECTOR_TEST</transactionmode>
255
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
256
+ <bookingmode>DB</bookingmode>
257
+ <order_status>pending</order_status>
258
+ <payment_status>hppaid</payment_status>
259
+ <wait_status>hpwait</wait_status>
260
+ <cancel_status>hpcancel</cancel_status>
261
+ <error_status>hperror</error_status>
262
+ <model>heidelpay/method_hpsu</model>
263
+ <sort_order>1</sort_order>
264
+ <min_amount>0</min_amount>
265
+ <max_amount>0</max_amount>
266
+ <allowspecific>0</allowspecific>
267
+ </hpsu>
268
+ <!--}}}-->
269
+ <!--{{{HPGP-->
270
+ <hpgp>
271
+ <title>Giropay</title>
272
+ <active>0</active>
273
+ <transactionmode>CONNECTOR_TEST</transactionmode>
274
+ <channel>31HA07BC81A71E2A47DA662C5EDD1112</channel>
275
+ <bookingmode>DB</bookingmode>
276
+ <order_status>pending</order_status>
277
+ <payment_status>hppaid</payment_status>
278
+ <wait_status>hpwait</wait_status>
279
+ <cancel_status>hpcancel</cancel_status>
280
+ <error_status>hperror</error_status>
281
+ <model>heidelpay/method_hpgp</model>
282
+ <sort_order>1</sort_order>
283
+ <min_amount>0</min_amount>
284
+ <max_amount>0</max_amount>
285
+ <allowspecific>0</allowspecific>
286
+ </hpgp>
287
+ <!--}}}-->
288
+ <!--{{{HPPPAL-->
289
+ <hpppal>
290
+ <title>Pay Pal</title>
291
+ <active>0</active>
292
+ <transactionmode>CONNECTOR_TEST</transactionmode>
293
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
294
+ <bookingmode>DB</bookingmode>
295
+ <order_status>pending</order_status>
296
+ <payment_status>hppaid</payment_status>
297
+ <wait_status>hpwait</wait_status>
298
+ <cancel_status>hpcancel</cancel_status>
299
+ <error_status>hperror</error_status>
300
+ <model>heidelpay/method_hpppal</model>
301
+ <sort_order>1</sort_order>
302
+ <min_amount>0</min_amount>
303
+ <max_amount>0</max_amount>
304
+ <allowspecific>0</allowspecific>
305
+ </hpppal>
306
+ <!--}}}-->
307
+ <!--{{{HPEPS-->
308
+ <hpeps>
309
+ <title>EPS</title>
310
+ <active>0</active>
311
+ <transactionmode>CONNECTOR_TEST</transactionmode>
312
+ <channel></channel>
313
+ <bookingmode>DB</bookingmode>
314
+ <order_status>pending</order_status>
315
+ <payment_status>hppaid</payment_status>
316
+ <wait_status>hpwait</wait_status>
317
+ <cancel_status>hpcancel</cancel_status>
318
+ <error_status>hperror</error_status>
319
+ <model>heidelpay/method_hpeps</model>
320
+ <sort_order>1</sort_order>
321
+ <min_amount>0</min_amount>
322
+ <max_amount>0</max_amount>
323
+ <allowspecific>0</allowspecific>
324
+ </hpeps>
325
+ <!--}}}-->
326
+ <!--{{{HPIDL-->
327
+ <hpidl>
328
+ <title>iDeal</title>
329
+ <active>0</active>
330
+ <transactionmode>CONNECTOR_TEST</transactionmode>
331
+ <channel>31HA07BC81A71E2A47DA804F6CABDC59</channel>
332
+ <bookingmode>DB</bookingmode>
333
+ <order_status>pending</order_status>
334
+ <payment_status>hppaid</payment_status>
335
+ <wait_status>hpwait</wait_status>
336
+ <cancel_status>hpcancel</cancel_status>
337
+ <error_status>hperror</error_status>
338
+ <model>heidelpay/method_hpidl</model>
339
+ <sort_order>1</sort_order>
340
+ <min_amount>0</min_amount>
341
+ <max_amount>0</max_amount>
342
+ <allowspecific>0</allowspecific>
343
+ </hpidl>
344
+ <!--}}}-->
345
+ <!--{{{HPPP-->
346
+ <hppp>
347
+ <title>Prepayment</title>
348
+ <active>0</active>
349
+ <transactionmode>CONNECTOR_TEST</transactionmode>
350
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
351
+ <bookingmode>PA</bookingmode>
352
+ <order_status>pending</order_status>
353
+ <payment_status>hppaid</payment_status>
354
+ <wait_status>hpwait</wait_status>
355
+ <cancel_status>hpcancel</cancel_status>
356
+ <error_status>hperror</error_status>
357
+ <model>heidelpay/method_hppp</model>
358
+ <sort_order>1</sort_order>
359
+ <min_amount>0</min_amount>
360
+ <max_amount>0</max_amount>
361
+ <allowspecific>0</allowspecific>
362
+ </hppp>
363
+ <!--}}}-->
364
+ <!--{{{HPPP-->
365
+ <hpiv>
366
+ <title>Invoice</title>
367
+ <active>0</active>
368
+ <transactionmode>CONNECTOR_TEST</transactionmode>
369
+ <channel>31HA07BC81A71E2A47DA94B6ADC524D8</channel>
370
+ <bookingmode>PA</bookingmode>
371
+ <order_status>pending</order_status>
372
+ <payment_status>hppaid</payment_status>
373
+ <wait_status>hpwait</wait_status>
374
+ <cancel_status>hpcancel</cancel_status>
375
+ <error_status>hperror</error_status>
376
+ <model>heidelpay/method_hpiv</model>
377
+ <sort_order>1</sort_order>
378
+ <min_amount>0</min_amount>
379
+ <max_amount>0</max_amount>
380
+ <allowspecific>0</allowspecific>
381
+ </hpiv>
382
+ <!--}}}-->
383
+ </payment>
384
+ </default>
385
+ </config>
app/code/local/Mage/Heidelpay/etc/system.xml ADDED
@@ -0,0 +1,1432 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <sections>
4
+ <!--{{{ Global Settings-->
5
+ <heidelpay translate="label" module="heidelpay">
6
+ <label><![CDATA[<img src="http://testshops.heidelpay.de/heidelpay_small.png" style=" margin-right:10px;" alt="Heidelpay" \>Heidelpay Settings]]></label>
7
+ <tab>sales</tab>
8
+ <frontend_type>text</frontend_type>
9
+ <sort_order>405</sort_order>
10
+ <show_in_default>1</show_in_default>
11
+ <show_in_website>1</show_in_website>
12
+ <show_in_store>0</show_in_store>
13
+ <groups>
14
+ <settings translate="label">
15
+ <label>General Settings Heidelpay</label>
16
+ <frontend_type>text</frontend_type>
17
+ <sort_order>10</sort_order>
18
+ <show_in_default>1</show_in_default>
19
+ <show_in_website>1</show_in_website>
20
+ <show_in_store>0</show_in_store>
21
+ <fields>
22
+ <security_sender translate="label">
23
+ <label>Security Sender</label>
24
+ <frontend_type>text</frontend_type>
25
+ <sort_order>10</sort_order>
26
+ <show_in_default>1</show_in_default>
27
+ <show_in_website>1</show_in_website>
28
+ <show_in_store>0</show_in_store>
29
+ </security_sender>
30
+ <user_id translate="label">
31
+ <label>User ID</label>
32
+ <frontend_type>text</frontend_type>
33
+ <sort_order>20</sort_order>
34
+ <show_in_default>1</show_in_default>
35
+ <show_in_website>1</show_in_website>
36
+ <show_in_store>0</show_in_store>
37
+ </user_id>
38
+ <user_pwd translate="label">
39
+ <label>User Password</label>
40
+ <frontend_type>text</frontend_type>
41
+ <sort_order>30</sort_order>
42
+ <show_in_default>1</show_in_default>
43
+ <show_in_website>1</show_in_website>
44
+ <show_in_store>0</show_in_store>
45
+ </user_pwd>
46
+ <live_url translate="label">
47
+ <label>Live URL</label>
48
+ <frontend_type>text</frontend_type>
49
+ <sort_order>40</sort_order>
50
+ <show_in_default>1</show_in_default>
51
+ <show_in_website>1</show_in_website>
52
+ <show_in_store>0</show_in_store>
53
+ </live_url>
54
+ <demo_url translate="label,comment">
55
+ <label>Demo URL</label>
56
+ <comment><![CDATA[<br><br><a href="" onClick="document.getElementById('hpBox').style.display='block'; return false;" style="font-size: 20px; position: absolute; text-decoration: none; line-height: 25px">Informationen zu Zahlverfahren der <br>Heidelberger Payment GmbH anzeigen...</a><br><br><center><div id="hpBox" style="display:none"><div style="background-color: #888; position:fixed; display:block; margin:0; padding:0; top:0; left:0; opacity: 0.9; -moz-opacity: 0.9; -khtml-opacity: 0.9; filter:alpha(opacity=90); z-index: 1000; width: 100%; height: 100%;"></div><div style="z-index: 1001; position: absolute; width: 900px; top: 50%; left: 50%; margin-top: -325px; margin-left: -450px; background-color: #fff;"><iframe src="http://testshops.heidelpay.de/contact/index.php?shop=magento_standard" width="900" height="600" style="border: 1px solid #ddd"></iframe><br><a href="" onClick="document.getElementById('hpBox').style.display='none'; return false;">close</a></div></div></center>]]></comment>
57
+ <frontend_type>text</frontend_type>
58
+ <sort_order>50</sort_order>
59
+ <show_in_default>1</show_in_default>
60
+ <show_in_website>1</show_in_website>
61
+ <show_in_store>0</show_in_store>
62
+ </demo_url>
63
+ </fields>
64
+ </settings>
65
+ </groups>
66
+ </heidelpay>
67
+ <!--}}}-->
68
+ </sections>
69
+ <sections>
70
+ <payment>
71
+ <groups>
72
+ <!-- {{{ HPCC -->
73
+ <hpcc translate="label">
74
+ <label>Heidelpay Credit Card</label>
75
+ <frontend_type>text</frontend_type>
76
+ <sort_order>100</sort_order>
77
+ <show_in_default>1</show_in_default>
78
+ <show_in_website>1</show_in_website>
79
+ <show_in_store>0</show_in_store>
80
+ <fields>
81
+ <title translate="label">
82
+ <label>Title</label>
83
+ <frontend_type>text</frontend_type>
84
+ <sort_order>10</sort_order>
85
+ <show_in_default>1</show_in_default>
86
+ <show_in_website>1</show_in_website>
87
+ <show_in_store>0</show_in_store>
88
+ </title>
89
+ <active translate="label">
90
+ <label>Enabled</label>
91
+ <frontend_type>select</frontend_type>
92
+ <source_model>adminhtml/system_config_source_yesno</source_model>
93
+ <sort_order>20</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>0</show_in_store>
97
+ </active>
98
+ <transactionmode translate="label">
99
+ <label>Transactionmode</label>
100
+ <frontend_type>select</frontend_type>
101
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
102
+ <sort_order>30</sort_order>
103
+ <show_in_default>1</show_in_default>
104
+ <show_in_website>1</show_in_website>
105
+ <show_in_store>0</show_in_store>
106
+ </transactionmode>
107
+ <channel translate="label">
108
+ <label>Channel ID</label>
109
+ <frontend_type>text</frontend_type>
110
+ <sort_order>40</sort_order>
111
+ <show_in_default>1</show_in_default>
112
+ <show_in_website>1</show_in_website>
113
+ <show_in_store>0</show_in_store>
114
+ </channel>
115
+ <bookingmode translate="label">
116
+ <label>Booking mode</label>
117
+ <frontend_type>select</frontend_type>
118
+ <source_model>Heidelpay/system_config_source_bookingmode</source_model>
119
+ <sort_order>50</sort_order>
120
+ <show_in_default>1</show_in_default>
121
+ <show_in_website>1</show_in_website>
122
+ <show_in_store>0</show_in_store>
123
+ </bookingmode>
124
+ <order_status translate="label">
125
+ <label>Order status</label>
126
+ <frontend_type>select</frontend_type>
127
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
128
+ <sort_order>60</sort_order>
129
+ <show_in_default>1</show_in_default>
130
+ <show_in_website>1</show_in_website>
131
+ <show_in_store>0</show_in_store>
132
+ </order_status>
133
+ <payment_status translate="label">
134
+ <label>Payment status</label>
135
+ <frontend_type>select</frontend_type>
136
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
137
+ <sort_order>70</sort_order>
138
+ <show_in_default>1</show_in_default>
139
+ <show_in_website>1</show_in_website>
140
+ <show_in_store>0</show_in_store>
141
+ </payment_status>
142
+ <wait_status translate="label">
143
+ <label>Waiting status</label>
144
+ <frontend_type>select</frontend_type>
145
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
146
+ <sort_order>80</sort_order>
147
+ <show_in_default>1</show_in_default>
148
+ <show_in_website>1</show_in_website>
149
+ <show_in_store>0</show_in_store>
150
+ </wait_status>
151
+ <cancel_status translate="label">
152
+ <label>Cancel status</label>
153
+ <frontend_type>select</frontend_type>
154
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
155
+ <sort_order>90</sort_order>
156
+ <show_in_default>1</show_in_default>
157
+ <show_in_website>1</show_in_website>
158
+ <show_in_store>0</show_in_store>
159
+ </cancel_status>
160
+ <error_status translate="label">
161
+ <label>Error status</label>
162
+ <frontend_type>select</frontend_type>
163
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
164
+ <sort_order>100</sort_order>
165
+ <show_in_default>1</show_in_default>
166
+ <show_in_website>1</show_in_website>
167
+ <show_in_store>0</show_in_store>
168
+ </error_status>
169
+ <sort_order translate="label">
170
+ <label>Sort order</label>
171
+ <frontend_type>text</frontend_type>
172
+ <sort_order>110</sort_order>
173
+ <show_in_default>1</show_in_default>
174
+ <show_in_website>1</show_in_website>
175
+ <show_in_store>0</show_in_store>
176
+ </sort_order>
177
+ <min_amount translate="label">
178
+ <label>Minimum Amount (CENT)</label>
179
+ <frontend_type>text</frontend_type>
180
+ <sort_order>120</sort_order>
181
+ <show_in_default>1</show_in_default>
182
+ <show_in_website>1</show_in_website>
183
+ <show_in_store>0</show_in_store>
184
+ </min_amount>
185
+ <max_amount translate="label">
186
+ <label>Maximum Amount (CENT)</label>
187
+ <frontend_type>text</frontend_type>
188
+ <sort_order>130</sort_order>
189
+ <show_in_default>1</show_in_default>
190
+ <show_in_website>1</show_in_website>
191
+ <show_in_store>0</show_in_store>
192
+ </max_amount>
193
+ <allowspecific translate="label">
194
+ <label>allow specific countries</label>
195
+ <frontend_type>allowspecific</frontend_type>
196
+ <sort_order>140</sort_order>
197
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
198
+ <show_in_default>1</show_in_default>
199
+ <show_in_website>1</show_in_website>
200
+ <show_in_store>1</show_in_store>
201
+ </allowspecific>
202
+ <specificcountry translate="label">
203
+ <label>specific countries</label>
204
+ <frontend_type>multiselect</frontend_type>
205
+ <sort_order>150</sort_order>
206
+ <source_model>adminhtml/system_config_source_country</source_model>
207
+ <show_in_default>1</show_in_default>
208
+ <show_in_website>1</show_in_website>
209
+ <show_in_store>1</show_in_store>
210
+ </specificcountry>
211
+ </fields>
212
+ </hpcc>
213
+ <!-- }}} -->
214
+ <!-- {{{ HPDC -->
215
+ <hpdc translate="label">
216
+ <label>Heidelpay Debit Card</label>
217
+ <frontend_type>text</frontend_type>
218
+ <sort_order>100</sort_order>
219
+ <show_in_default>1</show_in_default>
220
+ <show_in_website>1</show_in_website>
221
+ <show_in_store>0</show_in_store>
222
+ <fields>
223
+ <title translate="label">
224
+ <label>Title</label>
225
+ <frontend_type>text</frontend_type>
226
+ <sort_order>10</sort_order>
227
+ <show_in_default>1</show_in_default>
228
+ <show_in_website>1</show_in_website>
229
+ <show_in_store>0</show_in_store>
230
+ </title>
231
+ <active translate="label">
232
+ <label>Enabled</label>
233
+ <frontend_type>select</frontend_type>
234
+ <source_model>adminhtml/system_config_source_yesno</source_model>
235
+ <sort_order>20</sort_order>
236
+ <show_in_default>1</show_in_default>
237
+ <show_in_website>1</show_in_website>
238
+ <show_in_store>0</show_in_store>
239
+ </active>
240
+ <transactionmode translate="label">
241
+ <label>Transactionmode</label>
242
+ <frontend_type>select</frontend_type>
243
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
244
+ <sort_order>30</sort_order>
245
+ <show_in_default>1</show_in_default>
246
+ <show_in_website>1</show_in_website>
247
+ <show_in_store>0</show_in_store>
248
+ </transactionmode>
249
+ <channel translate="label">
250
+ <label>Channel ID</label>
251
+ <frontend_type>text</frontend_type>
252
+ <sort_order>40</sort_order>
253
+ <show_in_default>1</show_in_default>
254
+ <show_in_website>1</show_in_website>
255
+ <show_in_store>0</show_in_store>
256
+ </channel>
257
+ <bookingmode translate="label">
258
+ <label>Booking mode</label>
259
+ <frontend_type>select</frontend_type>
260
+ <source_model>Heidelpay/system_config_source_bookingmode</source_model>
261
+ <sort_order>50</sort_order>
262
+ <show_in_default>1</show_in_default>
263
+ <show_in_website>1</show_in_website>
264
+ <show_in_store>0</show_in_store>
265
+ </bookingmode>
266
+ <order_status translate="label">
267
+ <label>Order status</label>
268
+ <frontend_type>select</frontend_type>
269
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
270
+ <sort_order>60</sort_order>
271
+ <show_in_default>1</show_in_default>
272
+ <show_in_website>1</show_in_website>
273
+ <show_in_store>0</show_in_store>
274
+ </order_status>
275
+ <payment_status translate="label">
276
+ <label>Payment status</label>
277
+ <frontend_type>select</frontend_type>
278
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
279
+ <sort_order>70</sort_order>
280
+ <show_in_default>1</show_in_default>
281
+ <show_in_website>1</show_in_website>
282
+ <show_in_store>0</show_in_store>
283
+ </payment_status>
284
+ <wait_status translate="label">
285
+ <label>Waiting status</label>
286
+ <frontend_type>select</frontend_type>
287
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
288
+ <sort_order>80</sort_order>
289
+ <show_in_default>1</show_in_default>
290
+ <show_in_website>1</show_in_website>
291
+ <show_in_store>0</show_in_store>
292
+ </wait_status>
293
+ <cancel_status translate="label">
294
+ <label>Cancel status</label>
295
+ <frontend_type>select</frontend_type>
296
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
297
+ <sort_order>90</sort_order>
298
+ <show_in_default>1</show_in_default>
299
+ <show_in_website>1</show_in_website>
300
+ <show_in_store>0</show_in_store>
301
+ </cancel_status>
302
+ <error_status translate="label">
303
+ <label>Error status</label>
304
+ <frontend_type>select</frontend_type>
305
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
306
+ <sort_order>100</sort_order>
307
+ <show_in_default>1</show_in_default>
308
+ <show_in_website>1</show_in_website>
309
+ <show_in_store>0</show_in_store>
310
+ </error_status>
311
+ <sort_order translate="label">
312
+ <label>Sort order</label>
313
+ <frontend_type>text</frontend_type>
314
+ <sort_order>110</sort_order>
315
+ <show_in_default>1</show_in_default>
316
+ <show_in_website>1</show_in_website>
317
+ <show_in_store>0</show_in_store>
318
+ </sort_order>
319
+ <min_amount translate="label">
320
+ <label>Minimum Amount (CENT)</label>
321
+ <frontend_type>text</frontend_type>
322
+ <sort_order>120</sort_order>
323
+ <show_in_default>1</show_in_default>
324
+ <show_in_website>1</show_in_website>
325
+ <show_in_store>0</show_in_store>
326
+ </min_amount>
327
+ <max_amount translate="label">
328
+ <label>Maximum Amount (CENT)</label>
329
+ <frontend_type>text</frontend_type>
330
+ <sort_order>130</sort_order>
331
+ <show_in_default>1</show_in_default>
332
+ <show_in_website>1</show_in_website>
333
+ <show_in_store>0</show_in_store>
334
+ </max_amount>
335
+ <allowspecific translate="label">
336
+ <label>allow specific countries</label>
337
+ <frontend_type>allowspecific</frontend_type>
338
+ <sort_order>140</sort_order>
339
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
340
+ <show_in_default>1</show_in_default>
341
+ <show_in_website>1</show_in_website>
342
+ <show_in_store>1</show_in_store>
343
+ </allowspecific>
344
+ <specificcountry translate="label">
345
+ <label>specific countries</label>
346
+ <frontend_type>multiselect</frontend_type>
347
+ <sort_order>150</sort_order>
348
+ <source_model>adminhtml/system_config_source_country</source_model>
349
+ <show_in_default>1</show_in_default>
350
+ <show_in_website>1</show_in_website>
351
+ <show_in_store>1</show_in_store>
352
+ </specificcountry>
353
+ </fields>
354
+ </hpdc>
355
+ <!-- }}} -->
356
+ <!-- {{{ HPDD -->
357
+ <hpdd translate="label">
358
+ <label>Heidelpay Direct Debit</label>
359
+ <frontend_type>text</frontend_type>
360
+ <sort_order>100</sort_order>
361
+ <show_in_default>1</show_in_default>
362
+ <show_in_website>1</show_in_website>
363
+ <show_in_store>0</show_in_store>
364
+ <fields>
365
+ <title translate="label">
366
+ <label>Title</label>
367
+ <frontend_type>text</frontend_type>
368
+ <sort_order>10</sort_order>
369
+ <show_in_default>1</show_in_default>
370
+ <show_in_website>1</show_in_website>
371
+ <show_in_store>0</show_in_store>
372
+ </title>
373
+ <active translate="label">
374
+ <label>Enabled</label>
375
+ <frontend_type>select</frontend_type>
376
+ <source_model>adminhtml/system_config_source_yesno</source_model>
377
+ <sort_order>20</sort_order>
378
+ <show_in_default>1</show_in_default>
379
+ <show_in_website>1</show_in_website>
380
+ <show_in_store>0</show_in_store>
381
+ </active>
382
+ <transactionmode translate="label">
383
+ <label>Transactionmode</label>
384
+ <frontend_type>select</frontend_type>
385
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
386
+ <sort_order>30</sort_order>
387
+ <show_in_default>1</show_in_default>
388
+ <show_in_website>1</show_in_website>
389
+ <show_in_store>0</show_in_store>
390
+ </transactionmode>
391
+ <channel translate="label">
392
+ <label>Channel ID</label>
393
+ <frontend_type>text</frontend_type>
394
+ <sort_order>40</sort_order>
395
+ <show_in_default>1</show_in_default>
396
+ <show_in_website>1</show_in_website>
397
+ <show_in_store>0</show_in_store>
398
+ </channel>
399
+ <bookingmode translate="label">
400
+ <label>Booking mode</label>
401
+ <frontend_type>select</frontend_type>
402
+ <source_model>Heidelpay/system_config_source_bookingmode</source_model>
403
+ <sort_order>50</sort_order>
404
+ <show_in_default>1</show_in_default>
405
+ <show_in_website>1</show_in_website>
406
+ <show_in_store>0</show_in_store>
407
+ </bookingmode>
408
+ <order_status translate="label">
409
+ <label>Order status</label>
410
+ <frontend_type>select</frontend_type>
411
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
412
+ <sort_order>60</sort_order>
413
+ <show_in_default>1</show_in_default>
414
+ <show_in_website>1</show_in_website>
415
+ <show_in_store>0</show_in_store>
416
+ </order_status>
417
+ <payment_status translate="label">
418
+ <label>Payment status</label>
419
+ <frontend_type>select</frontend_type>
420
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
421
+ <sort_order>70</sort_order>
422
+ <show_in_default>1</show_in_default>
423
+ <show_in_website>1</show_in_website>
424
+ <show_in_store>0</show_in_store>
425
+ </payment_status>
426
+ <wait_status translate="label">
427
+ <label>Waiting status</label>
428
+ <frontend_type>select</frontend_type>
429
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
430
+ <sort_order>80</sort_order>
431
+ <show_in_default>1</show_in_default>
432
+ <show_in_website>1</show_in_website>
433
+ <show_in_store>0</show_in_store>
434
+ </wait_status>
435
+ <cancel_status translate="label">
436
+ <label>Cancel status</label>
437
+ <frontend_type>select</frontend_type>
438
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
439
+ <sort_order>90</sort_order>
440
+ <show_in_default>1</show_in_default>
441
+ <show_in_website>1</show_in_website>
442
+ <show_in_store>0</show_in_store>
443
+ </cancel_status>
444
+ <error_status translate="label">
445
+ <label>Error status</label>
446
+ <frontend_type>select</frontend_type>
447
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
448
+ <sort_order>100</sort_order>
449
+ <show_in_default>1</show_in_default>
450
+ <show_in_website>1</show_in_website>
451
+ <show_in_store>0</show_in_store>
452
+ </error_status>
453
+ <sort_order translate="label">
454
+ <label>Sort order</label>
455
+ <frontend_type>text</frontend_type>
456
+ <sort_order>110</sort_order>
457
+ <show_in_default>1</show_in_default>
458
+ <show_in_website>1</show_in_website>
459
+ <show_in_store>0</show_in_store>
460
+ </sort_order>
461
+ <min_amount translate="label">
462
+ <label>Minimum Amount (CENT)</label>
463
+ <frontend_type>text</frontend_type>
464
+ <sort_order>120</sort_order>
465
+ <show_in_default>1</show_in_default>
466
+ <show_in_website>1</show_in_website>
467
+ <show_in_store>0</show_in_store>
468
+ </min_amount>
469
+ <max_amount translate="label">
470
+ <label>Maximum Amount (CENT)</label>
471
+ <frontend_type>text</frontend_type>
472
+ <sort_order>130</sort_order>
473
+ <show_in_default>1</show_in_default>
474
+ <show_in_website>1</show_in_website>
475
+ <show_in_store>0</show_in_store>
476
+ </max_amount>
477
+ <allowspecific translate="label">
478
+ <label>allow specific countries</label>
479
+ <frontend_type>allowspecific</frontend_type>
480
+ <sort_order>140</sort_order>
481
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
482
+ <show_in_default>1</show_in_default>
483
+ <show_in_website>1</show_in_website>
484
+ <show_in_store>1</show_in_store>
485
+ </allowspecific>
486
+ <specificcountry translate="label">
487
+ <label>specific countries</label>
488
+ <frontend_type>multiselect</frontend_type>
489
+ <sort_order>150</sort_order>
490
+ <source_model>adminhtml/system_config_source_country</source_model>
491
+ <show_in_default>1</show_in_default>
492
+ <show_in_website>1</show_in_website>
493
+ <show_in_store>1</show_in_store>
494
+ </specificcountry>
495
+ </fields>
496
+ </hpdd>
497
+ <!-- }}} -->
498
+ <!-- {{{ HPSU -->
499
+ <hpsu translate="label">
500
+ <label>Heidelpay Direct E-Banking</label>
501
+ <frontend_type>text</frontend_type>
502
+ <sort_order>100</sort_order>
503
+ <show_in_default>1</show_in_default>
504
+ <show_in_website>1</show_in_website>
505
+ <show_in_store>0</show_in_store>
506
+ <fields>
507
+ <title translate="label">
508
+ <label>Title</label>
509
+ <frontend_type>text</frontend_type>
510
+ <sort_order>10</sort_order>
511
+ <show_in_default>1</show_in_default>
512
+ <show_in_website>1</show_in_website>
513
+ <show_in_store>0</show_in_store>
514
+ </title>
515
+ <active translate="label">
516
+ <label>Enabled</label>
517
+ <frontend_type>select</frontend_type>
518
+ <source_model>adminhtml/system_config_source_yesno</source_model>
519
+ <sort_order>20</sort_order>
520
+ <show_in_default>1</show_in_default>
521
+ <show_in_website>1</show_in_website>
522
+ <show_in_store>0</show_in_store>
523
+ </active>
524
+ <transactionmode translate="label">
525
+ <label>Transactionmode</label>
526
+ <frontend_type>select</frontend_type>
527
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
528
+ <sort_order>30</sort_order>
529
+ <show_in_default>1</show_in_default>
530
+ <show_in_website>1</show_in_website>
531
+ <show_in_store>0</show_in_store>
532
+ </transactionmode>
533
+ <channel translate="label">
534
+ <label>Channel ID</label>
535
+ <frontend_type>text</frontend_type>
536
+ <sort_order>40</sort_order>
537
+ <show_in_default>1</show_in_default>
538
+ <show_in_website>1</show_in_website>
539
+ <show_in_store>0</show_in_store>
540
+ </channel>
541
+ <order_status translate="label">
542
+ <label>Order status</label>
543
+ <frontend_type>select</frontend_type>
544
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
545
+ <sort_order>60</sort_order>
546
+ <show_in_default>1</show_in_default>
547
+ <show_in_website>1</show_in_website>
548
+ <show_in_store>0</show_in_store>
549
+ </order_status>
550
+ <payment_status translate="label">
551
+ <label>Payment status</label>
552
+ <frontend_type>select</frontend_type>
553
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
554
+ <sort_order>70</sort_order>
555
+ <show_in_default>1</show_in_default>
556
+ <show_in_website>1</show_in_website>
557
+ <show_in_store>0</show_in_store>
558
+ </payment_status>
559
+ <wait_status translate="label">
560
+ <label>Waiting status</label>
561
+ <frontend_type>select</frontend_type>
562
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
563
+ <sort_order>80</sort_order>
564
+ <show_in_default>1</show_in_default>
565
+ <show_in_website>1</show_in_website>
566
+ <show_in_store>0</show_in_store>
567
+ </wait_status>
568
+ <cancel_status translate="label">
569
+ <label>Cancel status</label>
570
+ <frontend_type>select</frontend_type>
571
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
572
+ <sort_order>90</sort_order>
573
+ <show_in_default>1</show_in_default>
574
+ <show_in_website>1</show_in_website>
575
+ <show_in_store>0</show_in_store>
576
+ </cancel_status>
577
+ <error_status translate="label">
578
+ <label>Error status</label>
579
+ <frontend_type>select</frontend_type>
580
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
581
+ <sort_order>100</sort_order>
582
+ <show_in_default>1</show_in_default>
583
+ <show_in_website>1</show_in_website>
584
+ <show_in_store>0</show_in_store>
585
+ </error_status>
586
+ <sort_order translate="label">
587
+ <label>Sort order</label>
588
+ <frontend_type>text</frontend_type>
589
+ <sort_order>110</sort_order>
590
+ <show_in_default>1</show_in_default>
591
+ <show_in_website>1</show_in_website>
592
+ <show_in_store>0</show_in_store>
593
+ </sort_order>
594
+ <min_amount translate="label">
595
+ <label>Minimum Amount (CENT)</label>
596
+ <frontend_type>text</frontend_type>
597
+ <sort_order>120</sort_order>
598
+ <show_in_default>1</show_in_default>
599
+ <show_in_website>1</show_in_website>
600
+ <show_in_store>0</show_in_store>
601
+ </min_amount>
602
+ <max_amount translate="label">
603
+ <label>Maximum Amount (CENT)</label>
604
+ <frontend_type>text</frontend_type>
605
+ <sort_order>130</sort_order>
606
+ <show_in_default>1</show_in_default>
607
+ <show_in_website>1</show_in_website>
608
+ <show_in_store>0</show_in_store>
609
+ </max_amount>
610
+ <allowspecific translate="label">
611
+ <label>allow specific countries</label>
612
+ <frontend_type>allowspecific</frontend_type>
613
+ <sort_order>140</sort_order>
614
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
615
+ <show_in_default>1</show_in_default>
616
+ <show_in_website>1</show_in_website>
617
+ <show_in_store>1</show_in_store>
618
+ </allowspecific>
619
+ <specificcountry translate="label">
620
+ <label>specific countries</label>
621
+ <frontend_type>multiselect</frontend_type>
622
+ <sort_order>150</sort_order>
623
+ <source_model>adminhtml/system_config_source_country</source_model>
624
+ <show_in_default>1</show_in_default>
625
+ <show_in_website>1</show_in_website>
626
+ <show_in_store>1</show_in_store>
627
+ </specificcountry>
628
+ </fields>
629
+ </hpsu>
630
+ <!-- }}} -->
631
+ <!-- {{{ HPGP -->
632
+ <hpgp translate="label">
633
+ <label>Heidelpay Giropay</label>
634
+ <frontend_type>text</frontend_type>
635
+ <sort_order>100</sort_order>
636
+ <show_in_default>1</show_in_default>
637
+ <show_in_website>1</show_in_website>
638
+ <show_in_store>0</show_in_store>
639
+ <fields>
640
+ <title translate="label">
641
+ <label>Title</label>
642
+ <frontend_type>text</frontend_type>
643
+ <sort_order>10</sort_order>
644
+ <show_in_default>1</show_in_default>
645
+ <show_in_website>1</show_in_website>
646
+ <show_in_store>0</show_in_store>
647
+ </title>
648
+ <active translate="label">
649
+ <label>Enabled</label>
650
+ <frontend_type>select</frontend_type>
651
+ <source_model>adminhtml/system_config_source_yesno</source_model>
652
+ <sort_order>20</sort_order>
653
+ <show_in_default>1</show_in_default>
654
+ <show_in_website>1</show_in_website>
655
+ <show_in_store>0</show_in_store>
656
+ </active>
657
+ <transactionmode translate="label">
658
+ <label>Transactionmode</label>
659
+ <frontend_type>select</frontend_type>
660
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
661
+ <sort_order>30</sort_order>
662
+ <show_in_default>1</show_in_default>
663
+ <show_in_website>1</show_in_website>
664
+ <show_in_store>0</show_in_store>
665
+ </transactionmode>
666
+ <channel translate="label">
667
+ <label>Channel ID</label>
668
+ <frontend_type>text</frontend_type>
669
+ <sort_order>40</sort_order>
670
+ <show_in_default>1</show_in_default>
671
+ <show_in_website>1</show_in_website>
672
+ <show_in_store>0</show_in_store>
673
+ </channel>
674
+ <order_status translate="label">
675
+ <label>Order status</label>
676
+ <frontend_type>select</frontend_type>
677
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
678
+ <sort_order>60</sort_order>
679
+ <show_in_default>1</show_in_default>
680
+ <show_in_website>1</show_in_website>
681
+ <show_in_store>0</show_in_store>
682
+ </order_status>
683
+ <payment_status translate="label">
684
+ <label>Payment status</label>
685
+ <frontend_type>select</frontend_type>
686
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
687
+ <sort_order>70</sort_order>
688
+ <show_in_default>1</show_in_default>
689
+ <show_in_website>1</show_in_website>
690
+ <show_in_store>0</show_in_store>
691
+ </payment_status>
692
+ <wait_status translate="label">
693
+ <label>Waiting status</label>
694
+ <frontend_type>select</frontend_type>
695
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
696
+ <sort_order>80</sort_order>
697
+ <show_in_default>1</show_in_default>
698
+ <show_in_website>1</show_in_website>
699
+ <show_in_store>0</show_in_store>
700
+ </wait_status>
701
+ <cancel_status translate="label">
702
+ <label>Cancel status</label>
703
+ <frontend_type>select</frontend_type>
704
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
705
+ <sort_order>90</sort_order>
706
+ <show_in_default>1</show_in_default>
707
+ <show_in_website>1</show_in_website>
708
+ <show_in_store>0</show_in_store>
709
+ </cancel_status>
710
+ <error_status translate="label">
711
+ <label>Error status</label>
712
+ <frontend_type>select</frontend_type>
713
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
714
+ <sort_order>100</sort_order>
715
+ <show_in_default>1</show_in_default>
716
+ <show_in_website>1</show_in_website>
717
+ <show_in_store>0</show_in_store>
718
+ </error_status>
719
+ <sort_order translate="label">
720
+ <label>Sort order</label>
721
+ <frontend_type>text</frontend_type>
722
+ <sort_order>110</sort_order>
723
+ <show_in_default>1</show_in_default>
724
+ <show_in_website>1</show_in_website>
725
+ <show_in_store>0</show_in_store>
726
+ </sort_order>
727
+ <min_amount translate="label">
728
+ <label>Minimum Amount (CENT)</label>
729
+ <frontend_type>text</frontend_type>
730
+ <sort_order>120</sort_order>
731
+ <show_in_default>1</show_in_default>
732
+ <show_in_website>1</show_in_website>
733
+ <show_in_store>0</show_in_store>
734
+ </min_amount>
735
+ <max_amount translate="label">
736
+ <label>Maximum Amount (CENT)</label>
737
+ <frontend_type>text</frontend_type>
738
+ <sort_order>130</sort_order>
739
+ <show_in_default>1</show_in_default>
740
+ <show_in_website>1</show_in_website>
741
+ <show_in_store>0</show_in_store>
742
+ </max_amount>
743
+ <allowspecific translate="label">
744
+ <label>allow specific countries</label>
745
+ <frontend_type>allowspecific</frontend_type>
746
+ <sort_order>140</sort_order>
747
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
748
+ <show_in_default>1</show_in_default>
749
+ <show_in_website>1</show_in_website>
750
+ <show_in_store>1</show_in_store>
751
+ </allowspecific>
752
+ <specificcountry translate="label">
753
+ <label>specific countries</label>
754
+ <frontend_type>multiselect</frontend_type>
755
+ <sort_order>150</sort_order>
756
+ <source_model>adminhtml/system_config_source_country</source_model>
757
+ <show_in_default>1</show_in_default>
758
+ <show_in_website>1</show_in_website>
759
+ <show_in_store>1</show_in_store>
760
+ </specificcountry>
761
+ </fields>
762
+ </hpgp>
763
+ <!-- }}} -->
764
+ <!-- {{{ HPPPAL -->
765
+ <hpppal translate="label">
766
+ <label>Heidelpay Pay Pal</label>
767
+ <frontend_type>text</frontend_type>
768
+ <sort_order>100</sort_order>
769
+ <show_in_default>1</show_in_default>
770
+ <show_in_website>1</show_in_website>
771
+ <show_in_store>0</show_in_store>
772
+ <fields>
773
+ <title translate="label">
774
+ <label>Title</label>
775
+ <frontend_type>text</frontend_type>
776
+ <sort_order>10</sort_order>
777
+ <show_in_default>1</show_in_default>
778
+ <show_in_website>1</show_in_website>
779
+ <show_in_store>0</show_in_store>
780
+ </title>
781
+ <active translate="label">
782
+ <label>Enabled</label>
783
+ <frontend_type>select</frontend_type>
784
+ <source_model>adminhtml/system_config_source_yesno</source_model>
785
+ <sort_order>20</sort_order>
786
+ <show_in_default>1</show_in_default>
787
+ <show_in_website>1</show_in_website>
788
+ <show_in_store>0</show_in_store>
789
+ </active>
790
+ <transactionmode translate="label">
791
+ <label>Transactionmode</label>
792
+ <frontend_type>select</frontend_type>
793
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
794
+ <sort_order>30</sort_order>
795
+ <show_in_default>1</show_in_default>
796
+ <show_in_website>1</show_in_website>
797
+ <show_in_store>0</show_in_store>
798
+ </transactionmode>
799
+ <channel translate="label">
800
+ <label>Channel ID</label>
801
+ <frontend_type>text</frontend_type>
802
+ <sort_order>40</sort_order>
803
+ <show_in_default>1</show_in_default>
804
+ <show_in_website>1</show_in_website>
805
+ <show_in_store>0</show_in_store>
806
+ </channel>
807
+ <order_status translate="label">
808
+ <label>Order status</label>
809
+ <frontend_type>select</frontend_type>
810
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
811
+ <sort_order>60</sort_order>
812
+ <show_in_default>1</show_in_default>
813
+ <show_in_website>1</show_in_website>
814
+ <show_in_store>0</show_in_store>
815
+ </order_status>
816
+ <payment_status translate="label">
817
+ <label>Payment status</label>
818
+ <frontend_type>select</frontend_type>
819
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
820
+ <sort_order>70</sort_order>
821
+ <show_in_default>1</show_in_default>
822
+ <show_in_website>1</show_in_website>
823
+ <show_in_store>0</show_in_store>
824
+ </payment_status>
825
+ <wait_status translate="label">
826
+ <label>Waiting status</label>
827
+ <frontend_type>select</frontend_type>
828
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
829
+ <sort_order>80</sort_order>
830
+ <show_in_default>1</show_in_default>
831
+ <show_in_website>1</show_in_website>
832
+ <show_in_store>0</show_in_store>
833
+ </wait_status>
834
+ <cancel_status translate="label">
835
+ <label>Cancel status</label>
836
+ <frontend_type>select</frontend_type>
837
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
838
+ <sort_order>90</sort_order>
839
+ <show_in_default>1</show_in_default>
840
+ <show_in_website>1</show_in_website>
841
+ <show_in_store>0</show_in_store>
842
+ </cancel_status>
843
+ <error_status translate="label">
844
+ <label>Error status</label>
845
+ <frontend_type>select</frontend_type>
846
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
847
+ <sort_order>100</sort_order>
848
+ <show_in_default>1</show_in_default>
849
+ <show_in_website>1</show_in_website>
850
+ <show_in_store>0</show_in_store>
851
+ </error_status>
852
+ <sort_order translate="label">
853
+ <label>Sort order</label>
854
+ <frontend_type>text</frontend_type>
855
+ <sort_order>110</sort_order>
856
+ <show_in_default>1</show_in_default>
857
+ <show_in_website>1</show_in_website>
858
+ <show_in_store>0</show_in_store>
859
+ </sort_order>
860
+ <min_amount translate="label">
861
+ <label>Minimum Amount (CENT)</label>
862
+ <frontend_type>text</frontend_type>
863
+ <sort_order>120</sort_order>
864
+ <show_in_default>1</show_in_default>
865
+ <show_in_website>1</show_in_website>
866
+ <show_in_store>0</show_in_store>
867
+ </min_amount>
868
+ <max_amount translate="label">
869
+ <label>Maximum Amount (CENT)</label>
870
+ <frontend_type>text</frontend_type>
871
+ <sort_order>130</sort_order>
872
+ <show_in_default>1</show_in_default>
873
+ <show_in_website>1</show_in_website>
874
+ <show_in_store>0</show_in_store>
875
+ </max_amount>
876
+ <allowspecific translate="label">
877
+ <label>allow specific countries</label>
878
+ <frontend_type>allowspecific</frontend_type>
879
+ <sort_order>140</sort_order>
880
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
881
+ <show_in_default>1</show_in_default>
882
+ <show_in_website>1</show_in_website>
883
+ <show_in_store>1</show_in_store>
884
+ </allowspecific>
885
+ <specificcountry translate="label">
886
+ <label>specific countries</label>
887
+ <frontend_type>multiselect</frontend_type>
888
+ <sort_order>150</sort_order>
889
+ <source_model>adminhtml/system_config_source_country</source_model>
890
+ <show_in_default>1</show_in_default>
891
+ <show_in_website>1</show_in_website>
892
+ <show_in_store>1</show_in_store>
893
+ </specificcountry>
894
+ </fields>
895
+ </hpppal>
896
+ <!-- }}} -->
897
+ <!-- {{{ HPEPS -->
898
+ <hpeps translate="label">
899
+ <label>Heidelpay EPS</label>
900
+ <frontend_type>text</frontend_type>
901
+ <sort_order>100</sort_order>
902
+ <show_in_default>1</show_in_default>
903
+ <show_in_website>1</show_in_website>
904
+ <show_in_store>0</show_in_store>
905
+ <fields>
906
+ <title translate="label">
907
+ <label>Title</label>
908
+ <frontend_type>text</frontend_type>
909
+ <sort_order>10</sort_order>
910
+ <show_in_default>1</show_in_default>
911
+ <show_in_website>1</show_in_website>
912
+ <show_in_store>0</show_in_store>
913
+ </title>
914
+ <active translate="label">
915
+ <label>Enabled</label>
916
+ <frontend_type>select</frontend_type>
917
+ <source_model>adminhtml/system_config_source_yesno</source_model>
918
+ <sort_order>20</sort_order>
919
+ <show_in_default>1</show_in_default>
920
+ <show_in_website>1</show_in_website>
921
+ <show_in_store>0</show_in_store>
922
+ </active>
923
+ <transactionmode translate="label">
924
+ <label>Transactionmode</label>
925
+ <frontend_type>select</frontend_type>
926
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
927
+ <sort_order>30</sort_order>
928
+ <show_in_default>1</show_in_default>
929
+ <show_in_website>1</show_in_website>
930
+ <show_in_store>0</show_in_store>
931
+ </transactionmode>
932
+ <channel translate="label">
933
+ <label>Channel ID</label>
934
+ <frontend_type>text</frontend_type>
935
+ <sort_order>40</sort_order>
936
+ <show_in_default>1</show_in_default>
937
+ <show_in_website>1</show_in_website>
938
+ <show_in_store>0</show_in_store>
939
+ </channel>
940
+ <order_status translate="label">
941
+ <label>Order status</label>
942
+ <frontend_type>select</frontend_type>
943
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
944
+ <sort_order>60</sort_order>
945
+ <show_in_default>1</show_in_default>
946
+ <show_in_website>1</show_in_website>
947
+ <show_in_store>0</show_in_store>
948
+ </order_status>
949
+ <payment_status translate="label">
950
+ <label>Payment status</label>
951
+ <frontend_type>select</frontend_type>
952
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
953
+ <sort_order>70</sort_order>
954
+ <show_in_default>1</show_in_default>
955
+ <show_in_website>1</show_in_website>
956
+ <show_in_store>0</show_in_store>
957
+ </payment_status>
958
+ <wait_status translate="label">
959
+ <label>Waiting status</label>
960
+ <frontend_type>select</frontend_type>
961
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
962
+ <sort_order>80</sort_order>
963
+ <show_in_default>1</show_in_default>
964
+ <show_in_website>1</show_in_website>
965
+ <show_in_store>0</show_in_store>
966
+ </wait_status>
967
+ <cancel_status translate="label">
968
+ <label>Cancel status</label>
969
+ <frontend_type>select</frontend_type>
970
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
971
+ <sort_order>90</sort_order>
972
+ <show_in_default>1</show_in_default>
973
+ <show_in_website>1</show_in_website>
974
+ <show_in_store>0</show_in_store>
975
+ </cancel_status>
976
+ <error_status translate="label">
977
+ <label>Error status</label>
978
+ <frontend_type>select</frontend_type>
979
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
980
+ <sort_order>100</sort_order>
981
+ <show_in_default>1</show_in_default>
982
+ <show_in_website>1</show_in_website>
983
+ <show_in_store>0</show_in_store>
984
+ </error_status>
985
+ <sort_order translate="label">
986
+ <label>Sort order</label>
987
+ <frontend_type>text</frontend_type>
988
+ <sort_order>110</sort_order>
989
+ <show_in_default>1</show_in_default>
990
+ <show_in_website>1</show_in_website>
991
+ <show_in_store>0</show_in_store>
992
+ </sort_order>
993
+ <min_amount translate="label">
994
+ <label>Minimum Amount (CENT)</label>
995
+ <frontend_type>text</frontend_type>
996
+ <sort_order>120</sort_order>
997
+ <show_in_default>1</show_in_default>
998
+ <show_in_website>1</show_in_website>
999
+ <show_in_store>0</show_in_store>
1000
+ </min_amount>
1001
+ <max_amount translate="label">
1002
+ <label>Maximum Amount (CENT)</label>
1003
+ <frontend_type>text</frontend_type>
1004
+ <sort_order>130</sort_order>
1005
+ <show_in_default>1</show_in_default>
1006
+ <show_in_website>1</show_in_website>
1007
+ <show_in_store>0</show_in_store>
1008
+ </max_amount>
1009
+ <allowspecific translate="label">
1010
+ <label>allow specific countries</label>
1011
+ <frontend_type>allowspecific</frontend_type>
1012
+ <sort_order>140</sort_order>
1013
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1014
+ <show_in_default>1</show_in_default>
1015
+ <show_in_website>1</show_in_website>
1016
+ <show_in_store>1</show_in_store>
1017
+ </allowspecific>
1018
+ <specificcountry translate="label">
1019
+ <label>specific countries</label>
1020
+ <frontend_type>multiselect</frontend_type>
1021
+ <sort_order>150</sort_order>
1022
+ <source_model>adminhtml/system_config_source_country</source_model>
1023
+ <show_in_default>1</show_in_default>
1024
+ <show_in_website>1</show_in_website>
1025
+ <show_in_store>1</show_in_store>
1026
+ </specificcountry>
1027
+ </fields>
1028
+ </hpeps>
1029
+ <!-- }}} -->
1030
+ <!-- {{{ HPIDL -->
1031
+ <hpidl translate="label">
1032
+ <label>Heidelpay iDeal</label>
1033
+ <frontend_type>text</frontend_type>
1034
+ <sort_order>100</sort_order>
1035
+ <show_in_default>1</show_in_default>
1036
+ <show_in_website>1</show_in_website>
1037
+ <show_in_store>0</show_in_store>
1038
+ <fields>
1039
+ <title translate="label">
1040
+ <label>Title</label>
1041
+ <frontend_type>text</frontend_type>
1042
+ <sort_order>10</sort_order>
1043
+ <show_in_default>1</show_in_default>
1044
+ <show_in_website>1</show_in_website>
1045
+ <show_in_store>0</show_in_store>
1046
+ </title>
1047
+ <active translate="label">
1048
+ <label>Enabled</label>
1049
+ <frontend_type>select</frontend_type>
1050
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1051
+ <sort_order>20</sort_order>
1052
+ <show_in_default>1</show_in_default>
1053
+ <show_in_website>1</show_in_website>
1054
+ <show_in_store>0</show_in_store>
1055
+ </active>
1056
+ <transactionmode translate="label">
1057
+ <label>Transactionmode</label>
1058
+ <frontend_type>select</frontend_type>
1059
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
1060
+ <sort_order>30</sort_order>
1061
+ <show_in_default>1</show_in_default>
1062
+ <show_in_website>1</show_in_website>
1063
+ <show_in_store>0</show_in_store>
1064
+ </transactionmode>
1065
+ <channel translate="label">
1066
+ <label>Channel ID</label>
1067
+ <frontend_type>text</frontend_type>
1068
+ <sort_order>40</sort_order>
1069
+ <show_in_default>1</show_in_default>
1070
+ <show_in_website>1</show_in_website>
1071
+ <show_in_store>0</show_in_store>
1072
+ </channel>
1073
+ <order_status translate="label">
1074
+ <label>Order status</label>
1075
+ <frontend_type>select</frontend_type>
1076
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1077
+ <sort_order>60</sort_order>
1078
+ <show_in_default>1</show_in_default>
1079
+ <show_in_website>1</show_in_website>
1080
+ <show_in_store>0</show_in_store>
1081
+ </order_status>
1082
+ <payment_status translate="label">
1083
+ <label>Payment status</label>
1084
+ <frontend_type>select</frontend_type>
1085
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1086
+ <sort_order>70</sort_order>
1087
+ <show_in_default>1</show_in_default>
1088
+ <show_in_website>1</show_in_website>
1089
+ <show_in_store>0</show_in_store>
1090
+ </payment_status>
1091
+ <wait_status translate="label">
1092
+ <label>Waiting status</label>
1093
+ <frontend_type>select</frontend_type>
1094
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1095
+ <sort_order>80</sort_order>
1096
+ <show_in_default>1</show_in_default>
1097
+ <show_in_website>1</show_in_website>
1098
+ <show_in_store>0</show_in_store>
1099
+ </wait_status>
1100
+ <cancel_status translate="label">
1101
+ <label>Cancel status</label>
1102
+ <frontend_type>select</frontend_type>
1103
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1104
+ <sort_order>90</sort_order>
1105
+ <show_in_default>1</show_in_default>
1106
+ <show_in_website>1</show_in_website>
1107
+ <show_in_store>0</show_in_store>
1108
+ </cancel_status>
1109
+ <error_status translate="label">
1110
+ <label>Error status</label>
1111
+ <frontend_type>select</frontend_type>
1112
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1113
+ <sort_order>100</sort_order>
1114
+ <show_in_default>1</show_in_default>
1115
+ <show_in_website>1</show_in_website>
1116
+ <show_in_store>0</show_in_store>
1117
+ </error_status>
1118
+ <sort_order translate="label">
1119
+ <label>Sort order</label>
1120
+ <frontend_type>text</frontend_type>
1121
+ <sort_order>110</sort_order>
1122
+ <show_in_default>1</show_in_default>
1123
+ <show_in_website>1</show_in_website>
1124
+ <show_in_store>0</show_in_store>
1125
+ </sort_order>
1126
+ <min_amount translate="label">
1127
+ <label>Minimum Amount (CENT)</label>
1128
+ <frontend_type>text</frontend_type>
1129
+ <sort_order>120</sort_order>
1130
+ <show_in_default>1</show_in_default>
1131
+ <show_in_website>1</show_in_website>
1132
+ <show_in_store>0</show_in_store>
1133
+ </min_amount>
1134
+ <max_amount translate="label">
1135
+ <label>Maximum Amount (CENT)</label>
1136
+ <frontend_type>text</frontend_type>
1137
+ <sort_order>130</sort_order>
1138
+ <show_in_default>1</show_in_default>
1139
+ <show_in_website>1</show_in_website>
1140
+ <show_in_store>0</show_in_store>
1141
+ </max_amount>
1142
+ <allowspecific translate="label">
1143
+ <label>allow specific countries</label>
1144
+ <frontend_type>allowspecific</frontend_type>
1145
+ <sort_order>140</sort_order>
1146
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1147
+ <show_in_default>1</show_in_default>
1148
+ <show_in_website>1</show_in_website>
1149
+ <show_in_store>1</show_in_store>
1150
+ </allowspecific>
1151
+ <specificcountry translate="label">
1152
+ <label>specific countries</label>
1153
+ <frontend_type>multiselect</frontend_type>
1154
+ <sort_order>150</sort_order>
1155
+ <source_model>adminhtml/system_config_source_country</source_model>
1156
+ <show_in_default>1</show_in_default>
1157
+ <show_in_website>1</show_in_website>
1158
+ <show_in_store>1</show_in_store>
1159
+ </specificcountry>
1160
+ </fields>
1161
+ </hpidl>
1162
+ <!-- }}} -->
1163
+ <!-- {{{ HPPP -->
1164
+ <hppp translate="label">
1165
+ <label>Heidelpay Prepayment</label>
1166
+ <frontend_type>text</frontend_type>
1167
+ <sort_order>100</sort_order>
1168
+ <show_in_default>1</show_in_default>
1169
+ <show_in_website>1</show_in_website>
1170
+ <show_in_store>0</show_in_store>
1171
+ <fields>
1172
+ <title translate="label">
1173
+ <label>Title</label>
1174
+ <frontend_type>text</frontend_type>
1175
+ <sort_order>10</sort_order>
1176
+ <show_in_default>1</show_in_default>
1177
+ <show_in_website>1</show_in_website>
1178
+ <show_in_store>0</show_in_store>
1179
+ </title>
1180
+ <active translate="label">
1181
+ <label>Enabled</label>
1182
+ <frontend_type>select</frontend_type>
1183
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1184
+ <sort_order>20</sort_order>
1185
+ <show_in_default>1</show_in_default>
1186
+ <show_in_website>1</show_in_website>
1187
+ <show_in_store>0</show_in_store>
1188
+ </active>
1189
+ <transactionmode translate="label">
1190
+ <label>Transactionmode</label>
1191
+ <frontend_type>select</frontend_type>
1192
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
1193
+ <sort_order>30</sort_order>
1194
+ <show_in_default>1</show_in_default>
1195
+ <show_in_website>1</show_in_website>
1196
+ <show_in_store>0</show_in_store>
1197
+ </transactionmode>
1198
+ <channel translate="label">
1199
+ <label>Channel ID</label>
1200
+ <frontend_type>text</frontend_type>
1201
+ <sort_order>40</sort_order>
1202
+ <show_in_default>1</show_in_default>
1203
+ <show_in_website>1</show_in_website>
1204
+ <show_in_store>0</show_in_store>
1205
+ </channel>
1206
+ <order_status translate="label">
1207
+ <label>Order status</label>
1208
+ <frontend_type>select</frontend_type>
1209
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1210
+ <sort_order>60</sort_order>
1211
+ <show_in_default>1</show_in_default>
1212
+ <show_in_website>1</show_in_website>
1213
+ <show_in_store>0</show_in_store>
1214
+ </order_status>
1215
+ <payment_status translate="label">
1216
+ <label>Payment status</label>
1217
+ <frontend_type>select</frontend_type>
1218
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1219
+ <sort_order>70</sort_order>
1220
+ <show_in_default>1</show_in_default>
1221
+ <show_in_website>1</show_in_website>
1222
+ <show_in_store>0</show_in_store>
1223
+ </payment_status>
1224
+ <wait_status translate="label">
1225
+ <label>Waiting status</label>
1226
+ <frontend_type>select</frontend_type>
1227
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1228
+ <sort_order>80</sort_order>
1229
+ <show_in_default>1</show_in_default>
1230
+ <show_in_website>1</show_in_website>
1231
+ <show_in_store>0</show_in_store>
1232
+ </wait_status>
1233
+ <cancel_status translate="label">
1234
+ <label>Cancel status</label>
1235
+ <frontend_type>select</frontend_type>
1236
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1237
+ <sort_order>90</sort_order>
1238
+ <show_in_default>1</show_in_default>
1239
+ <show_in_website>1</show_in_website>
1240
+ <show_in_store>0</show_in_store>
1241
+ </cancel_status>
1242
+ <error_status translate="label">
1243
+ <label>Error status</label>
1244
+ <frontend_type>select</frontend_type>
1245
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1246
+ <sort_order>100</sort_order>
1247
+ <show_in_default>1</show_in_default>
1248
+ <show_in_website>1</show_in_website>
1249
+ <show_in_store>0</show_in_store>
1250
+ </error_status>
1251
+ <sort_order translate="label">
1252
+ <label>Sort order</label>
1253
+ <frontend_type>text</frontend_type>
1254
+ <sort_order>110</sort_order>
1255
+ <show_in_default>1</show_in_default>
1256
+ <show_in_website>1</show_in_website>
1257
+ <show_in_store>0</show_in_store>
1258
+ </sort_order>
1259
+ <min_amount translate="label">
1260
+ <label>Minimum Amount (CENT)</label>
1261
+ <frontend_type>text</frontend_type>
1262
+ <sort_order>120</sort_order>
1263
+ <show_in_default>1</show_in_default>
1264
+ <show_in_website>1</show_in_website>
1265
+ <show_in_store>0</show_in_store>
1266
+ </min_amount>
1267
+ <max_amount translate="label">
1268
+ <label>Maximum Amount (CENT)</label>
1269
+ <frontend_type>text</frontend_type>
1270
+ <sort_order>130</sort_order>
1271
+ <show_in_default>1</show_in_default>
1272
+ <show_in_website>1</show_in_website>
1273
+ <show_in_store>0</show_in_store>
1274
+ </max_amount>
1275
+ <allowspecific translate="label">
1276
+ <label>allow specific countries</label>
1277
+ <frontend_type>allowspecific</frontend_type>
1278
+ <sort_order>140</sort_order>
1279
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1280
+ <show_in_default>1</show_in_default>
1281
+ <show_in_website>1</show_in_website>
1282
+ <show_in_store>1</show_in_store>
1283
+ </allowspecific>
1284
+ <specificcountry translate="label">
1285
+ <label>specific countries</label>
1286
+ <frontend_type>multiselect</frontend_type>
1287
+ <sort_order>150</sort_order>
1288
+ <source_model>adminhtml/system_config_source_country</source_model>
1289
+ <show_in_default>1</show_in_default>
1290
+ <show_in_website>1</show_in_website>
1291
+ <show_in_store>1</show_in_store>
1292
+ </specificcountry>
1293
+ </fields>
1294
+ </hppp>
1295
+ <!-- }}} -->
1296
+ <!-- {{{ HPIV -->
1297
+ <hpiv translate="label">
1298
+ <label>Heidelpay Invoice</label>
1299
+ <frontend_type>text</frontend_type>
1300
+ <sort_order>100</sort_order>
1301
+ <show_in_default>1</show_in_default>
1302
+ <show_in_website>1</show_in_website>
1303
+ <show_in_store>0</show_in_store>
1304
+ <fields>
1305
+ <title translate="label">
1306
+ <label>Title</label>
1307
+ <frontend_type>text</frontend_type>
1308
+ <sort_order>10</sort_order>
1309
+ <show_in_default>1</show_in_default>
1310
+ <show_in_website>1</show_in_website>
1311
+ <show_in_store>0</show_in_store>
1312
+ </title>
1313
+ <active translate="label">
1314
+ <label>Enabled</label>
1315
+ <frontend_type>select</frontend_type>
1316
+ <source_model>adminhtml/system_config_source_yesno</source_model>
1317
+ <sort_order>20</sort_order>
1318
+ <show_in_default>1</show_in_default>
1319
+ <show_in_website>1</show_in_website>
1320
+ <show_in_store>0</show_in_store>
1321
+ </active>
1322
+ <transactionmode translate="label">
1323
+ <label>Transactionmode</label>
1324
+ <frontend_type>select</frontend_type>
1325
+ <source_model>Heidelpay/system_config_source_transactionmode</source_model>
1326
+ <sort_order>30</sort_order>
1327
+ <show_in_default>1</show_in_default>
1328
+ <show_in_website>1</show_in_website>
1329
+ <show_in_store>0</show_in_store>
1330
+ </transactionmode>
1331
+ <channel translate="label">
1332
+ <label>Channel ID</label>
1333
+ <frontend_type>text</frontend_type>
1334
+ <sort_order>40</sort_order>
1335
+ <show_in_default>1</show_in_default>
1336
+ <show_in_website>1</show_in_website>
1337
+ <show_in_store>0</show_in_store>
1338
+ </channel>
1339
+ <order_status translate="label">
1340
+ <label>Order status</label>
1341
+ <frontend_type>select</frontend_type>
1342
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1343
+ <sort_order>60</sort_order>
1344
+ <show_in_default>1</show_in_default>
1345
+ <show_in_website>1</show_in_website>
1346
+ <show_in_store>0</show_in_store>
1347
+ </order_status>
1348
+ <payment_status translate="label">
1349
+ <label>Payment status</label>
1350
+ <frontend_type>select</frontend_type>
1351
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1352
+ <sort_order>70</sort_order>
1353
+ <show_in_default>1</show_in_default>
1354
+ <show_in_website>1</show_in_website>
1355
+ <show_in_store>0</show_in_store>
1356
+ </payment_status>
1357
+ <wait_status translate="label">
1358
+ <label>Waiting status</label>
1359
+ <frontend_type>select</frontend_type>
1360
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1361
+ <sort_order>80</sort_order>
1362
+ <show_in_default>1</show_in_default>
1363
+ <show_in_website>1</show_in_website>
1364
+ <show_in_store>0</show_in_store>
1365
+ </wait_status>
1366
+ <cancel_status translate="label">
1367
+ <label>Cancel status</label>
1368
+ <frontend_type>select</frontend_type>
1369
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1370
+ <sort_order>90</sort_order>
1371
+ <show_in_default>1</show_in_default>
1372
+ <show_in_website>1</show_in_website>
1373
+ <show_in_store>0</show_in_store>
1374
+ </cancel_status>
1375
+ <error_status translate="label">
1376
+ <label>Error status</label>
1377
+ <frontend_type>select</frontend_type>
1378
+ <source_model>Heidelpay/system_config_source_orderstatus</source_model>
1379
+ <sort_order>100</sort_order>
1380
+ <show_in_default>1</show_in_default>
1381
+ <show_in_website>1</show_in_website>
1382
+ <show_in_store>0</show_in_store>
1383
+ </error_status>
1384
+ <sort_order translate="label">
1385
+ <label>Sort order</label>
1386
+ <frontend_type>text</frontend_type>
1387
+ <sort_order>110</sort_order>
1388
+ <show_in_default>1</show_in_default>
1389
+ <show_in_website>1</show_in_website>
1390
+ <show_in_store>0</show_in_store>
1391
+ </sort_order>
1392
+ <min_amount translate="label">
1393
+ <label>Minimum Amount (CENT)</label>
1394
+ <frontend_type>text</frontend_type>
1395
+ <sort_order>120</sort_order>
1396
+ <show_in_default>1</show_in_default>
1397
+ <show_in_website>1</show_in_website>
1398
+ <show_in_store>0</show_in_store>
1399
+ </min_amount>
1400
+ <max_amount translate="label">
1401
+ <label>Maximum Amount (CENT)</label>
1402
+ <frontend_type>text</frontend_type>
1403
+ <sort_order>130</sort_order>
1404
+ <show_in_default>1</show_in_default>
1405
+ <show_in_website>1</show_in_website>
1406
+ <show_in_store>0</show_in_store>
1407
+ </max_amount>
1408
+ <allowspecific translate="label">
1409
+ <label>allow specific countries</label>
1410
+ <frontend_type>allowspecific</frontend_type>
1411
+ <sort_order>140</sort_order>
1412
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
1413
+ <show_in_default>1</show_in_default>
1414
+ <show_in_website>1</show_in_website>
1415
+ <show_in_store>1</show_in_store>
1416
+ </allowspecific>
1417
+ <specificcountry translate="label">
1418
+ <label>specific countries</label>
1419
+ <frontend_type>multiselect</frontend_type>
1420
+ <sort_order>150</sort_order>
1421
+ <source_model>adminhtml/system_config_source_country</source_model>
1422
+ <show_in_default>1</show_in_default>
1423
+ <show_in_website>1</show_in_website>
1424
+ <show_in_store>1</show_in_store>
1425
+ </specificcountry>
1426
+ </fields>
1427
+ </hpiv>
1428
+ <!-- }}} -->
1429
+ </groups>
1430
+ </payment>
1431
+ </sections>
1432
+ </config>
app/code/local/Mage/Heidelpay/sql/heidelpay_setup/mysql4-install-1.0.0.php ADDED
@@ -0,0 +1,204 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* @var $installer Heidelpay_Model_Entity_Setup */
3
+ /*
4
+ $installer = $this;
5
+ $installer->run("
6
+ DROP TABLE IF EXISTS {$this->getTable('heidelpay')};
7
+ CREATE TABLE {$this->getTable('heidelpay')} (
8
+ `userId` BIGINT NOT NULL ,
9
+ `heidelpay_ccard_unique_id` VARCHAR( 32 ) NOT NULL ,
10
+ `heidelpay_ccard_payment_type` VARCHAR( 32 ) NOT NULL ,
11
+ `heidelpay_ccard` VARCHAR( 20 ) NOT NULL ,
12
+ `heidelpay_ccard_valid_until` VARCHAR( 10 ) NOT NULL ,
13
+ `heidelpay_ccard_brand` VARCHAR( 20 ) NOT NULL ,
14
+ `heidelpay_ccard_holder` VARCHAR( 255 ) NOT NULL ,
15
+ `heidelpay_dcard_unique_id` VARCHAR( 32 ) NOT NULL ,
16
+ `heidelpay_dcard_payment_type` VARCHAR( 32 ) NOT NULL ,
17
+ `heidelpay_dcard` VARCHAR( 20 ) NOT NULL ,
18
+ `heidelpay_dcard_valid_until` VARCHAR( 10 ) NOT NULL ,
19
+ `heidelpay_dcard_brand` VARCHAR( 20 ) NOT NULL ,
20
+ `heidelpay_dcard_holder` VARCHAR( 255 ) NOT NULL,
21
+ PRIMARY KEY (`userId`)
22
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
23
+ ");
24
+
25
+ $installer->installEntities();
26
+ */
27
+
28
+ // load id for customer entity
29
+ $read = Mage::getSingleton('core/resource')->getConnection('core_read');
30
+ $eid = $read->fetchRow("select entity_type_id from {$this->getTable('eav_entity_type')} where entity_type_code = 'customer'");
31
+ $customer_type_id = $eid['entity_type_id'];
32
+
33
+ $eid = $read->fetchRow("select entity_type_id from {$this->getTable('eav_entity_type')} where entity_type_code = 'order'");
34
+ $order_type_id = $eid['entity_type_id'];
35
+
36
+ // Customer Attribures
37
+ $newAttributes = array(
38
+ // Credit Card Data
39
+ 'heidelpay_ccard_unique_id' => array(
40
+ 'type' => 'varchar',
41
+ 'input' => 'label',
42
+ 'label' => 'Heidelpay Creditcard Unique ID',
43
+ 'global' => 1,
44
+ 'required' => 0,
45
+ 'default' => '',
46
+ 'position' => '0'
47
+ ),
48
+ 'heidelpay_ccard_payment_type' => array(
49
+ 'type' => 'varchar',
50
+ 'input' => 'label',
51
+ 'label' => 'Heidelpay Creditcard Payment Type',
52
+ 'global' => 1,
53
+ 'required' => 0,
54
+ 'default' => '',
55
+ 'position' => '0'
56
+ ),
57
+ 'heidelpay_ccard' => array(
58
+ 'type' => 'varchar',
59
+ 'input' => 'label',
60
+ 'label' => 'Heidelpay Creditcard',
61
+ 'global' => 1,
62
+ 'required' => 0,
63
+ 'default' => '',
64
+ 'position' => '0'
65
+ ),
66
+ 'heidelpay_ccard_valid_until' => array(
67
+ 'type' => 'varchar',
68
+ 'input' => 'label',
69
+ 'label' => 'Heidelpay Creditcard valid until',
70
+ 'global' => 1,
71
+ 'required' => 0,
72
+ 'default' => '',
73
+ 'position' => '0'
74
+ ),
75
+ 'heidelpay_ccard_brand' => array(
76
+ 'type' => 'varchar',
77
+ 'input' => 'label',
78
+ 'label' => 'Heidelpay Creditcard Brand',
79
+ 'global' => 1,
80
+ 'required' => 0,
81
+ 'default' => '',
82
+ 'position' => '0'
83
+ ),
84
+ 'heidelpay_ccard_holder' => array(
85
+ 'type' => 'varchar',
86
+ 'input' => 'label',
87
+ 'label' => 'Heidelpay Creditcard Holder',
88
+ 'global' => 1,
89
+ 'required' => 0,
90
+ 'default' => '',
91
+ 'position' => '0'
92
+ ),
93
+ // Debit Card Data
94
+ 'heidelpay_dcard_unique_id' => array(
95
+ 'type' => 'varchar',
96
+ 'input' => 'label',
97
+ 'label' => 'Heidelpay DebitCard Unique ID',
98
+ 'global' => 1,
99
+ 'required' => 0,
100
+ 'default' => '',
101
+ 'position' => '0'
102
+ ),
103
+ 'heidelpay_dcard_payment_type' => array(
104
+ 'type' => 'varchar',
105
+ 'input' => 'label',
106
+ 'label' => 'Heidelpay DebitCard Payment Type',
107
+ 'global' => 1,
108
+ 'required' => 0,
109
+ 'default' => '',
110
+ 'position' => '0'
111
+ ),
112
+ 'heidelpay_dcard' => array(
113
+ 'type' => 'varchar',
114
+ 'input' => 'label',
115
+ 'label' => 'Heidelpay DebitCard',
116
+ 'global' => 1,
117
+ 'required' => 0,
118
+ 'default' => '',
119
+ 'position' => '0'
120
+ ),
121
+ 'heidelpay_dcard_valid_until' => array(
122
+ 'type' => 'varchar',
123
+ 'input' => 'label',
124
+ 'label' => 'Heidelpay DebitCard valid until',
125
+ 'global' => 1,
126
+ 'required' => 0,
127
+ 'default' => '',
128
+ 'position' => '0'
129
+ ),
130
+ 'heidelpay_dcard_brand' => array(
131
+ 'type' => 'varchar',
132
+ 'input' => 'label',
133
+ 'label' => 'Heidelpay DebitCard Brand',
134
+ 'global' => 1,
135
+ 'required' => 0,
136
+ 'default' => '',
137
+ 'position' => '0'
138
+ ),
139
+ 'heidelpay_dcard_holder' => array(
140
+ 'type' => 'varchar',
141
+ 'input' => 'label',
142
+ 'label' => 'Heidelpay DebitCard Holder',
143
+ 'global' => 1,
144
+ 'required' => 0,
145
+ 'default' => '',
146
+ 'position' => '0'
147
+ ),
148
+ // Bank Data
149
+ 'heidelpay_last_blz' => array(
150
+ 'type' => 'varchar',
151
+ 'input' => 'label',
152
+ 'label' => 'Heidelpay Bankcode',
153
+ 'global' => 1,
154
+ 'required' => 0,
155
+ 'default' => '',
156
+ 'position' => '0'
157
+ ),
158
+ 'heidelpay_last_kto' => array(
159
+ 'type' => 'varchar',
160
+ 'input' => 'label',
161
+ 'label' => 'Heidelpay Accuntnumber',
162
+ 'global' => 1,
163
+ 'required' => 0,
164
+ 'default' => '',
165
+ 'position' => '0'
166
+ ),
167
+ 'heidelpay_last_holder' => array(
168
+ 'type' => 'varchar',
169
+ 'input' => 'label',
170
+ 'label' => 'Heidelpay Account Holder',
171
+ 'global' => 1,
172
+ 'required' => 0,
173
+ 'default' => '',
174
+ 'position' => '0'
175
+ ),
176
+ );
177
+ // Order Attribures
178
+ $newOrderAttributes = array(
179
+ 'last_trans_id' => array(
180
+ 'type' => 'varchar',
181
+ 'input' => 'label',
182
+ 'label' => 'Heidelpay Unique ID',
183
+ 'global' => 1,
184
+ 'required' => 0,
185
+ 'sort_order' => 300,
186
+ 'visible' => 1,
187
+ ),
188
+ );
189
+
190
+
191
+ $installer = $this;
192
+ $installer->startSetup();
193
+
194
+ $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
195
+ // Customer changes
196
+ foreach($newAttributes AS $k => $v){
197
+ $setup->addAttribute($customer_type_id, $k, $v);
198
+ }
199
+ // Order changes
200
+ foreach($newOrderAttributes AS $k => $v){
201
+ $setup->addAttribute($order_type_id, $k, $v);
202
+ }
203
+ $installer->endSetup();
204
+ // EOF
app/design/adminhtml/default/default/template/heidelpay/info/payment.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->getMethod()->getTitle();?></p><?php echo $this->getMethod()->getLightbox();?>
app/design/frontend/base/default/layout/heidelpay.xml ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+
4
+ <!--
5
+ Default layout, loads most of the pages
6
+ -->
7
+ <heidelpay_payment_success>
8
+ <reference name="root">
9
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
10
+ </reference>
11
+ <reference name="content">
12
+ <block type="heidelpay/success" name="heidelpay_success" template="heidelpay/success.phtml"/>
13
+ </reference>
14
+ </heidelpay_payment_success>
15
+ <heidelpay_payment_failure>
16
+ <reference name="root">
17
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
18
+ </reference>
19
+ <reference name="content">
20
+ <block type="core/template" name="heidelpay.failure" template="heidelpay/failure.phtml"/>
21
+ </reference>
22
+ </heidelpay_payment_failure>
23
+ <heidelpay_payment_redirect>
24
+ <reference name="root">
25
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
26
+ </reference>
27
+ <reference name="content">
28
+ <block type="core/template" name="heidelpay.redirect" template="heidelpay/redirect.phtml"/>
29
+ </reference>
30
+ </heidelpay_payment_redirect>
31
+ <heidelpay_payment_paymentccard>
32
+ <reference name="root">
33
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
34
+ </reference>
35
+ <reference name="content">
36
+ <block type="core/template" name="heidelpay.paymentccard" template="heidelpay/paymentccard.phtml"/>
37
+ </reference>
38
+ </heidelpay_payment_paymentccard>
39
+ <heidelpay_payment_iframe>
40
+ <reference name="root">
41
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
42
+ </reference>
43
+ <reference name="content">
44
+ <block type="heidelpay/iframe" name="heidelpay_iframe" template="heidelpay/iframe.phtml"/>
45
+ </reference>
46
+ </heidelpay_payment_iframe>
47
+ <heidelpay_payment_suform>
48
+ <reference name="root">
49
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
50
+ </reference>
51
+ <reference name="content">
52
+ <block type="heidelpay/suform" name="heidelpay_suform" template="heidelpay/suform.phtml"/>
53
+ </reference>
54
+ </heidelpay_payment_suform>
55
+ <heidelpay_payment_lightbox>
56
+ <reference name="root">
57
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
58
+ </reference>
59
+ <reference name="content">
60
+ <block type="heidelpay/lightbox" name="heidelpay_lightbox" template="heidelpay/lightbox.phtml"/>
61
+ </reference>
62
+ </heidelpay_payment_lightbox>
63
+ <heidelpay_payment_cancel>
64
+ <reference name="root">
65
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
66
+ </reference>
67
+ <reference name="content">
68
+ <block type="heidelpay/cancel" name="heidelpay_cancel" template="heidelpay/cancel.phtml"/>
69
+ </reference>
70
+ </heidelpay_payment_cancel>
71
+ <heidelpay_payment_error>
72
+ <reference name="root">
73
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
74
+ </reference>
75
+ <reference name="content">
76
+ <block type="heidelpay/error" name="heidelpay_error" template="heidelpay/error.phtml"/>
77
+ </reference>
78
+ </heidelpay_payment_error>
79
+ <heidelpay_payment_threedsecure>
80
+ <reference name="root">
81
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
82
+ </reference>
83
+ <reference name="content">
84
+ <block type="heidelpay/secure" name="heidelpay_secure" template="heidelpay/secure.phtml"/>
85
+ </reference>
86
+ </heidelpay_payment_threedsecure>
87
+ </layout>
app/design/frontend/base/default/template/heidelpay/cancel.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <h1><?php echo $this->__('Abbruch durch Benutzer')?></h1><br>
2
+ <?php
3
+ $request = $this->getRequest()->getParams();
4
+ if (isset($request['error'])) echo urldecode($request['error']);
5
+ ?>
app/design/frontend/base/default/template/heidelpay/error.phtml ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <h1><?php echo $this->__('Es ist ein Fehler aufgetreten.')?></h1><br>
2
+ <?php echo Mage::app()->getRequest()->getParam('error');?>
app/design/frontend/base/default/template/heidelpay/form/ccard.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescCreditCard')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/debitcard.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescDebitCard')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/directdebit.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescDirectDebit')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/eps.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescEPS')?><?php echo $this->getMethod()->getLightbox(false);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/giropay.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescGiropay')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/ideal.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescIdeal')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/invoice.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescInvoice')?><?php echo $this->getMethod()->getLightbox(false);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/paypal.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescPayPal')?><?php echo $this->getMethod()->getLightbox(false);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/prepaid.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescPrepaid')?><?php echo $this->getMethod()->getLightbox(false);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/form/sofortueberweisung.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <fieldset class="form-list">
2
+ <?php $_code=$this->getMethodCode()?>
3
+ <ul id="payment_form_<?php echo $_code?>" style="display:none">
4
+ <li>
5
+ <div class="input-box"><?php echo $this->__('DescDirectEBanking')?><?php echo $this->getMethod()->getLightbox(true);?></div>
6
+ </li>
7
+ </ul>
8
+ </fieldset>
9
+ <?php echo $this->getMethod()->getJScript();?>
app/design/frontend/base/default/template/heidelpay/iframe.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <h1><?php echo $this->__('Geben Sie weitere Zahlungsinformationen ein.')?></h1><iframe frameborder=0 src="<?php echo $this->getHPUrl()?>" width="400" height="600" name="bankinfo"></iframe>
app/design/frontend/base/default/template/heidelpay/info/payment.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <p><?php echo $this->getMethod()->getTitle();?></p><?php //echo $this->getMethod()->getLightbox();?>
app/design/frontend/base/default/template/heidelpay/lightbox.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <h1><?php echo $this->__('Geben Sie weitere Zahlungsinformationen ein.')?></h1>
2
+ <center><div id="hpBox"><div style="background-color: #666; position:fixed; display:block; margin:0; padding:0; top:0; left:0; opacity: 0.9; -moz-opacity: 0.9; -khtml-opacity: 0.9; filter:alpha(opacity=90); z-index: 1000; width: 100%; height: 100%;"></div>
3
+ <div style="z-index: 1001; position: absolute; width: 800px; top: 50%; left: 50%; margin-top: -325px; margin-left: -400px;">
4
+ <iframe src="<?php echo $this->getHPUrl()?>" frameborder="0" width="800" height="650" style="border: 1px solid #ddd"></iframe><br>
5
+ <a href="" onClick="document.getElementById(\'hpBox\').style.display=\'none\'; return false;"><?php echo $this->__('schliessen')?></a></div></div></center>
app/design/frontend/base/default/template/heidelpay/redirect.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <div class="page-head"><h3><?php echo $this->__('Geben Sie weitere Zahlungsinformationen ein.')?></h3></div><p><?php echo $this->getIframe();?></p>
app/design/frontend/base/default/template/heidelpay/secure.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <h1><?php echo $this->__('Geben Sie weitere Zahlungsinformationen ein.')?></h1><?php echo $this->get3DFrame()?>
app/design/frontend/base/default/template/heidelpay/success.phtml ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="page-head">
2
+ <h3><?php echo $this->__('Your order has been received.')?></h3>
3
+ </div>
4
+ <p><strong><?php echo $this->__('Thank you for your purchase!')?></strong></p>
5
+ <p>
6
+ <?php if ($this->canPrint()) :?>
7
+ <?php echo $this->__('Your order # is: <a href="%s">%s</a>', $this->getViewOrderUrl(), $this->getOrderId()) ?>.<br/>
8
+ <?php else :?>
9
+ <?php echo $this->__('Your order # is: %s', $this->getOrderId()) ?>.<br/>
10
+ <?php endif;?>
11
+ <?=$this->__('You will receive an order confirmation email with details of your order and a link to track its progress.')?>
12
+ <?php if ($this->canPrint()) :?>
13
+ <?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
14
+ <?php endif;?>
15
+ </p>
16
+
17
+ <?php echo $this->getPrePaidData()?>
18
+
19
+ <div class="button-set">
20
+ <button class="form-button" onclick="window.location='<?php echo $this->getUrl()?>'"><span><?php echo $this->__('Continue Shopping')?></span></button>
21
+ </div>
app/design/frontend/base/default/template/heidelpay/suform.phtml ADDED
@@ -0,0 +1 @@
 
1
+ <?php echo $this->getHPSUForm()?>
app/etc/modules/Mage_Heidelpay.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Mage_Heidelpay>
5
+ <active>true</active>
6
+ <codePool>local</codePool>
7
+ </Mage_Heidelpay>
8
+ </modules>
9
+ </config>
app/locale/de_DE/Mage_Heidelpay.csv ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Creditcard (Heidelpay)","Kreditkarte (Heidelpay)"
2
+ "Dear {NAME}, you used the following creditcard on your last visit. Do you want to re-use it?","Sehr geehrter Herr {NAME}, beim letzten Besuch haben Sie folgende Kreditkarte verwendet, m&ouml;chten Sie diese wieder verwenden?"
3
+ "Yes, I want to re-use my creditcard.","Ja, Ich m&ouml;chte meine Kreditkarte erneut benutzen."
4
+ "Re-use last creditcard.","Letzte Kreditkarte nutzen."
5
+
6
+ "Debitcard (Heidelpay)","Debitkarte (Heidelpay)"
7
+ "Dear {NAME}, you used the following debitcard on your last visit. Do you want to re-use it?","Sehr geehrter Herr {NAME}, beim letzten Besuch haben Sie folgende Debitkarte verwendet, m&ouml;chten Sie diese wieder verwenden?"
8
+ "Yes, I want to re-use my debitcard.","Ja, Ich m&ouml;chte meine Debitkarte erneut benutzen."
9
+ "Re-use last debitcard.","Letzte Debitkarte nutzen."
10
+
11
+ "Your order has been received.","Ihre Bestellung ist eingegangen."
12
+
13
+ "Credit Card","Kreditkarte"
14
+ "Debit Card","Debitkarte"
15
+ "Debitcard","Debitkarte"
16
+ "Direct Debit","Lastschrift"
17
+ "Direct E-Banking","Sofort&uuml;berweisung"
18
+ "Giropay","Giropay"
19
+ "Pay Pal","Pay Pal"
20
+ "EPS","EPS"
21
+ "iDeal","iDeal"
22
+ "Prepayment","Vorkasse"
23
+ "Invoice","Rechnung"
24
+
25
+ "DescCreditCard","Sicher zahlen mit Kreditkarte<br><br>"
26
+ "DescDebitCard","Sicher zahlen mit Debitkarte<br><br>"
27
+ "DescDirectDebit","Sicher zahlen mit Lastschrift<br><br>"
28
+ "DescEPS","Sicher zahlen mit EPS"
29
+ "DescGiropay","Sicher zahlen mit Giropay"
30
+ "DescIdeal","Sicher zahlen mit iDeal"
31
+ "DescPayPal","Sicher zahlen mit PayPal"
32
+ "DescPrepaid","Sicher zahlen mit Vorkasse"
33
+ "DescDirectEBanking","Sicher zahlen mit Sofort&uuml;berweisung"
34
+ "DescInvoice","Zahlen Sie bequem mit Rechnung"
35
+
36
+
37
+ "No.","Nr."
38
+ "Valid until:","G&uuml;ltig bis:"
39
+ "close","schliessen"
40
+ "Cardtype:","Kartentyp:"
41
+ "Account No","Konto"
42
+ "Bankcode","BLZ"
43
+ "Owner","Inhaber"
44
+ "Please enter account no.","Bitte Konto angeben."
45
+ "Please enter bankcode.","Bitte BLZ angeben."
46
+ "Please enter owner.","Bitte Inhaber angeben."
47
+ "Enter additional information for the payment.","Geben Sie weitere Zahlungsinformationen ein."
48
+ "HP_SUCCESS_PREPAID","Ihre Transaktion war erfolgreich!
49
+
50
+ Ueberweisen Sie uns den Betrag von {CURRENCY} {AMOUNT} auf folgendes Konto
51
+ Land : {ACC_COUNTRY}
52
+ Kontoinhaber : {ACC_OWNER}
53
+ Konto-Nr. : {ACC_NUMBER}
54
+ Bankleitzahl: {ACC_BANKCODE}
55
+ IBAN: {ACC_IBAN}
56
+ BIC: {ACC_BIC}
57
+ Geben sie bitte im Verwendungszweck UNBEDINGT die Identifikationsnummer
58
+ {SHORTID}
59
+ und NICHTS ANDERES an."
60
+ "HP_SUCCESS_INVOICE","Ihre Transaktion war erfolgreich!
61
+
62
+ Ueberweisen Sie uns den Betrag von {CURRENCY} {AMOUNT} auf folgendes Konto
63
+ Land : {ACC_COUNTRY}
64
+ Kontoinhaber : {ACC_OWNER}
65
+ Konto-Nr. : {ACC_NUMBER}
66
+ Bankleitzahl: {ACC_BANKCODE}
67
+ IBAN: {ACC_IBAN}
68
+ BIC: {ACC_BIC}
69
+ Geben sie bitte im Verwendungszweck UNBEDINGT die Identifikationsnummer
70
+ {SHORTID}
71
+ und NICHTS ANDERES an."
72
+
73
+ "You need to pay with giropay before using direct debit.","Sie m&uuml;ssen zuerst eine Giropay Buchung t&auml;tigen um Lastschrift nutzen zu k&ouml;nnen."
74
+ "You need to pay with direct e-banking before using direct debit.","Sie m&uuml;ssen zuerst eine Sofort&uuml;berweisungs Buchung t&auml;tigen um Lastschrift nutzen zu k&ouml;nnen."
75
+ "You need to pay with giropay or direct e-banking before using direct debit.","Sie m&uuml;ssen zuerst eine Giropay oder Sofort&uuml;berweisungs Buchung t&auml;tigen um Lastschrift nutzen zu k&ouml;nnen."
app/locale/en_US/Mage_Heidelpay.csv ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Creditcard (Heidelpay)","Creditcard (Heidelpay)"
2
+ "Dear {NAME}, you used the following creditcard on your last visit. Do you want to re-use it?","Dear {NAME}, you used the following creditcard on your last visit. Do you want to re-use it?"
3
+ "Yes, I want to re-use my creditcard.","Yes, I want to re-use my creditcard."
4
+ "Re-use last creditcard","Re-use last creditcard"
5
+
6
+ "Debitcard (Heidelpay)","Debitcard (Heidelpay)"
7
+ "Dear {NAME}, you used the following debitcard on your last visit. Do you want to re-use it?","Dear {NAME}, you used the following debitcard on your last visit. Do you want to re-use it?"
8
+ "Yes, I want to re-use my debitcard.","Yes, I want to re-use my debitcard."
9
+ "Re-use last debitcard.","Re-use last debitcard."
10
+
11
+ "Your order has been received.","Your order has been received."
12
+
13
+ "Credit Card","Credit Card"
14
+ "Debit Card","Debit Card"
15
+ "Direct Debit","Direct Debit"
16
+ "Direct E-Banking","Direct E-Banking"
17
+ "Giropay","Giropay"
18
+ "Pay Pal","Pay Pal"
19
+ "EPS","EPS"
20
+ "iDeal","iDeal"
21
+ "Prepayment","Prepayment"
22
+ "Invoice","Invoice"
23
+
24
+ "DescCreditCard","Pay safe and secure with Creditcard<br><br>"
25
+ "DescDebitCard","Pay safe and secure with Debitcard<br><br>"
26
+ "DescDirectDebit","Pay safe and secure with Direct Debit<br><br>"
27
+ "DescEPS","Pay safe and secure with EPS"
28
+ "DescGiropay","Pay safe and secure with Giropay"
29
+ "DescIdeal","Pay safe and secure with iDeal"
30
+ "DescPayPal","Pay safe and secure with PayPal"
31
+ "DescPrepaid","Pay safe and secure with Prepayment"
32
+ "DescDirectEBanking","Pay safe and secure with Direct EBanking"
33
+ "DescInvoice","Pay comfortable with Invoice"
34
+
35
+
36
+ "No.","No."
37
+ "Valid until:","Valid until:"
38
+ "close","close"
39
+ "Cardtype:","Cardtype:"
40
+ "Account No","Account No"
41
+ "Bankcode","Bankcode"
42
+ "Owner","Owner"
43
+ "Please enter account no.","Please enter account no."
44
+ "Please enter bankcode.","Please enter bankcode."
45
+ "Please enter owner.","Please enter owner."
46
+ "Enter additional information for the payment.","Enter additional information for the payment."
47
+ "HP_SUCCESS_PREPAID","Your transaction was successfull!
48
+
49
+ Transfer the amount of {CURRENCY} {AMOUNT} to the following account
50
+ Country : {ACC_COUNTRY}
51
+ Account holder : {ACC_OWNER}
52
+ Account No. : {ACC_NUMBER}
53
+ Bank Code: {ACC_BANKCODE}
54
+ IBAN: {ACC_IBAN}
55
+ BIC: {ACC_BIC}
56
+ When you transfer the money you HAVE TO use the identification number
57
+ {SHORTID}
58
+ as the descriptor and nothing else. Otherwise we cannot match your transaction!"
59
+ "HP_SUCCESS_INVOICE","Your transaction was successfull!
60
+
61
+ Transfer the amount of {CURRENCY} {AMOUNT} to the following account
62
+ Country : {ACC_COUNTRY}
63
+ Account holder : {ACC_OWNER}
64
+ Account No. : {ACC_NUMBER}
65
+ Bank Code: {ACC_BANKCODE}
66
+ IBAN: {ACC_IBAN}
67
+ BIC: {ACC_BIC}
68
+ When you transfer the money you HAVE TO use the identification number
69
+ {SHORTID}
70
+ as the descriptor and nothing else. Otherwise we cannot match your transaction!"
71
+
72
+ "You need to pay with giropay before using direct debit.","You need to pay with giropay before using direct debit."
73
+ "You need to pay with direct e-banking before using direct debit.","You need to pay with direct e-banking before using direct debit."
74
+ "You need to pay with giropay or direct e-banking before using direct debit.","You need to pay with giropay or direct e-banking before using direct debit."
75
+
package.xml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Heidelpay</name>
4
+ <version>1.2.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Heidelpay Standard Payment Modul</summary>
10
+ <description>Payment Modul der Heidelberger Payment GmbH&#xD;
11
+ &#xD;
12
+ Zahlverfahren:&#xD;
13
+ - Kreditkarte&#xD;
14
+ - Debitkarte&#xD;
15
+ - Sofort&#xFC;berweisung&#xD;
16
+ - Giropay&#xD;
17
+ - Lastschrift&#xD;
18
+ - Rechnung&#xD;
19
+ - Vorkasse&#xD;
20
+ - PayPal&#xD;
21
+ - EPS&#xD;
22
+ - iDeal</description>
23
+ <notes>First imported Version from the Premium Heidelpay Module&#xD;
24
+ &#xD;
25
+ For more Information contact tobias.eilers@heidelpay.de</notes>
26
+ <authors><author><name>Tobias Eilers</name><user>tobias_eilers</user><email>eilers@heidelpay.de</email></author></authors>
27
+ <date>2012-05-04</date>
28
+ <time>13:13:43</time>
29
+ <contents><target name="magelocal"><dir name="Mage"><dir name="Heidelpay"><dir name="Block"><file name="Cancel.php" hash="2f8e463c786a6ba61d125d44664dbee0"/><file name="Error.php" hash="a9d277e92cbc73e2695ce9641ba3d14e"/><dir name="Form"><file name="Ccard.php" hash="a1c0b7cf7d406b11436481a5844d7751"/><file name="Debitcard.php" hash="e2198fc05197d5bef1247076e4ad080c"/><file name="Directdebit.php" hash="0977a4ad96b29fa69104b553706ded50"/><file name="Eps.php" hash="c68e7de42e4ef4512bad6208cbad2cac"/><file name="Giropay.php" hash="331b9cbdcb0c9c6e216d062b049b2d7c"/><file name="Ideal.php" hash="e322a1c3755ffec72c50057ce4f20511"/><file name="Invoice.php" hash="ea99e30c5d4e1164d10c7f78c5eeb9a6"/><file name="Paypal.php" hash="ee5033af401aaf915ad74cf74b47121a"/><file name="Prepaid.php" hash="405ca5252cf5417b831b831f74cb7d28"/><file name="Sofortueberweisung.php" hash="8725dcb159ac01494da70a05caeeb33b"/></dir><file name="Form.php" hash="529a3c603e30be85a62dbd7d0d42b5c8"/><file name="Iframe.php" hash="af0b8f58d2c6c330fc2259ac7cbb34d2"/><dir name="Info"><file name="Payment.php" hash="149aa578e45842b7e871c749b5871a76"/></dir><file name="Info.php" hash="2417256c583db83a707ebf942674d3cf"/><file name="Lightbox.php" hash="ad707478642775fca33accad5c0d0ff8"/><file name="Paymentccard.php" hash="aaafda19384dd8dca17cc445e99d6ed9"/><file name="Redirect.php" hash="009292d502d3f058bbf819fd9167f62a"/><file name="Secure.php" hash="a90b0cec01e61b1b274577bcce6cf764"/><file name="Success.php" hash="18b9d658d2ba7e234bf8552240fc727f"/><file name="Suform.php" hash="74fa4deae5147dcf8041fdaf32beef2e"/></dir><dir name="Helper"><file name="Data.php" hash="5f729f633bf9fd01608cecb4fa2f3198"/></dir><dir name="Model"><dir name="Entity"><file name="Setup.php" hash="d3fc939ce3db21eac8c66d97d95ec83b"/></dir><file name="Errors.php" hash="379fb8ee37db79c6e356526be338b929"/><dir name="Method"><file name="Hpcc.php" hash="32cd566532d7c68cfb3a601050e4b3e3"/><file name="Hpdc.php" hash="4b9c20d22960d0b72709a720c4e6079f"/><file name="Hpdd.php" hash="a110361a9fb14ee7decb36cd32d29198"/><file name="Hpeps.php" hash="cc97a917660a7b5bbf2d9f89c0dbfe02"/><file name="Hpgp.php" hash="504e6d978ce44a51429cd4f3ff3d0bd0"/><file name="Hpidl.php" hash="c4ead80c170d7a43dd94caa52eb5ae67"/><file name="Hpiv.php" hash="aa4edec2117480c8f850e8429d8cf164"/><file name="Hppp.php" hash="20a6f0a66a7c3317bcb499278e6a478a"/><file name="Hpppal.php" hash="86f18c32b13e443c21fc4d884f47f6f1"/><file name="Hpsu.php" hash="a382bbd1619bb9203d690d2b12d9cb3c"/><file name="Payment.php" hash="6f1d2e064f6dd2570e336e84355511b0"/></dir><dir name="Order"><file name="Payment.php" hash="34c087a79ae3911e638630c8005331c0"/></dir><file name="Session.php" hash="1ee3ff853b5fc2873cfa461735a22115"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Bookingmode.php" hash="c9db4e44f8aac23795a636179660d157"/><file name="Orderstatus.php" hash="8061af68dbe75f983ef48fe267d6e75e"/><file name="Transactionmode.php" hash="c71ce5dce331f4ff67a5c7d82ff2a319"/></dir></dir></dir></dir><dir name="controllers"><file name="PaymentController.php" hash="a73ae8f76437a564226ef5a0f5e7a815"/></dir><dir name="etc"><file name="adminhtml.xml" hash="1e324f57ab7c3fe7d265be8a8c1b2a72"/><file name="config.xml" hash="154d10e1fd10b2d95e478f5176a5c204"/><file name="system.xml" hash="9cd9789f585874a453b421e177e3c7b8"/></dir><dir name="sql"><dir name="heidelpay_setup"><file name="mysql4-install-1.0.0.php" hash="f069880de6d870eb5dca71b3dfe8755e"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="heidelpay"><dir name="info"><file name="payment.phtml" hash="cf713fcaa600a8d550d3ed1e89d5387f"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="heidelpay"><file name="cancel.phtml" hash="e36b203fe39fea1f26a8e528cf62a62a"/><file name="error.phtml" hash="c07493da3275778795125a7d787642df"/><dir name="form"><file name="ccard.phtml" hash="bbdf9451b2b88984f63ab67c96fbe89e"/><file name="debitcard.phtml" hash="2c66fe7bd6862b1ba55f0ecea539c2de"/><file name="directdebit.phtml" hash="194bb2ab0020424cf78f1639d3100f8c"/><file name="eps.phtml" hash="447534cbceafa7cb6dd13fc7f435d851"/><file name="giropay.phtml" hash="3ee1239223234ecabcd08d89ae228aeb"/><file name="ideal.phtml" hash="943be8662f5e4e73db003676f8af9ca4"/><file name="invoice.phtml" hash="dc988d6cc635f540d4e35bfeb247cbd9"/><file name="paypal.phtml" hash="7436a0a6766966316e27ff2159d2aba3"/><file name="prepaid.phtml" hash="43ed7ca27db37f262aabddb368b6a641"/><file name="sofortueberweisung.phtml" hash="c0643bf73dc370630a87d47aee1db536"/></dir><file name="iframe.phtml" hash="3fc3dad45d65109d22790ea9d6d94511"/><dir name="info"><file name="payment.phtml" hash="caedeeef8c205ac2611f20abdb3c0b90"/></dir><file name="lightbox.phtml" hash="0da928fceba3c035c16c6202d3d142bb"/><file name="redirect.phtml" hash="ee7c882deb98eb69be286938bab58c94"/><file name="secure.phtml" hash="49a4bfb47c1c3124a5f24b4722e1c020"/><file name="success.phtml" hash="c934ed6185335eaa30cfc85a796a9dc0"/><file name="suform.phtml" hash="51f2b4f966cea8787a3a2c084462da7f"/></dir></dir><dir name="layout"><file name="heidelpay.xml" hash="4f826fb5984fdcf960a82926566307b2"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Heidelpay.xml" hash="7f4bf53ffc53df1e7358c6953474d113"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Mage_Heidelpay.csv" hash="79defdca798f5a7b2ded0ae58a10f86a"/></dir><dir name="en_US"><file name="Mage_Heidelpay.csv" hash="2694e85ccfd91f7f3dc4fa887487ca9b"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="heidelpay"><file name="Thumbs.db" hash="8329868a7a58385441d1cb2432f181f7"/><file name="back.png" hash="a6f28b7638195381b6f073f5bf10ad12"/><file name="forward.jpg" hash="cad661579c6ad91d79c23b9fffef215c"/><file name="forward.png" hash="ca8ab3c3962160b6eefce9da265dc62a"/><file name="heidelpay.png" hash="393274a5c3cef1d30da770710f5f3c90"/><file name="heidelpay_small.png" hash="dfd858bc973a26449195f1e2bfa834b2"/><file name="heidelpay_style.css" hash="a62c70d6842d9c3ff9712ab6e9213121"/><file name="space.gif" hash="ea05ec2274832731bf2413a6192a245d"/></dir></dir></dir></dir></dir></target></contents>
30
+ <compatible/>
31
+ <dependencies><required><php><min>4.0.0</min><max>6.0.0</max></php><extension><name>curl</name><min>1.0.0</min><max>999.0.0</max></extension></required></dependencies>
32
+ </package>
skin/frontend/base/default/images/heidelpay/Thumbs.db ADDED
Binary file
skin/frontend/base/default/images/heidelpay/back.png ADDED
Binary file
skin/frontend/base/default/images/heidelpay/forward.jpg ADDED
Binary file
skin/frontend/base/default/images/heidelpay/forward.png ADDED
Binary file
skin/frontend/base/default/images/heidelpay/heidelpay.png ADDED
Binary file
skin/frontend/base/default/images/heidelpay/heidelpay_small.png ADDED
Binary file
skin/frontend/base/default/images/heidelpay/heidelpay_style.css ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html,body {
2
+ background-color: #ffffff
3
+ }
4
+ #defaultData{
5
+ }
6
+ #frontendForm{
7
+ width: 400px;
8
+ margin-left: auto;
9
+ margin-right: auto;
10
+ margin-width: auto;
11
+ }
12
+ tr[id=notMandatoryRow] {
13
+ display: none;
14
+ }
15
+ tr[id=spacer1] {
16
+ display: none;
17
+ }
18
+ tr[id=spacer2] {
19
+ display: none;
20
+ }
21
+ tr[id=spacer3] {
22
+ display: none;
23
+ }
24
+ tr[id=spacer4] {
25
+ display: none;
26
+ }
27
+ tr[id=contactBlock] {
28
+ display: none;
29
+ }
30
+ tr[id=userInfoBlock] {
31
+ display: none;
32
+ }
33
+ tr[id=addressBlock] {
34
+ display: none;
35
+ }
36
+ tr#notMandatoryRow, tr#addressBlock, tr#userInfoBlock, tr#contactBlock, tr#spacer1, tr#spacer2, tr#spacer3, tr#spacer4 {
37
+ display: none;
38
+ }
39
+ td {
40
+ color: #000000;
41
+ }
42
+ input,select {
43
+ color: #000000;
44
+ background-color: #ffffff;
45
+ }
46
+ a:link {
47
+ color:#000000;
48
+ }
49
+ a:visited {
50
+ color:#000000;
51
+ }
52
+ a:hover {
53
+ color:#000000;
54
+ }
55
+ a:active {
56
+ color:#000000;
57
+ }
58
+ a:focus {
59
+ color:#000000;
60
+ }
61
+ .bar{
62
+ display: none;
63
+ }
64
+ select#paymentMethod{
65
+ display: none;
66
+ }
67
+ #paymentSelection{
68
+ display: none;
69
+ }
70
+ a#send{
71
+ float: right;
72
+ position: absolute;
73
+ right: 10px;
74
+ }
75
+ a#cancel{
76
+ float: left;
77
+ position: absolute;
78
+ left: 10px;
79
+ }
80
+ html, body, .bar {
81
+ background:transparent;
82
+ font-family:Verdana,sans-serif;
83
+ color:#000 !important;
84
+ overflow:visible;
85
+ }
86
+ .frm_box {
87
+ background:transparent;
88
+ border:none;
89
+ }
90
+ form, tr, td {
91
+ border:none;
92
+ background:transparent;
93
+ }
skin/frontend/base/default/images/heidelpay/space.gif ADDED
Binary file