Novalnet - Version 3.0.0

Version Notes

3.0.0 is now loaded with Iframe functionality

1.3 database table name is now fetched from system.1.2.9 the same as 1.2.7 only because Magento upload did not work correctly.1.2.8 the same as 1.2.7 only because Magento upload did not work correctly.1.2.7Bugfix:FC;r ELV DE, ELV AT und CC wurde die Währung fix als 'EUR' übergeben.



The parameter currency was passed over as fixed value 'EUR' for payment modules 'Direct Debit German', 'Direct Debit Austria' and 'Credir Card'.Allgemeine Bemerkung:Die Cache-Ordner var/cache und var/session müssen wie immer nach Aktualisierungen geleert werden.



Notice: the cache folders var/cache and var/session must be emptied after updates.

Download this release

Release Info

Developer Gabriel Dixon
Extension Novalnet
Version 3.0.0
Comparing to
See all releases


Code changes from version 1.3.8 to 3.0.0

Files changed (124) hide show
  1. app/code/community/Mage/Novalnet/Block/Cc/Form.php +34 -1
  2. app/code/community/Mage/Novalnet/Block/Cc/Info.php +8 -2
  3. app/code/community/Mage/Novalnet/Block/Elvaustria/Info.php +7 -1
  4. app/code/community/Mage/Novalnet/Block/Elvgerman/Info.php +8 -1
  5. app/code/community/Mage/Novalnet/Block/Invoice/Info.php +8 -1
  6. app/code/community/Mage/Novalnet/Block/Pci/Form.php +34 -1
  7. app/code/community/Mage/Novalnet/Block/Pci/Info.php +8 -2
  8. app/code/community/Mage/Novalnet/Block/Pci/Redirect.php +1 -1
  9. app/code/community/Mage/Novalnet/Block/Phonepayment/Info.php +7 -1
  10. app/code/community/Mage/Novalnet/Block/Prepayment/Info.php +8 -1
  11. app/code/community/Mage/Novalnet/Block/Secure/Info.php +8 -2
  12. app/code/community/Mage/Novalnet/Helper/Data.php +5 -0
  13. app/code/community/Mage/Novalnet/Model/Novalnet/Source/Cctype.php +1 -1
  14. app/code/community/Mage/Novalnet/Model/NovalnetCc.php +11 -13
  15. app/code/community/Mage/Novalnet/Model/NovalnetCcpci.php +2 -2
  16. app/code/community/Mage/Novalnet/Model/NovalnetElvatpci.php +2 -2
  17. app/code/community/Mage/Novalnet/Model/NovalnetElvaustria.php +704 -667
  18. app/code/community/Mage/Novalnet/Model/NovalnetElvdepci.php +2 -2
  19. app/code/community/Mage/Novalnet/Model/NovalnetElvgerman.php +717 -672
  20. app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php +661 -673
  21. app/code/community/Mage/Novalnet/Model/NovalnetPciAbstract.php +237 -129
  22. app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php +10 -10
  23. app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php +79 -103
  24. app/code/community/Mage/Novalnet/Model/NovalnetSecure.php +59 -28
  25. app/code/community/Mage/Novalnet/Model/Observer.php +1 -1
  26. app/code/community/Mage/Novalnet/controllers/InvoiceController.php +9 -13
  27. app/code/community/Mage/Novalnet/controllers/PciController.php +4 -2
  28. app/code/community/Mage/Novalnet/controllers/SecureController.php +9 -4
  29. app/code/community/Mage/Novalnet/etc/config.xml +18 -31
  30. app/code/community/Mage/Novalnet/etc/system.xml +268 -306
  31. app/code/community/Novalnet/NovalnetPaypal/Block/Info/Novalnetpaypal.php +9 -3
  32. app/code/community/Novalnet/NovalnetPaypal/Model/Novalnetpaypal.php +141 -148
  33. app/code/community/Novalnet/NovalnetPaypal/controllers/NovalnetpaypalController.php +254 -250
  34. app/code/community/Novalnet/NovalnetPaypal/etc/config.xml +3 -3
  35. app/code/community/Novalnet/NovalnetPaypal/etc/system.xml +8 -6
  36. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung.php +0 -12
  37. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit.php +0 -44
  38. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Form.php +0 -17
  39. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Tab/Form.php +0 -51
  40. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Tabs.php +0 -23
  41. app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Grid.php +0 -133
  42. app/code/community/Novalnet/Sofortueberweisung/Block/Form/Sofortueberweisung.php +43 -43
  43. app/code/community/Novalnet/Sofortueberweisung/Block/Info/Sofortueberweisung.php +69 -43
  44. app/code/community/Novalnet/Sofortueberweisung/Block/Infobox.php +0 -9
  45. app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisung.php +32 -32
  46. app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisungerrornotice.php +0 -9
  47. app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisungnotice.php +0 -9
  48. app/code/community/Novalnet/Sofortueberweisung/Model/Params.php +0 -2
  49. app/code/community/Novalnet/Sofortueberweisung/Model/Paycode.php +0 -207
  50. app/code/community/Novalnet/Sofortueberweisung/Model/Sofortueberweisung.php +333 -347
  51. app/code/community/Novalnet/Sofortueberweisung/Model/Status.php +0 -15
  52. app/code/community/Novalnet/Sofortueberweisung/controllers/PcsofortueberweisungController.php +2 -2
  53. app/code/community/Novalnet/Sofortueberweisung/controllers/SofortueberweisungController.php +298 -296
  54. app/code/community/Novalnet/Sofortueberweisung/etc/config.xml +5 -17
  55. app/code/community/Novalnet/Sofortueberweisung/etc/system.xml +6 -6
  56. app/design/adminhtml/default/default/template/novalnet/cc/form.phtml +3 -3
  57. app/design/adminhtml/default/default/template/novalnet/cc/info.phtml +2 -2
  58. app/design/adminhtml/default/default/template/novalnet/elvaustria/form.phtml +3 -3
  59. app/design/adminhtml/default/default/template/novalnet/elvaustria/info.phtml +4 -4
  60. app/design/adminhtml/default/default/template/novalnet/elvgerman/form.phtml +2 -2
  61. app/design/adminhtml/default/default/template/novalnet/elvgerman/info.phtml +3 -3
  62. app/design/adminhtml/default/default/template/novalnet/pci/form.phtml +10 -4
  63. app/design/adminhtml/default/default/template/novalnet/pci/info.phtml +2 -2
  64. app/design/adminhtml/default/default/template/novalnet/phonepayment/form.phtml +2 -2
  65. app/design/adminhtml/default/default/template/novalnet/phonepayment/info.phtml +1 -1
  66. app/design/adminhtml/default/default/template/novalnet/prepayment/form.phtml +2 -2
  67. app/design/adminhtml/default/default/template/novalnet/prepayment/info.phtml +1 -1
  68. app/design/adminhtml/default/default/template/novalnet/secure/form.phtml +3 -3
  69. app/design/adminhtml/default/default/template/novalnet/secure/info.phtml +5 -4
  70. app/design/adminhtml/default/default/template/novalnetpaypal/info/pdf/novalnetpaypal.phtml +7 -4
  71. app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/form/sofortueberweisung.phtml +0 -0
  72. app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/info/pdf/paycode.phtml +0 -0
  73. app/design/adminhtml/default/default/template/novalnetsofortueberweisung/info/pdf/sofortueberweisung.phtml +4 -0
  74. app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/info/sofortueberweisung.phtml +0 -0
  75. app/design/adminhtml/default/default/template/payment/info/pdf/cc.phtml +3 -1
  76. app/design/adminhtml/default/default/template/sofortueberweisung/info/pdf/sofortueberweisung.phtml +0 -4
  77. app/design/frontend/default/default/layout/novalnet.xml +2 -1
  78. app/design/frontend/default/default/template/novalnet/cc/form.phtml +12 -1
  79. app/design/frontend/default/default/template/novalnet/cc/info.phtml +4 -4
  80. app/design/frontend/default/default/template/novalnet/cc/pciiframe.phtml +121 -381
  81. app/design/frontend/default/default/template/novalnet/elvaustria/form.phtml +8 -6
  82. app/design/frontend/default/default/template/novalnet/elvaustria/info.phtml +5 -5
  83. app/design/frontend/default/default/template/novalnet/elvgerman/form.phtml +10 -8
  84. app/design/frontend/default/default/template/novalnet/elvgerman/info.phtml +5 -5
  85. app/design/frontend/default/default/template/novalnet/invoice/form.phtml +5 -6
  86. app/design/frontend/default/default/template/novalnet/invoice/info.phtml +5 -4
  87. app/design/frontend/default/default/template/novalnet/pci/form.phtml +19 -2
  88. app/design/frontend/default/default/template/novalnet/pci/info.phtml +4 -4
  89. app/design/frontend/default/default/template/novalnet/phonepayment/info.phtml +1 -1
  90. app/design/frontend/default/default/template/novalnet/prepayment/form.phtml +2 -2
  91. app/design/frontend/default/default/template/novalnet/prepayment/info.phtml +7 -4
  92. app/design/frontend/default/default/template/novalnet/secure/form.phtml +12 -7
  93. app/design/frontend/default/default/template/novalnet/secure/info.phtml +7 -6
  94. app/design/frontend/default/default/template/novalnetpaypal/form/novalnetpaypal.phtml +7 -4
  95. app/design/frontend/default/default/template/novalnetpaypal/info/novalnetpaypal.phtml +4 -4
  96. app/design/frontend/default/default/template/novalnetsofortueberweisung/form/sofortueberweisung.phtml +20 -0
  97. app/design/frontend/default/default/template/novalnetsofortueberweisung/info/sofortueberweisung.phtml +10 -0
  98. app/design/frontend/default/default/template/sofortueberweisung/errornotice.phtml +0 -2
  99. app/design/frontend/default/default/template/sofortueberweisung/form/sofortueberweisung.phtml +0 -16
  100. app/design/frontend/default/default/template/sofortueberweisung/info/sofortueberweisung.phtml +0 -16
  101. app/design/frontend/default/default/template/sofortueberweisung/infobox.phtml +0 -19
  102. app/design/frontend/default/default/template/sofortueberweisung/notice.phtml +0 -2
  103. app/locale/de_AT/Mage_Novalnet.csv +165 -133
  104. app/locale/de_AT/Novalnet_NovalnetPaypal.csv +144 -143
  105. app/locale/de_AT/Novalnet_Sofortueberweisung.csv +9 -6
  106. app/locale/de_CH/Mage_Novalnet.csv +165 -133
  107. app/locale/de_CH/Novalnet_NovalnetPaypal.csv +144 -143
  108. app/locale/de_CH/Novalnet_Sofortueberweisung.csv +9 -6
  109. app/locale/de_DE/Mage_Novalnet.csv +165 -134
  110. app/locale/de_DE/Novalnet_NovalnetPaypal.csv +144 -144
  111. app/locale/de_DE/Novalnet_Sofortueberweisung.csv +57 -55
  112. app/locale/en_US/Mage_Novalnet.csv +160 -131
  113. app/locale/en_US/Novalnet_NovalnetPaypal.csv +135 -139
  114. callback_novalnet2magento.php +447 -435
  115. lib/Varien/Data/Form/Element/Linkpnso.php +0 -117
  116. package.xml +9 -9
  117. skin/adminhtml/{base → default}/default/images/novalnet/AE_Logo.png +0 -0
  118. skin/adminhtml/{base → default}/default/images/novalnet/ELV_Logo.png +0 -0
  119. skin/adminhtml/{base → default}/default/images/novalnet/MC_Logo.png +0 -0
  120. skin/adminhtml/{base → default}/default/images/novalnet/NN_Logo.png +0 -0
  121. skin/adminhtml/{base → default}/default/images/novalnet/NN_Logo_T.png +0 -0
  122. skin/adminhtml/{base → default}/default/images/novalnet/VI_Logo.png +0 -0
  123. skin/adminhtml/{base → default}/default/images/novalnet/acdc_info.png +0 -0
  124. skin/frontend/default/default/js/novalnet.js +4 -5
app/code/community/Mage/Novalnet/Block/Cc/Form.php CHANGED
@@ -35,7 +35,40 @@ class Mage_Novalnet_Block_Cc_Form extends Mage_Payment_Block_Form
35
  parent::_construct();
36
  $this->setTemplate('novalnet/cc/form.phtml');
37
  }
 
 
 
 
 
 
 
 
 
 
 
 
38
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  /**
40
  * Retrieve payment configuration object
41
  *
@@ -53,4 +86,4 @@ class Mage_Novalnet_Block_Cc_Form extends Mage_Payment_Block_Form
53
  }
54
 
55
 
56
- }
35
  parent::_construct();
36
  $this->setTemplate('novalnet/cc/form.phtml');
37
  }
38
+ /**
39
+ * Retrieve payment configuration object
40
+ *
41
+ * @return Mage_Payment_Model_Config
42
+ */
43
+ protected function _getConfig()
44
+ {
45
+ if (!$this->_localConfig) {
46
+ $this->_localConfig = Mage::getModel('payment/config');
47
+ }
48
+ return $this->_localConfig;
49
+ }
50
 
51
+ /**
52
+ * Retrieve availables credit card types
53
+ *
54
+ * @return array
55
+ */
56
+ public function getCcAvailableTypes()
57
+ {
58
+ $types = $this->_getConfig()->getCcTypes();
59
+ if ($method = $this->getMethod()) {
60
+ $availableTypes = $method->getConfigData('cctypes');
61
+ if ($availableTypes) {
62
+ $availableTypes = explode(',', $availableTypes);
63
+ foreach ($types as $code=>$name) {
64
+ if (!in_array($code, $availableTypes)) {
65
+ unset($types[$code]);
66
+ }
67
+ }
68
+ }
69
+ }
70
+ return $types;
71
+ }
72
  /**
73
  * Retrieve payment configuration object
74
  *
86
  }
87
 
88
 
89
+ }
app/code/community/Mage/Novalnet/Block/Cc/Info.php CHANGED
@@ -76,7 +76,13 @@ class Mage_Novalnet_Block_Cc_Info extends Mage_Payment_Block_Info
76
  $objOrder = Mage::getModel('sales/order')->load($order_id);
77
  $objQuote = Mage::getModel( 'sales/quote' );
78
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
- }else {
 
 
 
 
 
 
80
  $chSess = Mage::getSingleton('checkout/session');
81
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
82
  $objQuote = Mage::getModel( 'sales/quote' );
@@ -89,4 +95,4 @@ class Mage_Novalnet_Block_Cc_Info extends Mage_Payment_Block_Info
89
  $this->setNnComments($obj->getNnComments());
90
  return $this;
91
  }
92
- }
76
  $objOrder = Mage::getModel('sales/order')->load($order_id);
77
  $objQuote = Mage::getModel( 'sales/quote' );
78
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
80
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
81
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
82
+ $objOrder = $invoice->getOrder();
83
+ $objQuote = Mage::getModel( 'sales/quote' );
84
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else {
86
  $chSess = Mage::getSingleton('checkout/session');
87
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
  $objQuote = Mage::getModel( 'sales/quote' );
95
  $this->setNnComments($obj->getNnComments());
96
  return $this;
97
  }
98
+ }
app/code/community/Mage/Novalnet/Block/Elvaustria/Info.php CHANGED
@@ -82,7 +82,13 @@ class Mage_Novalnet_Block_Elvaustria_Info extends Mage_Payment_Block_Info
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
- }else {
 
 
 
 
 
 
86
  $chSess = Mage::getSingleton('checkout/session');
87
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
  $objQuote = Mage::getModel( 'sales/quote' );
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
86
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
87
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
88
+ $objOrder = $invoice->getOrder();
89
+ $objQuote = Mage::getModel( 'sales/quote' );
90
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
91
+ }else {
92
  $chSess = Mage::getSingleton('checkout/session');
93
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
94
  $objQuote = Mage::getModel( 'sales/quote' );
app/code/community/Mage/Novalnet/Block/Elvgerman/Info.php CHANGED
@@ -82,7 +82,14 @@ class Mage_Novalnet_Block_Elvgerman_Info extends Mage_Payment_Block_Info
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
- }else {
 
 
 
 
 
 
 
86
  $chSess = Mage::getSingleton('checkout/session');
87
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
  $objQuote = Mage::getModel( 'sales/quote' );
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+
86
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
87
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
88
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
89
+ $objOrder = $invoice->getOrder();
90
+ $objQuote = Mage::getModel( 'sales/quote' );
91
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
92
+ }else {
93
  $chSess = Mage::getSingleton('checkout/session');
94
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
95
  $objQuote = Mage::getModel( 'sales/quote' );
app/code/community/Mage/Novalnet/Block/Invoice/Info.php CHANGED
@@ -78,7 +78,13 @@ class Mage_Novalnet_Block_Invoice_Info extends Mage_Payment_Block_Info
78
  $objOrder = Mage::getModel('sales/order')->load($order_id);
79
  $objQuote = Mage::getModel( 'sales/quote' );
80
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
81
- }else {
 
 
 
 
 
 
82
  $chSess = Mage::getSingleton('checkout/session');
83
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
84
  $objQuote = Mage::getModel( 'sales/quote' );
@@ -93,6 +99,7 @@ class Mage_Novalnet_Block_Invoice_Info extends Mage_Payment_Block_Info
93
  // $this->setNnElvCountry($obj->getNnElvCountry());
94
  $this->setNnTestorder($obj->getNnTestorder());
95
  $this->setNnComments($obj->getNnComments());
 
96
  return $this;
97
  }
98
  public function toPdf()
78
  $objOrder = Mage::getModel('sales/order')->load($order_id);
79
  $objQuote = Mage::getModel( 'sales/quote' );
80
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
81
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
82
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
83
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
84
+ $objOrder = $invoice->getOrder();
85
+ $objQuote = Mage::getModel( 'sales/quote' );
86
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
87
+ }else {
88
  $chSess = Mage::getSingleton('checkout/session');
89
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
90
  $objQuote = Mage::getModel( 'sales/quote' );
99
  // $this->setNnElvCountry($obj->getNnElvCountry());
100
  $this->setNnTestorder($obj->getNnTestorder());
101
  $this->setNnComments($obj->getNnComments());
102
+ $this->setNote($obj->getNote());
103
  return $this;
104
  }
105
  public function toPdf()
app/code/community/Mage/Novalnet/Block/Pci/Form.php CHANGED
@@ -33,7 +33,40 @@ class Mage_Novalnet_Block_Pci_Form extends Mage_Payment_Block_Form
33
  parent::_construct();
34
  $this->setTemplate('novalnet/pci/form.phtml');
35
  }
 
 
 
 
 
 
 
 
 
 
 
 
36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  public function checkCustomerAccess() {
38
 
39
  $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
@@ -44,4 +77,4 @@ class Mage_Novalnet_Block_Pci_Form extends Mage_Payment_Block_Form
44
  }
45
  return true;
46
  }
47
- }
33
  parent::_construct();
34
  $this->setTemplate('novalnet/pci/form.phtml');
35
  }
36
+ /**
37
+ * Retrieve payment configuration object
38
+ *
39
+ * @return Mage_Payment_Model_Config
40
+ */
41
+ protected function _getConfig()
42
+ {
43
+ if (!$this->_localConfig) {
44
+ $this->_localConfig = Mage::getModel('payment/config');
45
+ }
46
+ return $this->_localConfig;
47
+ }
48
 
49
+ /**
50
+ * Retrieve availables credit card types
51
+ *
52
+ * @return array
53
+ */
54
+ public function getCcAvailableTypes()
55
+ {
56
+ $types = $this->_getConfig()->getCcTypes();
57
+ if ($method = $this->getMethod()) {
58
+ $availableTypes = $method->getConfigData('cctypes');
59
+ if ($availableTypes) {
60
+ $availableTypes = explode(',', $availableTypes);
61
+ foreach ($types as $code=>$name) {
62
+ if (!in_array($code, $availableTypes)) {
63
+ unset($types[$code]);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ return $types;
69
+ }
70
  public function checkCustomerAccess() {
71
 
72
  $exludedGroupes = trim($this->getMethod()->getConfigData('user_group_excluded'));
77
  }
78
  return true;
79
  }
80
+ }
app/code/community/Mage/Novalnet/Block/Pci/Info.php CHANGED
@@ -76,7 +76,13 @@ class Mage_Novalnet_Block_Pci_Info extends Mage_Payment_Block_Info
76
  $objOrder = Mage::getModel('sales/order')->load($order_id);
77
  $objQuote = Mage::getModel( 'sales/quote' );
78
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
- }else {
 
 
 
 
 
 
80
  $chSess = Mage::getSingleton('checkout/session');
81
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
82
  $objQuote = Mage::getModel( 'sales/quote' );
@@ -89,4 +95,4 @@ class Mage_Novalnet_Block_Pci_Info extends Mage_Payment_Block_Info
89
  $this->setNnComments($obj->getNnComments());
90
  return $this;
91
  }
92
- }
76
  $objOrder = Mage::getModel('sales/order')->load($order_id);
77
  $objQuote = Mage::getModel( 'sales/quote' );
78
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
79
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
80
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
81
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
82
+ $objOrder = $invoice->getOrder();
83
+ $objQuote = Mage::getModel( 'sales/quote' );
84
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else {
86
  $chSess = Mage::getSingleton('checkout/session');
87
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
  $objQuote = Mage::getModel( 'sales/quote' );
95
  $this->setNnComments($obj->getNnComments());
96
  return $this;
97
  }
98
+ }
app/code/community/Mage/Novalnet/Block/Pci/Redirect.php CHANGED
@@ -50,4 +50,4 @@ class Mage_Novalnet_Block_Pci_Redirect extends Mage_Core_Block_Abstract
50
  $html.= '</body></html>';
51
  return $html;
52
  }
53
- }
50
  $html.= '</body></html>';
51
  return $html;
52
  }
53
+ }
app/code/community/Mage/Novalnet/Block/Phonepayment/Info.php CHANGED
@@ -82,7 +82,13 @@ class Mage_Novalnet_Block_Phonepayment_Info extends Mage_Payment_Block_Info
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
- }else {
 
 
 
 
 
 
86
  $chSess = Mage::getSingleton('checkout/session');
87
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
88
  $objQuote = Mage::getModel( 'sales/quote' );
82
  $objOrder = Mage::getModel('sales/order')->load($order_id);
83
  $objQuote = Mage::getModel( 'sales/quote' );
84
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
85
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
86
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
87
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
88
+ $objOrder = $invoice->getOrder();
89
+ $objQuote = Mage::getModel( 'sales/quote' );
90
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
91
+ }else {
92
  $chSess = Mage::getSingleton('checkout/session');
93
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
94
  $objQuote = Mage::getModel( 'sales/quote' );
app/code/community/Mage/Novalnet/Block/Prepayment/Info.php CHANGED
@@ -62,7 +62,13 @@ class Mage_Novalnet_Block_Prepayment_Info extends Mage_Payment_Block_Info
62
  $objOrder = Mage::getModel('sales/order')->load($order_id);
63
  $objQuote = Mage::getModel( 'sales/quote' );
64
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
65
- }else {
 
 
 
 
 
 
66
  $chSess = Mage::getSingleton('checkout/session');
67
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
68
  $objQuote = Mage::getModel( 'sales/quote' );
@@ -77,6 +83,7 @@ class Mage_Novalnet_Block_Prepayment_Info extends Mage_Payment_Block_Info
77
  // $this->setNnElvCountry($obj->getNnElvCountry());
78
  $this->setNnTestorder($obj->getNnTestorder());
79
  $this->setNnComments($obj->getNnComments());
 
80
  return $this;
81
  }
82
 
62
  $objOrder = Mage::getModel('sales/order')->load($order_id);
63
  $objQuote = Mage::getModel( 'sales/quote' );
64
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
65
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
66
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
67
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
68
+ $objOrder = $invoice->getOrder();
69
+ $objQuote = Mage::getModel( 'sales/quote' );
70
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
71
+ }else {
72
  $chSess = Mage::getSingleton('checkout/session');
73
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
74
  $objQuote = Mage::getModel( 'sales/quote' );
83
  // $this->setNnElvCountry($obj->getNnElvCountry());
84
  $this->setNnTestorder($obj->getNnTestorder());
85
  $this->setNnComments($obj->getNnComments());
86
+ $this->setNote($obj->getNote());
87
  return $this;
88
  }
89
 
app/code/community/Mage/Novalnet/Block/Secure/Info.php CHANGED
@@ -106,7 +106,13 @@ class Mage_Novalnet_Block_Secure_Info extends Mage_Payment_Block_Info
106
  $objOrder = Mage::getModel('sales/order')->load($order_id);
107
  $objQuote = Mage::getModel( 'sales/quote' );
108
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
109
- }else {
 
 
 
 
 
 
110
  $chSess = Mage::getSingleton('checkout/session');
111
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
112
  $objQuote = Mage::getModel( 'sales/quote' );
@@ -135,4 +141,4 @@ class Mage_Novalnet_Block_Secure_Info extends Mage_Payment_Block_Info
135
  {
136
  return $this->htmlEscape($this->getMethod()->getConfigData('title'));
137
  }
138
- }
106
  $objOrder = Mage::getModel('sales/order')->load($order_id);
107
  $objQuote = Mage::getModel( 'sales/quote' );
108
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
109
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
110
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
111
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
112
+ $objOrder = $invoice->getOrder();
113
+ $objQuote = Mage::getModel( 'sales/quote' );
114
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
115
+ }else {
116
  $chSess = Mage::getSingleton('checkout/session');
117
  if($this->getRequest()->getControllerName() == 'onepage' && $this->getRequest()->getActionName() == 'saveOrder' && $chSess->hasLastSuccessQuoteId()){
118
  $objQuote = Mage::getModel( 'sales/quote' );
141
  {
142
  return $this->htmlEscape($this->getMethod()->getConfigData('title'));
143
  }
144
+ }
app/code/community/Mage/Novalnet/Helper/Data.php CHANGED
@@ -32,6 +32,11 @@ class Mage_Novalnet_Helper_Data extends Mage_Core_Helper_Abstract
32
  return (count(explode('.', $value)) == 4 && !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value));
33
  }
34
 
 
 
 
 
 
35
  public function getRealIpAddr() {
36
  $_check = array(
37
  'HTTP_X_FORWARDED_FOR',
32
  return (count(explode('.', $value)) == 4 && !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value));
33
  }
34
 
35
+ public function nn_url(){
36
+ $url = (Mage::app()->getLocale()->getLocaleCode()=='de_DE')?"https://www.novalnet.de":"http://www.novalnet.com";
37
+ return $url;
38
+ }
39
+
40
  public function getRealIpAddr() {
41
  $_check = array(
42
  'HTTP_X_FORWARDED_FOR',
app/code/community/Mage/Novalnet/Model/Novalnet/Source/Cctype.php CHANGED
@@ -33,4 +33,4 @@ class Mage_Novalnet_Model_Novalnet_Source_Cctype extends Mage_Payment_Model_Sour
33
  //return array('VI', 'MC', 'AE');
34
  return array('VI', 'MC', 'AE');
35
  }
36
- }
33
  //return array('VI', 'MC', 'AE');
34
  return array('VI', 'MC', 'AE');
35
  }
36
+ }
app/code/community/Mage/Novalnet/Model/NovalnetCc.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  /**
4
  * Magento
5
  *
@@ -21,22 +20,21 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
-
30
  class Mage_Novalnet_Model_NovalnetCc extends Mage_Novalnet_Model_NovalnetPciAbstract
31
  {
32
- const PAYMENT_METHOD = 'Credit Card';
33
-
34
- protected $_nnPaymentId = 6;
35
-
36
- protected $_code = 'novalnetCc';
37
-
38
- protected $_formBlockType = 'novalnet/cc_form';
39
- protected $_infoBlockType = 'novalnet/cc_info';
40
 
41
-
42
- }
 
 
 
1
  <?php
 
2
  /**
3
  * Magento
4
  *
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
 
28
  class Mage_Novalnet_Model_NovalnetCc extends Mage_Novalnet_Model_NovalnetPciAbstract
29
  {
30
+ const PAYMENT_METHOD = 'Credit Card';
31
+ protected $_nnPaymentId = 6;
32
+ protected $_code = 'novalnetCc';
33
+ protected $_formBlockType = 'novalnet/cc_form';
34
+ protected $_infoBlockType = 'novalnet/cc_info';
 
 
 
35
 
36
+ /**
37
+ * Can use this payment method in administration panel?
38
+ */
39
+ protected $_canUseInternal = false;
40
+ }
app/code/community/Mage/Novalnet/Model/NovalnetCcpci.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,4 +31,4 @@ class Mage_Novalnet_Model_NovalnetCcpci extends Mage_Novalnet_Model_NovalnetPciA
31
  protected $_nnPaymentId = 6;
32
 
33
  protected $_code = 'novalnetCcpci';
34
- }
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  protected $_nnPaymentId = 6;
32
 
33
  protected $_code = 'novalnetCcpci';
34
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvatpci.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,4 +31,4 @@ class Mage_Novalnet_Model_NovalnetElvatpci extends Mage_Novalnet_Model_NovalnetP
31
  protected $_nnPaymentId = 8;
32
 
33
  protected $_code = 'novalnetElvatpci';
34
- }
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  protected $_nnPaymentId = 8;
32
 
33
  protected $_code = 'novalnetElvatpci';
34
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvaustria.php CHANGED
@@ -1,667 +1,704 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetElvaustria extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
- const PAYMENT_METHOD = 'Direct Debit';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- const BANK_SORTCODE_LENGTH = 5;
37
- const CALLBACK_PIN_LENGTH = 4;
38
-
39
- // are used with _buildRequest and _postRequest
40
- const POST_NORMAL = 'normal';
41
- const POST_CALLBACK = 'callback';
42
- const POST_NEWPIN = 'newpin';
43
- const POST_PINSTATUS = 'pinstatus';
44
- const POST_EMAILSTATUS = 'emailstatus';
45
-
46
- const ISOCODE_FOR_GERMAN = 'DE';
47
-
48
- private $_nnPaymentId = '8';
49
-
50
- /**
51
- * unique internal payment method identifier
52
- *
53
- * @var string [a-z0-9_]
54
- */
55
- protected $_code = 'novalnetElvaustria';
56
- protected $_formBlockType = 'novalnet/elvaustria_form';
57
- protected $_infoBlockType = 'novalnet/elvaustria_info';
58
-
59
- /**
60
- * Is this payment method a gateway (online auth/charge) ?
61
- */
62
- protected $_isGateway = true;
63
-
64
- /**
65
- * Can authorize online?
66
- */
67
- protected $_canAuthorize = false;
68
-
69
- /**
70
- * Can capture funds online?
71
- */
72
- protected $_canCapture = true;
73
-
74
- /**
75
- * Can capture partial amounts online?
76
- */
77
- protected $_canCapturePartial = true;
78
-
79
- /**
80
- * Can refund online?
81
- */
82
- protected $_canRefund = false;
83
-
84
- /**
85
- * Can void transactions online?
86
- */
87
- protected $_canVoid = false;
88
-
89
- /**
90
- * Can use this payment method in administration panel?
91
- */
92
- protected $_canUseInternal = true;
93
-
94
- /**
95
- * Can show this payment method as an option on checkout payment page?
96
- */
97
- protected $_canUseCheckout = true;
98
-
99
- /**
100
- * Is this payment method suitable for multi-shipping checkout?
101
- */
102
- protected $_canUseForMultishipping = true;
103
-
104
- /**
105
- * Can save credit card information for future processing?
106
- */
107
- protected $_canSaveCc = false;
108
-
109
- public function __construct() {
110
- }
111
-
112
- public function capture(Varien_Object $payment, $amount) {
113
- $methodSession = $this->_getMethodSession();
114
- if( $this->isCallbackTypeCall()) {
115
- $buildrequest = $this->_buildPostBackRequest();
116
- $postrequest = $this->_postRequest($buildrequest, self::POST_NORMAL);
117
- $result = $methodSession->getNnResponseData();
118
- }else {
119
- $request = $this->_buildRequest(self::POST_NORMAL);
120
- $result = $this->_postRequest($request, self::POST_NORMAL);
121
- }
122
-
123
- // Analyze the response from Novalnet
124
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
125
- $this->_unsetMethodSession();
126
- $payment->setStatus(self::STATUS_APPROVED)
127
- ->setLastTransId($result->getTid())
128
- ;
129
- $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
130
- if($quotePayment) {
131
- $quotePayment->setNnTestorder($result->getTestMode())
132
- ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
133
- ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX')
134
- ->save();
135
- }
136
-
137
- } else {
138
- $error = ($result->getStatusDesc()||$result->getStatusMessage())
139
- ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
140
- : Mage::helper('novalnet')->__('Error in capturing the payment')
141
- ;
142
- Mage::throwException($error);
143
- }
144
- return $this;
145
- }
146
-
147
- /**
148
- * Prepare request to gateway
149
- *
150
- * @link http://www.authorize.net/support/AIM_guide.pdf
151
- * @param Mage_Sales_Model_Document $order
152
- * @return unknown
153
- */
154
- /*
155
- protected function _saveObject (Varien_Object $payment)
156
- {
157
- $order = $payment->getOrder();
158
- if (!empty($order)) {
159
- $billing = $order->getBillingAddress();
160
- }
161
- }
162
- */
163
-
164
- public function isAvailable($quote = null) {
165
-
166
- $minOrderCount = trim($this->getConfigData('orderscount'));
167
- $customerId = Mage::getSingleton('customer/session')->getCustomerId();
168
-
169
- // Load orders and check
170
- $orders = Mage::getResourceModel('sales/order_collection')
171
- ->addAttributeToSelect('*')
172
- ->addAttributeToFilter('customer_id', $customerId)
173
- ->load();
174
- if (count($orders) < $minOrderCount) {
175
- return false;
176
- }
177
- return $this->_checkNnAuthData() && parent::isAvailable();
178
- }
179
-
180
- private function _checkNnAuthData() {
181
- return strlen($this->getConfigData('merchant_id'))
182
- && strlen($this->getConfigData('auth_code'))
183
- && strlen($this->getConfigData('product_id'))
184
- && strlen($this->getConfigData('tariff_id'))
185
- ;
186
- }
187
-
188
- protected function _buildRequest($type=self::POST_NORMAL) {
189
- if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
190
- $request = Mage::getModel('novalnet/novalnet_request');
191
- $amount = round($this->_getAmount(), 2) * 100;
192
- $billing = $this->_getBillingAddress();
193
-
194
- $this->_assignNnAuthData($request, $amount);
195
- $request->setAmount($amount)
196
- ->setCurrency($this->_getCurrencyCode())
197
- ->setfirstName($billing->getFirstname())
198
- ->setLastName($billing->getLastname())
199
- ->setSearchInStreet(1)
200
- ->setStreet(implode(',', $billing->getStreet()))
201
- ->setCity($billing->getCity())
202
- ->setZip($billing->getPostcode())
203
- ->setCountry($billing->getCountry())
204
- ->setTel($billing->getTelephone())
205
- ->setFax($billing->getFax())
206
- ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
207
- ->setGender('u')
208
- ->setEmail($this->_getCustomerEmail())
209
- ->setBankAccountHolder($this->_getNnAccountHolder())
210
- ->setBankAccount($this->_getNnAccountNumber())
211
- ->setBankCode($this->_getNnBankSortingCode())
212
- ->setOrderNo($this->_getOrderId())
213
- ->setInput1('order_id')
214
- ->setInputval1($this->_getOrderId())
215
- ;
216
-
217
- $infoInstance = $this->getInfoInstance();
218
- $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
219
- ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX');
220
-
221
- if( $type == self::POST_CALLBACK ) {
222
- if($this->getConfigData('callback') == 1) {
223
- $request->setTel($this->getInfoInstance()->getNnCallbackTel());
224
- $request->setPinByCallback(1);
225
- }else if($this->getConfigData('callback') == 2) {
226
- $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
227
- $request->setPinBySms(1);
228
- }else if($this->getConfigData('callback') == 3){
229
- $request->setReplyEmailCheck(1);
230
- }
231
- }
232
- $request->toLatin1();
233
- return $request;
234
- }else if($type == self::POST_NEWPIN) {
235
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
236
- $request .= '<nnxml><info_request>';
237
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
238
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
239
- $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
240
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
241
- $request .= '</info_request></nnxml>';
242
- return $request;
243
- }else if($type == self::POST_PINSTATUS) {
244
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
245
- $request .= '<nnxml><info_request>';
246
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
247
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
248
- $request .= '<request_type>PIN_STATUS</request_type>';
249
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
250
- $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
251
- $request .= '</info_request></nnxml>';
252
- return $request;
253
- }else if($type == self::POST_EMAILSTATUS) {
254
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
255
- $request .= '<nnxml><info_request>';
256
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
257
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
258
- $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
259
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
260
- $request .= '</info_request></nnxml>';
261
- return $request;
262
- }
263
- }
264
-
265
- // Amount in cents
266
- private function _assignNnAuthData( Varien_Object $request, $amount ) {
267
- $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
268
- $request->setVendor($this->getConfigData('merchant_id'))
269
- ->setAuthCode($this->getConfigData('auth_code'))
270
- ->setProduct(
271
- (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
272
- ?$this->getConfigData('second_product_id')
273
- :$this->getConfigData('product_id')
274
- )
275
- ->setTariff(
276
- (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
277
- ?$this->getConfigData('second_tariff_id')
278
- :$this->getConfigData('tariff_id')
279
- )
280
- ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
281
- ->setKey($this->_nnPaymentId)
282
- ;
283
- }
284
-
285
- protected function _postRequest($request, $type=self::POST_NORMAL)
286
- {
287
- $result = Mage::getModel('novalnet/novalnet_result');
288
- $httpClientConfig = array('maxredirects'=>0);
289
- if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
290
- $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
291
- }
292
- $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
293
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
294
- $client->setUri( self::XML_URL );
295
- $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
296
- }else {
297
- $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
298
- }
299
- $response = $client->request();
300
- if (!$response->isSuccessful()) {
301
- Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
302
- }
303
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
304
- $result = new Varien_Simplexml_Element( $response->getRawBody() );
305
- $result = new Varien_Object( $this->_xmlToArray( $result ) );
306
- }else {
307
- $result->addData( $this->_deformatNvp( $response->getBody() ) );
308
- $result->toUtf8();
309
- }
310
- return $result;
311
- }
312
-
313
-
314
- protected function _buildPostBackRequest()
315
- {
316
- $methodSession = $this->_getMethodSession();
317
- $request = Mage::getModel('novalnet/novalnet_request');
318
- $amount = round($this->_getAmount(), 2) * 100;
319
- $this->_assignNnAuthData($request, $amount);
320
- $request->setTid($methodSession->getNnResponseData()->getTid())
321
- ->setOrderNo($this->_getOrderId())
322
- ->setStatus(100);
323
- return $request;
324
- }
325
-
326
- private function _xmlToArray( SimpleXMLElement $xml ) {
327
- $array = array();
328
- if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
329
- $array = $xml->asArray();
330
- }else {
331
- foreach( $xml->children() as $name => $value ) {
332
- if( $value instanceof SimpleXMLElement && count( $value ) ) {
333
- $array[ trim( $name ) ] = $this->_xmlToArray( $value );
334
- }else {
335
- $array[$name] = trim( (string)$value );
336
- }
337
- }
338
- }
339
- return $array;
340
- }
341
-
342
- public function isCallbackTypeCall(){
343
- $total = $this->_getAmount() * 100;
344
- $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
345
- $countryCode = strtoupper( $this->_getBillingCountryCode() );
346
-
347
- return $this->_getCheckoutSession()->hasNnCallbackTid()
348
- || ($this->getConfigData('callback')
349
- && ($callBackMinimum?$total>=$callBackMinimum:true)
350
- && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
351
- ;
352
- }
353
-
354
- public function getCallbackConfigData(){
355
- return $this->getConfigData('callback') ;
356
- }
357
-
358
- public function assignData($data)
359
- {
360
- if (!($data instanceof Varien_Object)) {
361
- $data = new Varien_Object($data);
362
- }
363
- $infoInstance = $this->getInfoInstance();
364
- $infoInstance->setNnElvCountry($data->getElvCountry())
365
- ->setNnAccountHolder($data->getAccountHolderAt())
366
- ->setNnAccountNumber($data->getAccountNumberAt())
367
- ->setNnBankSortingCode($data->getBankSortingCodeAt())
368
- ->setNnCallbackPin($data->getCallbackPinAt())
369
- ->setNnNewCallbackPin($data->getNewCallbackPinAt())
370
- ->setNnCallbackTel($data->getCallbackTelAt())
371
- ->setNnCallbackEmail($data->getCallbackEmailAt())
372
- ;
373
-
374
- if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
375
- $infoInstance->setCallbackPinValidationFlag( true );
376
- }
377
- return $this;
378
- }
379
-
380
- public function validate() {
381
- parent::validate();
382
- $this->_validateCallbackSession();
383
-
384
- $infoInstance = $this->getInfoInstance();
385
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
386
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
387
-
388
- if (preg_match("/\D/", $nnAccountNumber)){
389
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
390
- }
391
- if (preg_match("/\D/", $nnBankSortingCode)){
392
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
393
- }
394
- if (strlen($nnBankSortingCode) < self::BANK_SORTCODE_LENGTH) {
395
- Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 5 digits').'!');
396
- }
397
-
398
- if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
399
- if( !$infoInstance->getNnNewCallbackPin()
400
- && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
401
- && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
402
- {
403
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
404
- }
405
- }
406
- // Call for pin generation
407
- if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
408
- if( $this->_getMethodSession()->getNnCallbackTid() ) {
409
- if($infoInstance->getNnNewCallbackPin()) {
410
- $this->_regenerateCallbackPin();
411
- }else {
412
- $this->_getMethodSession()
413
- ->setNnCallbackPin($infoInstance->getNnCallbackPin());
414
- }
415
- }else {
416
- $this->_generateCallbackPin();
417
- }
418
- }else if($this->getCallbackConfigData()==3){
419
- if(!$this->_getMethodSession()->getNnCallbackTid()) {
420
- $this->_generateCallbackEmail();
421
- }
422
- }
423
-
424
- $this->_validateCallbackProcess();
425
- return $this;
426
- }
427
-
428
- public function prepareSave() {
429
- $infoInstance = $this->getInfoInstance();
430
- $t = $infoInstance->getData();
431
- if( $this->_isPlaceOrder() ) {
432
- $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumberAt(), 0, -4) . 'XXXX' )
433
- ->setNnBankSortingCode(substr($infoInstance->getBankSortingCodeAt(), 0, -3) . 'XXX' )
434
- ;
435
- }
436
- return $this;
437
- }
438
-
439
- public function getTitle() {
440
- //return $this->getConfigData('title');
441
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
442
- }
443
-
444
- public function getCheckoutRedirectUrl() {
445
- return false;
446
- }
447
-
448
- public function getIsCentinelValidationEnabled() {
449
- return false;
450
- }
451
-
452
- private function _generateCallbackPin() {
453
- $request = $this->_buildRequest(self::POST_CALLBACK);
454
- $response = $this->_postRequest($request, self::POST_CALLBACK);
455
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
456
- $this->_getMethodSession()
457
- ->setNnCallbackTid($response->getTid())
458
- ->setNnTestMode($response->getTestMode())
459
- ->setNnCallbackTidTimeStamp(time())
460
- ->setOrderAmount($request->getAmount())
461
- ->setNnCallbackSuccessState(true)
462
- ;
463
- $this->getInfoInstance()->save();
464
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
465
- }else {
466
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
467
- }
468
- Mage::throwException($text);
469
- }
470
-
471
- private function _generateCallbackEmail() {
472
- $request = $this->_buildRequest(self::POST_CALLBACK);
473
- $response = $this->_postRequest($request, self::POST_CALLBACK);
474
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
475
- $this->_getMethodSession()
476
- ->setNnCallbackTid($response->getTid())
477
- ->setNnTestMode($response->getTestMode())
478
- ->setNnCallbackTidTimeStamp(time())
479
- ->setOrderAmount($request->getAmount())
480
- ->setNnCallbackSuccessState(true)
481
- ;
482
- $this->getInfoInstance()->save();
483
- $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
484
- }else {
485
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
486
- }
487
- Mage::throwException($text);
488
- }
489
-
490
- private function _regenerateCallbackPin() {
491
- $request = $this->_buildRequest(self::POST_NEWPIN);
492
- $response = $this->_postRequest($request, self::POST_NEWPIN);
493
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
494
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
495
- }else {
496
- $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
497
- }
498
- Mage::throwException($text);
499
- }
500
-
501
- private function _deformatNvp($query) {
502
- $deformated = array();
503
- if(strlen($query)){
504
- $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
505
- foreach($tmp as $k){
506
- $k = explode('=', $k);
507
- $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
508
- }
509
- }
510
- return $deformated;
511
- }
512
-
513
- private function _getQuotePaymentById($id) {
514
- return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
515
- }
516
-
517
- private function _getCheckoutSession() {
518
- return Mage::getSingleton('checkout/session');
519
- }
520
-
521
- private function _validateCallbackSession() {
522
- $methodSession = $this->_getMethodSession();
523
- if($methodSession->hasNnCallbackTid()) {
524
- if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
525
- $this->_unsetMethodSession();
526
- if (!$this->_isPlaceOrder()) {
527
- Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
528
- }
529
- }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
530
- $this->_unsetMethodSession();
531
- if (!$this->_isPlaceOrder()) {
532
- Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
533
- }
534
- }
535
- }
536
- }
537
-
538
- private function _validateCallbackProcess() {
539
- $methodSession = $this->_getMethodSession();
540
- if($methodSession->getNnCallbackSuccessState()){
541
- if($this->getCallbackConfigData()==3) {
542
- $type=self::POST_EMAILSTATUS;
543
- }elseif($this->getCallbackConfigData()!=3){
544
- $type=self::POST_PINSTATUS;
545
- }
546
- $request = $this->_buildRequest($type);
547
- $result = $this->_postRequest($request, $type);
548
- $result->setTid( $methodSession->getNnCallbackTid() );
549
- $result->setTestMode( $methodSession->getNnTestMode() );
550
-
551
- // Analyze the response from Novalnet
552
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
553
- $methodSession->setNnResponseData($result);
554
- $methodSession->setNnCallbackSuccessState(false);
555
- } else {
556
- $error = ($result->getStatusDesc()||$result->getStatusMessage())
557
- ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
558
- : Mage::helper('novalnet')->__('Error in capturing the payment')
559
- ;
560
- Mage::throwException($error);
561
- }
562
- }
563
- }
564
-
565
- private function _getMethodSession() {
566
- $checkoutSession = $this->_getCheckoutSession();
567
- if( !$checkoutSession->hasData( $this->getCode() ) ) {
568
- $checkoutSession->setData( $this->getCode(), new Varien_Object() );
569
- }
570
- return $checkoutSession->getData( $this->getCode() );
571
- }
572
-
573
- private function _unsetMethodSession() {
574
- $this->_getCheckoutSession()->unsetData( $this->getCode() );
575
- return $this;
576
- }
577
-
578
- private function _getNnAccountHolder() {
579
- $info = $this->getInfoInstance();
580
- if ($this->_isPlaceOrder()) {
581
- return $info->getOrder()->getPayment()->getNnAccountHolder();
582
- } else {
583
- return $info->getNnAccountHolder();
584
- }
585
- }
586
-
587
- private function _getNnAccountNumber() {
588
- $info = $this->getInfoInstance();
589
- if ($this->_isPlaceOrder()) {
590
- return $info->getOrder()->getPayment()->getNnAccountNumber();
591
- } else {
592
- return $info->getNnAccountNumber();
593
- }
594
- }
595
-
596
- private function _getNnBankSortingCode() {
597
- $info = $this->getInfoInstance();
598
- if ($this->_isPlaceOrder()) {
599
- return $info->getOrder()->getPayment()->getNnBankSortingCode();
600
- } else {
601
- return $info->getNnBankSortingCode();
602
- }
603
- }
604
-
605
- private function _getOrderId(){
606
- $info = $this->getInfoInstance();
607
- if ($this->_isPlaceOrder()) {
608
- return $info->getOrder()->getIncrementId();
609
- } else {
610
- return true;
611
- }
612
- }
613
-
614
- private function _getAmount() {
615
- $info = $this->getInfoInstance();
616
- if ($this->_isPlaceOrder()) {
617
- return (double)$info->getOrder()->getQuoteBaseGrandTotal();
618
- } else {
619
- return (double)$info->getQuote()->getBaseGrandTotal();
620
- }
621
- }
622
-
623
- private function _getCustomerEmail() {
624
- $info = $this->getInfoInstance();
625
- if ($this->_isPlaceOrder()) {
626
- return $info->getOrder()->getCustomerEmail();
627
- } else {
628
- return $info->getQuote()->getCustomerEmail();
629
- }
630
- }
631
-
632
- private function _getBillingAddress() {
633
- $info = $this->getInfoInstance();
634
- if ($this->_isPlaceOrder()) {
635
- return $info->getOrder()->getBillingAddress();
636
- } else {
637
- return $info->getQuote()->getBillingAddress();
638
- }
639
- }
640
-
641
- private function _getBillingCountryCode() {
642
- $info = $this->getInfoInstance();
643
- if ($this->_isPlaceOrder()) {
644
- return $info->getOrder()->getBillingAddress()->getCountryId();
645
- } else {
646
- return $info->getQuote()->getBillingAddress()->getCountryId();
647
- }
648
- }
649
-
650
- private function _getCurrencyCode(){
651
- $info = $this->getInfoInstance();
652
- if ($this->_isPlaceOrder()) {
653
- return $info->getOrder()->getBaseCurrencyCode();
654
- } else {
655
- return $info->getQuote()->getBaseCurrencyCode();
656
- }
657
- }
658
-
659
- private function _isPlaceOrder() {
660
- $info = $this->getInfoInstance();
661
- if ($info instanceof Mage_Sales_Model_Quote_Payment) {
662
- return false;
663
- } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
664
- return true;
665
- }
666
- }
667
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetElvaustria extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Direct Debit';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const BANK_SORTCODE_LENGTH = 3;
37
+ const CALLBACK_PIN_LENGTH = 4;
38
+ const ACCNO_MIN_LENGTH = 5;
39
+
40
+ // are used with _buildRequest and _postRequest
41
+ const POST_NORMAL = 'normal';
42
+ const POST_CALLBACK = 'callback';
43
+ const POST_NEWPIN = 'newpin';
44
+ const POST_PINSTATUS = 'pinstatus';
45
+ const POST_EMAILSTATUS = 'emailstatus';
46
+
47
+ const ISOCODE_FOR_GERMAN = 'DE';
48
+
49
+ private $_nnPaymentId = '8';
50
+
51
+ /**
52
+ * unique internal payment method identifier
53
+ * @var string [a-z0-9_]
54
+ */
55
+ protected $_code = 'novalnetElvaustria';
56
+ protected $_formBlockType = 'novalnet/elvaustria_form';
57
+ protected $_infoBlockType = 'novalnet/elvaustria_info';
58
+
59
+ /**
60
+ * Is this payment method a gateway (online auth/charge) ?
61
+ */
62
+ protected $_isGateway = true;
63
+
64
+ /**
65
+ * Can authorize online?
66
+ */
67
+ protected $_canAuthorize = false;
68
+
69
+ /**
70
+ * Can capture funds online?
71
+ */
72
+ protected $_canCapture = true;
73
+
74
+ /**
75
+ * Can capture partial amounts online?
76
+ */
77
+ protected $_canCapturePartial = true;
78
+
79
+ /**
80
+ * Can refund online?
81
+ */
82
+ protected $_canRefund = false;
83
+
84
+ /**
85
+ * Can void transactions online?
86
+ */
87
+ protected $_canVoid = false;
88
+
89
+ /**
90
+ * Can use this payment method in administration panel?
91
+ */
92
+ protected $_canUseInternal = true;
93
+
94
+ /**
95
+ * Can show this payment method as an option on checkout payment page?
96
+ */
97
+ protected $_canUseCheckout = true;
98
+
99
+ /**
100
+ * Is this payment method suitable for multi-shipping checkout?
101
+ */
102
+ protected $_canUseForMultishipping = true;
103
+
104
+ /**
105
+ * Can save credit card information for future processing?
106
+ */
107
+ protected $_canSaveCc = false;
108
+
109
+ public function __construct() {
110
+ }
111
+
112
+ /**
113
+ * Send capture request to gateway
114
+ * @param Varien_Object $payment
115
+ * @param decimal $amount
116
+ * @throws Mage_Core_Exception
117
+ */
118
+ public function capture(Varien_Object $payment, $amount) {
119
+ $methodSession = $this->_getMethodSession();
120
+ if( $this->isCallbackTypeCall()) {
121
+ $buildrequest = $this->_buildPostBackRequest();
122
+ $postrequest = $this->_postRequest($buildrequest, self::POST_NORMAL);
123
+ $result = $methodSession->getNnResponseData();
124
+ }else {
125
+ $request = $this->_buildRequest(self::POST_NORMAL);
126
+ $result = $this->_postRequest($request, self::POST_NORMAL);
127
+ }
128
+
129
+ // Analyze the response from Novalnet
130
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
131
+ $this->_unsetMethodSession();
132
+ $payment->setStatus(self::STATUS_APPROVED)
133
+ ->setLastTransId($result->getTid())
134
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
135
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****')
136
+ ;
137
+ $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
138
+ if($quotePayment) {
139
+ $quotePayment->setNnTestorder($result->getTestMode())
140
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
141
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****')
142
+ ->save();
143
+ }
144
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
145
+ } else {
146
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
147
+ ? Mage::helper('novalnet')->htmlEscape(utf8_decode($result->getStatusMessage()).utf8_decode($result->getStatusDesc()))
148
+ : Mage::helper('novalnet')->__('Error in capturing the payment');
149
+ Mage::throwException($error);
150
+ }
151
+ return $this;
152
+ }
153
+ /**
154
+ * To display the payment method based on the condition
155
+ * @param Varien_Object $quote
156
+ */
157
+ public function isAvailable($quote = null) {
158
+ $minOrderCount = trim($this->getConfigData('orderscount'));
159
+ $customerId = Mage::getSingleton('customer/session')->getCustomerId();
160
+ // Load orders and check
161
+ $orders = Mage::getResourceModel('sales/order_collection')
162
+ ->addAttributeToSelect('*')
163
+ ->addAttributeToFilter('customer_id', $customerId)
164
+ ->load();
165
+ if (count($orders) < $minOrderCount) {
166
+ return false;
167
+ }else if(time()<$this->_getMethodSession()->getNnAtDisableTime()){
168
+ return false;
169
+ }
170
+ return parent::isAvailable();
171
+ }
172
+ /**
173
+ * To check Novalnet Authentication data
174
+ */
175
+ private function _checkNnAuthData() {
176
+ return strlen($this->getConfigData('merchant_id'))
177
+ && strlen($this->getConfigData('auth_code'))
178
+ && strlen($this->getConfigData('product_id'))
179
+ && strlen($this->getConfigData('tariff_id'));
180
+ }
181
+
182
+ /**
183
+ * To build the request as per the type request
184
+ * @param String $type
185
+ */
186
+ protected function _buildRequest($type=self::POST_NORMAL) {
187
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
188
+ $request = Mage::getModel('novalnet/novalnet_request');
189
+ $amount = round($this->_getAmount(), 2) * 100;
190
+ $billing = $this->_getBillingAddress();
191
+
192
+ $this->_assignNnAuthData($request, $amount);
193
+ $request->setAmount($amount)
194
+ ->setCurrency($this->_getCurrencyCode())
195
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
196
+ ->setUseUtf8(1)
197
+ ->setfirstName($billing->getFirstname())
198
+ ->setLastName($billing->getLastname())
199
+ ->setSearchInStreet(1)
200
+ ->setStreet(implode(',', $billing->getStreet()))
201
+ ->setCity($billing->getCity())
202
+ ->setZip($billing->getPostcode())
203
+ ->setCountry($billing->getCountry())
204
+ ->setLang(strtoupper(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2)))
205
+ ->setTel($billing->getTelephone())
206
+ ->setFax($billing->getFax())
207
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
208
+ ->setGender('u')
209
+ ->setEmail($this->_getCustomerEmail())
210
+ ->setBankAccountHolder($this->_getNnAccountHolder())
211
+ ->setBankAccount($this->_getNnAccountNumber())
212
+ ->setBankCode($this->_getNnBankSortingCode())
213
+ ->setOrderNo($this->_getOrderId())
214
+ ->setInput1('order_id')
215
+ ->setInputval1($this->_getOrderId());
216
+
217
+ $infoInstance = $this->getInfoInstance();
218
+ $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
219
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****');
220
+
221
+ if( $type == self::POST_CALLBACK ) {
222
+ if($this->getConfigData('callback') == 1) {
223
+ $request->setTel($this->getInfoInstance()->getNnCallbackTel());
224
+ $request->setPinByCallback(1);
225
+ }else if($this->getConfigData('callback') == 2) {
226
+ $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
227
+ $request->setPinBySms(1);
228
+ }else if($this->getConfigData('callback') == 3){
229
+ $request->setReplyEmailCheck(1);
230
+ }
231
+ }
232
+ $request->toLatin1();
233
+ return $request;
234
+ }else if($type == self::POST_NEWPIN) {
235
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
236
+ $request .= '<nnxml><info_request>';
237
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
238
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
239
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
240
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
241
+ $request .= '</info_request></nnxml>';
242
+ return $request;
243
+ }else if($type == self::POST_PINSTATUS) {
244
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
245
+ $request .= '<nnxml><info_request>';
246
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
247
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
248
+ $request .= '<request_type>PIN_STATUS</request_type>';
249
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
250
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
251
+ $request .= '</info_request></nnxml>';
252
+ return $request;
253
+ }else if($type == self::POST_EMAILSTATUS) {
254
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
255
+ $request .= '<nnxml><info_request>';
256
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
257
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
258
+ $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
259
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
260
+ $request .= '</info_request></nnxml>';
261
+ return $request;
262
+ }
263
+ }
264
+
265
+ /**
266
+ * To assign Novalnet Authentication Data
267
+ * @param Varien_Object $request
268
+ * @param Decimal $amount
269
+ */
270
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
271
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
272
+ $request->setVendor(trim($this->getConfigData('merchant_id')))
273
+ ->setAuthCode(trim($this->getConfigData('auth_code')))
274
+ ->setProduct(
275
+ (strlen(trim($this->getConfigData('second_product_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
276
+ ?trim($this->getConfigData('second_product_id'))
277
+ :trim($this->getConfigData('product_id'))
278
+ )
279
+ ->setTariff(
280
+ (strlen(trim($this->getConfigData('second_tariff_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
281
+ ?trim($this->getConfigData('second_tariff_id'))
282
+ :trim($this->getConfigData('tariff_id'))
283
+ )
284
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
285
+ ->setKey($this->_nnPaymentId);
286
+ }
287
+
288
+ /**
289
+ * To post the request to Novalnet server
290
+ * @param Varien_Object $request
291
+ * @param String $type
292
+ */
293
+ protected function _postRequest($request, $type=self::POST_NORMAL)
294
+ {
295
+ $result = Mage::getModel('novalnet/novalnet_result');
296
+ $httpClientConfig = array('maxredirects'=>0);
297
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
298
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
299
+ }
300
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
301
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
302
+ $client->setUri( self::XML_URL );
303
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
304
+ }else {
305
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
306
+ }
307
+ $response = $client->request();
308
+ if (!$response->isSuccessful()) {
309
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
310
+ }
311
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
312
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
313
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
314
+ }else {
315
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
316
+ $result->toUtf8();
317
+ }
318
+ return $result;
319
+ }
320
+
321
+ /**
322
+ * To build post back request
323
+ */
324
+ protected function _buildPostBackRequest()
325
+ {
326
+ $methodSession = $this->_getMethodSession();
327
+ $request = Mage::getModel('novalnet/novalnet_request');
328
+ $amount = round($this->_getAmount(), 2) * 100;
329
+ $this->_assignNnAuthData($request, $amount);
330
+ $request->setTid($methodSession->getNnResponseData()->getTid())
331
+ ->setOrderNo($this->_getOrderId())
332
+ ->setStatus(100);
333
+ return $request;
334
+ }
335
+
336
+ private function _xmlToArray( SimpleXMLElement $xml ) {
337
+ $array = array();
338
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
339
+ $array = $xml->asArray();
340
+ }else {
341
+ foreach( $xml->children() as $name => $value ) {
342
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
343
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
344
+ }else {
345
+ $array[$name] = trim( (string)$value );
346
+ }
347
+ }
348
+ }
349
+ return $array;
350
+ }
351
+
352
+ public function isCallbackTypeCall(){
353
+ $total = $this->_getAmount() * 100;
354
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
355
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
356
+
357
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
358
+ || ($this->getConfigData('callback')
359
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
360
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
361
+ ;
362
+ }
363
+
364
+ public function getCallbackConfigData(){
365
+ return $this->getConfigData('callback') ;
366
+ }
367
+
368
+ public function assignData($data)
369
+ {
370
+ if (!($data instanceof Varien_Object)) {
371
+ $data = new Varien_Object($data);
372
+ }
373
+ $infoInstance = $this->getInfoInstance();
374
+ $infoInstance->setNnElvCountry($data->getElvCountry())
375
+ ->setNnAccountHolder($data->getAccountHolderAt())
376
+ ->setNnAccountNumber($data->getAccountNumberAt())
377
+ ->setNnBankSortingCode($data->getBankSortingCodeAt())
378
+ ->setNnCallbackPin($data->getCallbackPinAt())
379
+ ->setNnNewCallbackPin($data->getNewCallbackPinAt())
380
+ ->setNnCallbackTel($data->getCallbackTelAt())
381
+ ->setNnCallbackEmail($data->getCallbackEmailAt());
382
+
383
+ if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
384
+ $infoInstance->setCallbackPinValidationFlag( true );
385
+ }
386
+ return $this;
387
+ }
388
+
389
+ /**
390
+ * To Validate Admin Back End Parameters
391
+ */
392
+ public function validate() {
393
+ parent::validate();
394
+ //Validate Backend Parameters
395
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id'))) {
396
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
397
+ }if((int)$this->getConfigData('manual_checking_amount')&& (!trim($this->getConfigData('second_product_id')) || !trim($this->getConfigData('second_tariff_id')))) {
398
+ Mage::throwException(Mage::helper('novalnet')->__('Required Second Product Tariff').'!');
399
+ }
400
+
401
+ $this->_validateCallbackSession();
402
+ $infoInstance = $this->getInfoInstance();
403
+ $nnAccountHolder = $infoInstance->getNnAccountHolder();
404
+ $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
405
+ $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
406
+
407
+ if(preg_match('/[#%\^<>@$=*!]/', $nnAccountHolder)){
408
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid Account Holder Name').'!');
409
+ }
410
+ if (preg_match("/\D/", $nnAccountNumber)){
411
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.').'!');
412
+ }
413
+ if (preg_match("/\D/", $nnBankSortingCode)){
414
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.').'!');
415
+ }
416
+ if (strlen($nnAccountNumber) <= self::ACCNO_MIN_LENGTH) {
417
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.').'!');
418
+ }
419
+ if (strlen($nnBankSortingCode) <= self::BANK_SORTCODE_LENGTH) {
420
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.').'!');
421
+ }
422
+
423
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
424
+ if( !$infoInstance->getNnNewCallbackPin()
425
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
426
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
427
+ {
428
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
429
+ }
430
+ }
431
+ // Call for pin generation
432
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
433
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
434
+ if($infoInstance->getNnNewCallbackPin()) {
435
+ $this->regenerateCallbackPin();
436
+ }else {
437
+ $this->_getMethodSession()
438
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
439
+ }
440
+ }else {
441
+ $this->generateCallbackPin();
442
+ }
443
+ }else if($this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()==3){
444
+ if(!$this->_getMethodSession()->getNnCallbackTid()) {
445
+ $this->generateCallbackEmail();
446
+ }
447
+ }
448
+
449
+ if($this->_isPlaceOrder()){
450
+ $this->_validateCallbackProcess();
451
+ }
452
+ return $this;
453
+ }
454
+
455
+ /**
456
+ * To Save the masking account information
457
+ */
458
+ public function prepareSave() {
459
+ $infoInstance = $this->getInfoInstance();
460
+ $t = $infoInstance->getData();
461
+ if( $this->_isPlaceOrder() ) {
462
+ $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumberAt(), 0, -4) . '****' )
463
+ ->setNnBankSortingCode(substr($infoInstance->getBankSortingCodeAt(), 0, -4) . '****' );
464
+ }
465
+ return $this;
466
+ }
467
+
468
+ public function getTitle() {
469
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
470
+ }
471
+
472
+ public function getCheckoutRedirectUrl() {
473
+ return false;
474
+ }
475
+
476
+ public function getIsCentinelValidationEnabled() {
477
+ return false;
478
+ }
479
+
480
+ /**
481
+ * For Pin by callback method
482
+ */
483
+ private function generateCallbackPin() {
484
+ $request = $this->_buildRequest(self::POST_CALLBACK);
485
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
486
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
487
+ $this->_getMethodSession()
488
+ ->setNnCallbackTid($response->getTid())
489
+ ->setNnTestMode($response->getTestMode())
490
+ ->setNnCallbackTidTimeStamp(time())
491
+ ->setOrderAmount($request->getAmount())
492
+ ->setNnCallbackSuccessState(true);
493
+ $this->getInfoInstance()->save();
494
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the received PIN code in the text box.');
495
+ }else {
496
+ $text = Mage::helper('novalnet')->__( utf8_decode($response->getStatusDesc()) );
497
+ }
498
+ Mage::throwException($text);
499
+ }
500
+
501
+ private function generateCallbackEmail() {
502
+ $request = $this->_buildRequest(self::POST_CALLBACK);
503
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
504
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
505
+ $this->_getMethodSession()
506
+ ->setNnCallbackTid($response->getTid())
507
+ ->setNnTestMode($response->getTestMode())
508
+ ->setNnCallbackTidTimeStamp(time())
509
+ ->setOrderAmount($request->getAmount())
510
+ ->setNnCallbackSuccessState(true);
511
+ $this->getInfoInstance()->save();
512
+ $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
513
+ }else {
514
+ $text = Mage::helper('novalnet')->__( utf8_decode($response->getStatusDesc()) );
515
+ }
516
+ Mage::throwException($text);
517
+ }
518
+
519
+ private function regenerateCallbackPin() {
520
+ $request = $this->_buildRequest(self::POST_NEWPIN);
521
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
522
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
523
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the received PIN code in the text box.');
524
+ }else {
525
+ $text = Mage::helper('novalnet')->__( utf8_decode($response->getStatusMessage()) );//status_message
526
+ }
527
+ Mage::throwException($text);
528
+ }
529
+
530
+ private function _deformatNvp($query) {
531
+ $deformated = array();
532
+ if(strlen($query)){
533
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
534
+ foreach($tmp as $k){
535
+ $k = explode('=', $k);
536
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
537
+ }
538
+ }
539
+ return $deformated;
540
+ }
541
+ /**
542
+ * For Admin orders
543
+ */
544
+ private function _getQuotePaymentById($id) {
545
+ //return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
546
+ $PaymentById = Mage::getSingleton('checkout/session')->getQuote()->getPaymentById($id);
547
+ if(!$PaymentById)
548
+ return Mage::getSingleton('adminhtml/session_quote')->getQuote()->getPaymentById($id);
549
+ else
550
+ return $PaymentById;
551
+ }
552
+
553
+ private function _getCheckoutSession() {
554
+ return Mage::getSingleton('checkout/session');
555
+ }
556
+
557
+ private function _validateCallbackSession() {
558
+ $methodSession = $this->_getMethodSession();
559
+ if($methodSession->hasNnCallbackTid()) {
560
+ if($methodSession->getNnAtDisableTime() && time()>$methodSession->getNnAtDisableTime()) {
561
+ $this->_unsetMethodSession();
562
+ }elseif( $methodSession->getOrderAmount() != (int)($this->_getAmount()*100) ) {
563
+ $this->_unsetMethodSession();
564
+ if (!$this->_isPlaceOrder()) {
565
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
566
+ }
567
+ }
568
+ }
569
+ }
570
+
571
+ private function _validateCallbackProcess() {
572
+ $methodSession = $this->_getMethodSession();
573
+ if($methodSession->getNnCallbackSuccessState()){
574
+ if($this->getCallbackConfigData()==3) {
575
+ $type=self::POST_EMAILSTATUS;
576
+ }elseif($this->getCallbackConfigData()!=3){
577
+ $type=self::POST_PINSTATUS;
578
+ }
579
+ $request = $this->_buildRequest($type);
580
+ $result = $this->_postRequest($request, $type);
581
+ $result->setTid( $methodSession->getNnCallbackTid() );
582
+ $result->setTestMode( $methodSession->getNnTestMode() );
583
+
584
+ // Analyze the response from Novalnet
585
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
586
+ $methodSession->setNnResponseData($result);
587
+ $methodSession->setNnCallbackSuccessState(false);
588
+ } else {
589
+ if($result->getStatus()=='0529006'){
590
+ $methodSession->setNnAtDisableTime(time()+(30*60));
591
+ }
592
+
593
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
594
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
595
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
596
+ ;
597
+ Mage::throwException($error);
598
+ }
599
+ }
600
+ }
601
+
602
+ private function _getMethodSession() {
603
+ $checkoutSession = $this->_getCheckoutSession();
604
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
605
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
606
+ }
607
+ return $checkoutSession->getData( $this->getCode() );
608
+ }
609
+
610
+ private function _unsetMethodSession() {
611
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
612
+ return $this;
613
+ }
614
+
615
+ private function _getNnAccountHolder() {
616
+ $info = $this->getInfoInstance();
617
+ if ($this->_isPlaceOrder()) {
618
+ return $info->getOrder()->getPayment()->getNnAccountHolder();
619
+ } else {
620
+ return $info->getNnAccountHolder();
621
+ }
622
+ }
623
+
624
+ private function _getNnAccountNumber() {
625
+ $info = $this->getInfoInstance();
626
+ if ($this->_isPlaceOrder()) {
627
+ return $info->getOrder()->getPayment()->getNnAccountNumber();
628
+ } else {
629
+ return $info->getNnAccountNumber();
630
+ }
631
+ }
632
+
633
+ private function _getNnBankSortingCode() {
634
+ $info = $this->getInfoInstance();
635
+ if ($this->_isPlaceOrder()) {
636
+ return $info->getOrder()->getPayment()->getNnBankSortingCode();
637
+ } else {
638
+ return $info->getNnBankSortingCode();
639
+ }
640
+ }
641
+
642
+ private function _getOrderId(){
643
+ $info = $this->getInfoInstance();
644
+ if ($this->_isPlaceOrder()) {
645
+ return $info->getOrder()->getIncrementId();
646
+ } else {
647
+ return true;
648
+ }
649
+ }
650
+
651
+ private function _getAmount() {
652
+ $info = $this->getInfoInstance();
653
+ if ($this->_isPlaceOrder()) {
654
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
655
+ } else {
656
+ return (double)$info->getQuote()->getBaseGrandTotal();
657
+ }
658
+ }
659
+
660
+ private function _getCustomerEmail() {
661
+ $info = $this->getInfoInstance();
662
+ if ($this->_isPlaceOrder()) {
663
+ return $info->getOrder()->getCustomerEmail();
664
+ } else {
665
+ return $info->getQuote()->getCustomerEmail();
666
+ }
667
+ }
668
+
669
+ private function _getBillingAddress() {
670
+ $info = $this->getInfoInstance();
671
+ if ($this->_isPlaceOrder()) {
672
+ return $info->getOrder()->getBillingAddress();
673
+ } else {
674
+ return $info->getQuote()->getBillingAddress();
675
+ }
676
+ }
677
+
678
+ private function _getBillingCountryCode() {
679
+ $info = $this->getInfoInstance();
680
+ if ($this->_isPlaceOrder()) {
681
+ return $info->getOrder()->getBillingAddress()->getCountryId();
682
+ } else {
683
+ return $info->getQuote()->getBillingAddress()->getCountryId();
684
+ }
685
+ }
686
+
687
+ private function _getCurrencyCode(){
688
+ $info = $this->getInfoInstance();
689
+ if ($this->_isPlaceOrder()) {
690
+ return $info->getOrder()->getBaseCurrencyCode();
691
+ } else {
692
+ return $info->getQuote()->getBaseCurrencyCode();
693
+ }
694
+ }
695
+
696
+ private function _isPlaceOrder() {
697
+ $info = $this->getInfoInstance();
698
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
699
+ return false;
700
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
701
+ return true;
702
+ }
703
+ }
704
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvdepci.php CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,4 +31,4 @@ class Mage_Novalnet_Model_NovalnetElvdepci extends Mage_Novalnet_Model_NovalnetP
31
  protected $_nnPaymentId = 2;
32
 
33
  protected $_code = 'novalnetElvdepci';
34
- }
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  protected $_nnPaymentId = 2;
32
 
33
  protected $_code = 'novalnetElvdepci';
34
+ }
app/code/community/Mage/Novalnet/Model/NovalnetElvgerman.php CHANGED
@@ -1,672 +1,717 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
- const PAYMENT_METHOD = 'Direct Debit';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- const BANK_SORTCODE_LENGTH = 8;
37
- const CALLBACK_PIN_LENGTH = 4;
38
-
39
- // are used with _buildRequest and _postRequest
40
- const POST_NORMAL = 'normal';
41
- const POST_CALLBACK = 'callback';
42
- const POST_NEWPIN = 'newpin';
43
- const POST_PINSTATUS = 'pinstatus';
44
- const POST_EMAILSTATUS = 'emailstatus';
45
-
46
- const ISOCODE_FOR_GERMAN = 'DE';
47
-
48
- private $_nnPaymentId = '2';
49
-
50
- /**
51
- * unique internal payment method identifier
52
- *
53
- * @var string [a-z0-9_]
54
- */
55
- protected $_code = 'novalnetElvgerman';
56
- protected $_formBlockType = 'novalnet/elvgerman_form';
57
- protected $_infoBlockType = 'novalnet/elvgerman_info';
58
-
59
- /**
60
- * Is this payment method a gateway (online auth/charge) ?
61
- */
62
- protected $_isGateway = true;
63
-
64
- /**
65
- * Can authorize online?
66
- */
67
- protected $_canAuthorize = false;
68
-
69
- /**
70
- * Can capture funds online?
71
- */
72
- protected $_canCapture = true;
73
-
74
- /**
75
- * Can capture partial amounts online?
76
- */
77
- protected $_canCapturePartial = true;
78
-
79
- /**
80
- * Can refund online?
81
- */
82
- protected $_canRefund = false;
83
-
84
- /**
85
- * Can void transactions online?
86
- */
87
- protected $_canVoid = false;
88
-
89
- /**
90
- * Can use this payment method in administration panel?
91
- */
92
- protected $_canUseInternal = true;
93
-
94
- /**
95
- * Can show this payment method as an option on checkout payment page?
96
- */
97
- protected $_canUseCheckout = true;
98
-
99
- /**
100
- * Is this payment method suitable for multi-shipping checkout?
101
- */
102
- protected $_canUseForMultishipping = true;
103
-
104
- /**
105
- * Can save credit card information for future processing?
106
- */
107
- protected $_canSaveCc = false;
108
-
109
- public function __construct() {
110
- }
111
-
112
- public function capture(Varien_Object $payment, $amount) {
113
- $methodSession = $this->_getMethodSession();
114
- if( $this->isCallbackTypeCall()) {
115
- $buildrequest = $this->_buildPostBackRequest();
116
- $postrequest = $this->_postRequest($buildrequest, self::POST_NORMAL);
117
- $result = $methodSession->getNnResponseData();
118
- }else {
119
- $request = $this->_buildRequest(self::POST_NORMAL);
120
- $result = $this->_postRequest($request, self::POST_NORMAL);
121
- }
122
-
123
- // Analyze the response from Novalnet
124
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
125
- $this->_unsetMethodSession();
126
- $payment->setStatus(self::STATUS_APPROVED)
127
- ->setLastTransId($result->getTid())
128
- ;
129
- $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
130
- if($quotePayment) {
131
- $quotePayment->setNnTestorder($result->getTestMode())
132
- ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
133
- ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX')
134
- ->save()
135
- ;
136
- }
137
- } else {
138
- $error = ($result->getStatusDesc()||$result->getStatusMessage())
139
- ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
140
- : Mage::helper('novalnet')->__('Error in capturing the payment')
141
- ;
142
- Mage::throwException($error);
143
- }
144
- return $this;
145
- }
146
-
147
- /**
148
- * Prepare request to gateway
149
- *
150
- * @link http://www.authorize.net/support/AIM_guide.pdf
151
- * @param Mage_Sales_Model_Document $order
152
- * @return unknown
153
- */
154
- /*
155
- protected function _saveObject (Varien_Object $payment)
156
- {
157
- $order = $payment->getOrder();
158
- if (!empty($order)) {
159
- $billing = $order->getBillingAddress();
160
- }
161
- }
162
- */
163
-
164
- public function isAvailable($quote = null) {
165
-
166
- $minOrderCount = trim($this->getConfigData('orderscount'));
167
- $customerId = Mage::getSingleton('customer/session')->getCustomerId();
168
-
169
- // Load orders and check
170
- $orders = Mage::getResourceModel('sales/order_collection')
171
- ->addAttributeToSelect('*')
172
- ->addAttributeToFilter('customer_id', $customerId)
173
- ->load();
174
- if (count($orders) < $minOrderCount) {
175
- return false;
176
- }
177
- return $this->_checkNnAuthData() && parent::isAvailable();
178
- }
179
-
180
- private function _checkNnAuthData() {
181
- return strlen($this->getConfigData('merchant_id'))
182
- && strlen($this->getConfigData('auth_code'))
183
- && strlen($this->getConfigData('product_id'))
184
- && strlen($this->getConfigData('tariff_id'))
185
- ;
186
- }
187
-
188
- protected function _buildRequest($type=self::POST_NORMAL) {
189
- if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
190
- $request = Mage::getModel('novalnet/novalnet_request');
191
- $amount = round($this->_getAmount(), 2) * 100;
192
- $billing = $this->_getBillingAddress();
193
-
194
- $this->_assignNnAuthData($request, $amount);
195
- $request->setAmount($amount)
196
- ->setCurrency($this->_getCurrencyCode())
197
- ->setfirstName($billing->getFirstname())
198
- ->setLastName($billing->getLastname())
199
- ->setSearchInStreet(1)
200
- ->setStreet(implode(',', $billing->getStreet()))
201
- ->setCity($billing->getCity())
202
- ->setZip($billing->getPostcode())
203
- ->setCountry($billing->getCountry())
204
- ->setTel($billing->getTelephone())
205
- ->setFax($billing->getFax())
206
- ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
207
- ->setGender('u')
208
- ->setEmail($this->_getCustomerEmail())
209
- ->setBankAccountHolder($this->_getNnAccountHolder())
210
- ->setBankAccount($this->_getNnAccountNumber())
211
- ->setBankCode($this->_getNnBankSortingCode())
212
- ->setAcdc($this->getConfigData('acdc_check'))
213
- ->setOrderNo($this->_getOrderId())
214
- ->setInput1('order_id')
215
- ->setInputval1($this->_getOrderId())
216
- ;
217
-
218
- $infoInstance = $this->getInfoInstance();
219
- $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . 'XXXX')
220
- ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-3) . 'XXX');
221
-
222
- if( $type == self::POST_CALLBACK ) {
223
- if($this->getConfigData('callback') == 1) {
224
- $request->setTel($this->getInfoInstance()->getNnCallbackTel());
225
- $request->setPinByCallback(1);
226
- }else if($this->getConfigData('callback') == 2) {
227
- $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
228
- $request->setPinBySms(1);
229
- }else if($this->getConfigData('callback') == 3){
230
- $request->setReplyEmailCheck(1);
231
- }
232
- }
233
- $request->toLatin1();
234
- return $request;
235
- }else if($type == self::POST_NEWPIN) {
236
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
237
- $request .= '<nnxml><info_request>';
238
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
239
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
240
- $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
241
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
242
- $request .= '</info_request></nnxml>';
243
- return $request;
244
- }else if($type == self::POST_PINSTATUS) {
245
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
246
- $request .= '<nnxml><info_request>';
247
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
248
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
249
- $request .= '<request_type>PIN_STATUS</request_type>';
250
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
251
- $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
252
- $request .= '</info_request></nnxml>';
253
- return $request;
254
- }else if($type == self::POST_EMAILSTATUS) {
255
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
256
- $request .= '<nnxml><info_request>';
257
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
258
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
259
- $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
260
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
261
- $request .= '</info_request></nnxml>';
262
- return $request;
263
- }
264
- }
265
-
266
- // Amount in cents
267
- private function _assignNnAuthData( Varien_Object $request, $amount ) {
268
- $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
269
- $request->setVendor($this->getConfigData('merchant_id'))
270
- ->setAuthCode($this->getConfigData('auth_code'))
271
- ->setProduct(
272
- (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
273
- ?$this->getConfigData('second_product_id')
274
- :$this->getConfigData('product_id')
275
- )
276
- ->setTariff(
277
- (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
278
- ?$this->getConfigData('second_tariff_id')
279
- :$this->getConfigData('tariff_id')
280
- )
281
- ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
282
- ->setKey($this->_nnPaymentId)
283
- ;
284
- }
285
-
286
- protected function _postRequest($request, $type=self::POST_NORMAL)
287
- {
288
- $result = Mage::getModel('novalnet/novalnet_result');
289
- $httpClientConfig = array('maxredirects'=>0);
290
- if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
291
- $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
292
- }
293
- $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
294
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
295
- $client->setUri( self::XML_URL );
296
- $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
297
- }else {
298
- $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
299
- }
300
- $response = $client->request();
301
- if (!$response->isSuccessful()) {
302
- Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
303
- }
304
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
305
- $result = new Varien_Simplexml_Element( $response->getRawBody() );
306
- $result = new Varien_Object( $this->_xmlToArray( $result ) );
307
- }else {
308
- $result->addData( $this->_deformatNvp( $response->getBody() ) );
309
- $result->toUtf8();
310
- }
311
- return $result;
312
- }
313
-
314
- protected function _buildPostBackRequest()
315
- {
316
- $methodSession = $this->_getMethodSession();
317
- $request = Mage::getModel('novalnet/novalnet_request');
318
- $amount = round($this->_getAmount(), 2) * 100;
319
- $this->_assignNnAuthData($request, $amount);
320
- $request->setTid($methodSession->getNnResponseData()->getTid())
321
- ->setOrderNo($this->_getOrderId())
322
- ->setStatus(100);
323
- return $request;
324
- }
325
-
326
- private function _xmlToArray( SimpleXMLElement $xml ) {
327
- $array = array();
328
- if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
329
- $array = $xml->asArray();
330
- }else {
331
- foreach( $xml->children() as $name => $value ) {
332
- if( $value instanceof SimpleXMLElement && count( $value ) ) {
333
- $array[ trim( $name ) ] = $this->_xmlToArray( $value );
334
- }else {
335
- $array[$name] = trim( (string)$value );
336
- }
337
- }
338
- }
339
- return $array;
340
- }
341
-
342
- public function isCallbackTypeCall(){
343
- $total = $this->_getAmount() * 100;
344
- $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
345
- $countryCode = strtoupper( $this->_getBillingCountryCode() );
346
-
347
- return $this->_getCheckoutSession()->hasNnCallbackTid()
348
- || ($this->getConfigData('callback')
349
- && ($callBackMinimum?$total>=$callBackMinimum:true)
350
- && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
351
- ;
352
- }
353
-
354
- public function getCallbackConfigData(){
355
- return $this->getConfigData('callback') ;
356
- }
357
-
358
- public function assignData($data)
359
- {
360
- if (!($data instanceof Varien_Object)) {
361
- $data = new Varien_Object($data);
362
- }
363
- $infoInstance = $this->getInfoInstance();
364
- $infoInstance->setNnElvCountry($data->getElvCountry())
365
- ->setNnAccountHolder($data->getAccountHolder())
366
- ->setNnAccountNumber($data->getAccountNumber())
367
- ->setNnBankSortingCode($data->getBankSortingCode())
368
- ->setNnAcdc($data->getAcdc())
369
- ->setNnCallbackPin($data->getCallbackPin())
370
- ->setNnNewCallbackPin($data->getNewCallbackPin())
371
- ->setNnCallbackTel($data->getCallbackTel())
372
- ->setNnCallbackEmailDE($data->getCallbackEmail())
373
- ;
374
- if( $this->getConfigData('acdc_check') ) {
375
- $infoInstance->setAcdcValidationFlag( true );
376
- }
377
- if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
378
- $infoInstance->setCallbackPinValidationFlag( true );
379
- }
380
- return $this;
381
- }
382
-
383
- public function validate() {
384
- parent::validate();
385
- $this->_validateCallbackSession();
386
- $infoInstance = $this->getInfoInstance();
387
- $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
388
- $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
389
-
390
- if (preg_match("/\D/", $nnAccountNumber)){
391
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.'));
392
- }
393
- if (preg_match("/\D/", $nnBankSortingCode)){
394
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.'));
395
- }
396
- if (strlen($nnBankSortingCode) < self::BANK_SORTCODE_LENGTH) {
397
- Mage::throwException(Mage::helper('novalnet')->__('The Bankcode must have a length of at least 8 digits').'!');
398
- }
399
- if ($infoInstance->getAcdcValidationFlag() && !$infoInstance->getNnAcdc()){
400
- Mage::throwException(Mage::helper('novalnet')->__('You must check ACDC'.'!'));
401
- }
402
- if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
403
- if( !$infoInstance->getNnNewCallbackPin()
404
- && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
405
- && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
406
- {
407
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
408
- }
409
- }
410
- // Call for pin generation
411
- if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
412
- if( $this->_getMethodSession()->getNnCallbackTid() ) {
413
- if($infoInstance->getNnNewCallbackPin()) {
414
- $this->_regenerateCallbackPin();
415
- }else {
416
- $this->_getMethodSession()
417
- ->setNnCallbackPin($infoInstance->getNnCallbackPin());
418
- }
419
- }else {
420
- $this->_generateCallbackPin();
421
- }
422
- }else if($this->getCallbackConfigData()==3){
423
- if(!$this->_getMethodSession()->getNnCallbackTid()) {
424
- $this->_generateCallbackEmail();
425
- }
426
- }
427
-
428
- $this->_validateCallbackProcess();
429
- return $this;
430
- }
431
-
432
- public function prepareSave() {
433
- $infoInstance = $this->getInfoInstance();
434
- $t = $infoInstance->getData();
435
- if( $this->_isPlaceOrder() ) {
436
- $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumber(), 0, -4) . 'XXXX' )
437
- ->setNnBankSortingCode(substr($infoInstance->getBankSortingCode(), 0, -3) . 'XXX' )
438
- ;
439
- }
440
- return $this;
441
- }
442
-
443
- public function getTitle() {
444
- //return $this->getConfigData('title');
445
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
446
- }
447
-
448
- public function getCheckoutRedirectUrl() {
449
- return false;
450
- }
451
-
452
- public function getIsCentinelValidationEnabled() {
453
- return false;
454
- }
455
-
456
- private function _generateCallbackPin() {
457
- $request = $this->_buildRequest(self::POST_CALLBACK);
458
- $response = $this->_postRequest($request, self::POST_CALLBACK);
459
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
460
- $this->_getMethodSession()
461
- ->setNnCallbackTid($response->getTid())
462
- ->setNnTestMode($response->getTestMode())
463
- ->setNnCallbackTidTimeStamp(time())
464
- ->setOrderAmount($request->getAmount())
465
- ->setNnCallbackSuccessState(true)
466
- ;
467
- $this->getInfoInstance()->save();
468
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
469
- }else {
470
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
471
- }
472
- Mage::throwException($text);
473
- }
474
-
475
- private function _generateCallbackEmail() {
476
- $request = $this->_buildRequest(self::POST_CALLBACK);
477
- $response = $this->_postRequest($request, self::POST_CALLBACK);
478
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
479
- $this->_getMethodSession()
480
- ->setNnCallbackTid($response->getTid())
481
- ->setNnTestMode($response->getTestMode())
482
- ->setNnCallbackTidTimeStamp(time())
483
- ->setOrderAmount($request->getAmount())
484
- ->setNnCallbackSuccessState(true)
485
- ;
486
- $this->getInfoInstance()->save();
487
- $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
488
- }else {
489
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
490
- }
491
- Mage::throwException($text);
492
- }
493
-
494
- private function _regenerateCallbackPin() {
495
- $request = $this->_buildRequest(self::POST_NEWPIN);
496
- $response = $this->_postRequest($request, self::POST_NEWPIN);
497
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
498
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
499
- }else {
500
- $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
501
- }
502
- Mage::throwException($text);
503
- }
504
-
505
- private function _deformatNvp($query) {
506
- $deformated = array();
507
- if(strlen($query)){
508
- $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
509
- foreach($tmp as $k){
510
- $k = explode('=', $k);
511
- $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
512
- }
513
- }
514
- return $deformated;
515
- }
516
-
517
- private function _getQuotePaymentById($id) {
518
- return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
519
- }
520
-
521
- private function _getCheckoutSession() {
522
- return Mage::getSingleton('checkout/session');
523
- }
524
-
525
- private function _validateCallbackSession() {
526
-
527
- $methodSession = $this->_getMethodSession();
528
- if($methodSession->hasNnCallbackTid()) {
529
- if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
530
- $this->_unsetMethodSession();
531
- if (!$this->_isPlaceOrder()) {
532
- Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
533
- }
534
- }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
535
- $this->_unsetMethodSession();
536
- if (!$this->_isPlaceOrder()) {
537
- Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
538
- }
539
- }
540
- }
541
- }
542
-
543
- private function _validateCallbackProcess() {
544
- $methodSession = $this->_getMethodSession();
545
- if($methodSession->getNnCallbackSuccessState()){
546
- if($this->getCallbackConfigData()==3) {
547
- $type=self::POST_EMAILSTATUS;
548
- }elseif($this->getCallbackConfigData()!=3){
549
- $type=self::POST_PINSTATUS;
550
- }
551
- $request = $this->_buildRequest($type);
552
- $result = $this->_postRequest($request, $type);
553
- $result->setTid( $methodSession->getNnCallbackTid() );
554
- $result->setTestMode( $methodSession->getNnTestMode() );
555
-
556
- // Analyze the response from Novalnet
557
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
558
- $methodSession->setNnResponseData($result);
559
- $methodSession->setNnCallbackSuccessState(false);
560
- } else {
561
- $error = ($result->getStatusDesc()||$result->getStatusMessage())
562
- ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
563
- : Mage::helper('novalnet')->__('Error in capturing the payment')
564
- ;
565
- Mage::throwException($error);
566
- }
567
- }
568
- }
569
-
570
- private function _getMethodSession() {
571
- $checkoutSession = $this->_getCheckoutSession();
572
- if( !$checkoutSession->hasData( $this->getCode() ) ) {
573
- $checkoutSession->setData( $this->getCode(), new Varien_Object() );
574
- }
575
- return $checkoutSession->getData( $this->getCode() );
576
- }
577
-
578
- private function _unsetMethodSession() {
579
- $this->_getCheckoutSession()->unsetData( $this->getCode() );
580
- return $this;
581
- }
582
-
583
- private function _getNnAccountHolder() {
584
- $info = $this->getInfoInstance();
585
- if ($this->_isPlaceOrder()) {
586
- return $info->getOrder()->getPayment()->getNnAccountHolder();
587
- } else {
588
- return $info->getNnAccountHolder();
589
- }
590
- }
591
-
592
- private function _getNnAccountNumber() {
593
- $info = $this->getInfoInstance();
594
- if ($this->_isPlaceOrder()) {
595
- return $info->getOrder()->getPayment()->getNnAccountNumber();
596
- } else {
597
- return $info->getNnAccountNumber();
598
- }
599
- }
600
-
601
- private function _getAmount() {
602
- $info = $this->getInfoInstance();
603
- if ($this->_isPlaceOrder()) {
604
- return (double)$info->getOrder()->getQuoteBaseGrandTotal();
605
- } else {
606
- return (double)$info->getQuote()->getBaseGrandTotal();
607
- }
608
- }
609
-
610
- private function _getNnBankSortingCode() {
611
- $info = $this->getInfoInstance();
612
- if ($this->_isPlaceOrder()) {
613
- return $info->getOrder()->getPayment()->getNnBankSortingCode();
614
- } else {
615
- return $info->getNnBankSortingCode();
616
- }
617
- }
618
-
619
- private function _getOrderId(){
620
- $info = $this->getInfoInstance();
621
- if ($this->_isPlaceOrder()) {
622
- return $info->getOrder()->getIncrementId();
623
- } else {
624
- return true;
625
- }
626
- }
627
-
628
- private function _getCustomerEmail() {
629
- $info = $this->getInfoInstance();
630
- if ($this->_isPlaceOrder()) {
631
- return $info->getOrder()->getCustomerEmail();
632
- } else {
633
- return $info->getQuote()->getCustomerEmail();
634
- }
635
- }
636
-
637
- private function _getBillingAddress() {
638
- $info = $this->getInfoInstance();
639
- if ($this->_isPlaceOrder()) {
640
- return $info->getOrder()->getBillingAddress();
641
- } else {
642
- return $info->getQuote()->getBillingAddress();
643
- }
644
- }
645
-
646
- private function _getBillingCountryCode() {
647
- $info = $this->getInfoInstance();
648
- if ($this->_isPlaceOrder()) {
649
- return $info->getOrder()->getBillingAddress()->getCountryId();
650
- } else {
651
- return $info->getQuote()->getBillingAddress()->getCountryId();
652
- }
653
- }
654
-
655
- private function _getCurrencyCode(){
656
- $info = $this->getInfoInstance();
657
- if ($this->_isPlaceOrder()) {
658
- return $info->getOrder()->getBaseCurrencyCode();
659
- } else {
660
- return $info->getQuote()->getBaseCurrencyCode();
661
- }
662
- }
663
-
664
- private function _isPlaceOrder() {
665
- $info = $this->getInfoInstance();
666
- if ($info instanceof Mage_Sales_Model_Quote_Payment) {
667
- return false;
668
- } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
669
- return true;
670
- }
671
- }
672
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Direct Debit';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const BANK_SORTCODE_LENGTH = 3;
37
+ const CALLBACK_PIN_LENGTH = 4;
38
+ const ACCNO_MIN_LENGTH = 5;
39
+
40
+ // are used with _buildRequest and _postRequest
41
+ const POST_NORMAL = 'normal';
42
+ const POST_CALLBACK = 'callback';
43
+ const POST_NEWPIN = 'newpin';
44
+ const POST_PINSTATUS = 'pinstatus';
45
+ const POST_EMAILSTATUS = 'emailstatus';
46
+
47
+ const ISOCODE_FOR_GERMAN = 'DE';
48
+
49
+ private $_nnPaymentId = '2';
50
+
51
+ /**
52
+ * unique internal payment method identifier
53
+ *
54
+ * @var string [a-z0-9_]
55
+ */
56
+ protected $_code = 'novalnetElvgerman';
57
+ protected $_formBlockType = 'novalnet/elvgerman_form';
58
+ protected $_infoBlockType = 'novalnet/elvgerman_info';
59
+
60
+ /**
61
+ * Is this payment method a gateway (online auth/charge) ?
62
+ */
63
+ protected $_isGateway = true;
64
+
65
+ /**
66
+ * Can authorize online?
67
+ */
68
+ protected $_canAuthorize = false;
69
+
70
+ /**
71
+ * Can capture funds online?
72
+ */
73
+ protected $_canCapture = true;
74
+
75
+ /**
76
+ * Can capture partial amounts online?
77
+ */
78
+ protected $_canCapturePartial = true;
79
+
80
+ /**
81
+ * Can refund online?
82
+ */
83
+ protected $_canRefund = false;
84
+
85
+ /**
86
+ * Can void transactions online?
87
+ */
88
+ protected $_canVoid = false;
89
+
90
+ /**
91
+ * Can use this payment method in administration panel?
92
+ */
93
+ protected $_canUseInternal = true;
94
+
95
+ /**
96
+ * Can show this payment method as an option on checkout payment page?
97
+ */
98
+ protected $_canUseCheckout = true;
99
+
100
+ /**
101
+ * Is this payment method suitable for multi-shipping checkout?
102
+ */
103
+ protected $_canUseForMultishipping = true;
104
+
105
+ /**
106
+ * Can save credit card information for future processing?
107
+ */
108
+ protected $_canSaveCc = false;
109
+
110
+ public function __construct() {
111
+ }
112
+
113
+ /**
114
+ * Send capture request to gateway
115
+ * @param Varien_Object $payment
116
+ * @param decimal $amount
117
+ * @throws Mage_Core_Exception
118
+ */
119
+ public function capture(Varien_Object $payment, $amount) {
120
+ $methodSession = $this->_getMethodSession();
121
+ if( $this->isCallbackTypeCall()) {
122
+ $buildrequest = $this->_buildPostBackRequest();
123
+ $postrequest = $this->_postRequest($buildrequest, self::POST_NORMAL);
124
+ $result = $methodSession->getNnResponseData();
125
+ }else {
126
+ $request = $this->_buildRequest(self::POST_NORMAL);
127
+ $result = $this->_postRequest($request, self::POST_NORMAL);
128
+ }
129
+
130
+ // Analyze the response from Novalnet
131
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
132
+ $this->_unsetMethodSession();
133
+ $payment->setStatus(self::STATUS_APPROVED)
134
+ ->setLastTransId($result->getTid())
135
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
136
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****')
137
+ ;
138
+ $quotePayment = $this->_getQuotePaymentById($payment->getNnId());
139
+ if($quotePayment) {
140
+ $quotePayment->setNnTestorder($result->getTestMode())
141
+ ->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
142
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****')
143
+ ->save()
144
+ ;
145
+ }
146
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
147
+ } else {
148
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
149
+ ? Mage::helper('novalnet')->htmlEscape(utf8_decode($result->getStatusMessage()).utf8_decode($result->getStatusDesc()))
150
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
151
+ ;
152
+ Mage::throwException($error);
153
+ }
154
+ return $this;
155
+ }
156
+
157
+ /**
158
+ * To display the payment method based on the condition
159
+ * @param Varien_Object $quote
160
+ */
161
+ public function isAvailable($quote = null) {
162
+
163
+ $minOrderCount = trim($this->getConfigData('orderscount'));
164
+ $customerId = Mage::getSingleton('customer/session')->getCustomerId();
165
+
166
+ // Load orders and check
167
+ $orders = Mage::getResourceModel('sales/order_collection')
168
+ ->addAttributeToSelect('*')
169
+ ->addAttributeToFilter('customer_id', $customerId)
170
+ ->load();
171
+ if (count($orders) < $minOrderCount) {
172
+ return false;
173
+ }else if(time()<$this->_getMethodSession()->getNnDeDisableTime()){
174
+ return false;
175
+ }
176
+ return parent::isAvailable();
177
+ }
178
+
179
+ /**
180
+ * To check Novalnet Authentication data
181
+ */
182
+ private function _checkNnAuthData() {
183
+ return strlen($this->getConfigData('merchant_id'))
184
+ && strlen($this->getConfigData('auth_code'))
185
+ && strlen($this->getConfigData('product_id'))
186
+ && strlen($this->getConfigData('tariff_id'))
187
+ ;
188
+ }
189
+
190
+ /**
191
+ * To build the request as per the type request
192
+ * @param String $type
193
+ */
194
+ protected function _buildRequest($type=self::POST_NORMAL) {
195
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
196
+ $request = Mage::getModel('novalnet/novalnet_request');
197
+ $amount = round($this->_getAmount(), 2) * 100;
198
+ $billing = $this->_getBillingAddress();
199
+
200
+ $this->_assignNnAuthData($request, $amount);
201
+ $request->setAmount($amount)
202
+ ->setCurrency($this->_getCurrencyCode())
203
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
204
+ ->setUseUtf8(1)
205
+ ->setfirstName($billing->getFirstname())
206
+ ->setLastName($billing->getLastname())
207
+ ->setSearchInStreet(1)
208
+ ->setStreet(implode(',', $billing->getStreet()))
209
+ ->setCity($billing->getCity())
210
+ ->setZip($billing->getPostcode())
211
+ ->setCountry($billing->getCountry())
212
+ ->setLang(strtoupper(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2)))
213
+ ->setTel($billing->getTelephone())
214
+ ->setFax($billing->getFax())
215
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
216
+ ->setGender('u')
217
+ ->setEmail($this->_getCustomerEmail())
218
+ ->setBankAccountHolder($this->_getNnAccountHolder())
219
+ ->setBankAccount($this->_getNnAccountNumber())
220
+ ->setBankCode($this->_getNnBankSortingCode())
221
+ ->setAcdc($this->getConfigData('acdc_check'))
222
+ ->setOrderNo($this->_getOrderId())
223
+ ->setInput1('order_id')
224
+ ->setInputval1($this->_getOrderId());
225
+
226
+ $infoInstance = $this->getInfoInstance();
227
+ $infoInstance->setNnAccountNumber(substr($this->_getNnAccountNumber(),0,-4) . '****')
228
+ ->setNnBankSortingCode(substr($this->_getNnBankSortingCode(),0,-4) . '****');
229
+
230
+ if( $type == self::POST_CALLBACK ) {
231
+ if($this->getConfigData('callback') == 1) {
232
+ $request->setTel($this->getInfoInstance()->getNnCallbackTel());
233
+ $request->setPinByCallback(1);
234
+ }else if($this->getConfigData('callback') == 2) {
235
+ $request->setMobile($this->getInfoInstance()->getNnCallbackTel());
236
+ $request->setPinBySms(1);
237
+ }else if($this->getConfigData('callback') == 3){
238
+ $request->setReplyEmailCheck(1);
239
+ }
240
+ }
241
+ $request->toLatin1();
242
+ return $request;
243
+ }else if($type == self::POST_NEWPIN) {
244
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
245
+ $request .= '<nnxml><info_request>';
246
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
247
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
248
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
249
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
250
+ $request .= '</info_request></nnxml>';
251
+ return $request;
252
+ }else if($type == self::POST_PINSTATUS) {
253
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
254
+ $request .= '<nnxml><info_request>';
255
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
256
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
257
+ $request .= '<request_type>PIN_STATUS</request_type>';
258
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
259
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
260
+ $request .= '</info_request></nnxml>';
261
+ return $request;
262
+ }else if($type == self::POST_EMAILSTATUS) {
263
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
264
+ $request .= '<nnxml><info_request>';
265
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
266
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
267
+ $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
268
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
269
+ $request .= '</info_request></nnxml>';
270
+ return $request;
271
+ }
272
+ }
273
+
274
+ /**
275
+ * To assign Novalnet Authentication Data
276
+ * @param Varien_Object $request
277
+ * @param Decimal $amount
278
+ */
279
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
280
+ $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
281
+ $request->setVendor(trim($this->getConfigData('merchant_id')))
282
+ ->setAuthCode(trim($this->getConfigData('auth_code')))
283
+ ->setProduct(
284
+ (strlen(trim($this->getConfigData('second_product_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
285
+ ?trim($this->getConfigData('second_product_id'))
286
+ :trim($this->getConfigData('product_id'))
287
+ )
288
+ ->setTariff(
289
+ (strlen(trim($this->getConfigData('second_tariff_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
290
+ ?trim($this->getConfigData('second_tariff_id'))
291
+ :trim($this->getConfigData('tariff_id'))
292
+ )
293
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
294
+ ->setKey($this->_nnPaymentId)
295
+ ;
296
+ }
297
+
298
+ /**
299
+ * To post the request to Novalnet server
300
+ * @param Varien_Object $request
301
+ * @param String $type
302
+ */
303
+ protected function _postRequest($request, $type=self::POST_NORMAL)
304
+ {
305
+ $result = Mage::getModel('novalnet/novalnet_result');
306
+ $httpClientConfig = array('maxredirects'=>0);
307
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
308
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
309
+ }
310
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
311
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
312
+ $client->setUri( self::XML_URL );
313
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
314
+ }else {
315
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
316
+ }
317
+ $response = $client->request();
318
+ if (!$response->isSuccessful()) {
319
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
320
+ }
321
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
322
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
323
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
324
+ }else {
325
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
326
+ $result->toUtf8();
327
+ }
328
+ return $result;
329
+ }
330
+
331
+ /**
332
+ * To build post back request
333
+ */
334
+ protected function _buildPostBackRequest()
335
+ {
336
+ $methodSession = $this->_getMethodSession();
337
+ $request = Mage::getModel('novalnet/novalnet_request');
338
+ $amount = round($this->_getAmount(), 2) * 100;
339
+ $this->_assignNnAuthData($request, $amount);
340
+ $request->setTid($methodSession->getNnResponseData()->getTid())
341
+ ->setOrderNo($this->_getOrderId())
342
+ ->setStatus(100);
343
+ return $request;
344
+ }
345
+
346
+ private function _xmlToArray( SimpleXMLElement $xml ) {
347
+ $array = array();
348
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
349
+ $array = $xml->asArray();
350
+ }else {
351
+ foreach( $xml->children() as $name => $value ) {
352
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
353
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
354
+ }else {
355
+ $array[$name] = trim( (string)$value );
356
+ }
357
+ }
358
+ }
359
+ return $array;
360
+ }
361
+
362
+ public function isCallbackTypeCall(){
363
+ $total = $this->_getAmount() * 100;
364
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
365
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
366
+
367
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
368
+ || ($this->getConfigData('callback')
369
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
370
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
371
+ ;
372
+ }
373
+
374
+ public function getCallbackConfigData(){
375
+ return $this->getConfigData('callback') ;
376
+ }
377
+
378
+ public function assignData($data)
379
+ {
380
+ if (!($data instanceof Varien_Object)) {
381
+ $data = new Varien_Object($data);
382
+ }
383
+ $infoInstance = $this->getInfoInstance();
384
+ $infoInstance->setNnElvCountry($data->getElvCountry())
385
+ ->setNnAccountHolder($data->getAccountHolder())
386
+ ->setNnAccountNumber($data->getAccountNumber())
387
+ ->setNnBankSortingCode($data->getBankSortingCode())
388
+ ->setNnAcdc($data->getAcdc())
389
+ ->setNnCallbackPin($data->getCallbackPin())
390
+ ->setNnNewCallbackPin($data->getNewCallbackPin())
391
+ ->setNnCallbackTel($data->getCallbackTel())
392
+ ->setNnCallbackEmailDE($data->getCallbackEmail());
393
+ if( $this->getConfigData('acdc_check') ) {
394
+ $infoInstance->setAcdcValidationFlag( true );
395
+ }
396
+ if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
397
+ $infoInstance->setCallbackPinValidationFlag( true );
398
+ }
399
+ return $this;
400
+ }
401
+
402
+ public function validate() {
403
+ parent::validate();
404
+ //Validate Backend Parameters
405
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id'))) {
406
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
407
+ }if((int)$this->getConfigData('manual_checking_amount')&& (!trim($this->getConfigData('second_product_id')) || !trim($this->getConfigData('second_tariff_id')))) {
408
+ Mage::throwException(Mage::helper('novalnet')->__('Required Second Product Tariff').'!');
409
+ }
410
+
411
+ $this->_validateCallbackSession();
412
+ $infoInstance = $this->getInfoInstance();
413
+ $nnAccountHolder = $infoInstance->getNnAccountHolder();
414
+ $nnAccountNumber = preg_replace('/[\-\s]+/', '', $infoInstance->getNnAccountNumber());
415
+ $nnBankSortingCode = preg_replace('/[\-\s]+/', '', $infoInstance->getNnBankSortingCode());
416
+
417
+ if(preg_match('/[#%\^<>@$=*!]/', $nnAccountHolder)){
418
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid Account Holder Name').'!');
419
+ }
420
+ if (preg_match("/\D/", $nnAccountNumber)){
421
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.').'!');
422
+ }
423
+ if (preg_match("/\D/", $nnBankSortingCode)){
424
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.').'!');
425
+
426
+
427
+ }
428
+ if (strlen($nnAccountNumber) <= self::ACCNO_MIN_LENGTH) {
429
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid account number.').'!');
430
+ }
431
+ if (strlen($nnBankSortingCode) <= self::BANK_SORTCODE_LENGTH) {
432
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid bank sorting code.').'!');
433
+ }
434
+ if ($infoInstance->getAcdcValidationFlag() && !$infoInstance->getNnAcdc()){
435
+ Mage::throwException(Mage::helper('novalnet')->__('You must check ACDC'.'!'));
436
+ }
437
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
438
+ if( !$infoInstance->getNnNewCallbackPin()
439
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
440
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
441
+ {
442
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
443
+ }
444
+ }
445
+ // Call for pin generation
446
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
447
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
448
+ if($infoInstance->getNnNewCallbackPin()) {
449
+ $this->regenerateCallbackPin();
450
+ }else {
451
+ $this->_getMethodSession()
452
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
453
+ }
454
+ }else {
455
+ $this->generateCallbackPin();
456
+ }
457
+ }else if($this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()==3){
458
+ if(!$this->_getMethodSession()->getNnCallbackTid()) {
459
+ $this->generateCallbackEmail();
460
+ }
461
+ }
462
+
463
+ if($this->_isPlaceOrder()){
464
+ $this->_validateCallbackProcess();
465
+ }
466
+ return $this;
467
+ }
468
+
469
+ public function prepareSave() {
470
+ $infoInstance = $this->getInfoInstance();
471
+ $t = $infoInstance->getData();
472
+ if( $this->_isPlaceOrder() ) {
473
+ $infoInstance->setNnAccountNumber(substr($infoInstance->getAccountNumber(), 0, -4) . '****' )
474
+ ->setNnBankSortingCode(substr($infoInstance->getBankSortingCode(), 0, -4) . '****' )
475
+ ;
476
+ }
477
+ return $this;
478
+ }
479
+
480
+ public function getTitle() {
481
+ //return $this->getConfigData('title');
482
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
483
+ }
484
+
485
+ public function getCheckoutRedirectUrl() {
486
+ return false;
487
+ }
488
+
489
+ public function getIsCentinelValidationEnabled() {
490
+ return false;
491
+ }
492
+
493
+ private function generateCallbackPin() {
494
+ $request = $this->_buildRequest(self::POST_CALLBACK);
495
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
496
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
497
+ $this->_getMethodSession()
498
+ ->setNnCallbackTid($response->getTid())
499
+ ->setNnTestMode($response->getTestMode())
500
+ ->setNnCallbackTidTimeStamp(time())
501
+ ->setOrderAmount($request->getAmount())
502
+ ->setNnCallbackSuccessState(true)
503
+ ;
504
+ $this->getInfoInstance()->save();
505
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the PIN code received in the text box.');
506
+ }else {
507
+ $text = Mage::helper('novalnet')->__( utf8_decode($response->getStatusDesc()) );
508
+ }
509
+ Mage::throwException($text);
510
+ }
511
+
512
+ private function generateCallbackEmail() {
513
+ $request = $this->_buildRequest(self::POST_CALLBACK);
514
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
515
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
516
+ $this->_getMethodSession()
517
+ ->setNnCallbackTid($response->getTid())
518
+ ->setNnTestMode($response->getTestMode())
519
+ ->setNnCallbackTidTimeStamp(time())
520
+ ->setOrderAmount($request->getAmount())
521
+ ->setNnCallbackSuccessState(true)
522
+ ;
523
+ $this->getInfoInstance()->save();
524
+ $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
525
+ }else {
526
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
527
+ }
528
+ Mage::throwException($text);
529
+ }
530
+
531
+ private function regenerateCallbackPin() {
532
+ $request = $this->_buildRequest(self::POST_NEWPIN);
533
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
534
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
535
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the PIN code received in the text box.');
536
+ }else {
537
+ $text = Mage::helper('novalnet')->__( utf8_decode($response->getStatusMessage()) );//status_message
538
+ }
539
+ Mage::throwException($text);
540
+ }
541
+
542
+ private function _deformatNvp($query) {
543
+ $deformated = array();
544
+ if(strlen($query)){
545
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
546
+ foreach($tmp as $k){
547
+ $k = explode('=', $k);
548
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
549
+ }
550
+ }
551
+ return $deformated;
552
+ }
553
+
554
+ /**
555
+ * For Admin orders
556
+ */
557
+ private function _getQuotePaymentById($id) {
558
+ //return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
559
+ $PaymentById = Mage::getSingleton('checkout/session')->getQuote()->getPaymentById($id);
560
+ if(!$PaymentById)
561
+ return Mage::getSingleton('adminhtml/session_quote')->getQuote()->getPaymentById($id);
562
+ else
563
+ return $PaymentById;
564
+ }
565
+
566
+ private function _getCheckoutSession() {
567
+ return Mage::getSingleton('checkout/session');
568
+ }
569
+
570
+ private function _validateCallbackSession() {
571
+
572
+ $methodSession = $this->_getMethodSession();
573
+ if($methodSession->hasNnCallbackTid()) {
574
+ if($methodSession->getNnDeDisableTime() && time()>$methodSession->getNnDeDisableTime()){
575
+ $this->_unsetMethodSession();
576
+ }elseif( $methodSession->getOrderAmount() != (int)($this->_getAmount()*100) ) {
577
+ $this->_unsetMethodSession();
578
+ if (!$this->_isPlaceOrder()) {
579
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
580
+ }
581
+ }
582
+ }
583
+ }
584
+
585
+ private function _validateCallbackProcess() {
586
+ $methodSession = $this->_getMethodSession();
587
+ if($methodSession->getNnCallbackSuccessState()){
588
+ if($this->getCallbackConfigData()==3) {
589
+ $type=self::POST_EMAILSTATUS;
590
+ }elseif($this->getCallbackConfigData()!=3){
591
+ $type=self::POST_PINSTATUS;
592
+ }
593
+ $request = $this->_buildRequest($type);
594
+ $result = $this->_postRequest($request, $type);
595
+ $result->setTid( $methodSession->getNnCallbackTid() );
596
+ $result->setTestMode( $methodSession->getNnTestMode() );
597
+
598
+ // Analyze the response from Novalnet
599
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
600
+ $methodSession->setNnResponseData($result);
601
+ $methodSession->setNnCallbackSuccessState(false);
602
+ } else {
603
+ if($result->getStatus()=='0529006'){
604
+ $methodSession->setNnDeDisableTime(time()+(30*60));
605
+ }
606
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
607
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
608
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
609
+ ;
610
+ Mage::throwException($error);
611
+ }
612
+ }
613
+ }
614
+
615
+ private function _getMethodSession() {
616
+ $checkoutSession = $this->_getCheckoutSession();
617
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
618
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
619
+ }
620
+ return $checkoutSession->getData( $this->getCode() );
621
+ }
622
+
623
+ private function _unsetMethodSession() {
624
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
625
+ return $this;
626
+ }
627
+
628
+ private function _getNnAccountHolder() {
629
+ $info = $this->getInfoInstance();
630
+ if ($this->_isPlaceOrder()) {
631
+ return $info->getOrder()->getPayment()->getNnAccountHolder();
632
+ } else {
633
+ return $info->getNnAccountHolder();
634
+ }
635
+ }
636
+
637
+ private function _getNnAccountNumber() {
638
+ $info = $this->getInfoInstance();
639
+ if ($this->_isPlaceOrder()) {
640
+ return $info->getOrder()->getPayment()->getNnAccountNumber();
641
+ } else {
642
+ return $info->getNnAccountNumber();
643
+ }
644
+ }
645
+
646
+ private function _getAmount() {
647
+ $info = $this->getInfoInstance();
648
+ if ($this->_isPlaceOrder()) {
649
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
650
+ } else {
651
+ return (double)$info->getQuote()->getBaseGrandTotal();
652
+ }
653
+ }
654
+
655
+ private function _getNnBankSortingCode() {
656
+ $info = $this->getInfoInstance();
657
+ if ($this->_isPlaceOrder()) {
658
+ return $info->getOrder()->getPayment()->getNnBankSortingCode();
659
+ } else {
660
+ return $info->getNnBankSortingCode();
661
+ }
662
+ }
663
+
664
+ private function _getOrderId(){
665
+ $info = $this->getInfoInstance();
666
+ if ($this->_isPlaceOrder()) {
667
+ return $info->getOrder()->getIncrementId();
668
+ } else {
669
+ return true;
670
+ }
671
+ }
672
+
673
+ private function _getCustomerEmail() {
674
+ $info = $this->getInfoInstance();
675
+ if ($this->_isPlaceOrder()) {
676
+ return $info->getOrder()->getCustomerEmail();
677
+ } else {
678
+ return $info->getQuote()->getCustomerEmail();
679
+ }
680
+ }
681
+
682
+ private function _getBillingAddress() {
683
+ $info = $this->getInfoInstance();
684
+ if ($this->_isPlaceOrder()) {
685
+ return $info->getOrder()->getBillingAddress();
686
+ } else {
687
+ return $info->getQuote()->getBillingAddress();
688
+ }
689
+ }
690
+
691
+ private function _getBillingCountryCode() {
692
+ $info = $this->getInfoInstance();
693
+ if ($this->_isPlaceOrder()) {
694
+ return $info->getOrder()->getBillingAddress()->getCountryId();
695
+ } else {
696
+ return $info->getQuote()->getBillingAddress()->getCountryId();
697
+ }
698
+ }
699
+
700
+ private function _getCurrencyCode(){
701
+ $info = $this->getInfoInstance();
702
+ if ($this->_isPlaceOrder()) {
703
+ return $info->getOrder()->getBaseCurrencyCode();
704
+ } else {
705
+ return $info->getQuote()->getBaseCurrencyCode();
706
+ }
707
+ }
708
+
709
+ private function _isPlaceOrder() {
710
+ $info = $this->getInfoInstance();
711
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
712
+ return false;
713
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
714
+ return true;
715
+ }
716
+ }
717
+ }
app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php CHANGED
@@ -1,673 +1,661 @@
1
- <?php
2
-
3
- /**
4
- * Magento
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is bundled with this package in the file LICENSE.txt.
10
- * It is also available through the world-wide-web at this URL:
11
- * http://opensource.org/licenses/osl-3.0.php
12
- * If you did not receive a copy of the license and are unable to
13
- * obtain it through the world-wide-web, please send an email
14
- * to license@magentocommerce.com so we can send you a copy immediately.
15
- *
16
- * Part of the Paymentmodul of Novalnet AG
17
- * http://www.novalnet.de
18
- * If you have found this script usefull a small
19
- * recommendation as well as a comment on merchant form
20
- * would be greatly appreciated.
21
- *
22
- * @category design_default
23
- * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
- * @version 1.0.0
26
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
- */
28
-
29
- class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abstract
30
- {
31
- const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
- const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
- const PAYMENT_METHOD = 'Invoice';
34
- const RESPONSE_DELIM_CHAR = '&';
35
- const RESPONSE_CODE_APPROVED = 100;
36
- const CALLBACK_PIN_LENGTH = 4;
37
-
38
- // are used with _buildRequest and _postRequest
39
- const POST_NORMAL = 'normal';
40
- const POST_CALLBACK = 'callback';
41
- const POST_NEWPIN = 'newpin';
42
- const POST_PINSTATUS = 'pinstatus';
43
- const POST_EMAILSTATUS = 'emailstatus';
44
-
45
- const ISOCODE_FOR_GERMAN = 'DE';
46
-
47
- private $_nnPaymentId = 27;
48
- /**
49
- * unique internal payment method identifier
50
- *
51
- * @var string [a-z0-9_]
52
- */
53
- protected $_code = 'novalnetInvoice';
54
- protected $_formBlockType = 'novalnet/invoice_form';
55
- protected $_infoBlockType = 'novalnet/invoice_info';
56
-
57
- /**
58
- * Is this payment method a gateway (online auth/charge) ?
59
- */
60
- protected $_isGateway = false;
61
-
62
- /**
63
- * Can authorize online?
64
- */
65
- protected $_canAuthorize = true;
66
-
67
- /**
68
- * Can capture funds online?
69
- */
70
- protected $_canCapture = true; #important; default: false
71
-
72
- /**
73
- * Can capture partial amounts online?
74
- */
75
- protected $_canCapturePartial = false;
76
-
77
- /**
78
- * Can refund online?
79
- */
80
- protected $_canRefund = false;
81
-
82
- /**
83
- * Can void transactions online?
84
- */
85
- protected $_canVoid = false;
86
-
87
- /**
88
- * Can use this payment method in administration panel?
89
- */
90
- protected $_canUseInternal = false;
91
-
92
- /**
93
- * Can show this payment method as an option on checkout payment page?
94
- */
95
- protected $_canUseCheckout = true;
96
-
97
- /**
98
- * Is this payment method suitable for multi-shipping checkout?
99
- */
100
- protected $_canUseForMultishipping = false;
101
-
102
- /**
103
- * Can save credit card information for future processing?
104
- */
105
- protected $_canSaveCc = false;
106
-
107
- protected $_isInitializeNeeded = true;
108
-
109
- /**
110
- * Here you will need to implement authorize, capture and void public methods
111
- *
112
- * @see examples of transaction specific public methods such as
113
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
114
- */
115
-
116
- public function isAvailable($quote = null) {
117
-
118
- $minOrderCount = trim($this->getConfigData('orderscount'));
119
- $customerId = Mage::getSingleton('customer/session')->getCustomerId();
120
-
121
- // Load orders and check
122
- $orders = Mage::getResourceModel('sales/order_collection')
123
- ->addAttributeToSelect('*')
124
- ->addAttributeToFilter('customer_id', $customerId)
125
- ->load();
126
- if (count($orders) < $minOrderCount) {
127
- return false;
128
- }
129
- return $this->_checkNnAuthData() && parent::isAvailable();
130
- }
131
-
132
-
133
-
134
- private function _checkNnAuthData() {
135
- return strlen($this->getConfigData('merchant_id'))
136
- && strlen($this->getConfigData('auth_code'))
137
- && strlen($this->getConfigData('product_id'))
138
- && strlen($this->getConfigData('tariff_id'))
139
- ;
140
- }
141
-
142
- /**
143
- * Prepare request to gateway
144
- *
145
- * @link http://www.authorize.net/support/AIM_guide.pdf
146
- * @param Mage_Sales_Model_Document $order
147
- * @return unknown
148
- */
149
- /*
150
- protected function _saveObject (Varien_Object $payment)
151
- {
152
- $order = $payment->getOrder();
153
- if (!empty($order)) {
154
- $billing = $order->getBillingAddress();
155
- }
156
- }
157
- */
158
-
159
- protected function _buildRequest($type=self::POST_NORMAL) {
160
- if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
161
- $request = Mage::getModel('novalnet/novalnet_request');
162
- $amount = round($this->_getAmount(), 2) * 100;
163
- $billing = $this->_getBillingAddress();
164
-
165
- $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
166
- $dueDate = $paymentDuration ? date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) : NULL;
167
-
168
- $this->_assignNnAuthData($request, $amount);
169
- $request->setAmount($amount)
170
- ->setCurrency($this->_getCurrencyCode())
171
- ->setfirstName($billing->getFirstname())
172
- ->setLastName($billing->getLastname())
173
- ->setSearchInStreet(1)
174
- ->setStreet(implode(',', $billing->getStreet()))
175
- ->setCity($billing->getCity())
176
- ->setZip($billing->getPostcode())
177
- ->setCountry($billing->getCountry())
178
- ->setTel($billing->getTelephone())
179
- ->setFax($billing->getFax())
180
- ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
181
- ->setGender('u')
182
- ->setEmail($this->_getCustomerEmail())
183
- ->setOrderNo($this->_getOrderId())
184
- ->setInput1('order_id')
185
- ->setInputval1($this->_getOrderId())
186
- ->setInvoiceType(self::PAYMENT_METHOD)
187
- ->setDueDate($dueDate)
188
- ;
189
- $infoInstance = $this->getInfoInstance();
190
- if( $type == self::POST_CALLBACK ) {
191
- if($this->getConfigData('callback') == 1) {
192
- $request->setTel($infoInstance->getNnCallbackTel());
193
- $request->setPinByCallback(1);
194
- }else if($this->getConfigData('callback') == 2) {
195
- $request->setMobile($infoInstance->getNnCallbackTel());
196
- $request->setPinBySms(1);
197
- }else if($this->getConfigData('callback') == 3){
198
- $request->setReplyEmailCheck(1);
199
- }
200
- }else{
201
- $request->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId());
202
- }
203
- $request->toLatin1();
204
- return $request;
205
- }else if($type == self::POST_NEWPIN) {
206
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
207
- $request .= '<nnxml><info_request>';
208
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
209
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
210
- $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
211
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
212
- $request .= '</info_request></nnxml>';
213
- return $request;
214
- }else if($type == self::POST_PINSTATUS) {
215
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
216
- $request .= '<nnxml><info_request>';
217
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
218
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
219
- $request .= '<request_type>PIN_STATUS</request_type>';
220
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
221
- $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
222
- $request .= '</info_request></nnxml>';
223
- return $request;
224
- }else if($type == self::POST_EMAILSTATUS) {
225
- $request = '<?xml version="1.0" encoding="UTF-8"?>';
226
- $request .= '<nnxml><info_request>';
227
- $request .= '<vendor_id>' . $this->getConfigData( 'merchant_id' ) . '</vendor_id>';
228
- $request .= '<vendor_authcode>' . $this->getConfigData( 'auth_code' ) . '</vendor_authcode>';
229
- $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
230
- $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
231
- $request .= '</info_request></nnxml>';
232
- return $request;
233
- }
234
- }
235
-
236
- // Amount in cents
237
- private function _assignNnAuthData( Varien_Object $request, $amount ) {
238
- $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
239
- $request->setVendor($this->getConfigData('merchant_id'))
240
- ->setAuthCode($this->getConfigData('auth_code'))
241
- ->setProduct(
242
- (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
243
- ?$this->getConfigData('second_product_id')
244
- :$this->getConfigData('product_id')
245
- )
246
- ->setTariff(
247
- (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
248
- ?$this->getConfigData('second_tariff_id')
249
- :$this->getConfigData('tariff_id')
250
- )
251
- ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
252
- ->setKey($this->_nnPaymentId)
253
- ;
254
- }
255
-
256
- protected function _postRequest($request, $type=self::POST_NORMAL)
257
- {
258
- $result = Mage::getModel('novalnet/novalnet_result');
259
- $httpClientConfig = array('maxredirects'=>0);
260
- if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
261
- $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
262
- }
263
- $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
264
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
265
- $client->setUri( self::XML_URL );
266
- $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
267
- }else {
268
- $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
269
- }
270
- $response = $client->request();
271
-
272
- if (!$response->isSuccessful()) {
273
- Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
274
- }
275
- if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
276
- $result = new Varien_Simplexml_Element( $response->getRawBody() );
277
- $result = new Varien_Object( $this->_xmlToArray( $result ) );
278
- }else {
279
- $result->addData( $this->_deformatNvp( $response->getBody() ) );
280
- $result->toUtf8();
281
- }
282
- return $result;
283
- }
284
-
285
- private function _xmlToArray( SimpleXMLElement $xml ) {
286
- $array = array();
287
- if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
288
- $array = $xml->asArray();
289
- }else {
290
- foreach( $xml->children() as $name => $value ) {
291
- if( $value instanceof SimpleXMLElement && count( $value ) ) {
292
- $array[ trim( $name ) ] = $this->_xmlToArray( $value );
293
- }else {
294
- $array[$name] = trim( (string)$value );
295
- }
296
- }
297
- }
298
- return $array;
299
- }
300
-
301
- public function isCallbackTypeCall(){
302
- $total = $this->_getAmount() * 100;
303
- $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
304
- $countryCode = strtoupper( $this->_getBillingCountryCode() );
305
-
306
- return $this->_getCheckoutSession()->hasNnCallbackTid()
307
- || ($this->getConfigData('callback')
308
- && ($callBackMinimum?$total>=$callBackMinimum:true)
309
- && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
310
- ;
311
- }
312
-
313
- public function getCallbackConfigData(){
314
- return $this->getConfigData('callback') ;
315
- }
316
-
317
- public function assignData($data)
318
- {
319
- if (!($data instanceof Varien_Object)) {
320
- $data = new Varien_Object($data);
321
- }
322
- $infoInstance = $this->getInfoInstance();
323
- $infoInstance->setNnCallbackPin($data->getCallbackPin())
324
- ->setNnNewCallbackPin($data->getNewCallbackPin())
325
- ->setNnCallbackTel($data->getCallbackTel())
326
- ;
327
- if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
328
- $infoInstance->setCallbackPinValidationFlag( true );
329
- }
330
- return $this;
331
- }
332
-
333
- public function validate() {
334
-
335
- $session = Mage::getSingleton('checkout/session');
336
-
337
- if(!$this->_isPlaceOrder()){
338
- parent::validate();
339
- $this->_validateCallbackSession();
340
- $infoInstance = $this->getInfoInstance();
341
- if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
342
- if( !$infoInstance->getNnNewCallbackPin()
343
- && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
344
- && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
345
- {
346
- Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
347
- }
348
- }
349
-
350
- // Call for pin generation
351
- if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
352
- if( $this->_getMethodSession()->getNnCallbackTid() ) {
353
- if($infoInstance->getNnNewCallbackPin()) {
354
- $this->_regenerateCallbackPin();
355
- }else {
356
- $this->_getMethodSession()
357
- ->setNnCallbackPin($infoInstance->getNnCallbackPin());
358
- }
359
- }else {
360
- $this->_generateCallbackPin();
361
- }
362
-
363
- }else if(!$this->_isPlaceOrder() && $this->getCallbackConfigData()==3){
364
- if(!$this->_getMethodSession()->getNnCallbackTid()) {
365
- $this->_generateCallbackEmail();
366
- }
367
- }
368
-
369
- }
370
-
371
- if($this->_isPlaceOrder()){
372
- if(!$this->isCallbackTypeCall() && !$session->getInvoiceReqData())
373
- {
374
- $request = $this->_buildRequest(self::POST_NORMAL);
375
- $inputval1 = $this->_getOrderId();
376
- $request->setOrderNo($inputval1)
377
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
378
- ->setInputval1($inputval1);
379
- $response = $this->_postRequest($request, self::POST_NORMAL);
380
- Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
381
- Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
382
- if($response->getStatus()!='100'){
383
-
384
- $session=Mage::getSingleton('checkout/session');
385
- $session->unsInvoiceReqData()
386
- ->unsInvoiceReqDataNote();
387
- $text = Mage::helper('novalnet')->__($response->getstatus_desc());
388
- Mage::throwException($text);
389
- }
390
- return $this;
391
- }
392
- $this->_validateCallbackProcess();
393
- }
394
- return $this;
395
- }
396
-
397
- public function getTitle() {
398
- //return $this->getConfigData('title');
399
- return Mage::helper('novalnet')->__($this->getConfigData('title'));
400
- }
401
-
402
- public function getCheckoutRedirectUrl() {
403
- return false;
404
- }
405
-
406
- public function getIsCentinelValidationEnabled() {
407
- return false;
408
- }
409
-
410
- private function _generateCallbackPin() {
411
- $request = $this->_buildRequest(self::POST_CALLBACK);
412
- $inputval1 = $this->_getIncrementId();
413
- $request->setOrderNo($inputval1)
414
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
415
- ->setInputval1($inputval1);
416
- $response = $this->_postRequest($request, self::POST_CALLBACK);
417
-
418
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
419
-
420
- Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
421
- Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
422
-
423
- $this->_getMethodSession()
424
- ->setNnCallbackTid($response->getTid())
425
- ->setNnTestMode($response->getTestMode())
426
- ->setNnCallbackTidTimeStamp(time())
427
- ->setNote($this->_getNote($response))
428
- ->setOrderAmount($request->getAmount())
429
- ->setNnCallbackSuccessState(true)
430
- ;
431
- $this->getInfoInstance()->save();
432
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
433
- }else {
434
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
435
- }
436
- Mage::throwException($text);
437
- }
438
-
439
- private function _generateCallbackEmail() {
440
- $request = $this->_buildRequest(self::POST_CALLBACK);
441
- $inputval1 = $this->_getIncrementId();
442
- $request->setOrderNo($inputval1)
443
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
444
- ->setInputval1($inputval1);
445
- $response = $this->_postRequest($request, self::POST_CALLBACK);
446
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
447
-
448
- Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
449
- Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
450
-
451
- $this->_getMethodSession()
452
- ->setNnCallbackTid($response->getTid())
453
- ->setNnTestMode($response->getTestMode())
454
- ->setNnCallbackTidTimeStamp(time())
455
- ->setNote($this->_getNote($response))
456
- ->setOrderAmount($request->getAmount())
457
- ->setNnCallbackSuccessState(true)
458
- ;
459
- $this->getInfoInstance()->save();
460
- $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
461
- }else {
462
- $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
463
- }
464
- Mage::throwException($text);
465
- }
466
-
467
- private function _regenerateCallbackPin() {
468
- $request = $this->_buildRequest(self::POST_NEWPIN);
469
- $response = $this->_postRequest($request, self::POST_NEWPIN);
470
- if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
471
- $text = Mage::helper('novalnet')->__('Sie werden in kürze angerufen! Bitte geben Sie den erhaltenen PIN-Code in das Textfeld ein.');
472
- }else {
473
- $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
474
- }
475
- Mage::throwException($text);
476
- }
477
-
478
- private function _deformatNvp($query) {
479
- $deformated = array();
480
- if(strlen($query)){
481
- $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
482
- foreach($tmp as $k){
483
- $k = explode('=', $k);
484
- $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
485
- }
486
- }
487
- return $deformated;
488
- }
489
-
490
- private function _getQuotePaymentById($id) {
491
- return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
492
- }
493
-
494
- private function _validateCallbackSession() {
495
- $methodSession = $this->_getMethodSession();
496
- if($methodSession->hasNnCallbackTid()) {
497
- if(time()>($methodSession->getNnCallbackTidTimeStamp()+(30*60))){
498
- $this->_unsetMethodSession();
499
- if (!$this->_isPlaceOrder()) {
500
- Mage::throwException(Mage::helper('payment')->__('Callback session has expired. Please resubmit payment method'));
501
- }
502
- }elseif( $methodSession->getOrderAmount() != ($this->_getAmount()*100) ) {
503
- $this->_unsetMethodSession();
504
- if (!$this->_isPlaceOrder()) {
505
- Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
506
- }
507
- }
508
- }
509
- }
510
-
511
- private function _validateCallbackProcess() {
512
- $methodSession = $this->_getMethodSession();
513
- if($methodSession->getNnCallbackSuccessState()){
514
- if($this->getCallbackConfigData()==3) {
515
- $type=self::POST_EMAILSTATUS;
516
- }elseif($this->getCallbackConfigData()!=3){
517
- $type=self::POST_PINSTATUS;
518
- }
519
- $request = $this->_buildRequest($type);
520
-
521
- $result = $this->_postRequest($request, $type);
522
- $result->setTid( $methodSession->getNnCallbackTid() );
523
- $result->setTestMode( $methodSession->getNnTestMode() );
524
-
525
- // Analyze the response from Novalnet
526
- if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
527
- $methodSession->setNnResponseData($result);
528
- $methodSession->setNnCallbackSuccessState(false);
529
- } else {
530
- $error = ($result->getStatusDesc()||$result->getStatusMessage())
531
- ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
532
- : Mage::helper('novalnet')->__('Error in capturing the payment')
533
- ;
534
- Mage::throwException($error);
535
- }
536
- }
537
- }
538
-
539
- private function _getCheckoutSession() {
540
- return Mage::getSingleton('checkout/session');
541
- }
542
-
543
- private function _getMethodSession() {
544
- $checkoutSession = $this->_getCheckoutSession();
545
- if( !$checkoutSession->hasData( $this->getCode() ) ) {
546
- $checkoutSession->setData( $this->getCode(), new Varien_Object() );
547
- }
548
- return $checkoutSession->getData( $this->getCode() );
549
- }
550
-
551
- private function _unsetMethodSession() {
552
- $this->_getCheckoutSession()->unsetData( $this->getCode() );
553
- return $this;
554
- }
555
-
556
- private function _getNote($result)
557
- {
558
- $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
559
- $helper = Mage::helper('novalnet');
560
- $note = NULL;
561
- $note .= "<b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
562
- $note .= $paymentDuration
563
- ? ($helper->__('Due Date') . ': ' . date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) . "<br />")
564
- : NULL
565
- ;
566
- $note .= $helper->__('Account Holder2') . ":<b>NOVALNET AG</b><br />";
567
- $note .= $helper->__('Account Number') . ":<b>" . $result->getInvoiceAccount() . "</b><br />";
568
- $note .= $helper->__('Bank Sorting Code') . ":<b>" . $result->getInvoiceBankcode() . "</b><br />";
569
- $note .= $helper->__('Bank') . ":<b>" . $result->getInvoiceBankname() . ", Muenchen </b><br />";
570
- $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR </b><br />";
571
- $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
572
- $note .= $helper->__('Only for foreign transfers') . ":<br />";
573
- $note .= "IBAN:<b> " . $result->getInvoiceIban() . " </b><br />";
574
- $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . " </b><br />";
575
- return $note;
576
- }
577
-
578
- private function _getOrderId(){
579
- $info = $this->getInfoInstance();
580
- if ($this->_isPlaceOrder()) {
581
- return $info->getOrder()->getIncrementId();
582
- } else {
583
- return true;
584
- }
585
- }
586
-
587
- private function _getAmount() {
588
- $info = $this->getInfoInstance();
589
- if ($this->_isPlaceOrder()) {
590
- return (double)$info->getOrder()->getQuoteBaseGrandTotal();
591
- } else {
592
- return (double)$info->getQuote()->getBaseGrandTotal();
593
- }
594
- }
595
-
596
- private function _getCustomerEmail() {
597
- $info = $this->getInfoInstance();
598
- if ($this->_isPlaceOrder()) {
599
- return $info->getOrder()->getCustomerEmail();
600
- } else {
601
- return $info->getQuote()->getCustomerEmail();
602
- }
603
- }
604
-
605
- private function _getBillingAddress() {
606
- $info = $this->getInfoInstance();
607
- if ($this->_isPlaceOrder()) {
608
- return $info->getOrder()->getBillingAddress();
609
- } else {
610
- return $info->getQuote()->getBillingAddress();
611
- }
612
- }
613
-
614
- private function _getBillingCountryCode() {
615
- $info = $this->getInfoInstance();
616
- if ($this->_isPlaceOrder()) {
617
- return $info->getOrder()->getBillingAddress()->getCountryId();
618
- } else {
619
- return $info->getQuote()->getBillingAddress()->getCountryId();
620
- }
621
- }
622
-
623
- private function _getCurrencyCode(){
624
- $info = $this->getInfoInstance();
625
- if ($this->_isPlaceOrder()) {
626
- return $info->getOrder()->getBaseCurrencyCode();
627
- } else {
628
- return $info->getQuote()->getBaseCurrencyCode();
629
- }
630
- }
631
-
632
- private function _isPlaceOrder() {
633
- $info = $this->getInfoInstance();
634
- if ($info instanceof Mage_Sales_Model_Quote_Payment) {
635
- return false;
636
- } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
637
- return true;
638
- }
639
- }
640
-
641
- private function _getIncrementId() {
642
-
643
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
644
- $magento_version=Mage::getVersion();
645
- if($magento_version<'1.4.1.0'){
646
- $tableSalesOrder = Mage::getSingleton('core/resource')->getTableName('sales_order');
647
- $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesOrder."` ORDER BY `entity_id` DESC LIMIT 1");
648
- }else{
649
- $tableSalesFlatOrder = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
650
- $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesFlatOrder."` ORDER BY `entity_id` DESC LIMIT 1");
651
- }
652
-
653
- $result_data = $result->fetch(PDO::FETCH_ASSOC);
654
- $order_id_data = $result_data['increment_id'];
655
- if(!$order_id_data){
656
- $last_main_order_id = '100000000';
657
- $inputval1 = $last_main_order_id;
658
- }else{
659
- $last_main_order_id = $order_id_data;
660
- $inputval1 = $last_main_order_id;
661
- }
662
- $IncrementId = $inputval1+1;
663
- return $IncrementId;
664
- }
665
-
666
- public function getOrderPlaceRedirectUrl()
667
- {
668
- $this->_unsetMethodSession();
669
- return Mage::getUrl('novalnet/invoice/invoicefunction');
670
- }
671
-
672
-
673
- }
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category design_default
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+
29
+ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abstract
30
+ {
31
+ const CGI_URL = 'https://payport.novalnet.de/paygate.jsp';
32
+ const XML_URL = 'https://payport.novalnet.de/nn_infoport.xml';
33
+ const PAYMENT_METHOD = 'Invoice';
34
+ const RESPONSE_DELIM_CHAR = '&';
35
+ const RESPONSE_CODE_APPROVED = 100;
36
+ const CALLBACK_PIN_LENGTH = 4;
37
+
38
+ // are used with _buildRequest and _postRequest
39
+ const POST_NORMAL = 'normal';
40
+ const POST_CALLBACK = 'callback';
41
+ const POST_NEWPIN = 'newpin';
42
+ const POST_PINSTATUS = 'pinstatus';
43
+ const POST_EMAILSTATUS = 'emailstatus';
44
+
45
+ const ISOCODE_FOR_GERMAN = 'DE';
46
+
47
+ private $_nnPaymentId = 27;
48
+ /**
49
+ * unique internal payment method identifier
50
+ *
51
+ * @var string [a-z0-9_]
52
+ */
53
+ protected $_code = 'novalnetInvoice';
54
+ protected $_formBlockType = 'novalnet/invoice_form';
55
+ protected $_infoBlockType = 'novalnet/invoice_info';
56
+
57
+ /**
58
+ * Is this payment method a gateway (online auth/charge) ?
59
+ */
60
+ protected $_isGateway = false;
61
+
62
+ /**
63
+ * Can authorize online?
64
+ */
65
+ protected $_canAuthorize = true;
66
+
67
+ /**
68
+ * Can capture funds online?
69
+ */
70
+ protected $_canCapture = true; #important; default: false
71
+
72
+ /**
73
+ * Can capture partial amounts online?
74
+ */
75
+ protected $_canCapturePartial = false;
76
+
77
+ /**
78
+ * Can refund online?
79
+ */
80
+ protected $_canRefund = false;
81
+
82
+ /**
83
+ * Can void transactions online?
84
+ */
85
+ protected $_canVoid = false;
86
+
87
+ /**
88
+ * Can use this payment method in administration panel?
89
+ */
90
+ protected $_canUseInternal = false;
91
+
92
+ /**
93
+ * Can show this payment method as an option on checkout payment page?
94
+ */
95
+ protected $_canUseCheckout = true;
96
+
97
+ /**
98
+ * Is this payment method suitable for multi-shipping checkout?
99
+ */
100
+ protected $_canUseForMultishipping = false;
101
+
102
+ /**
103
+ * Can save credit card information for future processing?
104
+ */
105
+ protected $_canSaveCc = false;
106
+
107
+ protected $_isInitializeNeeded = true;
108
+ /**
109
+ * To display the payment method based on the condition
110
+ * @param Varien_Object $quote
111
+ */
112
+ public function isAvailable($quote = null) {
113
+ $minOrderCount = trim($this->getConfigData('orderscount'));
114
+ $customerId = Mage::getSingleton('customer/session')->getCustomerId();
115
+ // Load orders and check
116
+ $orders = Mage::getResourceModel('sales/order_collection')
117
+ ->addAttributeToSelect('*')
118
+ ->addAttributeToFilter('customer_id', $customerId)
119
+ ->load();
120
+ if (count($orders) < $minOrderCount) {
121
+ return false;
122
+ }else if(time()<$this->_getMethodSession()->getNnInvDisableTime()){
123
+ return false;
124
+ }
125
+ return parent::isAvailable();
126
+ }
127
+ /**
128
+ * To check Novalnet Authentication data
129
+ */
130
+ private function _checkNnAuthData() {
131
+ return strlen($this->getConfigData('merchant_id'))
132
+ && strlen($this->getConfigData('auth_code'))
133
+ && strlen($this->getConfigData('product_id'))
134
+ && strlen($this->getConfigData('tariff_id'));
135
+ }
136
+ /**
137
+ * To build the request as per the type request
138
+ * @param String $type
139
+ */
140
+ protected function _buildRequest($type=self::POST_NORMAL) {
141
+ if( $type == self::POST_NORMAL || $type == self::POST_CALLBACK ) {
142
+ $request = Mage::getModel('novalnet/novalnet_request');
143
+ $amount = round($this->_getAmount(), 2) * 100;
144
+ $billing = $this->_getBillingAddress();
145
+
146
+ $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
147
+ $dueDate = $paymentDuration ? date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) : NULL;
148
+
149
+ $this->_assignNnAuthData($request, $amount);
150
+ $request->setAmount($amount)
151
+ ->setCurrency($this->_getCurrencyCode())
152
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
153
+ ->setUseUtf8(1)
154
+ ->setfirstName($billing->getFirstname())
155
+ ->setLastName($billing->getLastname())
156
+ ->setSearchInStreet(1)
157
+ ->setStreet(implode(',', $billing->getStreet()))
158
+ ->setCity($billing->getCity())
159
+ ->setZip($billing->getPostcode())
160
+ ->setCountry($billing->getCountry())
161
+ ->setLang(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2))
162
+ ->setTel($billing->getTelephone())
163
+ ->setFax($billing->getFax())
164
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
165
+ ->setGender('u')
166
+ ->setEmail($this->_getCustomerEmail())
167
+ ->setOrderNo($this->_getOrderId())
168
+ ->setInput1('order_id')
169
+ ->setInputval1($this->_getOrderId())
170
+ ->setInvoiceType(self::PAYMENT_METHOD)
171
+ ->setDueDate($dueDate);
172
+ $infoInstance = $this->getInfoInstance();
173
+ if( $type == self::POST_CALLBACK ) {
174
+ if($this->getConfigData('callback') == 1) {
175
+ $request->setTel($infoInstance->getNnCallbackTel());
176
+ $request->setPinByCallback(1);
177
+ }else if($this->getConfigData('callback') == 2) {
178
+ $request->setMobile($infoInstance->getNnCallbackTel());
179
+ $request->setPinBySms(1);
180
+ }else if($this->getConfigData('callback') == 3){
181
+ $request->setReplyEmailCheck(1);
182
+ }
183
+ }else{
184
+ $request->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId());
185
+ }
186
+ $request->toLatin1();
187
+ return $request;
188
+ }else if($type == self::POST_NEWPIN) {
189
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
190
+ $request .= '<nnxml><info_request>';
191
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
192
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
193
+ $request .= '<request_type>TRANSMIT_PIN_AGAIN</request_type>';
194
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
195
+ $request .= '</info_request></nnxml>';
196
+ return $request;
197
+ }else if($type == self::POST_PINSTATUS) {
198
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
199
+ $request .= '<nnxml><info_request>';
200
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
201
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
202
+ $request .= '<request_type>PIN_STATUS</request_type>';
203
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
204
+ $request .= '<pin>' . $this->_getMethodSession()->getNnCallbackPin() . '</pin>';
205
+ $request .= '</info_request></nnxml>';
206
+ return $request;
207
+ }else if($type == self::POST_EMAILSTATUS) {
208
+ $request = '<?xml version="1.0" encoding="UTF-8"?>';
209
+ $request .= '<nnxml><info_request>';
210
+ $request .= '<vendor_id>' . trim($this->getConfigData( 'merchant_id' )) . '</vendor_id>';
211
+ $request .= '<vendor_authcode>' . trim($this->getConfigData( 'auth_code' )) . '</vendor_authcode>';
212
+ $request .= '<request_type>REPLY_EMAIL_STATUS</request_type>';
213
+ $request .= '<tid>' . $this->_getMethodSession()->getNnCallbackTid() . '</tid>';
214
+ $request .= '</info_request></nnxml>';
215
+ return $request;
216
+ }
217
+ }
218
+
219
+ /**
220
+ * To assign Novalnet Authentication Data
221
+ * @param Varien_Object $request
222
+ * @param Decimal $amount
223
+ */
224
+ private function _assignNnAuthData( Varien_Object $request, $amount ) {
225
+ $request->setVendor(trim($this->getConfigData('merchant_id')))
226
+ ->setAuthCode(trim($this->getConfigData('auth_code')))
227
+ ->setProduct(trim($this->getConfigData('product_id')))
228
+ ->setTariff(trim($this->getConfigData('tariff_id')))
229
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
230
+ ->setKey($this->_nnPaymentId);
231
+
232
+ Mage::getSingleton('checkout/session')->unsNnInvoiceTestOrder();
233
+ Mage::getSingleton('checkout/session')->setNnInvoiceTestOrder($request->getTestMode());
234
+ }
235
+ /**
236
+ * To post the request to Novalnet server
237
+ * @param Varien_Object $request
238
+ * @param String $type
239
+ */
240
+ protected function _postRequest($request, $type=self::POST_NORMAL)
241
+ {
242
+ $result = Mage::getModel('novalnet/novalnet_result');
243
+ $httpClientConfig = array('maxredirects'=>0);
244
+ if(((int)$this->getConfigData( 'gateway_timeout' )) > 0) {
245
+ $httpClientConfig['timeout'] = (int)$this->getConfigData( 'gateway_timeout' );
246
+ }
247
+ $client = new Varien_Http_Client( self::CGI_URL, $httpClientConfig );
248
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
249
+ $client->setUri( self::XML_URL );
250
+ $client->setRawData( $request )->setMethod( Varien_Http_Client::POST );
251
+ }else {
252
+ $client->setParameterPost( $request->getData() )->setMethod( Varien_Http_Client::POST );
253
+ }
254
+ $response = $client->request();
255
+
256
+ if (!$response->isSuccessful()) {
257
+ Mage::throwException( Mage::helper('novalnet')->__('Gateway request error: %s', $response->getMessage()) );
258
+ }
259
+ if( $type == self::POST_NEWPIN || $type == self::POST_PINSTATUS || $type == self::POST_EMAILSTATUS ) {
260
+ $result = new Varien_Simplexml_Element( $response->getRawBody() );
261
+ $result = new Varien_Object( $this->_xmlToArray( $result ) );
262
+ }else {
263
+ $result->addData( $this->_deformatNvp( $response->getBody() ) );
264
+ $result->toUtf8();
265
+ }
266
+ return $result;
267
+ }
268
+
269
+ private function _xmlToArray( SimpleXMLElement $xml ) {
270
+ $array = array();
271
+ if( version_compare( Mage::getVersion(), '1.4.0.0', '>=' ) ) {
272
+ $array = $xml->asArray();
273
+ }else {
274
+ foreach( $xml->children() as $name => $value ) {
275
+ if( $value instanceof SimpleXMLElement && count( $value ) ) {
276
+ $array[ trim( $name ) ] = $this->_xmlToArray( $value );
277
+ }else {
278
+ $array[$name] = trim( (string)$value );
279
+ }
280
+ }
281
+ }
282
+ return $array;
283
+ }
284
+
285
+ public function isCallbackTypeCall(){
286
+ $total = $this->_getAmount() * 100;
287
+ $callBackMinimum = (int)$this->getConfigData('callback_minimum_amount');
288
+ $countryCode = strtoupper( $this->_getBillingCountryCode() );
289
+
290
+ return $this->_getCheckoutSession()->hasNnCallbackTid()
291
+ || ($this->getConfigData('callback')
292
+ && ($callBackMinimum?$total>=$callBackMinimum:true)
293
+ && ($countryCode?$countryCode==self::ISOCODE_FOR_GERMAN:true))
294
+ ;
295
+ }
296
+
297
+ public function getCallbackConfigData(){
298
+ return $this->getConfigData('callback') ;
299
+ }
300
+
301
+ public function assignData($data)
302
+ {
303
+ if (!($data instanceof Varien_Object)) {
304
+ $data = new Varien_Object($data);
305
+ }
306
+ $infoInstance = $this->getInfoInstance();
307
+ $infoInstance->setNnCallbackPin($data->getCallbackPin())
308
+ ->setNnNewCallbackPin($data->getNewCallbackPin())
309
+ ->setNnCallbackTel($data->getCallbackTel())
310
+ ;
311
+ if( $this->isCallbackTypeCall() && $this->getCallbackConfigData()!=3) {
312
+ $infoInstance->setCallbackPinValidationFlag( true );
313
+ }
314
+ return $this;
315
+ }
316
+
317
+ public function validate() {
318
+
319
+ $session = Mage::getSingleton('checkout/session');
320
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id'))) {
321
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
322
+ }
323
+ if(!$this->_isPlaceOrder()){
324
+ parent::validate();
325
+ $this->_validateCallbackSession();
326
+ $infoInstance = $this->getInfoInstance();
327
+ if( $infoInstance->getCallbackPinValidationFlag() && $this->_getMethodSession()->getNnCallbackTid() ) {
328
+ if( !$infoInstance->getNnNewCallbackPin()
329
+ && !preg_match('/^[0-9]+$/', $infoInstance->getNnCallbackPin())
330
+ && strlen( $infoInstance->getNnCallbackPin() ) != self::CALLBACK_PIN_LENGTH )
331
+ {
332
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
333
+ }
334
+ }
335
+
336
+ // Call for pin generation
337
+ if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
338
+ if( $this->_getMethodSession()->getNnCallbackTid() ) {
339
+ if($infoInstance->getNnNewCallbackPin()) {
340
+ $this->regenerateCallbackPin();
341
+ }else {
342
+ $this->_getMethodSession()
343
+ ->setNnCallbackPin($infoInstance->getNnCallbackPin());
344
+ }
345
+ }else {
346
+ $this->generateCallbackPin();
347
+ }
348
+
349
+ }else if($this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()==3){
350
+ if(!$this->_getMethodSession()->getNnCallbackTid()) {
351
+ $this->generateCallbackEmail();
352
+ }
353
+ }
354
+
355
+ }
356
+
357
+ if($this->_isPlaceOrder()){
358
+ if(!$this->isCallbackTypeCall() && !$session->getInvoiceReqData())
359
+ {
360
+ $request = $this->_buildRequest(self::POST_NORMAL);
361
+ $inputval1 = $this->_getOrderId();
362
+ $request->setOrderNo($inputval1)
363
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
364
+ ->setInputval1($inputval1);
365
+ $response = $this->_postRequest($request, self::POST_NORMAL);
366
+ Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
367
+ Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
368
+ if($response->getStatus()!='100'){
369
+
370
+ $session=Mage::getSingleton('checkout/session');
371
+ $session->unsInvoiceReqData()
372
+ ->unsInvoiceReqDataNote();
373
+ $text = Mage::helper('novalnet')->__($response->getstatus_desc());
374
+ Mage::throwException($text);
375
+ }
376
+ return $this;
377
+ }
378
+ $this->_validateCallbackProcess();
379
+ }
380
+ return $this;
381
+ }
382
+
383
+ public function getTitle() {
384
+ //return $this->getConfigData('title');
385
+ return Mage::helper('novalnet')->__($this->getConfigData('title'));
386
+ }
387
+
388
+ public function getCheckoutRedirectUrl() {
389
+ return false;
390
+ }
391
+
392
+ public function getIsCentinelValidationEnabled() {
393
+ return false;
394
+ }
395
+
396
+ private function generateCallbackPin() {
397
+ $request = $this->_buildRequest(self::POST_CALLBACK);
398
+ $inputval1 = $this->_getIncrementId();
399
+ $request->setOrderNo($inputval1)
400
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
401
+ ->setInputval1($inputval1);
402
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
403
+
404
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
405
+
406
+ Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
407
+ Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
408
+
409
+ $this->_getMethodSession()
410
+ ->setNnCallbackTid($response->getTid())
411
+ ->setNnTestMode($response->getTestMode())
412
+ ->setNnCallbackTidTimeStamp(time())
413
+ ->setNote($this->_getNote($response))
414
+ ->setOrderAmount($request->getAmount())
415
+ ->setNnCallbackSuccessState(true)
416
+ ;
417
+ $this->getInfoInstance()->save();
418
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the received PIN code in the text box.');
419
+ }else {
420
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
421
+ }
422
+ Mage::throwException($text);
423
+ }
424
+
425
+ private function generateCallbackEmail() {
426
+ $request = $this->_buildRequest(self::POST_CALLBACK);
427
+ $inputval1 = $this->_getIncrementId();
428
+
429
+ $request->setOrderNo($inputval1)
430
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
431
+ ->setInputval1($inputval1);
432
+ $response = $this->_postRequest($request, self::POST_CALLBACK);
433
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
434
+
435
+ Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
436
+ Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
437
+
438
+ $this->_getMethodSession()
439
+ ->setNnCallbackTid($response->getTid())
440
+ ->setNnTestMode($response->getTestMode())
441
+ ->setNnCallbackTidTimeStamp(time())
442
+ ->setNote($this->_getNote($response))
443
+ ->setOrderAmount($request->getAmount())
444
+ ->setNnCallbackSuccessState(true)
445
+ ;
446
+ $this->getInfoInstance()->save();
447
+ $text = Mage::helper('novalnet')->__('Bitte antworten Sie auf die E-Mail');
448
+ }else {
449
+ $text = Mage::helper('novalnet')->__( $response->getStatusDesc() );
450
+ }
451
+ Mage::throwException($text);
452
+ }
453
+
454
+ private function regenerateCallbackPin() {
455
+ $request = $this->_buildRequest(self::POST_NEWPIN);
456
+ $response = $this->_postRequest($request, self::POST_NEWPIN);
457
+ if( $response->getStatus() == self::RESPONSE_CODE_APPROVED ) {
458
+ $text = Mage::helper('novalnet')->__('You receive a call soon! Please enter the received PIN code in the text box.');
459
+ }else {
460
+ $text = Mage::helper('novalnet')->__( $response->getStatusMessage() );//status_message
461
+ }
462
+ Mage::throwException($text);
463
+ }
464
+
465
+ private function _deformatNvp($query) {
466
+ $deformated = array();
467
+ if(strlen($query)){
468
+ $tmp = explode(self::RESPONSE_DELIM_CHAR, $query);
469
+ foreach($tmp as $k){
470
+ $k = explode('=', $k);
471
+ $deformated[urldecode($k[0])] = isset($k[1]) ? urldecode($k[1]) : NULL;
472
+ }
473
+ }
474
+ return $deformated;
475
+ }
476
+
477
+ private function _getQuotePaymentById($id) {
478
+ return $this->_getCheckoutSession()->getQuote()->getPaymentById($id);
479
+ }
480
+
481
+ private function _validateCallbackSession() {
482
+ $methodSession = $this->_getMethodSession();
483
+ if($methodSession->hasNnCallbackTid()) {
484
+ if($methodSession->getNnInvDisableTime() && time()>$methodSession->getNnInvDisableTime()){
485
+ $this->_unsetMethodSession();
486
+ }elseif( $methodSession->getOrderAmount() != (int)($this->_getAmount()*100) ) {
487
+ $this->_unsetMethodSession();
488
+ if (!$this->_isPlaceOrder()) {
489
+ Mage::throwException(Mage::helper('payment')->__('Order amount has been changed. Please resubmit the payment method'));
490
+ }
491
+ }
492
+ }
493
+ }
494
+
495
+ private function _validateCallbackProcess() {
496
+ $methodSession = $this->_getMethodSession();
497
+ if($methodSession->getNnCallbackSuccessState()){
498
+ if($this->getCallbackConfigData()==3) {
499
+ $type=self::POST_EMAILSTATUS;
500
+ }elseif($this->getCallbackConfigData()!=3){
501
+ $type=self::POST_PINSTATUS;
502
+ }
503
+ $request = $this->_buildRequest($type);
504
+
505
+ $result = $this->_postRequest($request, $type);
506
+ $result->setTid( $methodSession->getNnCallbackTid() );
507
+ $result->setTestMode( $methodSession->getNnTestMode() );
508
+
509
+ // Analyze the response from Novalnet
510
+ if ($result->getStatus() == self::RESPONSE_CODE_APPROVED) {
511
+ $methodSession->setNnResponseData($result);
512
+ $methodSession->setNnCallbackSuccessState(false);
513
+ } else {
514
+ if($result->getStatus()=='0529006'){
515
+ $methodSession->setNnInvDisableTime(time()+(30*60));
516
+ }
517
+ $error = ($result->getStatusDesc()||$result->getStatusMessage())
518
+ ? Mage::helper('novalnet')->htmlEscape($result->getStatusMessage().$result->getStatusDesc())
519
+ : Mage::helper('novalnet')->__('Error in capturing the payment')
520
+ ;
521
+ Mage::throwException($error);
522
+ }
523
+ }
524
+ }
525
+
526
+ private function _getCheckoutSession() {
527
+ return Mage::getSingleton('checkout/session');
528
+ }
529
+
530
+ private function _getMethodSession() {
531
+ $checkoutSession = $this->_getCheckoutSession();
532
+ if( !$checkoutSession->hasData( $this->getCode() ) ) {
533
+ $checkoutSession->setData( $this->getCode(), new Varien_Object() );
534
+ }
535
+ return $checkoutSession->getData( $this->getCode() );
536
+ }
537
+
538
+ private function _unsetMethodSession() {
539
+ $this->_getCheckoutSession()->unsetData( $this->getCode() );
540
+ return $this;
541
+ }
542
+
543
+ private function _getNote($result)
544
+ {
545
+ $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
546
+ $helper = Mage::helper('novalnet');
547
+ $note = NULL;
548
+ $note .= "<br /><b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
549
+ $note .= $paymentDuration
550
+ ? ($helper->__('Due Date') . ' : <b>' . date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) . "</b><br />")
551
+ : NULL
552
+ ;
553
+ $note .= $helper->__('Account Holder2') . " : <b>NOVALNET AG</b><br />";
554
+ $note .= $helper->__('Account Number') . " : <b>" . $result->getInvoiceAccount() . "</b><br />";
555
+ $note .= $helper->__('Bank Sorting Code') . " : <b>" . $result->getInvoiceBankcode() . "</b><br />";
556
+ $note .= $helper->__('Bank') . " : <b>" . $result->getInvoiceBankname() . " Muenchen </b><br />";
557
+ $note .= $helper->__('Amount') . " : <b>" . str_replace('.', ',', $result->getAmount()) . " EUR </b><br />";
558
+ $note .= $helper->__('Reference') . " : <b>TID " . $result->getTid() . "</b><br /><br />";
559
+ $note .= "<b>".$helper->__('Only for foreign transfers') . ":</b><br />";
560
+ $note .= "IBAN : <b> " . $result->getInvoiceIban() . " </b><br />";
561
+ $note .= "SWIFT/BIC : <b>" . $result->getInvoiceBic() . " </b><br />";
562
+ return $note;
563
+ }
564
+
565
+ private function _getOrderId(){
566
+ $info = $this->getInfoInstance();
567
+ if ($this->_isPlaceOrder()) {
568
+ return $info->getOrder()->getIncrementId();
569
+ } else {
570
+ return true;
571
+ }
572
+ }
573
+
574
+ private function _getAmount() {
575
+ $info = $this->getInfoInstance();
576
+ if ($this->_isPlaceOrder()) {
577
+ return (double)$info->getOrder()->getQuoteBaseGrandTotal();
578
+ } else {
579
+ return (double)$info->getQuote()->getBaseGrandTotal();
580
+ }
581
+ }
582
+
583
+ private function _getCustomerEmail() {
584
+ $info = $this->getInfoInstance();
585
+ if ($this->_isPlaceOrder()) {
586
+ return $info->getOrder()->getCustomerEmail();
587
+ } else {
588
+ return $info->getQuote()->getCustomerEmail();
589
+ }
590
+ }
591
+
592
+ private function _getBillingAddress() {
593
+ $info = $this->getInfoInstance();
594
+ if ($this->_isPlaceOrder()) {
595
+ return $info->getOrder()->getBillingAddress();
596
+ } else {
597
+ return $info->getQuote()->getBillingAddress();
598
+ }
599
+ }
600
+
601
+ private function _getBillingCountryCode() {
602
+ $info = $this->getInfoInstance();
603
+ if ($this->_isPlaceOrder()) {
604
+ return $info->getOrder()->getBillingAddress()->getCountryId();
605
+ } else {
606
+ return $info->getQuote()->getBillingAddress()->getCountryId();
607
+ }
608
+ }
609
+
610
+ private function _getCurrencyCode(){
611
+ $info = $this->getInfoInstance();
612
+ if ($this->_isPlaceOrder()) {
613
+ return $info->getOrder()->getBaseCurrencyCode();
614
+ } else {
615
+ return $info->getQuote()->getBaseCurrencyCode();
616
+ }
617
+ }
618
+
619
+ private function _isPlaceOrder() {
620
+ $info = $this->getInfoInstance();
621
+ if ($info instanceof Mage_Sales_Model_Quote_Payment) {
622
+ return false;
623
+ } elseif ($info instanceof Mage_Sales_Model_Order_Payment) {
624
+ return true;
625
+ }
626
+ }
627
+
628
+ private function _getIncrementId() {
629
+ $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
630
+ $magento_version=Mage::getVersion();
631
+ $store_id = Mage::app()->getStore()->getId();
632
+ if($magento_version<'1.4.1.0'){
633
+ $tableSalesOrder = Mage::getSingleton('core/resource')->getTableName('sales_order');
634
+
635
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesOrder."` where store_id= ".$store_id." ORDER BY `entity_id` DESC LIMIT 1");
636
+ }else{
637
+ $tableSalesFlatOrder = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
638
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesFlatOrder."` where store_id= ".$store_id." ORDER BY `entity_id` DESC LIMIT 1");
639
+ }
640
+
641
+ $result_data = $result->fetch(PDO::FETCH_ASSOC);
642
+ $order_id_data = $result_data['increment_id'];
643
+ if(!$order_id_data){
644
+ $last_main_order_id = '100000000';
645
+ $inputval1 = $last_main_order_id;
646
+ }else{
647
+ $last_main_order_id = $order_id_data;
648
+ $inputval1 = $last_main_order_id;
649
+ }
650
+ $IncrementId = $inputval1+1;
651
+ return $IncrementId;
652
+ }
653
+
654
+ public function getOrderPlaceRedirectUrl()
655
+ {
656
+ $this->_unsetMethodSession();
657
+ return Mage::getUrl('novalnet/invoice/invoicefunction');
658
+ }
659
+
660
+
661
+ }
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Mage/Novalnet/Model/NovalnetPciAbstract.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  /**
4
  * Magento
5
  *
@@ -21,12 +20,11 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
28
 
29
-
30
  class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_Abstract
31
  {
32
  const RESPONSE_CODE_APPROVED = 100;
@@ -43,9 +41,7 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
43
  protected $_formPHTML = 'novalnet/pci/form.phtml';
44
  protected $_infoPHTML = 'novalnet/pci/info.phtml';
45
  protected $_pdfPHTML = 'payment/info/pdf/pci.phtml';
46
-
47
  protected $_nnPaymentId;
48
-
49
  protected $_code;
50
 
51
  /**
@@ -129,6 +125,10 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
129
  return $this->getConfigData('title');
130
  }
131
 
 
 
 
 
132
  public function isAvailable($quote = null) {
133
 
134
  $minOrderCount = trim($this->getConfigData('orderscount'));
@@ -139,78 +139,97 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
139
  ->addAttributeToSelect('*')
140
  ->addAttributeToFilter('customer_id', $customerId)
141
  ->load();
 
 
142
  if (count($orders) < $minOrderCount) {
143
  return false;
144
- }elseif(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id') || !$this->getConfigData('password')) {
145
- return false;
146
- }
147
  return parent::isAvailable();
148
  }
149
 
150
  public function getFormData()
151
  {
152
  $dataObj = new Varien_Object();
153
- $order = $this->getInfoInstance()->getOrder();
154
- $billing = $order->getBillingAddress();
155
-
156
- $dataObj->setPaymentId($this->_nnPaymentId)
157
- ->setNnMethod('nn_cc_pci');
158
 
159
- $this->importNovalnetFormData($dataObj)
160
- ->importBillingData($dataObj)
161
- ->importUrlData($dataObj)
162
- ->importEncodeData($dataObj)
163
- ->importHashData($dataObj);
164
 
 
 
 
 
 
165
  return $dataObj;
166
  }
167
 
168
- public function importNovalnetFormData($dataObj) {
169
-
170
- $order = $this->getInfoInstance()->getOrder();
171
-
172
- $pid = $this->getConfigData('product_id');
173
- $tid = $this->getConfigData('tariff_id');
174
- $product2 = $this->getConfigData('second_product_id');
175
- $tariff2 = $this->getConfigData('second_tariff_id');
176
- $amount = (round($order->getBaseGrandTotal(), 2) * 100);
 
 
 
 
 
 
 
177
  $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
178
-
179
- if($manualCheckAmt && $manualCheckAmt>=$amount && $product2 && $tariff2) {
180
- $pid = $this->getConfigData('second_product_id');
181
- $tid = $this->getConfigData('second_tariff_id');
182
  }
183
 
184
  $uniqid = uniqid();
185
 
186
  $test_mode = (!$this->getConfigData('live_mode'))? 1: 0;
187
 
188
- $dataObj->setVendorId($this->getConfigData('merchant_id'))
189
- ->setVendorAuthcode($this->getConfigData('auth_code'))
190
- ->setProductId($pid)
191
- ->setTariffId($tid)
192
  ->setUniqid($uniqid)
193
  ->setAmount($amount)
194
  ->setTestMode($test_mode)
195
- ->setPaymentId($this->_nnPaymentId);
196
-
 
 
197
  return $this;
198
  }
199
 
200
- public function importBillingData($dataObj) {
201
- $order = $this->getInfoInstance()->getOrder();
202
- $billing = $order->getBillingAddress();
203
-
204
- $objQuote = $objQuote = Mage::getModel( 'sales/quote' );
205
- $objQuote->setStoreId($order->getStoreId())->load($order->getQuoteId());
206
- $objQuotePayment = $objQuote->getPayment();
207
- $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
208
-
209
- $dataObj->setCurrency($order->getOrderCurrencyCode())
210
- ->setFirstname($billing->getFirstname())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  ->setLastname($billing->getLastname())
212
- ->setEmail($order->getCustomerEmail())
213
- ->setStreet($billing->getStreet(1))
214
  ->setSearchInStreet(1)
215
  ->setCity($billing->getCity())
216
  ->setZip($billing->getPostcode())
@@ -222,23 +241,58 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
222
  return $this;
223
  }
224
 
225
- public function importUrlData($dataObj) {
226
- $order = $this->getInfoInstance()->getOrder();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  $dataObj->setSession(Mage::getSingleton('checkout/session')->getSessionId())
228
  ->setReturnUrl($this->getReturnURL())
229
  ->setReturnMethod('POST')
230
  ->setErrorReturnUrl($this->getReturnURL())
231
  ->setErrorReturnMethod('POST')
232
  ->setInput1('order_id')
233
- ->setOrderNo($order->getRealOrderId())
234
- ->setImplementation('PHP_PCI')
235
- ->setInputval1($order->getRealOrderId());
236
  return $this;
237
  }
238
-
239
- public function importHashData($dataObj) {
240
- $hash = Mage::helper('novalnet')->generateHash($dataObj, $this->getConfigData('password'));
241
-
 
 
 
242
  if($hash == false) {
243
  Mage::getSingleton('core/session')
244
  ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
@@ -247,14 +301,16 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
247
  Mage::app()->getResponse()->sendResponse();
248
  exit;
249
  }
250
-
251
  $dataObj->setHash($hash);
252
  return $this;
253
-
254
  }
255
 
256
- public function importEncodeData($dataObj) {
257
- $encoding = Mage::helper('novalnet')->encode($dataObj, $this->getConfigData('password'));
 
 
 
 
258
  if($encoding != true) {
259
  Mage::getSingleton('core/session')
260
  ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
@@ -266,6 +322,25 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
266
  return $this;
267
  }
268
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
269
  public function statusCheck($response,$session) {
270
  $status = false;
271
  $dataObj = new Varien_Object($response);
@@ -274,12 +349,10 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
274
  ->loadByIncrementId($dataObj->getOrderId());
275
  $payment = $order->getPayment();
276
 
277
- if(Mage::helper('novalnet')->checkHash($response, $this->getConfigData('password'))) {
278
-
279
  if ($response['status'] == Mage_Novalnet_Model_NovalnetCcpci::RESPONSE_CODE_APPROVED) {
280
- $status = $this->onSucess($dataObj,$order,$payment,$session);
281
  } else {
282
- //echo "ashok aasdfsa "; exit;
283
  $status = $this->onFailure($dataObj,$order,$payment,$session);
284
  }
285
  }else {
@@ -296,69 +369,67 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
296
  return $status;
297
  }
298
 
299
- public function onSucess($dataObj,$order,$payment,$session) {
300
- $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_SUCCESS)
301
- ->setStatusDescription(Mage::helper('novalnet')->__('Payment was successful.'))
302
- ->setTransactionId($dataObj->getTid())
303
- ->setSuTransactionId($dataObj->getTid())
304
- ->setLastTransId($dataObj->getTid());
 
 
 
 
 
 
 
305
 
306
- $session->setQuoteId($session->getNovalnetQuoteId());
307
- $session->getQuote()->setIsActive(false)->save();
308
- $order->setPayment($payment);
309
-
310
- if( $dataObj->hasTestMode() ) {
311
- Mage::getModel( 'sales/quote' )
312
- ->load($session->getNovalnetQuoteId())
313
- ->getPayment()
314
- ->setNnComments()
315
- ->setNnTestorder($this->decode($dataObj->getTestMode(), $this->getConfigData('password')))
316
- ->save();
317
- }
318
-
319
- if($this->getConfigData('createinvoice') == 1){
320
- if ($this->saveInvoice($order)) {
321
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
322
- }
323
- }
324
-
325
- $order->addStatusToHistory(
326
- $this->getConfigData('order_status'),
327
- Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'),
328
- true
329
- )->setState(Mage_Sales_Model_Order::STATE_PROCESSING)
330
  ->save();
331
-
332
-
333
- if ($order->getId()) {
334
- $order->sendNewOrderEmail();
 
 
335
  }
336
-
337
- return true;
338
- }
339
- /**
340
- * Save invoice for order
341
- *
342
- * @param Mage_Sales_Model_Order $order
343
- * @return boolean Can save invoice or not
344
- */
345
- protected function saveInvoice (Mage_Sales_Model_Order $order) {
346
- if ($order->canInvoice()) {
347
- $invoice = $order->prepareInvoice();
348
-
349
- $invoice->register();
350
- Mage::getModel('core/resource_transaction')
351
- ->addObject($invoice)
352
- ->addObject($invoice->getOrder())
353
- ->save();
354
-
355
- $invoice->sendEmail(true, '');
356
- return true;
357
  }
 
 
 
 
 
 
 
358
 
359
- return false;
360
- }
361
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
362
  public function onFailure($dataObj,$order,$payment,$session) {
363
  $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_ERROR);
364
  $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
@@ -379,7 +450,7 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
379
  true
380
  );
381
  }
382
- $paystatus = "<b><font color='red'>Payment Failed</font> - ".$dataObj->getStatusText()."</b>";
383
  Mage::getModel( 'sales/quote' )
384
  ->load($session->getNovalnetQuoteId())
385
  ->getPayment()
@@ -389,10 +460,40 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
389
  $order->save();
390
  $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
391
  Mage::getSingleton('checkout/session')
392
- ->setErrorMessage($dataObj->getStatusText());
393
  return false;
394
  }
395
- public function decode($data,$pwd)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
  {
397
  $data = trim($data);
398
  if ($data == '') {return'Error: no data';}
@@ -424,5 +525,12 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
424
  public function getCgiUrl() {
425
  return self::CGI_URL;
426
  }
 
 
 
 
 
 
 
427
 
428
- }
1
  <?php
 
2
  /**
3
  * Magento
4
  *
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
 
 
28
  class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_Abstract
29
  {
30
  const RESPONSE_CODE_APPROVED = 100;
41
  protected $_formPHTML = 'novalnet/pci/form.phtml';
42
  protected $_infoPHTML = 'novalnet/pci/info.phtml';
43
  protected $_pdfPHTML = 'payment/info/pdf/pci.phtml';
 
44
  protected $_nnPaymentId;
 
45
  protected $_code;
46
 
47
  /**
125
  return $this->getConfigData('title');
126
  }
127
 
128
+ /**
129
+ * To display the payment method based on the condition
130
+ * @param Varien_Object $quote
131
+ */
132
  public function isAvailable($quote = null) {
133
 
134
  $minOrderCount = trim($this->getConfigData('orderscount'));
139
  ->addAttributeToSelect('*')
140
  ->addAttributeToFilter('customer_id', $customerId)
141
  ->load();
142
+
143
+ //added
144
  if (count($orders) < $minOrderCount) {
145
  return false;
146
+ }
 
 
147
  return parent::isAvailable();
148
  }
149
 
150
  public function getFormData()
151
  {
152
  $dataObj = new Varien_Object();
 
 
 
 
 
153
 
154
+ $dataObj->setPaymentId($this->_nnPaymentId)
155
+ ->setNnMethod($this->_code);
 
 
 
156
 
157
+ $this->_importNovalnetFormData($dataObj)
158
+ ->_importBillingData($dataObj)
159
+ ->_importUrlData($dataObj)
160
+ ->_importEncodeData($dataObj)
161
+ ->_importHashData($dataObj);
162
  return $dataObj;
163
  }
164
 
165
+ /**
166
+ * To import Novalnet form data
167
+ * @param Varien_Object $dataObj
168
+ */
169
+ public function _importNovalnetFormData($dataObj) {
170
+ $pid = trim($this->getConfigData('product_id'));
171
+ $tid = trim($this->getConfigData('tariff_id'));
172
+ $product2 = trim($this->getConfigData('second_product_id'));
173
+ $tariff2 = trim($this->getConfigData('second_tariff_id'));
174
+ if($this->_checkPaymentType()) {
175
+ $grand_total = Mage::getSingleton('checkout/session')->getQuote()->getGrandTotal();
176
+ $amount = (round($grand_total, 2) * 100);
177
+ }else{
178
+ $order = $this->getInfoInstance()->getOrder();
179
+ $amount = (round($order->getBaseGrandTotal(), 2) * 100);
180
+ }
181
  $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
182
+
183
+ if($manualCheckAmt && $amount>=$manualCheckAmt && $product2 && $tariff2) {
184
+ $pid = trim($this->getConfigData('second_product_id'));
185
+ $tid = trim($this->getConfigData('second_tariff_id'));
186
  }
187
 
188
  $uniqid = uniqid();
189
 
190
  $test_mode = (!$this->getConfigData('live_mode'))? 1: 0;
191
 
192
+ $dataObj->setVendorId(trim($this->getConfigData('merchant_id')))
193
+ ->setVendorAuthcode(trim($this->getConfigData('auth_code')))
194
+ ->setProductId(trim($pid))
195
+ ->setTariffId(trim($tid))
196
  ->setUniqid($uniqid)
197
  ->setAmount($amount)
198
  ->setTestMode($test_mode)
199
+ ->setPaymentId($this->_nnPaymentId)
200
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
201
+ ->setUseUtf8(1);
202
+
203
  return $this;
204
  }
205
 
206
+ /**
207
+ * To import Billing data
208
+ * @param Varien_Object $dataObj
209
+ */
210
+ public function _importBillingData($dataObj) {
211
+ if($this->_checkPaymentType()) {
212
+ $billing = Mage::getModel('checkout/session')->getQuote()->getBillingAddress();
213
+ $email_first_register = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
214
+ $email_address = $billing->getEmail();
215
+ if(trim($email_address)=="")
216
+ $email_address = $email_first_register;
217
+ $dataObj->setCurrency(Mage::app()->getStore()->getCurrentCurrencyCode())
218
+ ->setEmail($email_address);
219
+
220
+ }else {
221
+ $order = $this->getInfoInstance()->getOrder();
222
+ $billing = $order->getBillingAddress();
223
+ $objQuote = $objQuote = Mage::getModel( 'sales/quote' );
224
+ $objQuote->setStoreId($order->getStoreId())->load($order->getQuoteId());
225
+ $objQuotePayment = $objQuote->getPayment();
226
+ $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
227
+ $dataObj->setCurrency($order->getOrderCurrencyCode())
228
+ ->setEmail($order->getCustomerEmail());
229
+ }
230
+ $dataObj->setFirstname($billing->getFirstname())
231
  ->setLastname($billing->getLastname())
232
+ ->setStreet($billing->getData('street'))
 
233
  ->setSearchInStreet(1)
234
  ->setCity($billing->getCity())
235
  ->setZip($billing->getPostcode())
241
  return $this;
242
  }
243
 
244
+ /**
245
+ * To import URL data
246
+ * @param Varien_Object $dataObj
247
+ */
248
+ public function _importUrlData($dataObj) {
249
+ if($this->_checkPaymentType()) {
250
+ $magento_version=Mage::getVersion();
251
+ $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
252
+ $store_id = Mage::app()->getStore()->getId();
253
+ if($magento_version<'1.4.1.0'){
254
+ $tableSalesOrder = Mage::getSingleton('core/resource')->getTableName('sales_order');
255
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesOrder."` where store_id= ".$store_id." ORDER BY `entity_id` DESC LIMIT 1");
256
+ }else{
257
+ $tableSalesFlatOrder = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
258
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesFlatOrder."` where store_id= ".$store_id." ORDER BY `entity_id` DESC LIMIT 1");
259
+ }
260
+ $result_data = $result->fetch(PDO::FETCH_ASSOC);
261
+ $order_id_data = $result_data['increment_id'];
262
+ if(!$order_id_data)
263
+ {
264
+ $last_main_order_id = '100000000';
265
+ $inputval1 = $last_main_order_id+1;
266
+ }
267
+ else
268
+ {
269
+ $last_main_order_id = $order_id_data;
270
+ $inputval1 = $last_main_order_id+1;
271
+ }
272
+ $dataObj->setOrderNo($inputval1)
273
+ ->setInputval1($inputval1);
274
+ }else {
275
+ $order = $this->getInfoInstance()->getOrder();
276
+ $dataObj->setOrderNo($order->getRealOrderId())
277
+ ->setInputval1($order->getRealOrderId());
278
+ }
279
  $dataObj->setSession(Mage::getSingleton('checkout/session')->getSessionId())
280
  ->setReturnUrl($this->getReturnURL())
281
  ->setReturnMethod('POST')
282
  ->setErrorReturnUrl($this->getReturnURL())
283
  ->setErrorReturnMethod('POST')
284
  ->setInput1('order_id')
285
+ ->setImplementation('PHP_PCI');
286
+
 
287
  return $this;
288
  }
289
+
290
+ /**
291
+ * To get Hash data
292
+ * @param Varien_Object $dataObj
293
+ */
294
+ public function _importHashData($dataObj) {
295
+ $hash = Mage::helper('novalnet')->generateHash($dataObj, trim($this->getConfigData('password')));
296
  if($hash == false) {
297
  Mage::getSingleton('core/session')
298
  ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
301
  Mage::app()->getResponse()->sendResponse();
302
  exit;
303
  }
 
304
  $dataObj->setHash($hash);
305
  return $this;
 
306
  }
307
 
308
+ /**
309
+ * To get encode data
310
+ * @param Varien_Object $dataObj
311
+ */
312
+ public function _importEncodeData($dataObj) {
313
+ $encoding = Mage::helper('novalnet')->encode($dataObj, trim($this->getConfigData('password')));
314
  if($encoding != true) {
315
  Mage::getSingleton('core/session')
316
  ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
322
  return $this;
323
  }
324
 
325
+ /**
326
+ * To Validate Admin Back End Parameters
327
+ */
328
+ public function validate() {
329
+ parent::validate();
330
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id')) || !trim($this->getConfigData('password'))) {
331
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
332
+ }
333
+ if((int)$this->getConfigData('manual_checking_amount')&& (!trim($this->getConfigData('second_product_id')) || !trim($this->getConfigData('second_tariff_id')))) {
334
+ Mage::throwException(Mage::helper('novalnet')->__('Required Second Product Tariff').'!');
335
+ }
336
+ return $this;
337
+ }
338
+
339
+ /**
340
+ * Check status based on server response
341
+ * @param Varien_Object $response
342
+ * @param Varien_Object $session
343
+ */
344
  public function statusCheck($response,$session) {
345
  $status = false;
346
  $dataObj = new Varien_Object($response);
349
  ->loadByIncrementId($dataObj->getOrderId());
350
  $payment = $order->getPayment();
351
 
352
+ if(Mage::helper('novalnet')->checkHash($response, trim($this->getConfigData('password')))) {
 
353
  if ($response['status'] == Mage_Novalnet_Model_NovalnetCcpci::RESPONSE_CODE_APPROVED) {
354
+ $status = $this->onSuccess($dataObj,$order,$payment,$session);
355
  } else {
 
356
  $status = $this->onFailure($dataObj,$order,$payment,$session);
357
  }
358
  }else {
369
  return $status;
370
  }
371
 
372
+ /**
373
+ * On success based on server response
374
+ * @param Varien_Object $dataObj
375
+ * @param Varien_Object $order
376
+ * @param Varien_Object $payment
377
+ * @param Varien_Object $session
378
+ */
379
+ public function onSuccess($dataObj,$order,$payment,$session) {
380
+ $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_SUCCESS)
381
+ ->setStatusDescription(Mage::helper('novalnet')->__('Payment was successful.'))
382
+ ->setTransactionId($dataObj->getTid())
383
+ ->setSuTransactionId($dataObj->getTid())
384
+ ->setLastTransId($dataObj->getTid());
385
 
386
+ $session->setQuoteId($session->getNovalnetQuoteId());
387
+ $session->getQuote()->setIsActive(false)->save();
388
+ $order->setPayment($payment);
389
+
390
+ $session->unsNnTestOrder();
391
+
392
+ if( $dataObj->hasTestMode() ) {
393
+ Mage::getModel( 'sales/quote' )
394
+ ->load($session->getNovalnetQuoteId())
395
+ ->getPayment()
396
+ ->setNnComments()
397
+ ->setNnTestorder($this->_decode($dataObj->getTestMode(), trim($this->getConfigData('password'))))
 
 
 
 
 
 
 
 
 
 
 
 
398
  ->save();
399
+ $session->setpciTestOrder($this->_decode($dataObj->getTestMode(), trim($this->getConfigData('password'))));
400
+ }
401
+
402
+ if($this->getConfigData('createinvoice') == 1){
403
+ if ($this->saveInvoice($order)) {
404
+ //$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
405
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
406
  }
407
+
408
+ $order->addStatusToHistory(
409
+ $this->getConfigData('order_status'),
410
+ Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'),
411
+ true
412
+ )->setState(Mage_Sales_Model_Order::STATE_PROCESSING)
413
+ ->save();
414
 
415
+ if ($order->getId()) {
416
+ try {
417
+ $order->sendNewOrderEmail();
418
+ } catch (Exception $e) {
419
+ Mage::throwException(Mage::helper('novalnet')->__('Can not send new order email.'));
420
+ }
421
+ }
422
+ $session->unspciTestOrder();
423
+ return true;
424
+ }
425
+
426
+ /**
427
+ * On success based on server response
428
+ * @param Varien_Object $dataObj
429
+ * @param Varien_Object $order
430
+ * @param Varien_Object $payment
431
+ * @param Varien_Object $session
432
+ */
433
  public function onFailure($dataObj,$order,$payment,$session) {
434
  $payment->setStatus(Mage_Novalnet_Model_NovalnetCcpci::STATUS_ERROR);
435
  $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
450
  true
451
  );
452
  }
453
+ $paystatus = "<b><font color='red'>Payment Failed</font> - ".utf8_decode($dataObj->getStatusText())."</b>";
454
  Mage::getModel( 'sales/quote' )
455
  ->load($session->getNovalnetQuoteId())
456
  ->getPayment()
460
  $order->save();
461
  $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
462
  Mage::getSingleton('checkout/session')
463
+ ->setErrorMessage(utf8_decode($dataObj->getStatusText()));
464
  return false;
465
  }
466
+
467
+ /**
468
+ * Save invoice for order
469
+ * @param Mage_Sales_Model_Order $order
470
+ * @return boolean Can save invoice or not
471
+ */
472
+ protected function saveInvoice (Mage_Sales_Model_Order $order) {
473
+ if ($order->canInvoice()) {
474
+ $invoice = $order->prepareInvoice();
475
+
476
+ $invoice->register();
477
+ Mage::getModel('core/resource_transaction')
478
+ ->addObject($invoice)
479
+ ->addObject($invoice->getOrder())
480
+ ->save();
481
+
482
+ $invoice->sendEmail(true, '');
483
+ return true;
484
+ }
485
+ return false;
486
+ }
487
+
488
+ /**
489
+ * On success based on server response
490
+
491
+
492
+
493
+ * @param String $data
494
+ * @param String $pwd
495
+ */
496
+ public function _decode($data,$pwd)
497
  {
498
  $data = trim($data);
499
  if ($data == '') {return'Error: no data';}
525
  public function getCgiUrl() {
526
  return self::CGI_URL;
527
  }
528
+
529
+ public function _checkPaymentType() {
530
+ if($this->_code == "novalnetCc") {
531
+ return true;
532
+ }
533
+ return false;
534
+ }
535
 
536
+ }
app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -89,7 +89,7 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
89
  /**
90
  * Can use this payment method in administration panel?
91
  */
92
- protected $_canUseInternal = true;
93
 
94
  /**
95
  * Can show this payment method as an option on checkout payment page?
@@ -197,10 +197,10 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
197
  }
198
  $request = Mage::getModel('novalnet/novalnet_request');
199
 
200
- $request->setvendor($this->getConfigData('merchant_id'))
201
- ->setauth_code($this->getConfigData('auth_code'))
202
- ->setproduct($this->getConfigData('product_id'))
203
- ->settariff($this->getConfigData('tariff_id'))
204
  ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
205
 
206
  $request->setcurrency($order->getOrderCurrencyCode());
@@ -237,7 +237,7 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
237
  ->setgender('u')
238
  ->setemail($order->getCustomerEmail())
239
  ->setInput1('order_id')
240
- ->setOrderNo($this->_getOrderId())
241
  ->setInputval1($this->_getOrderId())
242
  ->setsearch_in_street(1);
243
  }
@@ -246,8 +246,8 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
246
 
247
  if (session_is_registered('tid')){
248
  $this->urlparam = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
249
- $this->urlparam .= '<nnxml><info_request><vendor_id>'.$this->getConfigData('merchant_id').'</vendor_id>';
250
- $this->urlparam .= '<vendor_authcode>'.$this->getConfigData('auth_code').'</vendor_authcode>';
251
  $this->urlparam .= '<request_type>NOVALTEL_STATUS</request_type><tid>'.$_SESSION['tid'].'</tid>';
252
  $this->urlparam .= '<lang>DE</lang></info_request></nnxml>';
253
  }
@@ -478,7 +478,7 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
478
  $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
479
  $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
480
  $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
481
- $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].', Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
482
 
483
  $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
484
  $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
89
  /**
90
  * Can use this payment method in administration panel?
91
  */
92
+ protected $_canUseInternal = false;
93
 
94
  /**
95
  * Can show this payment method as an option on checkout payment page?
197
  }
198
  $request = Mage::getModel('novalnet/novalnet_request');
199
 
200
+ $request->setvendor(trim($this->getConfigData('merchant_id')))
201
+ ->setauth_code(trim($this->getConfigData('auth_code')))
202
+ ->setproduct(trim($this->getConfigData('product_id')))
203
+ ->settariff(trim($this->getConfigData('tariff_id')))
204
  ->settest_mode((!$this->getConfigData('live_mode'))? 1: 0);
205
 
206
  $request->setcurrency($order->getOrderCurrencyCode());
237
  ->setgender('u')
238
  ->setemail($order->getCustomerEmail())
239
  ->setInput1('order_id')
240
+ ->setOrderNo($this->_getOrderId())
241
  ->setInputval1($this->_getOrderId())
242
  ->setsearch_in_street(1);
243
  }
246
 
247
  if (session_is_registered('tid')){
248
  $this->urlparam = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
249
+ $this->urlparam .= '<nnxml><info_request><vendor_id>'.trim($this->getConfigData('merchant_id')).'</vendor_id>';
250
+ $this->urlparam .= '<vendor_authcode>'.trim($this->getConfigData('auth_code')).'</vendor_authcode>';
251
  $this->urlparam .= '<request_type>NOVALTEL_STATUS</request_type><tid>'.$_SESSION['tid'].'</tid>';
252
  $this->urlparam .= '<lang>DE</lang></info_request></nnxml>';
253
  }
478
  $note.= Mage::helper('novalnet')->__('Account Holder2').": NOVALNET AG<br />\n";
479
  $note.= Mage::helper('novalnet')->__('Account Number').": ".$aryResponse['invoice_account']."<br />\n";
480
  $note.= Mage::helper('novalnet')->__('Bank Sorting Code').": ".$aryResponse['invoice_bankcode']."<br />\n";
481
+ $note.= Mage::helper('novalnet')->__('Bank').": ".$aryResponse['invoice_bankname'].' Muenchen<br /><br />'."\n\n"; #.$aryResponse['invoice_bankplace']."\n\n";
482
 
483
  $note.= "IBAN: ".$aryResponse['invoice_iban']."<br />\n";
484
  $note.= "SWIFT / BIC: ".$aryResponse['invoice_bic']."<br /><br />\n\n";
app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -95,31 +95,11 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
95
  protected $_canSaveCc = false;
96
 
97
  protected $_isInitializeNeeded = true;
98
-
99
- /**
100
- * Here you will need to implement authorize, capture and void public methods
101
- *
102
- * @see examples of transaction specific public methods such as
103
- * authorize, capture and void in Mage_Paygate_Model_Authorizenet
104
- */
105
-
106
  /**
107
- * Prepare request to gateway
108
- *
109
- * @link http://www.authorize.net/support/AIM_guide.pdf
110
- * @param Mage_Sales_Model_Document $order
111
- * @return unknown
112
  */
113
- /*
114
- protected function _saveObject (Varien_Object $payment)
115
- {
116
- $order = $payment->getOrder();
117
- if (!empty($order)) {
118
- $billing = $order->getBillingAddress();
119
- }
120
- }
121
- */
122
-
123
  protected function _postRequest(Varien_Object $request)
124
  {
125
  $result = Mage::getModel('novalnet/novalnet_result');
@@ -130,8 +110,7 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
130
  }
131
  $client = new Varien_Http_Client(self::CGI_URL, $httpClientConfig);
132
  $client->setParameterPost($request->getData())
133
- ->setMethod(Zend_Http_Client::POST)
134
- ;
135
  $response = $client->request();
136
  if (!$response->isSuccessful()) {
137
  Mage::throwException(
@@ -144,28 +123,31 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
144
  $result->toUtf8();
145
  return $result;
146
  }
147
-
 
 
 
148
  public function isAvailable($quote = null) {
149
-
150
  $minOrderCount = trim($this->getConfigData('orderscount'));
151
  $customerId = Mage::getSingleton('customer/session')->getCustomerId();
152
-
153
- // Load orders and check
154
- $orders = Mage::getResourceModel('sales/order_collection')
155
- ->addAttributeToSelect('*')
156
- ->addAttributeToFilter('customer_id', $customerId)
157
- ->load();
158
- if (count($orders) < $minOrderCount) {
159
- return false;
160
- }elseif(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id')) {
161
- return false;
162
- }
163
  return parent::isAvailable();
164
  }
165
-
166
- public function validate() {
167
-
 
168
  $session = Mage::getSingleton('checkout/session');
 
 
 
169
  if(!$session->getInvoiceReqData() && $this->_isPlaceOrder())
170
  {
171
  $request = $this->_buildNoInvoiceRequest();
@@ -183,42 +165,45 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
183
  Mage::throwException($text);
184
  }
185
  return $this;
186
- }
187
  }
188
- protected function _buildNoInvoiceRequest() {
 
 
 
 
 
 
 
189
 
190
- $request = Mage::getModel('novalnet/novalnet_request');
191
- $amount = round($this->_getAmount(), 2) * 100;
192
- $billing = $this->_getBillingAddress();
193
-
194
- $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
195
- $dueDate = $paymentDuration ? date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) : NULL;
196
-
197
- $this->_assignNnAuthData($request, $amount);
198
- $request->setAmount($amount)
199
- ->setCurrency($this->_getCurrencyCode())
200
- ->setfirstName($billing->getFirstname())
201
- ->setLastName($billing->getLastname())
202
- ->setSearchInStreet(1)
203
- ->setStreet(implode(',', $billing->getStreet()))
204
- ->setCity($billing->getCity())
205
- ->setZip($billing->getPostcode())
206
- ->setCountry($billing->getCountry())
207
- ->setTel($billing->getTelephone())
208
- ->setFax($billing->getFax())
209
- ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
210
- ->setGender('u')
211
- ->setEmail($this->_getCustomerEmail())
212
- ->setOrderNo($this->_getOrderId())
213
- ->setInput1('order_id')
214
- ->setInputval1($this->_getOrderId())
215
- ->setInvoiceType(self::PAYMENT_METHOD)
216
- ->setDueDate($dueDate)
217
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
218
- ;
219
-
220
- return $request;
221
- }
222
 
223
  /**
224
  * Get checkout
@@ -246,7 +231,6 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
246
  }
247
 
248
  public function getTitle() {
249
- //return $this->getConfigData('title');
250
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
251
  }
252
 
@@ -263,17 +247,17 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
263
  {
264
  $helper = Mage::helper('novalnet');
265
  $note = NULL;
266
- $note .= "<b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
267
 
268
- $note .= $helper->__('Account Holder2') . ":<b>NOVALNET AG</b><br />";
269
- $note .= $helper->__('Account Number') . ":<b>" . $result->getInvoiceAccount() . "</b><br />";
270
- $note .= $helper->__('Bank Sorting Code') . ":<b>" . $result->getInvoiceBankcode() . "</b><br />";
271
- $note .= $helper->__('Bank') . ":<b>" . $result->getInvoiceBankname() . ", Muenchen</b><br />";
272
- $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR</b><br />";
273
- $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
274
- $note .= $helper->__('Only for foreign transfers') . ":<br />";
275
- $note .= "IBAN: <b>" . $result->getInvoiceIban() . "</b><br />";
276
- $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . "</b><br />";
277
  return $note;
278
  }
279
 
@@ -290,22 +274,14 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
290
  }
291
 
292
  private function _assignNnAuthData( Varien_Object $request, $amount ) {
293
- $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
294
- $request->setVendor($this->getConfigData('merchant_id'))
295
- ->setAuthCode($this->getConfigData('auth_code'))
296
- ->setProduct(
297
- (strlen($this->getConfigData('second_product_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
298
- ?$this->getConfigData('second_product_id')
299
- :$this->getConfigData('product_id')
300
- )
301
- ->setTariff(
302
- (strlen($this->getConfigData('second_tariff_id')) && $manualCheckAmt && $manualCheckAmt>$amount)
303
- ?$this->getConfigData('second_tariff_id')
304
- :$this->getConfigData('tariff_id')
305
- )
306
- ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
307
- ->setKey($this->_nnPaymentId)
308
- ;
309
  }
310
 
311
  private function _getCurrencyCode(){
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
95
  protected $_canSaveCc = false;
96
 
97
  protected $_isInitializeNeeded = true;
 
 
 
 
 
 
 
 
98
  /**
99
+ * To post the request to Novalnet server
100
+ * @param Varien_Object $request
101
+ * @param String $type
 
 
102
  */
 
 
 
 
 
 
 
 
 
 
103
  protected function _postRequest(Varien_Object $request)
104
  {
105
  $result = Mage::getModel('novalnet/novalnet_result');
110
  }
111
  $client = new Varien_Http_Client(self::CGI_URL, $httpClientConfig);
112
  $client->setParameterPost($request->getData())
113
+ ->setMethod(Zend_Http_Client::POST);
 
114
  $response = $client->request();
115
  if (!$response->isSuccessful()) {
116
  Mage::throwException(
123
  $result->toUtf8();
124
  return $result;
125
  }
126
+ /**
127
+ * To display the payment method based on the condition
128
+ * @param Varien_Object $quote
129
+ */
130
  public function isAvailable($quote = null) {
 
131
  $minOrderCount = trim($this->getConfigData('orderscount'));
132
  $customerId = Mage::getSingleton('customer/session')->getCustomerId();
133
+ // Load orders and check
134
+ $orders = Mage::getResourceModel('sales/order_collection')
135
+ ->addAttributeToSelect('*')
136
+ ->addAttributeToFilter('customer_id', $customerId)
137
+ ->load();
138
+ if (count($orders) < $minOrderCount) {
139
+ return false;
140
+ }
 
 
 
141
  return parent::isAvailable();
142
  }
143
+ /**
144
+ * To Validate Admin Back End Parameters
145
+ */
146
+ public function validate() {
147
  $session = Mage::getSingleton('checkout/session');
148
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id'))) {
149
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
150
+ }
151
  if(!$session->getInvoiceReqData() && $this->_isPlaceOrder())
152
  {
153
  $request = $this->_buildNoInvoiceRequest();
165
  Mage::throwException($text);
166
  }
167
  return $this;
 
168
  }
169
+ }
170
+ /**
171
+ * To build no Invoice Request
172
+ */
173
+ protected function _buildNoInvoiceRequest() {
174
+ $request = Mage::getModel('novalnet/novalnet_request');
175
+ $amount = round($this->_getAmount(), 2) * 100;
176
+ $billing = $this->_getBillingAddress();
177
 
178
+ $paymentDuration = (int)trim($this->getConfigData('payment_duration'));
179
+ $dueDate = $paymentDuration ? date('d.m.Y', strtotime('+' . $paymentDuration . ' days')) : NULL;
180
+
181
+ $this->_assignNnAuthData($request, $amount);
182
+ $request->setAmount($amount)
183
+ ->setCurrency($this->_getCurrencyCode())
184
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
185
+ ->setUseUtf8(1)
186
+ ->setfirstName($billing->getFirstname())
187
+ ->setLastName($billing->getLastname())
188
+ ->setSearchInStreet(1)
189
+ ->setStreet(implode(',', $billing->getStreet()))
190
+ ->setCity($billing->getCity())
191
+ ->setZip($billing->getPostcode())
192
+ ->setCountry($billing->getCountry())
193
+ ->setLang(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2))
194
+ ->setTel($billing->getTelephone())
195
+ ->setFax($billing->getFax())
196
+ ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
197
+ ->setGender('u')
198
+ ->setEmail($this->_getCustomerEmail())
199
+ ->setOrderNo($this->_getOrderId())
200
+ ->setInput1('order_id')
201
+ ->setInputval1($this->_getOrderId())
202
+ ->setInvoiceType(self::PAYMENT_METHOD)
203
+ ->setDueDate($dueDate)
204
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId());
205
+ return $request;
206
+ }
 
 
 
207
 
208
  /**
209
  * Get checkout
231
  }
232
 
233
  public function getTitle() {
 
234
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
235
  }
236
 
247
  {
248
  $helper = Mage::helper('novalnet');
249
  $note = NULL;
250
+ $note .= "<br /><b>".$helper->__('Please transfer the invoice amount with the following information to our payment provider Novalnet AG')."</b><br />";
251
 
252
+ $note .= $helper->__('Account Holder2') . " : <b>NOVALNET AG</b><br />";
253
+ $note .= $helper->__('Account Number') . " : <b>" . $result->getInvoiceAccount() . "</b><br />";
254
+ $note .= $helper->__('Bank Sorting Code') . " : <b>" . $result->getInvoiceBankcode() . "</b><br />";
255
+ $note .= $helper->__('Bank') . " : <b>" . $result->getInvoiceBankname() . " Muenchen</b><br />";
256
+ $note .= $helper->__('Amount') . " : <b>" . str_replace('.', ',', $result->getAmount()) . " EUR</b><br />";
257
+ $note .= $helper->__('Reference') . " : <b>TID " . $result->getTid() . "</b><br /><br />";
258
+ $note .= "<b>".$helper->__('Only for foreign transfers') . ":</b><br />";
259
+ $note .= "IBAN : <b>" . $result->getInvoiceIban() . "</b><br />";
260
+ $note .= "SWIFT/BIC : <b>" . $result->getInvoiceBic() . "</b><br />";
261
  return $note;
262
  }
263
 
274
  }
275
 
276
  private function _assignNnAuthData( Varien_Object $request, $amount ) {
277
+ $request->setVendor(trim($this->getConfigData('merchant_id')))
278
+ ->setAuthCode(trim($this->getConfigData('auth_code')))
279
+ ->setProduct(trim($this->getConfigData('product_id')))
280
+ ->setTariff(trim($this->getConfigData('tariff_id')))
281
+ ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
282
+ ->setKey($this->_nnPaymentId);
283
+ Mage::getSingleton('checkout/session')->unsNnInvoiceTestOrder();
284
+ Mage::getSingleton('checkout/session')->setNnInvoiceTestOrder($request->getTestMode());
 
 
 
 
 
 
 
 
285
  }
286
 
287
  private function _getCurrencyCode(){
app/code/community/Mage/Novalnet/Model/NovalnetSecure.php CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -78,7 +78,7 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
78
  /**
79
  * Can use this payment method in administration panel?
80
  */
81
- protected $_canUseInternal = true;
82
 
83
  /**
84
  * Can show this payment method as an option on checkout payment page?
@@ -116,25 +116,25 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
116
  }
117
 
118
  public function getTitle() {
119
- //return $this->getConfigData('title');
120
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
121
  }
122
-
 
 
 
123
  public function isAvailable($quote = null) {
124
 
125
  $minOrderCount = trim($this->getConfigData('orderscount'));
126
  $customerId = Mage::getSingleton('customer/session')->getCustomerId();
127
 
128
- // Load orders and check
129
- $orders = Mage::getResourceModel('sales/order_collection')
130
- ->addAttributeToSelect('*')
131
- ->addAttributeToFilter('customer_id', $customerId)
132
- ->load();
133
- if (count($orders) < $minOrderCount) {
134
- return false;
135
- }elseif(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id')) {
136
- return false;
137
- }
138
  return parent::isAvailable();
139
  }
140
 
@@ -144,7 +144,7 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
144
  $order = $this->getInfoInstance()->getOrder();
145
  $amount = (round($order->getBaseGrandTotal(), 2) * 100);
146
  $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
147
- $billing = $order->getBillingAddress();
148
  $session = Mage::getSingleton('checkout/session');
149
  $payment = $order->getPayment();
150
 
@@ -153,7 +153,7 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
153
  $objQuotePayment = $objQuote->getPayment();
154
  $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
155
 
156
- if(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id'))
157
  {
158
  Mage::getSingleton('core/session')
159
  ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
@@ -163,20 +163,24 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
163
  exit;
164
  }
165
 
166
- $dataObj->setVendor($this->getConfigData('merchant_id'))
167
- ->setVendorAuthcode($this->getConfigData('auth_code'))
168
  ->setProduct(
169
- ($manualCheckAmt || $manualCheckAmt<$amount)
170
- ?$this->getConfigData('product_id')
171
- :$this->getConfigData('second_product_id'))
 
172
  ->setTariff(
173
- ($manualCheckAmt || $manualCheckAmt<$amount)
174
- ?$this->getConfigData('tariff_id')
175
- :$this->getConfigData('second_tariff_id'))
 
176
  ->setAmount($amount)
177
  ->setKey($this->_nnPaymentId)
178
  ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
179
  ->setCurrency($order->getOrderCurrencyCode())
 
 
180
  ->setFirstName($billing->getFirstname())
181
  ->setLastName($billing->getLastname())
182
  ->setEmail($order->getCustomerEmail())
@@ -204,10 +208,38 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
204
  ->setInput1('order_id')
205
  ->setInputval1($order->getRealOrderId());
206
 
207
- $session->unsCcNo()->unsCcCvc2();
 
208
  return $dataObj;
209
  }
210
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  public function getOrderPlaceRedirectUrl()
212
  {
213
  return Mage::getUrl('novalnet/secure/redirect');
@@ -225,5 +257,4 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
225
  }
226
  return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
227
  }
228
-
229
- }
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
78
  /**
79
  * Can use this payment method in administration panel?
80
  */
81
+ protected $_canUseInternal = false;
82
 
83
  /**
84
  * Can show this payment method as an option on checkout payment page?
116
  }
117
 
118
  public function getTitle() {
 
119
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
120
  }
121
+ /**
122
+ * To display the payment method based on the condition
123
+ * @param Varien_Object $quote
124
+ */
125
  public function isAvailable($quote = null) {
126
 
127
  $minOrderCount = trim($this->getConfigData('orderscount'));
128
  $customerId = Mage::getSingleton('customer/session')->getCustomerId();
129
 
130
+ // Load orders and check
131
+ $orders = Mage::getResourceModel('sales/order_collection')
132
+ ->addAttributeToSelect('*')
133
+ ->addAttributeToFilter('customer_id', $customerId)
134
+ ->load();
135
+ if (count($orders) < $minOrderCount) {
136
+ return false;
137
+ }
 
 
138
  return parent::isAvailable();
139
  }
140
 
144
  $order = $this->getInfoInstance()->getOrder();
145
  $amount = (round($order->getBaseGrandTotal(), 2) * 100);
146
  $manualCheckAmt = (int)$this->getConfigData('manual_checking_amount');
147
+ $billing = $order->getBillingAddress();
148
  $session = Mage::getSingleton('checkout/session');
149
  $payment = $order->getPayment();
150
 
153
  $objQuotePayment = $objQuote->getPayment();
154
  $objQuotePayment->setNnTestOrder((!$this->getConfigData('live_mode'))? 1: 0)->save();
155
 
156
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id')))
157
  {
158
  Mage::getSingleton('core/session')
159
  ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
163
  exit;
164
  }
165
 
166
+ $dataObj->setVendor(trim($this->getConfigData('merchant_id')))
167
+ ->setVendorAuthcode(trim($this->getConfigData('auth_code')))
168
  ->setProduct(
169
+ (strlen(trim($this->getConfigData('second_product_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
170
+ ?trim($this->getConfigData('second_product_id'))
171
+ :trim($this->getConfigData('product_id'))
172
+ )
173
  ->setTariff(
174
+ (strlen(trim($this->getConfigData('second_tariff_id'))) && $manualCheckAmt && $manualCheckAmt<=$amount)
175
+ ?trim($this->getConfigData('second_tariff_id'))
176
+ :trim($this->getConfigData('tariff_id'))
177
+ )
178
  ->setAmount($amount)
179
  ->setKey($this->_nnPaymentId)
180
  ->setTestMode((!$this->getConfigData('live_mode'))? 1: 0)
181
  ->setCurrency($order->getOrderCurrencyCode())
182
+ ->setCustomerNo(Mage::getSingleton('customer/session')->getCustomerId())
183
+ ->setUseUtf8(1)
184
  ->setFirstName($billing->getFirstname())
185
  ->setLastName($billing->getLastname())
186
  ->setEmail($order->getCustomerEmail())
208
  ->setInput1('order_id')
209
  ->setInputval1($order->getRealOrderId());
210
 
211
+ $session->unsCcNo()->unsCcCvc2()->unsNnSecureTestOrder();
212
+ $session->setNnSecureTestOrder($dataObj->getTestMode());
213
  return $dataObj;
214
  }
215
+ /**
216
+ * To Validate Admin Back End Parameters
217
+ */
218
+ public function validate()
219
+ {
220
+ parent::validate();
221
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id'))) {
222
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
223
+ }if((int)$this->getConfigData('manual_checking_amount')&& (!trim($this->getConfigData('second_product_id')) || !trim($this->getConfigData('second_tariff_id')))) {
224
+ Mage::throwException(Mage::helper('novalnet')->__('Required Second Product Tariff').'!');
225
+ }
226
+ $info = $this->getInfoInstance();
227
+ if(preg_match('/[#%\^<>@$=*!]/', $info->getCcOwner())){
228
+ Mage::throwException(Mage::helper('novalnet')->__('This is not a valid Account Holder Name'));
229
+ }
230
+ return $this;
231
+ }
232
+ /**
233
+ * To Save the masking account information
234
+ */
235
+ public function prepareSave()
236
+ {
237
+ $info = $this->getInfoInstance();
238
+ $info->setCcNumberEnc(str_pad(substr($info->getCcNumber(),0,6),strlen($info->getCcNumber())-4,'*',STR_PAD_RIGHT).substr($info->getCcNumber(),-4));
239
+ $info->setCcNumber(null)
240
+ ->setCcCid(null);
241
+ return $this;
242
+ }
243
  public function getOrderPlaceRedirectUrl()
244
  {
245
  return Mage::getUrl('novalnet/secure/redirect');
257
  }
258
  return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
259
  }
260
+ }
 
app/code/community/Mage/Novalnet/Model/Observer.php CHANGED
@@ -107,4 +107,4 @@ class Mage_Novalnet_Model_Observer extends Mage_Payment_Model_Method_Abstract
107
 
108
  }
109
 
110
- ?>
107
 
108
  }
109
 
110
+ ?>
app/code/community/Mage/Novalnet/controllers/InvoiceController.php CHANGED
@@ -19,34 +19,31 @@ class Mage_Novalnet_InvoiceController extends Mage_Core_Controller_Front_Action
19
  ->setNote($resultnote);
20
  $order->setPayment($payment)
21
  ->save();
22
-
23
- if( $resultdata->hasTestMode() ) {
24
  Mage::getModel( 'sales/quote' )
25
  ->load($session->getQuoteId())
26
  ->getPayment()
27
  ->setNnComments($resultnote)
28
  ->setNnTestorder($resultdata->getTestMode())
29
  ->save();
 
30
  }
31
 
32
  if ($order->getId()) {
33
  $order->sendNewOrderEmail();
34
  }
35
-
36
- //$this->saveInvoice($order); // To generate Order Invoice
37
-
38
  $session->unsInvoiceReqData()
39
- ->unsInvoiceReqDataNote();
40
-
41
  $url = Mage::getModel('core/url')->getUrl("checkout/onepage/success");
42
- Mage::getSingleton('core/session')->addSuccess('Successful');
43
  Mage::app()->getResponse()->setRedirect($url);
44
  Mage::app()->getResponse()->sendResponse();
45
  exit;
46
-
47
  }
48
 
49
- protected function saveInvoice (Mage_Sales_Model_Order $order) {
50
  if ($order->canInvoice()) {
51
  $invoice = $order->prepareInvoice();
52
 
@@ -61,6 +58,5 @@ class Mage_Novalnet_InvoiceController extends Mage_Core_Controller_Front_Action
61
  }
62
 
63
  return false;
64
- }
65
-
66
- }
19
  ->setNote($resultnote);
20
  $order->setPayment($payment)
21
  ->save();
22
+
23
+ if( $resultdata->hasTestMode() ) {
24
  Mage::getModel( 'sales/quote' )
25
  ->load($session->getQuoteId())
26
  ->getPayment()
27
  ->setNnComments($resultnote)
28
  ->setNnTestorder($resultdata->getTestMode())
29
  ->save();
30
+ $session->setInvTestOrder($resultdata->getTestMode());
31
  }
32
 
33
  if ($order->getId()) {
34
  $order->sendNewOrderEmail();
35
  }
 
 
 
36
  $session->unsInvoiceReqData()
37
+ ->unsInvoiceReqDataNote()
38
+ ->unsInvTestOrder();
39
  $url = Mage::getModel('core/url')->getUrl("checkout/onepage/success");
40
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
41
  Mage::app()->getResponse()->setRedirect($url);
42
  Mage::app()->getResponse()->sendResponse();
43
  exit;
 
44
  }
45
 
46
+ protected function saveInvoice (Mage_Sales_Model_Order $order) {
47
  if ($order->canInvoice()) {
48
  $invoice = $order->prepareInvoice();
49
 
58
  }
59
 
60
  return false;
61
+ }
62
+ }
 
app/code/community/Mage/Novalnet/controllers/PciController.php CHANGED
@@ -55,6 +55,7 @@ class Mage_Novalnet_PciController extends Mage_Core_Controller_Front_Action
55
  } else {
56
  $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
57
  Mage::getSingleton('core/session')->addError($this->_responseText);
 
58
  }
59
  Mage::app()->getResponse()->setRedirect($url);
60
  Mage::app()->getResponse()->sendResponse();
@@ -82,7 +83,8 @@ class Mage_Novalnet_PciController extends Mage_Core_Controller_Front_Action
82
  $order = Mage::getModel('sales/order')->loadByIncrementId($dataObj->getOrderId());
83
  $status=$order->getPayment()->getMethodInstance()->statusCheck($response,$session);
84
  $this->_responseText = $response['status_desc'];
85
- }
 
86
  return $status;
87
  }
88
- }
55
  } else {
56
  $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
57
  Mage::getSingleton('core/session')->addError($this->_responseText);
58
+ Mage::getSingleton('checkout/session')->setErrorMessage(html_entity_decode($this->_responseText));
59
  }
60
  Mage::app()->getResponse()->setRedirect($url);
61
  Mage::app()->getResponse()->sendResponse();
83
  $order = Mage::getModel('sales/order')->loadByIncrementId($dataObj->getOrderId());
84
  $status=$order->getPayment()->getMethodInstance()->statusCheck($response,$session);
85
  $this->_responseText = $response['status_desc'];
86
+ }
87
+
88
  return $status;
89
  }
90
+ }
app/code/community/Mage/Novalnet/controllers/SecureController.php CHANGED
@@ -99,15 +99,17 @@ class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
99
  ->setTransactionId($dataObj->getTid())
100
  ->setSuTransactionId($dataObj->getTid())
101
  ->setLastTransId($dataObj->getTid());
102
-
103
  $order->setPayment($payment);
104
-
 
105
  if( $dataObj->hasTestMode() ) {
106
  Mage::getModel( 'sales/quote' )
107
  ->load($session->getNovalnetQuoteId())
108
  ->getPayment()
109
  ->setNnTestorder($dataObj->getTestMode())
110
  ->save();
 
111
  }
112
 
113
  $invoice = $order->prepareInvoice();
@@ -129,6 +131,8 @@ class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
129
  $order->sendNewOrderEmail();
130
  }
131
  $status = true;
 
 
132
  } else {
133
  $payment->setStatus(Mage_Novalnet_Model_NovalnetSecure::STATUS_ERROR);
134
  $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
@@ -149,12 +153,13 @@ class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
149
  $order->cancel()
150
  ->save();
151
  $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
 
152
  Mage::getSingleton('checkout/session')
153
- ->setErrorMessage($dataObj->getStatusText());
154
  }
155
  }
156
  $session->unsNovalnetRealOrderId();
157
  $session->unsNovalnetQuoteId();
158
  return $status;
159
  }
160
- }
99
  ->setTransactionId($dataObj->getTid())
100
  ->setSuTransactionId($dataObj->getTid())
101
  ->setLastTransId($dataObj->getTid());
102
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
103
  $order->setPayment($payment);
104
+ //Added
105
+ $session->unsSecureTestOrder();
106
  if( $dataObj->hasTestMode() ) {
107
  Mage::getModel( 'sales/quote' )
108
  ->load($session->getNovalnetQuoteId())
109
  ->getPayment()
110
  ->setNnTestorder($dataObj->getTestMode())
111
  ->save();
112
+ $session->setSecureTestOrder($dataObj->getTestMode());
113
  }
114
 
115
  $invoice = $order->prepareInvoice();
131
  $order->sendNewOrderEmail();
132
  }
133
  $status = true;
134
+ $session->unsSecureTestOrder()
135
+ ->unsNnSecureTestOrder();
136
  } else {
137
  $payment->setStatus(Mage_Novalnet_Model_NovalnetSecure::STATUS_ERROR);
138
  $payment->setStatusDescription(Mage::helper('novalnet')->__('Payment was fail.'));
153
  $order->cancel()
154
  ->save();
155
  $order->setState(Mage_Sales_Model_Order::STATE_CANCELED)->save();
156
+ Mage::getSingleton('core/session')->addError(html_entity_decode($dataObj->getStatusText()));
157
  Mage::getSingleton('checkout/session')
158
+ ->setErrorMessage(html_entity_decode($dataObj->getStatusText()));
159
  }
160
  }
161
  $session->unsNovalnetRealOrderId();
162
  $session->unsNovalnetQuoteId();
163
  return $status;
164
  }
165
+ }
app/code/community/Mage/Novalnet/etc/config.xml CHANGED
@@ -85,7 +85,14 @@
85
  </Mage_Novalnet>
86
  </modules>
87
  </translate>
88
- </adminhtml>
 
 
 
 
 
 
 
89
  <frontend>
90
  <routers>
91
  <novalnet_secure>
@@ -105,26 +112,6 @@
105
  </Mage_Novalnet>
106
  </modules>
107
  </translate>
108
- <events>
109
- <controller_action_predispatch_checkout_onepage_index>
110
- <observers>
111
- <Mage_Novalnet_Model_Observer>
112
- <type>singleton</type>
113
- <class>Mage_Novalnet_Model_Observer</class>
114
- <method>getFormData</method>
115
- </Mage_Novalnet_Model_Observer>
116
- </observers>
117
- </controller_action_predispatch_checkout_onepage_index>
118
- <controller_action_postdispatch_checkout_onepage_saveOrder>
119
- <observers>
120
- <Mage_Novalnet_Model_Observer>
121
- <type>singleton</type>
122
- <class>Mage_Novalnet_Model_Observer</class>
123
- <method>SaveOrderStatus</method>
124
- </Mage_Novalnet_Model_Observer>
125
- </observers>
126
- </controller_action_postdispatch_checkout_onepage_saveOrder>
127
- </events>
128
  <layout>
129
  <updates>
130
  <novalnet>
@@ -149,7 +136,7 @@
149
  <payment_action>authorize_capture</payment_action>
150
  <allowspecific>0</allowspecific>
151
  <!-- default title for payment checkout page and order view page -->
152
- <title>Novalnet Credit Card</title>
153
  <gateway_timeout>90</gateway_timeout>
154
  </novalnetCc>
155
  <novalnetElvgerman>
@@ -158,7 +145,7 @@
158
  <payment_action>authorize_capture</payment_action>
159
  <order_status>0</order_status>
160
  <allowspecific>0</allowspecific>
161
- <title>Novalnet Direct Debit German</title>
162
  <gateway_timeout>90</gateway_timeout>
163
  </novalnetElvgerman>
164
  <novalnetElvaustria>
@@ -167,7 +154,7 @@
167
  <payment_action>authorize_capture</payment_action>
168
  <order_status>0</order_status>
169
  <allowspecific>0</allowspecific>
170
- <title>Novalnet Direct Debit Austria</title>
171
  <gateway_timeout>90</gateway_timeout>
172
  </novalnetElvaustria>
173
  <novalnetPrepayment>
@@ -177,7 +164,7 @@
177
  <payment_action>authorize_capture</payment_action>
178
  <order_status>0</order_status>
179
  <allowspecific>0</allowspecific>
180
- <title>Novalnet Prepayment</title>
181
  <gateway_timeout>90</gateway_timeout>
182
  </novalnetPrepayment>
183
  <novalnetInvoice>
@@ -187,7 +174,7 @@
187
  <payment_action>authorize_capture</payment_action>
188
  <order_status>0</order_status>
189
  <allowspecific>0</allowspecific>
190
- <title>Novalnet Invoice</title>
191
  <gateway_timeout>90</gateway_timeout>
192
  </novalnetInvoice>
193
  <novalnetPhonepayment>
@@ -197,7 +184,7 @@
197
  <payment_action>authorize_capture</payment_action>
198
  <order_status>0</order_status>
199
  <allowspecific>0</allowspecific>
200
- <title>Novalnet Phonepayment</title>
201
  <gateway_timeout>90</gateway_timeout>
202
  </novalnetPhonepayment>
203
  <novalnet_secure>
@@ -207,7 +194,7 @@
207
  <order_status>0</order_status>
208
  <payment_action>sale</payment_action>
209
  <allowspecific>0</allowspecific>
210
- <title>Novalnet Credit Card 3D-Secure</title>
211
  </novalnet_secure>
212
  <novalnetCcpci>
213
  <cctypes>VI,MC</cctypes>
@@ -216,7 +203,7 @@
216
  <model>novalnet/novalnetCcpci</model>
217
  <order_status>0</order_status>
218
  <allowspecific>0</allowspecific>
219
- <title>Novalnet Credit Card PCI</title>
220
  <createinvoice>0</createinvoice>
221
  </novalnetCcpci>
222
  <novalnetElvdepci>
@@ -225,7 +212,7 @@
225
  <model>novalnet/novalnetElvdepci</model>
226
  <order_status>0</order_status>
227
  <allowspecific>0</allowspecific>
228
- <title>Novalnet Direct Debit German PCI</title>
229
  <createinvoice>0</createinvoice>
230
  </novalnetElvdepci>
231
  <novalnetElvatpci>
@@ -234,7 +221,7 @@
234
  <model>novalnet/novalnetElvatpci</model>
235
  <order_status>0</order_status>
236
  <allowspecific>0</allowspecific>
237
- <title>Novalnet Direct Debit Austria PCI</title>
238
  <createinvoice>0</createinvoice>
239
  </novalnetElvatpci>
240
  </payment>
85
  </Mage_Novalnet>
86
  </modules>
87
  </translate>
88
+ <layout>
89
+ <updates>
90
+ <novalnet>
91
+ <file>novalnet.xml</file>
92
+ </novalnet>
93
+ </updates>
94
+ </layout>
95
+ </adminhtml>
96
  <frontend>
97
  <routers>
98
  <novalnet_secure>
112
  </Mage_Novalnet>
113
  </modules>
114
  </translate>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  <layout>
116
  <updates>
117
  <novalnet>
136
  <payment_action>authorize_capture</payment_action>
137
  <allowspecific>0</allowspecific>
138
  <!-- default title for payment checkout page and order view page -->
139
+ <title>Novalnet Kreditkarte</title>
140
  <gateway_timeout>90</gateway_timeout>
141
  </novalnetCc>
142
  <novalnetElvgerman>
145
  <payment_action>authorize_capture</payment_action>
146
  <order_status>0</order_status>
147
  <allowspecific>0</allowspecific>
148
+ <title>Novalnet Lastschrift Deutschland</title>
149
  <gateway_timeout>90</gateway_timeout>
150
  </novalnetElvgerman>
151
  <novalnetElvaustria>
154
  <payment_action>authorize_capture</payment_action>
155
  <order_status>0</order_status>
156
  <allowspecific>0</allowspecific>
157
+ <title>Novalnet Lastschrift Österreich</title>
158
  <gateway_timeout>90</gateway_timeout>
159
  </novalnetElvaustria>
160
  <novalnetPrepayment>
164
  <payment_action>authorize_capture</payment_action>
165
  <order_status>0</order_status>
166
  <allowspecific>0</allowspecific>
167
+ <title>Novalnet Vorauskasse</title>
168
  <gateway_timeout>90</gateway_timeout>
169
  </novalnetPrepayment>
170
  <novalnetInvoice>
174
  <payment_action>authorize_capture</payment_action>
175
  <order_status>0</order_status>
176
  <allowspecific>0</allowspecific>
177
+ <title>Novalnet Kauf auf Rechnung</title>
178
  <gateway_timeout>90</gateway_timeout>
179
  </novalnetInvoice>
180
  <novalnetPhonepayment>
184
  <payment_action>authorize_capture</payment_action>
185
  <order_status>0</order_status>
186
  <allowspecific>0</allowspecific>
187
+ <title>Novalnet Telefonpayment</title>
188
  <gateway_timeout>90</gateway_timeout>
189
  </novalnetPhonepayment>
190
  <novalnet_secure>
194
  <order_status>0</order_status>
195
  <payment_action>sale</payment_action>
196
  <allowspecific>0</allowspecific>
197
+ <title>Novalnet Kreditkarte 3D Secure</title>
198
  </novalnet_secure>
199
  <novalnetCcpci>
200
  <cctypes>VI,MC</cctypes>
203
  <model>novalnet/novalnetCcpci</model>
204
  <order_status>0</order_status>
205
  <allowspecific>0</allowspecific>
206
+ <title>Novalnet Kreditkarte PCI</title>
207
  <createinvoice>0</createinvoice>
208
  </novalnetCcpci>
209
  <novalnetElvdepci>
212
  <model>novalnet/novalnetElvdepci</model>
213
  <order_status>0</order_status>
214
  <allowspecific>0</allowspecific>
215
+ <title>Novalnet Lastschrift Deutschland PCI</title>
216
  <createinvoice>0</createinvoice>
217
  </novalnetElvdepci>
218
  <novalnetElvatpci>
221
  <model>novalnet/novalnetElvatpci</model>
222
  <order_status>0</order_status>
223
  <allowspecific>0</allowspecific>
224
+ <title>Novalnet Lastschrift Österreich PCI</title>
225
  <createinvoice>0</createinvoice>
226
  </novalnetElvatpci>
227
  </payment>
app/code/community/Mage/Novalnet/etc/system.xml CHANGED
@@ -7,13 +7,13 @@
7
  <novalnetElvgerman translate="label" module="novalnet">
8
  <!-- will have title 'New Module' -->
9
  <label>Novalnet Direct Debit German</label>
10
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
11
  <!-- position between other payment methods -->
12
  <sort_order>680</sort_order>
13
  <!-- do not show this configuration options in store scope -->
14
  <show_in_default>1</show_in_default>
15
  <show_in_website>1</show_in_website>
16
- <show_in_store>0</show_in_store>
17
  <fields>
18
  <!-- is this payment method active for the website? -->
19
  <active translate="label">
@@ -28,7 +28,7 @@
28
  <!-- do not show this field in store scope -->
29
  <show_in_default>1</show_in_default>
30
  <show_in_website>1</show_in_website>
31
- <show_in_store>0</show_in_store>
32
  </active>
33
  <title translate="label">
34
  <label>Title</label>
@@ -36,7 +36,7 @@
36
  <sort_order>2</sort_order>
37
  <show_in_default>1</show_in_default>
38
  <show_in_website>1</show_in_website>
39
- <show_in_store>0</show_in_store>
40
  </title>
41
  <order_status translate="label">
42
  <label>New order status</label>
@@ -45,7 +45,7 @@
45
  <sort_order>3</sort_order>
46
  <show_in_default>1</show_in_default>
47
  <show_in_website>1</show_in_website>
48
- <show_in_store>0</show_in_store>
49
  </order_status>
50
  <merchant_id translate="label">
51
  <label>Novalnet Merchant ID</label>
@@ -53,7 +53,7 @@
53
  <sort_order>4</sort_order>
54
  <show_in_default>1</show_in_default>
55
  <show_in_website>1</show_in_website>
56
- <show_in_store>0</show_in_store>
57
  </merchant_id>
58
  <auth_code translate="label">
59
  <label>Novalnet Auth Code</label>
@@ -61,7 +61,7 @@
61
  <sort_order>5</sort_order>
62
  <show_in_default>1</show_in_default>
63
  <show_in_website>1</show_in_website>
64
- <show_in_store>0</show_in_store>
65
  </auth_code>
66
  <product_id translate="label">
67
  <label>Novalnet Product ID</label>
@@ -69,15 +69,15 @@
69
  <sort_order>6</sort_order>
70
  <show_in_default>1</show_in_default>
71
  <show_in_website>1</show_in_website>
72
- <show_in_store>0</show_in_store>
73
  </product_id>
74
  <tariff_id translate="label">
75
- <label>Novalnet Tariff ID</label>
76
  <frontend_type>text</frontend_type>
77
  <sort_order>7</sort_order>
78
  <show_in_default>1</show_in_default>
79
  <show_in_website>1</show_in_website>
80
- <show_in_store>0</show_in_store>
81
  </tariff_id>
82
  <manual_checking_amount tranlate="label" >
83
  <label>Manual checking amount in cents</label>
@@ -85,7 +85,7 @@
85
  <sort_order>8</sort_order>
86
  <show_in_default>1</show_in_default>
87
  <show_in_website>1</show_in_website>
88
- <show_in_store>0</show_in_store>
89
  </manual_checking_amount>
90
  <second_product_id translate="label">
91
  <label>Second Novalnet Product ID</label>
@@ -93,7 +93,7 @@
93
  <sort_order>9</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
  </second_product_id>
98
  <second_tariff_id translate="label">
99
  <label>Second Novalnet Tariff Id</label>
@@ -101,52 +101,43 @@
101
  <sort_order>10</sort_order>
102
  <show_in_default>1</show_in_default>
103
  <show_in_website>1</show_in_website>
104
- <show_in_store>0</show_in_store>
105
  </second_tariff_id>
106
  <acdc_check translate="label">
107
- <label>ACDC Check</label>
108
  <frontend_type>select</frontend_type>
109
  <source_model>adminhtml/system_config_source_yesno</source_model>
110
  <sort_order>11</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
  </acdc_check>
115
  <callback translate="label">
116
- <comment>
117
- Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
118
- Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
119
- Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
120
- andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
121
- This service is only available for german customers.
122
- </comment>
123
- <label>PIN by Callback/SMS</label>
124
  <frontend_type>select</frontend_type>
125
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
126
  <sort_order>12</sort_order>
127
  <show_in_default>1</show_in_default>
128
  <show_in_website>1</show_in_website>
129
- <show_in_store>0</show_in_store>
130
  </callback>
131
  <callback_minimum_amount>
132
- <label>Minimum Amount For Callback</label>
133
  <frontend_type>text</frontend_type>
134
  <sort_order>13</sort_order>
135
  <show_in_default>1</show_in_default>
136
  <show_in_website>1</show_in_website>
137
- <show_in_store>0</show_in_store>
138
  </callback_minimum_amount>
139
  <user_group_excluded translate="label">
140
- <comment>
141
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
142
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
143
- </comment>
144
  <label>User Group Excluded</label>
145
  <frontend_type>text</frontend_type>
146
  <sort_order>14</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
  </user_group_excluded>
151
  <comment translate="label">
152
  <label>Notice for Clients</label>
@@ -154,7 +145,7 @@
154
  <sort_order>15</sort_order>
155
  <show_in_default>1</show_in_default>
156
  <show_in_website>1</show_in_website>
157
- <show_in_store>0</show_in_store>
158
  </comment>
159
  <live_mode translate="label">
160
  <label>Live Mode</label>
@@ -163,7 +154,7 @@
163
  <sort_order>16</sort_order>
164
  <show_in_default>1</show_in_default>
165
  <show_in_website>1</show_in_website>
166
- <show_in_store>0</show_in_store>
167
  </live_mode>
168
  <gateway_timeout translate="label">
169
  <comment>Gateway Timeout in seconds</comment>
@@ -172,7 +163,7 @@
172
  <sort_order>17</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
  </gateway_timeout>
177
  <sort_order translate="label">
178
  <label>Sort Order</label>
@@ -180,7 +171,7 @@
180
  <sort_order>100</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
  </sort_order>
185
  <allowspecific translate="label">
186
  <label>Payment from applicable countries</label>
@@ -206,7 +197,7 @@
206
  <sort_order>180</sort_order>
207
  <show_in_default>1</show_in_default>
208
  <show_in_website>1</show_in_website>
209
- <show_in_store>0</show_in_store>
210
  </min_order_total>
211
  <max_order_total translate="label">
212
  <label>Maximum Order Total</label>
@@ -214,25 +205,25 @@
214
  <sort_order>190</sort_order>
215
  <show_in_default>1</show_in_default>
216
  <show_in_website>1</show_in_website>
217
- <show_in_store>0</show_in_store>
218
  </max_order_total>
219
  <orderscount translate="label">
220
  <label>Minimum Orders Count</label>
221
  <frontend_type>text</frontend_type>
222
  <sort_order>200</sort_order>
223
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
224
  <show_in_website>1</show_in_website>
225
- <show_in_store>0</show_in_store>
226
  </orderscount>
227
  </fields>
228
  </novalnetElvgerman>
229
  <novalnetElvaustria translate="label" module="novalnet">
230
  <label>Novalnet Direct Debit Austria</label>
231
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
232
  <sort_order>681</sort_order>
233
  <show_in_default>1</show_in_default>
234
  <show_in_website>1</show_in_website>
235
- <show_in_store>0</show_in_store>
236
  <fields>
237
  <active translate="label">
238
  <label>Enabled</label>
@@ -241,7 +232,7 @@
241
  <sort_order>1</sort_order>
242
  <show_in_default>1</show_in_default>
243
  <show_in_website>1</show_in_website>
244
- <show_in_store>0</show_in_store>
245
  </active>
246
  <title translate="label">
247
  <label>Title</label>
@@ -249,7 +240,7 @@
249
  <sort_order>2</sort_order>
250
  <show_in_default>1</show_in_default>
251
  <show_in_website>1</show_in_website>
252
- <show_in_store>0</show_in_store>
253
  </title>
254
  <order_status translate="label">
255
  <label>New order status</label>
@@ -258,7 +249,7 @@
258
  <sort_order>3</sort_order>
259
  <show_in_default>1</show_in_default>
260
  <show_in_website>1</show_in_website>
261
- <show_in_store>0</show_in_store>
262
  </order_status>
263
  <merchant_id translate="label">
264
  <label>Novalnet Merchant ID</label>
@@ -266,7 +257,7 @@
266
  <sort_order>4</sort_order>
267
  <show_in_default>1</show_in_default>
268
  <show_in_website>1</show_in_website>
269
- <show_in_store>0</show_in_store>
270
  </merchant_id>
271
  <auth_code translate="label">
272
  <label>Novalnet Auth Code</label>
@@ -274,7 +265,7 @@
274
  <sort_order>5</sort_order>
275
  <show_in_default>1</show_in_default>
276
  <show_in_website>1</show_in_website>
277
- <show_in_store>0</show_in_store>
278
  </auth_code>
279
  <product_id translate="label">
280
  <label>Novalnet Product ID</label>
@@ -282,15 +273,15 @@
282
  <sort_order>6</sort_order>
283
  <show_in_default>1</show_in_default>
284
  <show_in_website>1</show_in_website>
285
- <show_in_store>0</show_in_store>
286
  </product_id>
287
  <tariff_id translate="label">
288
- <label>Novalnet Tariff ID</label>
289
  <frontend_type>text</frontend_type>
290
  <sort_order>7</sort_order>
291
  <show_in_default>1</show_in_default>
292
  <show_in_website>1</show_in_website>
293
- <show_in_store>0</show_in_store>
294
  </tariff_id>
295
  <manual_checking_amount tranlate="label" >
296
  <label>Manual checking amount in cents</label>
@@ -298,7 +289,7 @@
298
  <sort_order>8</sort_order>
299
  <show_in_default>1</show_in_default>
300
  <show_in_website>1</show_in_website>
301
- <show_in_store>0</show_in_store>
302
  </manual_checking_amount>
303
  <second_product_id translate="label">
304
  <label>Second Novalnet Product ID</label>
@@ -306,7 +297,7 @@
306
  <sort_order>9</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
  </second_product_id>
311
  <second_tariff_id translate="label">
312
  <label>Second Novalnet Tariff Id</label>
@@ -314,43 +305,35 @@
314
  <sort_order>10</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
  </second_tariff_id>
319
  <callback translate="label">
320
- <comment>
321
- Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
322
- Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
323
- Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
324
- andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
325
- This service is only available for german customers.
326
  </comment>
327
- <label>PIN by Callback/SMS</label>
328
  <frontend_type>select</frontend_type>
329
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
330
  <sort_order>11</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
  </callback>
335
  <callback_minimum_amount>
336
- <label>Minimum Amount For Callback</label>
337
  <frontend_type>text</frontend_type>
338
  <sort_order>12</sort_order>
339
  <show_in_default>1</show_in_default>
340
  <show_in_website>1</show_in_website>
341
- <show_in_store>0</show_in_store>
342
  </callback_minimum_amount>
343
  <user_group_excluded translate="label">
344
- <comment>
345
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
346
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
347
- </comment>
348
  <label>User Group Excluded</label>
349
  <frontend_type>text</frontend_type>
350
  <sort_order>13</sort_order>
351
  <show_in_default>1</show_in_default>
352
  <show_in_website>1</show_in_website>
353
- <show_in_store>0</show_in_store>
354
  </user_group_excluded>
355
  <comment translate="label">
356
  <label>Notice for Clients</label>
@@ -358,7 +341,7 @@
358
  <sort_order>14</sort_order>
359
  <show_in_default>1</show_in_default>
360
  <show_in_website>1</show_in_website>
361
- <show_in_store>0</show_in_store>
362
  </comment>
363
  <live_mode translate="label">
364
  <label>Live Mode</label>
@@ -367,7 +350,7 @@
367
  <sort_order>15</sort_order>
368
  <show_in_default>1</show_in_default>
369
  <show_in_website>1</show_in_website>
370
- <show_in_store>0</show_in_store>
371
  </live_mode>
372
  <gateway_timeout translate="label">
373
  <comment>Gateway Timeout in seconds</comment>
@@ -376,7 +359,7 @@
376
  <sort_order>16</sort_order>
377
  <show_in_default>1</show_in_default>
378
  <show_in_website>1</show_in_website>
379
- <show_in_store>0</show_in_store>
380
  </gateway_timeout>
381
  <sort_order translate="label">
382
  <label>Sort Order</label>
@@ -384,7 +367,7 @@
384
  <sort_order>100</sort_order>
385
  <show_in_default>1</show_in_default>
386
  <show_in_website>1</show_in_website>
387
- <show_in_store>0</show_in_store>
388
  </sort_order>
389
  <allowspecific translate="label">
390
  <label>Payment from applicable countries</label>
@@ -410,7 +393,7 @@
410
  <sort_order>180</sort_order>
411
  <show_in_default>1</show_in_default>
412
  <show_in_website>1</show_in_website>
413
- <show_in_store>0</show_in_store>
414
  </min_order_total>
415
  <max_order_total translate="label">
416
  <label>Maximum Order Total</label>
@@ -418,25 +401,25 @@
418
  <sort_order>190</sort_order>
419
  <show_in_default>1</show_in_default>
420
  <show_in_website>1</show_in_website>
421
- <show_in_store>0</show_in_store>
422
  </max_order_total>
423
  <orderscount translate="label">
424
  <label>Minimum Orders Count</label>
425
  <frontend_type>text</frontend_type>
426
  <sort_order>200</sort_order>
427
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
428
  <show_in_website>1</show_in_website>
429
- <show_in_store>0</show_in_store>
430
  </orderscount>
431
  </fields>
432
  </novalnetElvaustria>
433
  <novalnetCc translate="label" module="novalnet">
434
  <label>Novalnet Credit Card</label>
435
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
436
  <sort_order>682</sort_order>
437
  <show_in_default>1</show_in_default>
438
  <show_in_website>1</show_in_website>
439
- <show_in_store>0</show_in_store>
440
  <fields>
441
  <active translate="label">
442
  <label>Enabled</label>
@@ -445,7 +428,7 @@
445
  <sort_order>1</sort_order>
446
  <show_in_default>1</show_in_default>
447
  <show_in_website>1</show_in_website>
448
- <show_in_store>0</show_in_store>
449
  </active>
450
  <title translate="label">
451
  <label>Title</label>
@@ -453,7 +436,7 @@
453
  <sort_order>2</sort_order>
454
  <show_in_default>1</show_in_default>
455
  <show_in_website>1</show_in_website>
456
- <show_in_store>0</show_in_store>
457
  </title>
458
  <order_status translate="label">
459
  <label>New order status</label>
@@ -462,7 +445,7 @@
462
  <sort_order>3</sort_order>
463
  <show_in_default>1</show_in_default>
464
  <show_in_website>1</show_in_website>
465
- <show_in_store>0</show_in_store>
466
  </order_status>
467
  <merchant_id translate="label">
468
  <label>Novalnet Merchant ID</label>
@@ -470,7 +453,7 @@
470
  <sort_order>5</sort_order>
471
  <show_in_default>1</show_in_default>
472
  <show_in_website>1</show_in_website>
473
- <show_in_store>0</show_in_store>
474
  </merchant_id>
475
  <auth_code translate="label">
476
  <label>Novalnet Auth Code</label>
@@ -478,7 +461,7 @@
478
  <sort_order>6</sort_order>
479
  <show_in_default>1</show_in_default>
480
  <show_in_website>1</show_in_website>
481
- <show_in_store>0</show_in_store>
482
  </auth_code>
483
  <product_id translate="label">
484
  <label>Novalnet Product ID</label>
@@ -486,47 +469,47 @@
486
  <sort_order>7</sort_order>
487
  <show_in_default>1</show_in_default>
488
  <show_in_website>1</show_in_website>
489
- <show_in_store>0</show_in_store>
490
  </product_id>
491
  <tariff_id translate="label">
492
- <label>Novalnet Tariff ID</label>
493
  <frontend_type>text</frontend_type>
494
  <sort_order>8</sort_order>
495
  <show_in_default>1</show_in_default>
496
  <show_in_website>1</show_in_website>
497
- <show_in_store>0</show_in_store>
498
  </tariff_id>
499
  <password translate="label">
500
- <label>Password</label>
501
  <frontend_type>text</frontend_type>
502
  <sort_order>9</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
  </password>
507
  <manual_checking_amount tranlate="label" >
508
  <label>Manual checking amount in cents</label>
509
  <frontend_type>text</frontend_type>
510
- <sort_order>9</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
  </manual_checking_amount>
515
  <second_product_id translate="label">
516
  <label>Second Novalnet Product ID</label>
517
  <frontend_type>text</frontend_type>
518
- <sort_order>10</sort_order>
519
  <show_in_default>1</show_in_default>
520
  <show_in_website>1</show_in_website>
521
- <show_in_store>0</show_in_store>
522
  </second_product_id>
523
  <second_tariff_id translate="label">
524
  <label>Second Novalnet Tariff Id</label>
525
  <frontend_type>text</frontend_type>
526
- <sort_order>11</sort_order>
527
  <show_in_default>1</show_in_default>
528
  <show_in_website>1</show_in_website>
529
- <show_in_store>0</show_in_store>
530
  </second_tariff_id>
531
  <booking_reference translate="label">
532
  <label>Booking Reference</label>
@@ -537,16 +520,13 @@
537
  <show_in_store>1</show_in_store>
538
  </booking_reference>
539
  <user_group_excluded translate="label">
540
- <comment>
541
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
542
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
543
- </comment>
544
  <label>User Group Excluded</label>
545
  <frontend_type>text</frontend_type>
546
  <sort_order>15</sort_order>
547
  <show_in_default>1</show_in_default>
548
  <show_in_website>1</show_in_website>
549
- <show_in_store>0</show_in_store>
550
  </user_group_excluded>
551
  <createinvoice translate="label">
552
  <label>Create Invoice</label>
@@ -564,7 +544,7 @@
564
  <sort_order>16</sort_order>
565
  <show_in_default>1</show_in_default>
566
  <show_in_website>1</show_in_website>
567
- <show_in_store>0</show_in_store>
568
  </live_mode>
569
  <gateway_timeout translate="label">
570
  <comment>Gateway Timeout in seconds</comment>
@@ -573,7 +553,7 @@
573
  <sort_order>17</sort_order>
574
  <show_in_default>1</show_in_default>
575
  <show_in_website>1</show_in_website>
576
- <show_in_store>0</show_in_store>
577
  </gateway_timeout>
578
  <sort_order translate="label">
579
  <label>Sort Order</label>
@@ -581,7 +561,7 @@
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
  </sort_order>
586
  <allowspecific translate="label">
587
  <label>Payment from applicable countries</label>
@@ -607,7 +587,7 @@
607
  <sort_order>180</sort_order>
608
  <show_in_default>1</show_in_default>
609
  <show_in_website>1</show_in_website>
610
- <show_in_store>0</show_in_store>
611
  </min_order_total>
612
  <max_order_total translate="label">
613
  <label>Maximum Order Total</label>
@@ -615,25 +595,26 @@
615
  <sort_order>190</sort_order>
616
  <show_in_default>1</show_in_default>
617
  <show_in_website>1</show_in_website>
618
- <show_in_store>0</show_in_store>
619
  </max_order_total>
620
  <orderscount translate="label">
621
  <label>Minimum Orders Count</label>
622
  <frontend_type>text</frontend_type>
623
  <sort_order>200</sort_order>
624
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
625
  <show_in_website>1</show_in_website>
626
- <show_in_store>0</show_in_store>
627
  </orderscount>
628
  </fields>
629
  </novalnetCc>
630
  <novalnet_secure translate="label" module="novalnet">
631
  <label>Novalnet Credit Card 3D-Secure</label>
632
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
633
  <sort_order>683</sort_order>
634
  <show_in_default>1</show_in_default>
635
  <show_in_website>1</show_in_website>
636
- <show_in_store>0</show_in_store>
637
  <fields>
638
  <active translate="label">
639
  <label>Enabled</label>
@@ -642,7 +623,7 @@
642
  <sort_order>1</sort_order>
643
  <show_in_default>1</show_in_default>
644
  <show_in_website>1</show_in_website>
645
- <show_in_store>0</show_in_store>
646
  </active>
647
  <title translate="label">
648
  <label>Title</label>
@@ -650,7 +631,7 @@
650
  <sort_order>2</sort_order>
651
  <show_in_default>1</show_in_default>
652
  <show_in_website>1</show_in_website>
653
- <show_in_store>0</show_in_store>
654
  </title>
655
  <order_status translate="label">
656
  <label>New order status</label>
@@ -659,7 +640,7 @@
659
  <sort_order>3</sort_order>
660
  <show_in_default>1</show_in_default>
661
  <show_in_website>1</show_in_website>
662
- <show_in_store>0</show_in_store>
663
  </order_status>
664
  <cctypes translate="label">
665
  <label>Credit Card Types</label>
@@ -668,7 +649,7 @@
668
  <sort_order>4</sort_order>
669
  <show_in_default>1</show_in_default>
670
  <show_in_website>1</show_in_website>
671
- <show_in_store>0</show_in_store>
672
  </cctypes>
673
  <merchant_id translate="label">
674
  <label>Novalnet Merchant ID</label>
@@ -676,7 +657,7 @@
676
  <sort_order>5</sort_order>
677
  <show_in_default>1</show_in_default>
678
  <show_in_website>1</show_in_website>
679
- <show_in_store>0</show_in_store>
680
  </merchant_id>
681
  <auth_code translate="label">
682
  <label>Novalnet Auth Code</label>
@@ -684,7 +665,7 @@
684
  <sort_order>6</sort_order>
685
  <show_in_default>1</show_in_default>
686
  <show_in_website>1</show_in_website>
687
- <show_in_store>0</show_in_store>
688
  </auth_code>
689
  <product_id translate="label">
690
  <label>Novalnet Product ID</label>
@@ -692,15 +673,15 @@
692
  <sort_order>7</sort_order>
693
  <show_in_default>1</show_in_default>
694
  <show_in_website>1</show_in_website>
695
- <show_in_store>0</show_in_store>
696
  </product_id>
697
  <tariff_id translate="label">
698
- <label>Novalnet Tariff ID</label>
699
  <frontend_type>text</frontend_type>
700
  <sort_order>8</sort_order>
701
  <show_in_default>1</show_in_default>
702
  <show_in_website>1</show_in_website>
703
- <show_in_store>0</show_in_store>
704
  </tariff_id>
705
  <manual_checking_amount tranlate="label" >
706
  <label>Manual checking amount in cents</label>
@@ -708,7 +689,7 @@
708
  <sort_order>9</sort_order>
709
  <show_in_default>1</show_in_default>
710
  <show_in_website>1</show_in_website>
711
- <show_in_store>0</show_in_store>
712
  </manual_checking_amount>
713
  <second_product_id translate="label">
714
  <label>Second Novalnet Product ID</label>
@@ -716,7 +697,7 @@
716
  <sort_order>10</sort_order>
717
  <show_in_default>1</show_in_default>
718
  <show_in_website>1</show_in_website>
719
- <show_in_store>0</show_in_store>
720
  </second_product_id>
721
  <second_tariff_id translate="label">
722
  <label>Second Novalnet Tariff Id</label>
@@ -724,7 +705,7 @@
724
  <sort_order>11</sort_order>
725
  <show_in_default>1</show_in_default>
726
  <show_in_website>1</show_in_website>
727
- <show_in_store>0</show_in_store>
728
  </second_tariff_id>
729
  <booking_reference translate="label">
730
  <label>Booking Reference</label>
@@ -735,16 +716,13 @@
735
  <show_in_store>1</show_in_store>
736
  </booking_reference>
737
  <user_group_excluded translate="label">
738
- <comment>
739
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
740
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
741
- </comment>
742
  <label>User Group Excluded</label>
743
  <frontend_type>text</frontend_type>
744
  <sort_order>13</sort_order>
745
  <show_in_default>1</show_in_default>
746
  <show_in_website>1</show_in_website>
747
- <show_in_store>0</show_in_store>
748
  </user_group_excluded>
749
  <live_mode translate="label">
750
  <label>Live Mode</label>
@@ -753,7 +731,7 @@
753
  <sort_order>14</sort_order>
754
  <show_in_default>1</show_in_default>
755
  <show_in_website>1</show_in_website>
756
- <show_in_store>0</show_in_store>
757
  </live_mode>
758
  <gateway_timeout translate="label">
759
  <comment>Gateway Timeout in seconds</comment>
@@ -762,7 +740,7 @@
762
  <sort_order>17</sort_order>
763
  <show_in_default>1</show_in_default>
764
  <show_in_website>1</show_in_website>
765
- <show_in_store>0</show_in_store>
766
  </gateway_timeout>
767
  <sort_order translate="label">
768
  <label>Sort Order</label>
@@ -770,7 +748,7 @@
770
  <sort_order>100</sort_order>
771
  <show_in_default>1</show_in_default>
772
  <show_in_website>1</show_in_website>
773
- <show_in_store>0</show_in_store>
774
  </sort_order>
775
  <allowspecific translate="label">
776
  <label>Payment from applicable countries</label>
@@ -796,7 +774,7 @@
796
  <sort_order>180</sort_order>
797
  <show_in_default>1</show_in_default>
798
  <show_in_website>1</show_in_website>
799
- <show_in_store>0</show_in_store>
800
  </min_order_total>
801
  <max_order_total translate="label">
802
  <label>Maximum Order Total</label>
@@ -804,25 +782,26 @@
804
  <sort_order>190</sort_order>
805
  <show_in_default>1</show_in_default>
806
  <show_in_website>1</show_in_website>
807
- <show_in_store>0</show_in_store>
808
  </max_order_total>
809
  <orderscount translate="label">
810
  <label>Minimum Orders Count</label>
811
  <frontend_type>text</frontend_type>
812
  <sort_order>200</sort_order>
813
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
814
  <show_in_website>1</show_in_website>
815
- <show_in_store>0</show_in_store>
816
  </orderscount>
817
  </fields>
818
  </novalnet_secure>
819
  <novalnetPrepayment translate="label" module="novalnet">
820
  <label>Novalnet Prepayment</label>
821
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
822
  <sort_order>690</sort_order>
823
  <show_in_default>1</show_in_default>
824
  <show_in_website>1</show_in_website>
825
- <show_in_store>0</show_in_store>
826
  <fields>
827
  <active translate="label">
828
  <label>Enabled</label>
@@ -831,7 +810,7 @@
831
  <sort_order>1</sort_order>
832
  <show_in_default>1</show_in_default>
833
  <show_in_website>1</show_in_website>
834
- <show_in_store>0</show_in_store>
835
  </active>
836
  <title translate="label">
837
  <label>Title</label>
@@ -839,7 +818,7 @@
839
  <sort_order>2</sort_order>
840
  <show_in_default>1</show_in_default>
841
  <show_in_website>1</show_in_website>
842
- <show_in_store>0</show_in_store>
843
  </title>
844
  <order_status translate="label">
845
  <label>New order status</label>
@@ -848,7 +827,7 @@
848
  <sort_order>3</sort_order>
849
  <show_in_default>1</show_in_default>
850
  <show_in_website>1</show_in_website>
851
- <show_in_store>0</show_in_store>
852
  </order_status>
853
  <merchant_id translate="label">
854
  <label>Novalnet Merchant ID</label>
@@ -856,7 +835,7 @@
856
  <sort_order>4</sort_order>
857
  <show_in_default>1</show_in_default>
858
  <show_in_website>1</show_in_website>
859
- <show_in_store>0</show_in_store>
860
  </merchant_id>
861
  <auth_code translate="label">
862
  <label>Novalnet Auth Code</label>
@@ -864,7 +843,7 @@
864
  <sort_order>5</sort_order>
865
  <show_in_default>1</show_in_default>
866
  <show_in_website>1</show_in_website>
867
- <show_in_store>0</show_in_store>
868
  </auth_code>
869
  <product_id translate="label">
870
  <label>Novalnet Product ID</label>
@@ -872,27 +851,24 @@
872
  <sort_order>6</sort_order>
873
  <show_in_default>1</show_in_default>
874
  <show_in_website>1</show_in_website>
875
- <show_in_store>0</show_in_store>
876
  </product_id>
877
  <tariff_id translate="label">
878
- <label>Novalnet Tariff ID</label>
879
  <frontend_type>text</frontend_type>
880
  <sort_order>7</sort_order>
881
  <show_in_default>1</show_in_default>
882
  <show_in_website>1</show_in_website>
883
- <show_in_store>0</show_in_store>
884
  </tariff_id>
885
  <user_group_excluded translate="label">
886
- <comment>
887
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
888
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
889
- </comment>
890
  <label>User Group Excluded</label>
891
  <frontend_type>text</frontend_type>
892
  <sort_order>8</sort_order>
893
  <show_in_default>1</show_in_default>
894
  <show_in_website>1</show_in_website>
895
- <show_in_store>0</show_in_store>
896
  </user_group_excluded>
897
  <live_mode translate="label">
898
  <label>Live Mode</label>
@@ -901,7 +877,7 @@
901
  <sort_order>9</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
  </live_mode>
906
  <gateway_timeout translate="label">
907
  <comment>Gateway Timeout in seconds</comment>
@@ -910,7 +886,7 @@
910
  <sort_order>10</sort_order>
911
  <show_in_default>1</show_in_default>
912
  <show_in_website>1</show_in_website>
913
- <show_in_store>0</show_in_store>
914
  </gateway_timeout>
915
  <sort_order translate="label">
916
  <label>Sort Order</label>
@@ -918,7 +894,7 @@
918
  <sort_order>100</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
  </sort_order>
923
  <allowspecific translate="label">
924
  <label>Payment from applicable countries</label>
@@ -944,7 +920,7 @@
944
  <sort_order>180</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
  </min_order_total>
949
  <max_order_total translate="label">
950
  <label>Maximum Order Total</label>
@@ -952,25 +928,26 @@
952
  <sort_order>190</sort_order>
953
  <show_in_default>1</show_in_default>
954
  <show_in_website>1</show_in_website>
955
- <show_in_store>0</show_in_store>
956
  </max_order_total>
957
  <orderscount translate="label">
958
  <label>Minimum Orders Count</label>
959
  <frontend_type>text</frontend_type>
960
  <sort_order>200</sort_order>
961
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
962
  <show_in_website>1</show_in_website>
963
- <show_in_store>0</show_in_store>
964
  </orderscount>
965
  </fields>
966
  </novalnetPrepayment>
967
  <novalnetInvoice translate="label" module="novalnet">
968
  <label>Novalnet Invoice</label>
969
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
970
  <sort_order>689</sort_order>
971
  <show_in_default>1</show_in_default>
972
  <show_in_website>1</show_in_website>
973
- <show_in_store>0</show_in_store>
974
  <fields>
975
  <active translate="label">
976
  <label>Enabled</label>
@@ -979,7 +956,7 @@
979
  <sort_order>1</sort_order>
980
  <show_in_default>1</show_in_default>
981
  <show_in_website>1</show_in_website>
982
- <show_in_store>0</show_in_store>
983
  </active>
984
  <title translate="label">
985
  <label>Title</label>
@@ -987,7 +964,7 @@
987
  <sort_order>2</sort_order>
988
  <show_in_default>1</show_in_default>
989
  <show_in_website>1</show_in_website>
990
- <show_in_store>0</show_in_store>
991
  </title>
992
  <order_status translate="label">
993
  <label>New order status</label>
@@ -996,7 +973,7 @@
996
  <sort_order>3</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
  </order_status>
1001
  <merchant_id translate="label">
1002
  <label>Novalnet Merchant ID</label>
@@ -1004,7 +981,7 @@
1004
  <sort_order>4</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
  </merchant_id>
1009
  <auth_code translate="label">
1010
  <label>Novalnet Auth Code</label>
@@ -1012,7 +989,7 @@
1012
  <sort_order>5</sort_order>
1013
  <show_in_default>1</show_in_default>
1014
  <show_in_website>1</show_in_website>
1015
- <show_in_store>0</show_in_store>
1016
  </auth_code>
1017
  <product_id translate="label">
1018
  <label>Novalnet Product ID</label>
@@ -1020,39 +997,33 @@
1020
  <sort_order>6</sort_order>
1021
  <show_in_default>1</show_in_default>
1022
  <show_in_website>1</show_in_website>
1023
- <show_in_store>0</show_in_store>
1024
  </product_id>
1025
  <tariff_id translate="label">
1026
- <label>Novalnet Tariff ID</label>
1027
  <frontend_type>text</frontend_type>
1028
  <sort_order>7</sort_order>
1029
  <show_in_default>1</show_in_default>
1030
  <show_in_website>1</show_in_website>
1031
- <show_in_store>0</show_in_store>
1032
  </tariff_id>
1033
  <callback translate="label">
1034
- <comment>
1035
- Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert.
1036
- Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss.
1037
- Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden,
1038
- andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar.
1039
- This service is only available for german customers.
1040
- </comment>
1041
- <label>PIN by Callback/SMS</label>
1042
  <frontend_type>select</frontend_type>
1043
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
1044
  <sort_order>8</sort_order>
1045
  <show_in_default>1</show_in_default>
1046
  <show_in_website>1</show_in_website>
1047
- <show_in_store>0</show_in_store>
1048
  </callback>
1049
  <callback_minimum_amount>
1050
- <label>Minimum Amount For Callback</label>
1051
  <frontend_type>text</frontend_type>
1052
  <sort_order>9</sort_order>
1053
  <show_in_default>1</show_in_default>
1054
  <show_in_website>1</show_in_website>
1055
- <show_in_store>0</show_in_store>
1056
  </callback_minimum_amount>
1057
  <payment_duration translate="label">
1058
  <label>Payment Duration</label>
@@ -1060,19 +1031,16 @@
1060
  <sort_order>10</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
  </payment_duration>
1065
  <user_group_excluded translate="label">
1066
- <comment>
1067
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1068
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1069
- </comment>
1070
  <label>User Group Excluded</label>
1071
  <frontend_type>text</frontend_type>
1072
  <sort_order>11</sort_order>
1073
  <show_in_default>1</show_in_default>
1074
  <show_in_website>1</show_in_website>
1075
- <show_in_store>0</show_in_store>
1076
  </user_group_excluded>
1077
  <live_mode translate="label">
1078
  <label>Live Mode</label>
@@ -1081,7 +1049,7 @@
1081
  <sort_order>12</sort_order>
1082
  <show_in_default>1</show_in_default>
1083
  <show_in_website>1</show_in_website>
1084
- <show_in_store>0</show_in_store>
1085
  </live_mode>
1086
  <gateway_timeout translate="label">
1087
  <comment>Gateway Timeout in seconds</comment>
@@ -1090,7 +1058,7 @@
1090
  <sort_order>13</sort_order>
1091
  <show_in_default>1</show_in_default>
1092
  <show_in_website>1</show_in_website>
1093
- <show_in_store>0</show_in_store>
1094
  </gateway_timeout>
1095
  <sort_order translate="label">
1096
  <label>Sort Order</label>
@@ -1098,7 +1066,7 @@
1098
  <sort_order>100</sort_order>
1099
  <show_in_default>1</show_in_default>
1100
  <show_in_website>1</show_in_website>
1101
- <show_in_store>0</show_in_store>
1102
  </sort_order>
1103
  <allowspecific translate="label">
1104
  <label>Payment from applicable countries</label>
@@ -1124,7 +1092,7 @@
1124
  <sort_order>180</sort_order>
1125
  <show_in_default>1</show_in_default>
1126
  <show_in_website>1</show_in_website>
1127
- <show_in_store>0</show_in_store>
1128
  </min_order_total>
1129
  <max_order_total translate="label">
1130
  <label>Maximum Order Total</label>
@@ -1132,15 +1100,16 @@
1132
  <sort_order>190</sort_order>
1133
  <show_in_default>1</show_in_default>
1134
  <show_in_website>1</show_in_website>
1135
- <show_in_store>0</show_in_store>
1136
  </max_order_total>
1137
  <orderscount translate="label">
1138
  <label>Minimum Orders Count</label>
1139
  <frontend_type>text</frontend_type>
1140
  <sort_order>200</sort_order>
1141
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
1142
  <show_in_website>1</show_in_website>
1143
- <show_in_store>0</show_in_store>
1144
  </orderscount>
1145
  </fields>
1146
  </novalnetInvoice>
@@ -1150,7 +1119,7 @@
1150
  <sort_order>691</sort_order>
1151
  <show_in_default>1</show_in_default>
1152
  <show_in_website>1</show_in_website>
1153
- <show_in_store>0</show_in_store>
1154
  <fields>
1155
  <active translate="label">
1156
  <label>Enabled</label>
@@ -1159,7 +1128,7 @@
1159
  <sort_order>1</sort_order>
1160
  <show_in_default>1</show_in_default>
1161
  <show_in_website>1</show_in_website>
1162
- <show_in_store>0</show_in_store>
1163
  </active>
1164
  <title translate="label">
1165
  <label>Title</label>
@@ -1167,16 +1136,17 @@
1167
  <sort_order>2</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
  </title>
1172
  <order_status translate="label">
1173
  <label>New order status</label>
1174
  <frontend_type>select</frontend_type>
1175
  <source_model>adminhtml/system_config_source_order_status</source_model>
1176
  <sort_order>3</sort_order>
 
1177
  <show_in_default>1</show_in_default>
1178
  <show_in_website>1</show_in_website>
1179
- <show_in_store>0</show_in_store>
1180
  </order_status>
1181
  <merchant_id translate="label">
1182
  <label>Novalnet Merchant ID</label>
@@ -1184,7 +1154,7 @@
1184
  <sort_order>4</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
  </merchant_id>
1189
  <auth_code translate="label">
1190
  <label>Novalnet Auth Code</label>
@@ -1192,7 +1162,7 @@
1192
  <sort_order>5</sort_order>
1193
  <show_in_default>1</show_in_default>
1194
  <show_in_website>1</show_in_website>
1195
- <show_in_store>0</show_in_store>
1196
  </auth_code>
1197
  <product_id translate="label">
1198
  <label>Novalnet Product ID</label>
@@ -1200,27 +1170,24 @@
1200
  <sort_order>6</sort_order>
1201
  <show_in_default>1</show_in_default>
1202
  <show_in_website>1</show_in_website>
1203
- <show_in_store>0</show_in_store>
1204
  </product_id>
1205
  <tariff_id translate="label">
1206
- <label>Novalnet Tariff ID</label>
1207
  <frontend_type>text</frontend_type>
1208
  <sort_order>7</sort_order>
1209
  <show_in_default>1</show_in_default>
1210
  <show_in_website>1</show_in_website>
1211
- <show_in_store>0</show_in_store>
1212
  </tariff_id>
1213
  <user_group_excluded translate="label">
1214
- <comment>
1215
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1216
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1217
- </comment>
1218
  <label>User Group Excluded</label>
1219
  <frontend_type>text</frontend_type>
1220
  <sort_order>8</sort_order>
1221
  <show_in_default>1</show_in_default>
1222
  <show_in_website>1</show_in_website>
1223
- <show_in_store>0</show_in_store>
1224
  </user_group_excluded>
1225
  <gateway_timeout translate="label">
1226
  <comment>Gateway Timeout in seconds</comment>
@@ -1229,7 +1196,7 @@
1229
  <sort_order>9</sort_order>
1230
  <show_in_default>1</show_in_default>
1231
  <show_in_website>1</show_in_website>
1232
- <show_in_store>0</show_in_store>
1233
  </gateway_timeout>
1234
  <sort_order translate="label">
1235
  <label>Sort Order</label>
@@ -1237,7 +1204,7 @@
1237
  <sort_order>100</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
  </sort_order>
1242
  <allowspecific translate="label">
1243
  <label>Payment from applicable countries</label>
@@ -1263,7 +1230,7 @@
1263
  <sort_order>180</sort_order>
1264
  <show_in_default>1</show_in_default>
1265
  <show_in_website>1</show_in_website>
1266
- <show_in_store>0</show_in_store>
1267
  </min_order_total>
1268
  <max_order_total translate="label">
1269
  <label>Maximum Order Total</label>
@@ -1271,26 +1238,27 @@
1271
  <sort_order>190</sort_order>
1272
  <show_in_default>1</show_in_default>
1273
  <show_in_website>1</show_in_website>
1274
- <show_in_store>0</show_in_store>
1275
  </max_order_total>
1276
  <orderscount translate="label">
1277
  <label>Minimum Orders Count</label>
1278
  <frontend_type>text</frontend_type>
1279
  <sort_order>200</sort_order>
1280
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
1281
  <show_in_website>1</show_in_website>
1282
- <show_in_store>0</show_in_store>
1283
  </orderscount>
1284
  </fields>
1285
  </novalnetPhonepayment>
1286
  <!-- ccpci-start -->
1287
  <novalnetCcpci translate="label" module="novalnet">
1288
  <label>Novalnet Credit Card PCI</label>
1289
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1290
  <sort_order>687</sort_order>
1291
  <show_in_default>1</show_in_default>
1292
  <show_in_website>1</show_in_website>
1293
- <show_in_store>0</show_in_store>
1294
  <fields>
1295
  <active translate="label">
1296
  <label>Enabled</label>
@@ -1299,7 +1267,7 @@
1299
  <sort_order>1</sort_order>
1300
  <show_in_default>1</show_in_default>
1301
  <show_in_website>1</show_in_website>
1302
- <show_in_store>0</show_in_store>
1303
  </active>
1304
  <title translate="label">
1305
  <label>Title</label>
@@ -1307,7 +1275,7 @@
1307
  <sort_order>2</sort_order>
1308
  <show_in_default>1</show_in_default>
1309
  <show_in_website>1</show_in_website>
1310
- <show_in_store>0</show_in_store>
1311
  </title>
1312
  <order_status translate="label">
1313
  <label>New order status</label>
@@ -1316,7 +1284,7 @@
1316
  <sort_order>3</sort_order>
1317
  <show_in_default>1</show_in_default>
1318
  <show_in_website>1</show_in_website>
1319
- <show_in_store>0</show_in_store>
1320
  </order_status>
1321
  <merchant_id translate="label">
1322
  <label>Novalnet Merchant ID</label>
@@ -1324,7 +1292,7 @@
1324
  <sort_order>4</sort_order>
1325
  <show_in_default>1</show_in_default>
1326
  <show_in_website>1</show_in_website>
1327
- <show_in_store>0</show_in_store>
1328
  </merchant_id>
1329
  <auth_code translate="label">
1330
  <label>Novalnet Auth Code</label>
@@ -1332,7 +1300,7 @@
1332
  <sort_order>5</sort_order>
1333
  <show_in_default>1</show_in_default>
1334
  <show_in_website>1</show_in_website>
1335
- <show_in_store>0</show_in_store>
1336
  </auth_code>
1337
  <product_id translate="label">
1338
  <label>Novalnet Product ID</label>
@@ -1340,7 +1308,7 @@
1340
  <sort_order>6</sort_order>
1341
  <show_in_default>1</show_in_default>
1342
  <show_in_website>1</show_in_website>
1343
- <show_in_store>0</show_in_store>
1344
  </product_id>
1345
  <tariff_id translate="label">
1346
  <label>Novalnet Tariff Id</label>
@@ -1348,68 +1316,65 @@
1348
  <sort_order>7</sort_order>
1349
  <show_in_default>1</show_in_default>
1350
  <show_in_website>1</show_in_website>
1351
- <show_in_store>0</show_in_store>
1352
  </tariff_id>
1353
  <manual_checking_amount tranlate="label" >
1354
  <label>Manual checking amount in cents</label>
1355
  <frontend_type>text</frontend_type>
1356
- <sort_order>8</sort_order>
1357
  <show_in_default>1</show_in_default>
1358
  <show_in_website>1</show_in_website>
1359
- <show_in_store>0</show_in_store>
1360
  </manual_checking_amount>
1361
  <second_product_id translate="label">
1362
  <label>Second Novalnet Product ID</label>
1363
  <frontend_type>text</frontend_type>
1364
- <sort_order>9</sort_order>
1365
  <show_in_default>1</show_in_default>
1366
  <show_in_website>1</show_in_website>
1367
- <show_in_store>0</show_in_store>
1368
  </second_product_id>
1369
  <second_tariff_id translate="label">
1370
  <label>Second Novalnet Tariff Id</label>
1371
  <frontend_type>text</frontend_type>
1372
- <sort_order>10</sort_order>
1373
  <show_in_default>1</show_in_default>
1374
  <show_in_website>1</show_in_website>
1375
- <show_in_store>0</show_in_store>
1376
  </second_tariff_id>
1377
  <password translate="label">
1378
- <label>Password</label>
1379
  <frontend_type>text</frontend_type>
1380
- <sort_order>9</sort_order>
1381
  <show_in_default>1</show_in_default>
1382
  <show_in_website>1</show_in_website>
1383
- <show_in_store>0</show_in_store>
1384
  </password>
1385
  <booking_reference translate="label">
1386
  <label>Booking Reference</label>
1387
  <frontend_type>text</frontend_type>
1388
- <sort_order>11</sort_order>
1389
  <show_in_default>1</show_in_default>
1390
  <show_in_website>1</show_in_website>
1391
  <show_in_store>1</show_in_store>
1392
  </booking_reference>
1393
  <user_group_excluded translate="label">
1394
- <comment>
1395
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1396
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1397
- </comment>
1398
  <label>User Group Excluded</label>
1399
  <frontend_type>text</frontend_type>
1400
- <sort_order>12</sort_order>
1401
  <show_in_default>1</show_in_default>
1402
  <show_in_website>1</show_in_website>
1403
- <show_in_store>0</show_in_store>
1404
  </user_group_excluded>
1405
  <live_mode translate="label">
1406
  <label>Live Mode</label>
1407
  <frontend_type>select</frontend_type>
1408
  <source_model>adminhtml/system_config_source_yesno</source_model>
1409
- <sort_order>13</sort_order>
1410
  <show_in_default>1</show_in_default>
1411
  <show_in_website>1</show_in_website>
1412
- <show_in_store>0</show_in_store>
1413
  </live_mode>
1414
  <gateway_timeout translate="label">
1415
  <comment>Gateway Timeout in seconds</comment>
@@ -1418,7 +1383,7 @@
1418
  <sort_order>17</sort_order>
1419
  <show_in_default>1</show_in_default>
1420
  <show_in_website>1</show_in_website>
1421
- <show_in_store>0</show_in_store>
1422
  </gateway_timeout>
1423
  <sort_order translate="label">
1424
  <label>Sort Order</label>
@@ -1426,7 +1391,7 @@
1426
  <sort_order>100</sort_order>
1427
  <show_in_default>1</show_in_default>
1428
  <show_in_website>1</show_in_website>
1429
- <show_in_store>0</show_in_store>
1430
  </sort_order>
1431
  <createinvoice translate="label">
1432
  <label>Create Invoice</label>
@@ -1461,7 +1426,7 @@
1461
  <sort_order>180</sort_order>
1462
  <show_in_default>1</show_in_default>
1463
  <show_in_website>1</show_in_website>
1464
- <show_in_store>0</show_in_store>
1465
  </min_order_total>
1466
  <max_order_total translate="label">
1467
  <label>Maximum Order Total</label>
@@ -1469,15 +1434,16 @@
1469
  <sort_order>190</sort_order>
1470
  <show_in_default>1</show_in_default>
1471
  <show_in_website>1</show_in_website>
1472
- <show_in_store>0</show_in_store>
1473
  </max_order_total>
1474
  <orderscount translate="label">
1475
  <label>Minimum Orders Count</label>
1476
  <frontend_type>text</frontend_type>
1477
  <sort_order>200</sort_order>
1478
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
1479
  <show_in_website>1</show_in_website>
1480
- <show_in_store>0</show_in_store>
1481
  </orderscount>
1482
  </fields>
1483
  </novalnetCcpci>
@@ -1485,11 +1451,11 @@
1485
  <!-- elvdepci-start -->
1486
  <novalnetElvdepci translate="label" module="novalnet">
1487
  <label>Novalnet Direct Debit German PCI</label>
1488
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1489
  <sort_order>689</sort_order>
1490
  <show_in_default>1</show_in_default>
1491
  <show_in_website>1</show_in_website>
1492
- <show_in_store>0</show_in_store>
1493
  <fields>
1494
  <active translate="label">
1495
  <label>Enabled</label>
@@ -1498,7 +1464,7 @@
1498
  <sort_order>1</sort_order>
1499
  <show_in_default>1</show_in_default>
1500
  <show_in_website>1</show_in_website>
1501
- <show_in_store>0</show_in_store>
1502
  </active>
1503
  <title translate="label">
1504
  <label>Title</label>
@@ -1506,7 +1472,7 @@
1506
  <sort_order>2</sort_order>
1507
  <show_in_default>1</show_in_default>
1508
  <show_in_website>1</show_in_website>
1509
- <show_in_store>0</show_in_store>
1510
  </title>
1511
  <order_status translate="label">
1512
  <label>New order status</label>
@@ -1515,7 +1481,7 @@
1515
  <sort_order>3</sort_order>
1516
  <show_in_default>1</show_in_default>
1517
  <show_in_website>1</show_in_website>
1518
- <show_in_store>0</show_in_store>
1519
  </order_status>
1520
  <merchant_id translate="label">
1521
  <label>Novalnet Merchant ID</label>
@@ -1523,7 +1489,7 @@
1523
  <sort_order>4</sort_order>
1524
  <show_in_default>1</show_in_default>
1525
  <show_in_website>1</show_in_website>
1526
- <show_in_store>0</show_in_store>
1527
  </merchant_id>
1528
  <auth_code translate="label">
1529
  <label>Novalnet Auth Code</label>
@@ -1531,7 +1497,7 @@
1531
  <sort_order>5</sort_order>
1532
  <show_in_default>1</show_in_default>
1533
  <show_in_website>1</show_in_website>
1534
- <show_in_store>0</show_in_store>
1535
  </auth_code>
1536
  <product_id translate="label">
1537
  <label>Novalnet Product ID</label>
@@ -1539,7 +1505,7 @@
1539
  <sort_order>6</sort_order>
1540
  <show_in_default>1</show_in_default>
1541
  <show_in_website>1</show_in_website>
1542
- <show_in_store>0</show_in_store>
1543
  </product_id>
1544
  <tariff_id translate="label">
1545
  <label>Novalnet Tariff Id</label>
@@ -1547,68 +1513,65 @@
1547
  <sort_order>7</sort_order>
1548
  <show_in_default>1</show_in_default>
1549
  <show_in_website>1</show_in_website>
1550
- <show_in_store>0</show_in_store>
1551
  </tariff_id>
1552
  <password translate="label">
1553
- <label>Password</label>
1554
  <frontend_type>text</frontend_type>
1555
  <sort_order>9</sort_order>
1556
  <show_in_default>1</show_in_default>
1557
  <show_in_website>1</show_in_website>
1558
- <show_in_store>0</show_in_store>
1559
  </password>
1560
  <manual_checking_amount tranlate="label" >
1561
  <label>Manual checking amount in cents</label>
1562
  <frontend_type>text</frontend_type>
1563
- <sort_order>8</sort_order>
1564
  <show_in_default>1</show_in_default>
1565
  <show_in_website>1</show_in_website>
1566
- <show_in_store>0</show_in_store>
1567
  </manual_checking_amount>
1568
  <second_product_id translate="label">
1569
  <label>Second Novalnet Product ID</label>
1570
  <frontend_type>text</frontend_type>
1571
- <sort_order>9</sort_order>
1572
  <show_in_default>1</show_in_default>
1573
  <show_in_website>1</show_in_website>
1574
- <show_in_store>0</show_in_store>
1575
  </second_product_id>
1576
  <second_tariff_id translate="label">
1577
  <label>Second Novalnet Tariff Id</label>
1578
  <frontend_type>text</frontend_type>
1579
- <sort_order>10</sort_order>
1580
  <show_in_default>1</show_in_default>
1581
  <show_in_website>1</show_in_website>
1582
- <show_in_store>0</show_in_store>
1583
  </second_tariff_id>
1584
  <booking_reference translate="label">
1585
  <label>Booking Reference</label>
1586
  <frontend_type>text</frontend_type>
1587
- <sort_order>11</sort_order>
1588
  <show_in_default>1</show_in_default>
1589
  <show_in_website>1</show_in_website>
1590
  <show_in_store>1</show_in_store>
1591
  </booking_reference>
1592
  <user_group_excluded translate="label">
1593
- <comment>
1594
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1595
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1596
- </comment>
1597
  <label>User Group Excluded</label>
1598
  <frontend_type>text</frontend_type>
1599
- <sort_order>13</sort_order>
1600
  <show_in_default>1</show_in_default>
1601
  <show_in_website>1</show_in_website>
1602
- <show_in_store>0</show_in_store>
1603
  </user_group_excluded>
1604
  <live_mode translate="label">
1605
  <label>Live Mode</label>
1606
  <frontend_type>select</frontend_type>
1607
  <source_model>adminhtml/system_config_source_yesno</source_model>
1608
- <sort_order>14</sort_order>
1609
  <show_in_default>1</show_in_default>
1610
  <show_in_website>1</show_in_website>
1611
- <show_in_store>0</show_in_store>
1612
  </live_mode>
1613
  <gateway_timeout translate="label">
1614
  <comment>Gateway Timeout in seconds</comment>
@@ -1617,7 +1580,7 @@
1617
  <sort_order>17</sort_order>
1618
  <show_in_default>1</show_in_default>
1619
  <show_in_website>1</show_in_website>
1620
- <show_in_store>0</show_in_store>
1621
  </gateway_timeout>
1622
  <sort_order translate="label">
1623
  <label>Sort Order</label>
@@ -1625,7 +1588,7 @@
1625
  <sort_order>100</sort_order>
1626
  <show_in_default>1</show_in_default>
1627
  <show_in_website>1</show_in_website>
1628
- <show_in_store>0</show_in_store>
1629
  </sort_order>
1630
  <createinvoice translate="label">
1631
  <label>Create Invoice</label>
@@ -1660,7 +1623,7 @@
1660
  <sort_order>180</sort_order>
1661
  <show_in_default>1</show_in_default>
1662
  <show_in_website>1</show_in_website>
1663
- <show_in_store>0</show_in_store>
1664
  </min_order_total>
1665
  <max_order_total translate="label">
1666
  <label>Maximum Order Total</label>
@@ -1668,15 +1631,16 @@
1668
  <sort_order>190</sort_order>
1669
  <show_in_default>1</show_in_default>
1670
  <show_in_website>1</show_in_website>
1671
- <show_in_store>0</show_in_store>
1672
  </max_order_total>
1673
  <orderscount translate="label">
1674
  <label>Minimum Orders Count</label>
1675
  <frontend_type>text</frontend_type>
1676
  <sort_order>200</sort_order>
1677
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
1678
  <show_in_website>1</show_in_website>
1679
- <show_in_store>0</show_in_store>
1680
  </orderscount>
1681
  </fields>
1682
  </novalnetElvdepci>
@@ -1684,11 +1648,11 @@
1684
  <!-- elvatpci-start -->
1685
  <novalnetElvatpci translate="label" module="novalnet">
1686
  <label>Novalnet Direct Debit Austria PCI</label>
1687
- <comment>Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen. You have to set the live mode to 'yes' for real payments.</comment>
1688
  <sort_order>691</sort_order>
1689
  <show_in_default>1</show_in_default>
1690
  <show_in_website>1</show_in_website>
1691
- <show_in_store>0</show_in_store>
1692
  <fields>
1693
  <active translate="label">
1694
  <label>Enabled</label>
@@ -1697,7 +1661,7 @@
1697
  <sort_order>1</sort_order>
1698
  <show_in_default>1</show_in_default>
1699
  <show_in_website>1</show_in_website>
1700
- <show_in_store>0</show_in_store>
1701
  </active>
1702
  <title translate="label">
1703
  <label>Title</label>
@@ -1705,7 +1669,7 @@
1705
  <sort_order>2</sort_order>
1706
  <show_in_default>1</show_in_default>
1707
  <show_in_website>1</show_in_website>
1708
- <show_in_store>0</show_in_store>
1709
  </title>
1710
  <order_status translate="label">
1711
  <label>New order status</label>
@@ -1714,7 +1678,7 @@
1714
  <sort_order>3</sort_order>
1715
  <show_in_default>1</show_in_default>
1716
  <show_in_website>1</show_in_website>
1717
- <show_in_store>0</show_in_store>
1718
  </order_status>
1719
  <merchant_id translate="label">
1720
  <label>Novalnet Merchant ID</label>
@@ -1722,7 +1686,7 @@
1722
  <sort_order>4</sort_order>
1723
  <show_in_default>1</show_in_default>
1724
  <show_in_website>1</show_in_website>
1725
- <show_in_store>0</show_in_store>
1726
  </merchant_id>
1727
  <auth_code translate="label">
1728
  <label>Novalnet Auth Code</label>
@@ -1730,7 +1694,7 @@
1730
  <sort_order>5</sort_order>
1731
  <show_in_default>1</show_in_default>
1732
  <show_in_website>1</show_in_website>
1733
- <show_in_store>0</show_in_store>
1734
  </auth_code>
1735
  <product_id translate="label">
1736
  <label>Novalnet Product ID</label>
@@ -1738,7 +1702,7 @@
1738
  <sort_order>6</sort_order>
1739
  <show_in_default>1</show_in_default>
1740
  <show_in_website>1</show_in_website>
1741
- <show_in_store>0</show_in_store>
1742
  </product_id>
1743
  <tariff_id translate="label">
1744
  <label>Novalnet Tariff Id</label>
@@ -1746,68 +1710,65 @@
1746
  <sort_order>7</sort_order>
1747
  <show_in_default>1</show_in_default>
1748
  <show_in_website>1</show_in_website>
1749
- <show_in_store>0</show_in_store>
1750
  </tariff_id>
1751
  <password translate="label">
1752
- <label>Password</label>
1753
  <frontend_type>text</frontend_type>
1754
- <sort_order>9</sort_order>
1755
  <show_in_default>1</show_in_default>
1756
  <show_in_website>1</show_in_website>
1757
- <show_in_store>0</show_in_store>
1758
  </password>
1759
  <manual_checking_amount tranlate="label" >
1760
  <label>Manual checking amount in cents</label>
1761
  <frontend_type>text</frontend_type>
1762
- <sort_order>8</sort_order>
1763
  <show_in_default>1</show_in_default>
1764
  <show_in_website>1</show_in_website>
1765
- <show_in_store>0</show_in_store>
1766
  </manual_checking_amount>
1767
  <second_product_id translate="label">
1768
  <label>Second Novalnet Product ID</label>
1769
  <frontend_type>text</frontend_type>
1770
- <sort_order>9</sort_order>
1771
  <show_in_default>1</show_in_default>
1772
  <show_in_website>1</show_in_website>
1773
- <show_in_store>0</show_in_store>
1774
  </second_product_id>
1775
  <second_tariff_id translate="label">
1776
  <label>Second Novalnet Tariff Id</label>
1777
  <frontend_type>text</frontend_type>
1778
- <sort_order>10</sort_order>
1779
  <show_in_default>1</show_in_default>
1780
  <show_in_website>1</show_in_website>
1781
- <show_in_store>0</show_in_store>
1782
  </second_tariff_id>
1783
  <booking_reference translate="label">
1784
  <label>Booking Reference</label>
1785
  <frontend_type>text</frontend_type>
1786
- <sort_order>11</sort_order>
1787
  <show_in_default>1</show_in_default>
1788
  <show_in_website>1</show_in_website>
1789
  <show_in_store>1</show_in_store>
1790
  </booking_reference>
1791
  <user_group_excluded translate="label">
1792
- <comment>
1793
- Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.
1794
- To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management.
1795
- </comment>
1796
  <label>User Group Excluded</label>
1797
  <frontend_type>text</frontend_type>
1798
- <sort_order>12</sort_order>
1799
  <show_in_default>1</show_in_default>
1800
  <show_in_website>1</show_in_website>
1801
- <show_in_store>0</show_in_store>
1802
  </user_group_excluded>
1803
  <live_mode translate="label">
1804
  <label>Live Mode</label>
1805
  <frontend_type>select</frontend_type>
1806
  <source_model>adminhtml/system_config_source_yesno</source_model>
1807
- <sort_order>13</sort_order>
1808
  <show_in_default>1</show_in_default>
1809
  <show_in_website>1</show_in_website>
1810
- <show_in_store>0</show_in_store>
1811
  </live_mode>
1812
  <gateway_timeout translate="label">
1813
  <comment>Gateway Timeout in seconds</comment>
@@ -1816,7 +1777,7 @@
1816
  <sort_order>17</sort_order>
1817
  <show_in_default>1</show_in_default>
1818
  <show_in_website>1</show_in_website>
1819
- <show_in_store>0</show_in_store>
1820
  </gateway_timeout>
1821
  <sort_order translate="label">
1822
  <label>Sort Order</label>
@@ -1824,7 +1785,7 @@
1824
  <sort_order>100</sort_order>
1825
  <show_in_default>1</show_in_default>
1826
  <show_in_website>1</show_in_website>
1827
- <show_in_store>0</show_in_store>
1828
  </sort_order>
1829
  <createinvoice translate="label">
1830
  <label>Create Invoice</label>
@@ -1859,7 +1820,7 @@
1859
  <sort_order>180</sort_order>
1860
  <show_in_default>1</show_in_default>
1861
  <show_in_website>1</show_in_website>
1862
- <show_in_store>0</show_in_store>
1863
  </min_order_total>
1864
  <max_order_total translate="label">
1865
  <label>Maximum Order Total</label>
@@ -1867,15 +1828,16 @@
1867
  <sort_order>190</sort_order>
1868
  <show_in_default>1</show_in_default>
1869
  <show_in_website>1</show_in_website>
1870
- <show_in_store>0</show_in_store>
1871
  </max_order_total>
1872
  <orderscount translate="label">
1873
  <label>Minimum Orders Count</label>
1874
  <frontend_type>text</frontend_type>
1875
  <sort_order>200</sort_order>
1876
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
1877
  <show_in_website>1</show_in_website>
1878
- <show_in_store>0</show_in_store>
1879
  </orderscount>
1880
  </fields>
1881
  </novalnetElvatpci>
@@ -1883,4 +1845,4 @@
1883
  </groups>
1884
  </payment>
1885
  </sections>
1886
- </config>
7
  <novalnetElvgerman translate="label" module="novalnet">
8
  <!-- will have title 'New Module' -->
9
  <label>Novalnet Direct Debit German</label>
10
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
11
  <!-- position between other payment methods -->
12
  <sort_order>680</sort_order>
13
  <!-- do not show this configuration options in store scope -->
14
  <show_in_default>1</show_in_default>
15
  <show_in_website>1</show_in_website>
16
+ <show_in_store>1</show_in_store>
17
  <fields>
18
  <!-- is this payment method active for the website? -->
19
  <active translate="label">
28
  <!-- do not show this field in store scope -->
29
  <show_in_default>1</show_in_default>
30
  <show_in_website>1</show_in_website>
31
+ <show_in_store>1</show_in_store>
32
  </active>
33
  <title translate="label">
34
  <label>Title</label>
36
  <sort_order>2</sort_order>
37
  <show_in_default>1</show_in_default>
38
  <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
  </title>
41
  <order_status translate="label">
42
  <label>New order status</label>
45
  <sort_order>3</sort_order>
46
  <show_in_default>1</show_in_default>
47
  <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
  </order_status>
50
  <merchant_id translate="label">
51
  <label>Novalnet Merchant ID</label>
53
  <sort_order>4</sort_order>
54
  <show_in_default>1</show_in_default>
55
  <show_in_website>1</show_in_website>
56
+ <show_in_store>1</show_in_store>
57
  </merchant_id>
58
  <auth_code translate="label">
59
  <label>Novalnet Auth Code</label>
61
  <sort_order>5</sort_order>
62
  <show_in_default>1</show_in_default>
63
  <show_in_website>1</show_in_website>
64
+ <show_in_store>1</show_in_store>
65
  </auth_code>
66
  <product_id translate="label">
67
  <label>Novalnet Product ID</label>
69
  <sort_order>6</sort_order>
70
  <show_in_default>1</show_in_default>
71
  <show_in_website>1</show_in_website>
72
+ <show_in_store>1</show_in_store>
73
  </product_id>
74
  <tariff_id translate="label">
75
+ <label>Novalnet Tariff Id</label>
76
  <frontend_type>text</frontend_type>
77
  <sort_order>7</sort_order>
78
  <show_in_default>1</show_in_default>
79
  <show_in_website>1</show_in_website>
80
+ <show_in_store>1</show_in_store>
81
  </tariff_id>
82
  <manual_checking_amount tranlate="label" >
83
  <label>Manual checking amount in cents</label>
85
  <sort_order>8</sort_order>
86
  <show_in_default>1</show_in_default>
87
  <show_in_website>1</show_in_website>
88
+ <show_in_store>1</show_in_store>
89
  </manual_checking_amount>
90
  <second_product_id translate="label">
91
  <label>Second Novalnet Product ID</label>
93
  <sort_order>9</sort_order>
94
  <show_in_default>1</show_in_default>
95
  <show_in_website>1</show_in_website>
96
+ <show_in_store>1</show_in_store>
97
  </second_product_id>
98
  <second_tariff_id translate="label">
99
  <label>Second Novalnet Tariff Id</label>
101
  <sort_order>10</sort_order>
102
  <show_in_default>1</show_in_default>
103
  <show_in_website>1</show_in_website>
104
+ <show_in_store>1</show_in_store>
105
  </second_tariff_id>
106
  <acdc_check translate="label">
107
+ <label>ACDC-Check</label>
108
  <frontend_type>select</frontend_type>
109
  <source_model>adminhtml/system_config_source_yesno</source_model>
110
  <sort_order>11</sort_order>
111
  <show_in_default>1</show_in_default>
112
  <show_in_website>1</show_in_website>
113
+ <show_in_store>1</show_in_store>
114
  </acdc_check>
115
  <callback translate="label">
116
+ <comment>When activated by PIN Callback / SMS</comment>
117
+ <label>PIN by Callback/SMS/E-Mail</label>
 
 
 
 
 
 
118
  <frontend_type>select</frontend_type>
119
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
120
  <sort_order>12</sort_order>
121
  <show_in_default>1</show_in_default>
122
  <show_in_website>1</show_in_website>
123
+ <show_in_store>1</show_in_store>
124
  </callback>
125
  <callback_minimum_amount>
126
+ <label>Minimum Amount For Callback (in cents)</label>
127
  <frontend_type>text</frontend_type>
128
  <sort_order>13</sort_order>
129
  <show_in_default>1</show_in_default>
130
  <show_in_website>1</show_in_website>
131
+ <show_in_store>1</show_in_store>
132
  </callback_minimum_amount>
133
  <user_group_excluded translate="label">
134
+ <comment>To exclude groups of customers.</comment>
 
 
 
135
  <label>User Group Excluded</label>
136
  <frontend_type>text</frontend_type>
137
  <sort_order>14</sort_order>
138
  <show_in_default>1</show_in_default>
139
  <show_in_website>1</show_in_website>
140
+ <show_in_store>1</show_in_store>
141
  </user_group_excluded>
142
  <comment translate="label">
143
  <label>Notice for Clients</label>
145
  <sort_order>15</sort_order>
146
  <show_in_default>1</show_in_default>
147
  <show_in_website>1</show_in_website>
148
+ <show_in_store>1</show_in_store>
149
  </comment>
150
  <live_mode translate="label">
151
  <label>Live Mode</label>
154
  <sort_order>16</sort_order>
155
  <show_in_default>1</show_in_default>
156
  <show_in_website>1</show_in_website>
157
+ <show_in_store>1</show_in_store>
158
  </live_mode>
159
  <gateway_timeout translate="label">
160
  <comment>Gateway Timeout in seconds</comment>
163
  <sort_order>17</sort_order>
164
  <show_in_default>1</show_in_default>
165
  <show_in_website>1</show_in_website>
166
+ <show_in_store>1</show_in_store>
167
  </gateway_timeout>
168
  <sort_order translate="label">
169
  <label>Sort Order</label>
171
  <sort_order>100</sort_order>
172
  <show_in_default>1</show_in_default>
173
  <show_in_website>1</show_in_website>
174
+ <show_in_store>1</show_in_store>
175
  </sort_order>
176
  <allowspecific translate="label">
177
  <label>Payment from applicable countries</label>
197
  <sort_order>180</sort_order>
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
  </min_order_total>
202
  <max_order_total translate="label">
203
  <label>Maximum Order Total</label>
205
  <sort_order>190</sort_order>
206
  <show_in_default>1</show_in_default>
207
  <show_in_website>1</show_in_website>
208
+ <show_in_store>1</show_in_store>
209
  </max_order_total>
210
  <orderscount translate="label">
211
  <label>Minimum Orders Count</label>
212
  <frontend_type>text</frontend_type>
213
  <sort_order>200</sort_order>
214
+ <comment>Default: "0" for disabled check.</comment> <show_in_default>1</show_in_default>
215
  <show_in_website>1</show_in_website>
216
+ <show_in_store>1</show_in_store>
217
  </orderscount>
218
  </fields>
219
  </novalnetElvgerman>
220
  <novalnetElvaustria translate="label" module="novalnet">
221
  <label>Novalnet Direct Debit Austria</label>
222
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
223
  <sort_order>681</sort_order>
224
  <show_in_default>1</show_in_default>
225
  <show_in_website>1</show_in_website>
226
+ <show_in_store>1</show_in_store>
227
  <fields>
228
  <active translate="label">
229
  <label>Enabled</label>
232
  <sort_order>1</sort_order>
233
  <show_in_default>1</show_in_default>
234
  <show_in_website>1</show_in_website>
235
+ <show_in_store>1</show_in_store>
236
  </active>
237
  <title translate="label">
238
  <label>Title</label>
240
  <sort_order>2</sort_order>
241
  <show_in_default>1</show_in_default>
242
  <show_in_website>1</show_in_website>
243
+ <show_in_store>1</show_in_store>
244
  </title>
245
  <order_status translate="label">
246
  <label>New order status</label>
249
  <sort_order>3</sort_order>
250
  <show_in_default>1</show_in_default>
251
  <show_in_website>1</show_in_website>
252
+ <show_in_store>1</show_in_store>
253
  </order_status>
254
  <merchant_id translate="label">
255
  <label>Novalnet Merchant ID</label>
257
  <sort_order>4</sort_order>
258
  <show_in_default>1</show_in_default>
259
  <show_in_website>1</show_in_website>
260
+ <show_in_store>1</show_in_store>
261
  </merchant_id>
262
  <auth_code translate="label">
263
  <label>Novalnet Auth Code</label>
265
  <sort_order>5</sort_order>
266
  <show_in_default>1</show_in_default>
267
  <show_in_website>1</show_in_website>
268
+ <show_in_store>1</show_in_store>
269
  </auth_code>
270
  <product_id translate="label">
271
  <label>Novalnet Product ID</label>
273
  <sort_order>6</sort_order>
274
  <show_in_default>1</show_in_default>
275
  <show_in_website>1</show_in_website>
276
+ <show_in_store>1</show_in_store>
277
  </product_id>
278
  <tariff_id translate="label">
279
+ <label>Novalnet Tariff Id</label>
280
  <frontend_type>text</frontend_type>
281
  <sort_order>7</sort_order>
282
  <show_in_default>1</show_in_default>
283
  <show_in_website>1</show_in_website>
284
+ <show_in_store>1</show_in_store>
285
  </tariff_id>
286
  <manual_checking_amount tranlate="label" >
287
  <label>Manual checking amount in cents</label>
289
  <sort_order>8</sort_order>
290
  <show_in_default>1</show_in_default>
291
  <show_in_website>1</show_in_website>
292
+ <show_in_store>1</show_in_store>
293
  </manual_checking_amount>
294
  <second_product_id translate="label">
295
  <label>Second Novalnet Product ID</label>
297
  <sort_order>9</sort_order>
298
  <show_in_default>1</show_in_default>
299
  <show_in_website>1</show_in_website>
300
+ <show_in_store>1</show_in_store>
301
  </second_product_id>
302
  <second_tariff_id translate="label">
303
  <label>Second Novalnet Tariff Id</label>
305
  <sort_order>10</sort_order>
306
  <show_in_default>1</show_in_default>
307
  <show_in_website>1</show_in_website>
308
+ <show_in_store>1</show_in_store>
309
  </second_tariff_id>
310
  <callback translate="label">
311
+ <comment>When activated by PIN Callback / SMS
 
 
 
 
 
312
  </comment>
313
+ <label>PIN by Callback/SMS/E-Mail</label>
314
  <frontend_type>select</frontend_type>
315
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
316
  <sort_order>11</sort_order>
317
  <show_in_default>1</show_in_default>
318
  <show_in_website>1</show_in_website>
319
+ <show_in_store>1</show_in_store>
320
  </callback>
321
  <callback_minimum_amount>
322
+ <label>Minimum Amount For Callback (in cents)</label>
323
  <frontend_type>text</frontend_type>
324
  <sort_order>12</sort_order>
325
  <show_in_default>1</show_in_default>
326
  <show_in_website>1</show_in_website>
327
+ <show_in_store>1</show_in_store>
328
  </callback_minimum_amount>
329
  <user_group_excluded translate="label">
330
+ <comment>To exclude groups of customers.</comment>
 
 
 
331
  <label>User Group Excluded</label>
332
  <frontend_type>text</frontend_type>
333
  <sort_order>13</sort_order>
334
  <show_in_default>1</show_in_default>
335
  <show_in_website>1</show_in_website>
336
+ <show_in_store>1</show_in_store>
337
  </user_group_excluded>
338
  <comment translate="label">
339
  <label>Notice for Clients</label>
341
  <sort_order>14</sort_order>
342
  <show_in_default>1</show_in_default>
343
  <show_in_website>1</show_in_website>
344
+ <show_in_store>1</show_in_store>
345
  </comment>
346
  <live_mode translate="label">
347
  <label>Live Mode</label>
350
  <sort_order>15</sort_order>
351
  <show_in_default>1</show_in_default>
352
  <show_in_website>1</show_in_website>
353
+ <show_in_store>1</show_in_store>
354
  </live_mode>
355
  <gateway_timeout translate="label">
356
  <comment>Gateway Timeout in seconds</comment>
359
  <sort_order>16</sort_order>
360
  <show_in_default>1</show_in_default>
361
  <show_in_website>1</show_in_website>
362
+ <show_in_store>1</show_in_store>
363
  </gateway_timeout>
364
  <sort_order translate="label">
365
  <label>Sort Order</label>
367
  <sort_order>100</sort_order>
368
  <show_in_default>1</show_in_default>
369
  <show_in_website>1</show_in_website>
370
+ <show_in_store>1</show_in_store>
371
  </sort_order>
372
  <allowspecific translate="label">
373
  <label>Payment from applicable countries</label>
393
  <sort_order>180</sort_order>
394
  <show_in_default>1</show_in_default>
395
  <show_in_website>1</show_in_website>
396
+ <show_in_store>1</show_in_store>
397
  </min_order_total>
398
  <max_order_total translate="label">
399
  <label>Maximum Order Total</label>
401
  <sort_order>190</sort_order>
402
  <show_in_default>1</show_in_default>
403
  <show_in_website>1</show_in_website>
404
+ <show_in_store>1</show_in_store>
405
  </max_order_total>
406
  <orderscount translate="label">
407
  <label>Minimum Orders Count</label>
408
  <frontend_type>text</frontend_type>
409
  <sort_order>200</sort_order>
410
+ <comment>Default: "0" for disabled check.</comment> <show_in_default>1</show_in_default>
411
  <show_in_website>1</show_in_website>
412
+ <show_in_store>1</show_in_store>
413
  </orderscount>
414
  </fields>
415
  </novalnetElvaustria>
416
  <novalnetCc translate="label" module="novalnet">
417
  <label>Novalnet Credit Card</label>
418
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
419
  <sort_order>682</sort_order>
420
  <show_in_default>1</show_in_default>
421
  <show_in_website>1</show_in_website>
422
+ <show_in_store>1</show_in_store>
423
  <fields>
424
  <active translate="label">
425
  <label>Enabled</label>
428
  <sort_order>1</sort_order>
429
  <show_in_default>1</show_in_default>
430
  <show_in_website>1</show_in_website>
431
+ <show_in_store>1</show_in_store>
432
  </active>
433
  <title translate="label">
434
  <label>Title</label>
436
  <sort_order>2</sort_order>
437
  <show_in_default>1</show_in_default>
438
  <show_in_website>1</show_in_website>
439
+ <show_in_store>1</show_in_store>
440
  </title>
441
  <order_status translate="label">
442
  <label>New order status</label>
445
  <sort_order>3</sort_order>
446
  <show_in_default>1</show_in_default>
447
  <show_in_website>1</show_in_website>
448
+ <show_in_store>1</show_in_store>
449
  </order_status>
450
  <merchant_id translate="label">
451
  <label>Novalnet Merchant ID</label>
453
  <sort_order>5</sort_order>
454
  <show_in_default>1</show_in_default>
455
  <show_in_website>1</show_in_website>
456
+ <show_in_store>1</show_in_store>
457
  </merchant_id>
458
  <auth_code translate="label">
459
  <label>Novalnet Auth Code</label>
461
  <sort_order>6</sort_order>
462
  <show_in_default>1</show_in_default>
463
  <show_in_website>1</show_in_website>
464
+ <show_in_store>1</show_in_store>
465
  </auth_code>
466
  <product_id translate="label">
467
  <label>Novalnet Product ID</label>
469
  <sort_order>7</sort_order>
470
  <show_in_default>1</show_in_default>
471
  <show_in_website>1</show_in_website>
472
+ <show_in_store>1</show_in_store>
473
  </product_id>
474
  <tariff_id translate="label">
475
+ <label>Novalnet Tariff Id</label>
476
  <frontend_type>text</frontend_type>
477
  <sort_order>8</sort_order>
478
  <show_in_default>1</show_in_default>
479
  <show_in_website>1</show_in_website>
480
+ <show_in_store>1</show_in_store>
481
  </tariff_id>
482
  <password translate="label">
483
+ <label>Novalnet Password</label>
484
  <frontend_type>text</frontend_type>
485
  <sort_order>9</sort_order>
486
  <show_in_default>1</show_in_default>
487
  <show_in_website>1</show_in_website>
488
+ <show_in_store>1</show_in_store>
489
  </password>
490
  <manual_checking_amount tranlate="label" >
491
  <label>Manual checking amount in cents</label>
492
  <frontend_type>text</frontend_type>
493
+ <sort_order>10</sort_order>
494
  <show_in_default>1</show_in_default>
495
  <show_in_website>1</show_in_website>
496
+ <show_in_store>1</show_in_store>
497
  </manual_checking_amount>
498
  <second_product_id translate="label">
499
  <label>Second Novalnet Product ID</label>
500
  <frontend_type>text</frontend_type>
501
+ <sort_order>11</sort_order>
502
  <show_in_default>1</show_in_default>
503
  <show_in_website>1</show_in_website>
504
+ <show_in_store>1</show_in_store>
505
  </second_product_id>
506
  <second_tariff_id translate="label">
507
  <label>Second Novalnet Tariff Id</label>
508
  <frontend_type>text</frontend_type>
509
+ <sort_order>12</sort_order>
510
  <show_in_default>1</show_in_default>
511
  <show_in_website>1</show_in_website>
512
+ <show_in_store>1</show_in_store>
513
  </second_tariff_id>
514
  <booking_reference translate="label">
515
  <label>Booking Reference</label>
520
  <show_in_store>1</show_in_store>
521
  </booking_reference>
522
  <user_group_excluded translate="label">
523
+ <comment>To exclude groups of customers.</comment>
 
 
 
524
  <label>User Group Excluded</label>
525
  <frontend_type>text</frontend_type>
526
  <sort_order>15</sort_order>
527
  <show_in_default>1</show_in_default>
528
  <show_in_website>1</show_in_website>
529
+ <show_in_store>1</show_in_store>
530
  </user_group_excluded>
531
  <createinvoice translate="label">
532
  <label>Create Invoice</label>
544
  <sort_order>16</sort_order>
545
  <show_in_default>1</show_in_default>
546
  <show_in_website>1</show_in_website>
547
+ <show_in_store>1</show_in_store>
548
  </live_mode>
549
  <gateway_timeout translate="label">
550
  <comment>Gateway Timeout in seconds</comment>
553
  <sort_order>17</sort_order>
554
  <show_in_default>1</show_in_default>
555
  <show_in_website>1</show_in_website>
556
+ <show_in_store>1</show_in_store>
557
  </gateway_timeout>
558
  <sort_order translate="label">
559
  <label>Sort Order</label>
561
  <sort_order>100</sort_order>
562
  <show_in_default>1</show_in_default>
563
  <show_in_website>1</show_in_website>
564
+ <show_in_store>1</show_in_store>
565
  </sort_order>
566
  <allowspecific translate="label">
567
  <label>Payment from applicable countries</label>
587
  <sort_order>180</sort_order>
588
  <show_in_default>1</show_in_default>
589
  <show_in_website>1</show_in_website>
590
+ <show_in_store>1</show_in_store>
591
  </min_order_total>
592
  <max_order_total translate="label">
593
  <label>Maximum Order Total</label>
595
  <sort_order>190</sort_order>
596
  <show_in_default>1</show_in_default>
597
  <show_in_website>1</show_in_website>
598
+ <show_in_store>1</show_in_store>
599
  </max_order_total>
600
  <orderscount translate="label">
601
  <label>Minimum Orders Count</label>
602
  <frontend_type>text</frontend_type>
603
  <sort_order>200</sort_order>
604
+ <comment>Default: "0" for disabled check.</comment>
605
+ <show_in_default>1</show_in_default>
606
  <show_in_website>1</show_in_website>
607
+ <show_in_store>1</show_in_store>
608
  </orderscount>
609
  </fields>
610
  </novalnetCc>
611
  <novalnet_secure translate="label" module="novalnet">
612
  <label>Novalnet Credit Card 3D-Secure</label>
613
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
614
  <sort_order>683</sort_order>
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
  <fields>
619
  <active translate="label">
620
  <label>Enabled</label>
623
  <sort_order>1</sort_order>
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
  </active>
628
  <title translate="label">
629
  <label>Title</label>
631
  <sort_order>2</sort_order>
632
  <show_in_default>1</show_in_default>
633
  <show_in_website>1</show_in_website>
634
+ <show_in_store>1</show_in_store>
635
  </title>
636
  <order_status translate="label">
637
  <label>New order status</label>
640
  <sort_order>3</sort_order>
641
  <show_in_default>1</show_in_default>
642
  <show_in_website>1</show_in_website>
643
+ <show_in_store>1</show_in_store>
644
  </order_status>
645
  <cctypes translate="label">
646
  <label>Credit Card Types</label>
649
  <sort_order>4</sort_order>
650
  <show_in_default>1</show_in_default>
651
  <show_in_website>1</show_in_website>
652
+ <show_in_store>1</show_in_store>
653
  </cctypes>
654
  <merchant_id translate="label">
655
  <label>Novalnet Merchant ID</label>
657
  <sort_order>5</sort_order>
658
  <show_in_default>1</show_in_default>
659
  <show_in_website>1</show_in_website>
660
+ <show_in_store>1</show_in_store>
661
  </merchant_id>
662
  <auth_code translate="label">
663
  <label>Novalnet Auth Code</label>
665
  <sort_order>6</sort_order>
666
  <show_in_default>1</show_in_default>
667
  <show_in_website>1</show_in_website>
668
+ <show_in_store>1</show_in_store>
669
  </auth_code>
670
  <product_id translate="label">
671
  <label>Novalnet Product ID</label>
673
  <sort_order>7</sort_order>
674
  <show_in_default>1</show_in_default>
675
  <show_in_website>1</show_in_website>
676
+ <show_in_store>1</show_in_store>
677
  </product_id>
678
  <tariff_id translate="label">
679
+ <label>Novalnet Tariff Id</label>
680
  <frontend_type>text</frontend_type>
681
  <sort_order>8</sort_order>
682
  <show_in_default>1</show_in_default>
683
  <show_in_website>1</show_in_website>
684
+ <show_in_store>1</show_in_store>
685
  </tariff_id>
686
  <manual_checking_amount tranlate="label" >
687
  <label>Manual checking amount in cents</label>
689
  <sort_order>9</sort_order>
690
  <show_in_default>1</show_in_default>
691
  <show_in_website>1</show_in_website>
692
+ <show_in_store>1</show_in_store>
693
  </manual_checking_amount>
694
  <second_product_id translate="label">
695
  <label>Second Novalnet Product ID</label>
697
  <sort_order>10</sort_order>
698
  <show_in_default>1</show_in_default>
699
  <show_in_website>1</show_in_website>
700
+ <show_in_store>1</show_in_store>
701
  </second_product_id>
702
  <second_tariff_id translate="label">
703
  <label>Second Novalnet Tariff Id</label>
705
  <sort_order>11</sort_order>
706
  <show_in_default>1</show_in_default>
707
  <show_in_website>1</show_in_website>
708
+ <show_in_store>1</show_in_store>
709
  </second_tariff_id>
710
  <booking_reference translate="label">
711
  <label>Booking Reference</label>
716
  <show_in_store>1</show_in_store>
717
  </booking_reference>
718
  <user_group_excluded translate="label">
719
+ <comment>To exclude groups of customers.</comment>
 
 
 
720
  <label>User Group Excluded</label>
721
  <frontend_type>text</frontend_type>
722
  <sort_order>13</sort_order>
723
  <show_in_default>1</show_in_default>
724
  <show_in_website>1</show_in_website>
725
+ <show_in_store>1</show_in_store>
726
  </user_group_excluded>
727
  <live_mode translate="label">
728
  <label>Live Mode</label>
731
  <sort_order>14</sort_order>
732
  <show_in_default>1</show_in_default>
733
  <show_in_website>1</show_in_website>
734
+ <show_in_store>1</show_in_store>
735
  </live_mode>
736
  <gateway_timeout translate="label">
737
  <comment>Gateway Timeout in seconds</comment>
740
  <sort_order>17</sort_order>
741
  <show_in_default>1</show_in_default>
742
  <show_in_website>1</show_in_website>
743
+ <show_in_store>1</show_in_store>
744
  </gateway_timeout>
745
  <sort_order translate="label">
746
  <label>Sort Order</label>
748
  <sort_order>100</sort_order>
749
  <show_in_default>1</show_in_default>
750
  <show_in_website>1</show_in_website>
751
+ <show_in_store>1</show_in_store>
752
  </sort_order>
753
  <allowspecific translate="label">
754
  <label>Payment from applicable countries</label>
774
  <sort_order>180</sort_order>
775
  <show_in_default>1</show_in_default>
776
  <show_in_website>1</show_in_website>
777
+ <show_in_store>1</show_in_store>
778
  </min_order_total>
779
  <max_order_total translate="label">
780
  <label>Maximum Order Total</label>
782
  <sort_order>190</sort_order>
783
  <show_in_default>1</show_in_default>
784
  <show_in_website>1</show_in_website>
785
+ <show_in_store>1</show_in_store>
786
  </max_order_total>
787
  <orderscount translate="label">
788
  <label>Minimum Orders Count</label>
789
  <frontend_type>text</frontend_type>
790
  <sort_order>200</sort_order>
791
+ <comment>Default: "0" for disabled check.</comment>
792
+ <show_in_default>1</show_in_default>
793
  <show_in_website>1</show_in_website>
794
+ <show_in_store>1</show_in_store>
795
  </orderscount>
796
  </fields>
797
  </novalnet_secure>
798
  <novalnetPrepayment translate="label" module="novalnet">
799
  <label>Novalnet Prepayment</label>
800
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
801
  <sort_order>690</sort_order>
802
  <show_in_default>1</show_in_default>
803
  <show_in_website>1</show_in_website>
804
+ <show_in_store>1</show_in_store>
805
  <fields>
806
  <active translate="label">
807
  <label>Enabled</label>
810
  <sort_order>1</sort_order>
811
  <show_in_default>1</show_in_default>
812
  <show_in_website>1</show_in_website>
813
+ <show_in_store>1</show_in_store>
814
  </active>
815
  <title translate="label">
816
  <label>Title</label>
818
  <sort_order>2</sort_order>
819
  <show_in_default>1</show_in_default>
820
  <show_in_website>1</show_in_website>
821
+ <show_in_store>1</show_in_store>
822
  </title>
823
  <order_status translate="label">
824
  <label>New order status</label>
827
  <sort_order>3</sort_order>
828
  <show_in_default>1</show_in_default>
829
  <show_in_website>1</show_in_website>
830
+ <show_in_store>1</show_in_store>
831
  </order_status>
832
  <merchant_id translate="label">
833
  <label>Novalnet Merchant ID</label>
835
  <sort_order>4</sort_order>
836
  <show_in_default>1</show_in_default>
837
  <show_in_website>1</show_in_website>
838
+ <show_in_store>1</show_in_store>
839
  </merchant_id>
840
  <auth_code translate="label">
841
  <label>Novalnet Auth Code</label>
843
  <sort_order>5</sort_order>
844
  <show_in_default>1</show_in_default>
845
  <show_in_website>1</show_in_website>
846
+ <show_in_store>1</show_in_store>
847
  </auth_code>
848
  <product_id translate="label">
849
  <label>Novalnet Product ID</label>
851
  <sort_order>6</sort_order>
852
  <show_in_default>1</show_in_default>
853
  <show_in_website>1</show_in_website>
854
+ <show_in_store>1</show_in_store>
855
  </product_id>
856
  <tariff_id translate="label">
857
+ <label>Novalnet Tariff Id</label>
858
  <frontend_type>text</frontend_type>
859
  <sort_order>7</sort_order>
860
  <show_in_default>1</show_in_default>
861
  <show_in_website>1</show_in_website>
862
+ <show_in_store>1</show_in_store>
863
  </tariff_id>
864
  <user_group_excluded translate="label">
865
+ <comment>To exclude groups of customers.</comment>
 
 
 
866
  <label>User Group Excluded</label>
867
  <frontend_type>text</frontend_type>
868
  <sort_order>8</sort_order>
869
  <show_in_default>1</show_in_default>
870
  <show_in_website>1</show_in_website>
871
+ <show_in_store>1</show_in_store>
872
  </user_group_excluded>
873
  <live_mode translate="label">
874
  <label>Live Mode</label>
877
  <sort_order>9</sort_order>
878
  <show_in_default>1</show_in_default>
879
  <show_in_website>1</show_in_website>
880
+ <show_in_store>1</show_in_store>
881
  </live_mode>
882
  <gateway_timeout translate="label">
883
  <comment>Gateway Timeout in seconds</comment>
886
  <sort_order>10</sort_order>
887
  <show_in_default>1</show_in_default>
888
  <show_in_website>1</show_in_website>
889
+ <show_in_store>1</show_in_store>
890
  </gateway_timeout>
891
  <sort_order translate="label">
892
  <label>Sort Order</label>
894
  <sort_order>100</sort_order>
895
  <show_in_default>1</show_in_default>
896
  <show_in_website>1</show_in_website>
897
+ <show_in_store>1</show_in_store>
898
  </sort_order>
899
  <allowspecific translate="label">
900
  <label>Payment from applicable countries</label>
920
  <sort_order>180</sort_order>
921
  <show_in_default>1</show_in_default>
922
  <show_in_website>1</show_in_website>
923
+ <show_in_store>1</show_in_store>
924
  </min_order_total>
925
  <max_order_total translate="label">
926
  <label>Maximum Order Total</label>
928
  <sort_order>190</sort_order>
929
  <show_in_default>1</show_in_default>
930
  <show_in_website>1</show_in_website>
931
+ <show_in_store>1</show_in_store>
932
  </max_order_total>
933
  <orderscount translate="label">
934
  <label>Minimum Orders Count</label>
935
  <frontend_type>text</frontend_type>
936
  <sort_order>200</sort_order>
937
+ <comment>Default: "0" for disabled check.</comment>
938
+ <show_in_default>1</show_in_default>
939
  <show_in_website>1</show_in_website>
940
+ <show_in_store>1</show_in_store>
941
  </orderscount>
942
  </fields>
943
  </novalnetPrepayment>
944
  <novalnetInvoice translate="label" module="novalnet">
945
  <label>Novalnet Invoice</label>
946
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
947
  <sort_order>689</sort_order>
948
  <show_in_default>1</show_in_default>
949
  <show_in_website>1</show_in_website>
950
+ <show_in_store>1</show_in_store>
951
  <fields>
952
  <active translate="label">
953
  <label>Enabled</label>
956
  <sort_order>1</sort_order>
957
  <show_in_default>1</show_in_default>
958
  <show_in_website>1</show_in_website>
959
+ <show_in_store>1</show_in_store>
960
  </active>
961
  <title translate="label">
962
  <label>Title</label>
964
  <sort_order>2</sort_order>
965
  <show_in_default>1</show_in_default>
966
  <show_in_website>1</show_in_website>
967
+ <show_in_store>1</show_in_store>
968
  </title>
969
  <order_status translate="label">
970
  <label>New order status</label>
973
  <sort_order>3</sort_order>
974
  <show_in_default>1</show_in_default>
975
  <show_in_website>1</show_in_website>
976
+ <show_in_store>1</show_in_store>
977
  </order_status>
978
  <merchant_id translate="label">
979
  <label>Novalnet Merchant ID</label>
981
  <sort_order>4</sort_order>
982
  <show_in_default>1</show_in_default>
983
  <show_in_website>1</show_in_website>
984
+ <show_in_store>1</show_in_store>
985
  </merchant_id>
986
  <auth_code translate="label">
987
  <label>Novalnet Auth Code</label>
989
  <sort_order>5</sort_order>
990
  <show_in_default>1</show_in_default>
991
  <show_in_website>1</show_in_website>
992
+ <show_in_store>1</show_in_store>
993
  </auth_code>
994
  <product_id translate="label">
995
  <label>Novalnet Product ID</label>
997
  <sort_order>6</sort_order>
998
  <show_in_default>1</show_in_default>
999
  <show_in_website>1</show_in_website>
1000
+ <show_in_store>1</show_in_store>
1001
  </product_id>
1002
  <tariff_id translate="label">
1003
+ <label>Novalnet Tariff Id</label>
1004
  <frontend_type>text</frontend_type>
1005
  <sort_order>7</sort_order>
1006
  <show_in_default>1</show_in_default>
1007
  <show_in_website>1</show_in_website>
1008
+ <show_in_store>1</show_in_store>
1009
  </tariff_id>
1010
  <callback translate="label">
1011
+ <comment>When activated by PIN Callback / SMS</comment>
1012
+ <label>PIN by Callback/SMS/E-Mail</label>
 
 
 
 
 
 
1013
  <frontend_type>select</frontend_type>
1014
  <source_model>novalnet/novalnet_source_callbacktypes</source_model>
1015
  <sort_order>8</sort_order>
1016
  <show_in_default>1</show_in_default>
1017
  <show_in_website>1</show_in_website>
1018
+ <show_in_store>1</show_in_store>
1019
  </callback>
1020
  <callback_minimum_amount>
1021
+ <label>Minimum Amount For Callback (in cents)</label>
1022
  <frontend_type>text</frontend_type>
1023
  <sort_order>9</sort_order>
1024
  <show_in_default>1</show_in_default>
1025
  <show_in_website>1</show_in_website>
1026
+ <show_in_store>1</show_in_store>
1027
  </callback_minimum_amount>
1028
  <payment_duration translate="label">
1029
  <label>Payment Duration</label>
1031
  <sort_order>10</sort_order>
1032
  <show_in_default>1</show_in_default>
1033
  <show_in_website>1</show_in_website>
1034
+ <show_in_store>1</show_in_store>
1035
  </payment_duration>
1036
  <user_group_excluded translate="label">
1037
+ <comment>To exclude groups of customers.</comment>
 
 
 
1038
  <label>User Group Excluded</label>
1039
  <frontend_type>text</frontend_type>
1040
  <sort_order>11</sort_order>
1041
  <show_in_default>1</show_in_default>
1042
  <show_in_website>1</show_in_website>
1043
+ <show_in_store>1</show_in_store>
1044
  </user_group_excluded>
1045
  <live_mode translate="label">
1046
  <label>Live Mode</label>
1049
  <sort_order>12</sort_order>
1050
  <show_in_default>1</show_in_default>
1051
  <show_in_website>1</show_in_website>
1052
+ <show_in_store>1</show_in_store>
1053
  </live_mode>
1054
  <gateway_timeout translate="label">
1055
  <comment>Gateway Timeout in seconds</comment>
1058
  <sort_order>13</sort_order>
1059
  <show_in_default>1</show_in_default>
1060
  <show_in_website>1</show_in_website>
1061
+ <show_in_store>1</show_in_store>
1062
  </gateway_timeout>
1063
  <sort_order translate="label">
1064
  <label>Sort Order</label>
1066
  <sort_order>100</sort_order>
1067
  <show_in_default>1</show_in_default>
1068
  <show_in_website>1</show_in_website>
1069
+ <show_in_store>1</show_in_store>
1070
  </sort_order>
1071
  <allowspecific translate="label">
1072
  <label>Payment from applicable countries</label>
1092
  <sort_order>180</sort_order>
1093
  <show_in_default>1</show_in_default>
1094
  <show_in_website>1</show_in_website>
1095
+ <show_in_store>1</show_in_store>
1096
  </min_order_total>
1097
  <max_order_total translate="label">
1098
  <label>Maximum Order Total</label>
1100
  <sort_order>190</sort_order>
1101
  <show_in_default>1</show_in_default>
1102
  <show_in_website>1</show_in_website>
1103
+ <show_in_store>1</show_in_store>
1104
  </max_order_total>
1105
  <orderscount translate="label">
1106
  <label>Minimum Orders Count</label>
1107
  <frontend_type>text</frontend_type>
1108
  <sort_order>200</sort_order>
1109
+ <comment>Default: "0" for disabled check.</comment>
1110
+ <show_in_default>1</show_in_default>
1111
  <show_in_website>1</show_in_website>
1112
+ <show_in_store>1</show_in_store>
1113
  </orderscount>
1114
  </fields>
1115
  </novalnetInvoice>
1119
  <sort_order>691</sort_order>
1120
  <show_in_default>1</show_in_default>
1121
  <show_in_website>1</show_in_website>
1122
+ <show_in_store>1</show_in_store>
1123
  <fields>
1124
  <active translate="label">
1125
  <label>Enabled</label>
1128
  <sort_order>1</sort_order>
1129
  <show_in_default>1</show_in_default>
1130
  <show_in_website>1</show_in_website>
1131
+ <show_in_store>1</show_in_store>
1132
  </active>
1133
  <title translate="label">
1134
  <label>Title</label>
1136
  <sort_order>2</sort_order>
1137
  <show_in_default>1</show_in_default>
1138
  <show_in_website>1</show_in_website>
1139
+ <show_in_store>1</show_in_store>
1140
  </title>
1141
  <order_status translate="label">
1142
  <label>New order status</label>
1143
  <frontend_type>select</frontend_type>
1144
  <source_model>adminhtml/system_config_source_order_status</source_model>
1145
  <sort_order>3</sort_order>
1146
+
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
  </order_status>
1151
  <merchant_id translate="label">
1152
  <label>Novalnet Merchant ID</label>
1154
  <sort_order>4</sort_order>
1155
  <show_in_default>1</show_in_default>
1156
  <show_in_website>1</show_in_website>
1157
+ <show_in_store>1</show_in_store>
1158
  </merchant_id>
1159
  <auth_code translate="label">
1160
  <label>Novalnet Auth Code</label>
1162
  <sort_order>5</sort_order>
1163
  <show_in_default>1</show_in_default>
1164
  <show_in_website>1</show_in_website>
1165
+ <show_in_store>1</show_in_store>
1166
  </auth_code>
1167
  <product_id translate="label">
1168
  <label>Novalnet Product ID</label>
1170
  <sort_order>6</sort_order>
1171
  <show_in_default>1</show_in_default>
1172
  <show_in_website>1</show_in_website>
1173
+ <show_in_store>1</show_in_store>
1174
  </product_id>
1175
  <tariff_id translate="label">
1176
+ <label>Novalnet Tariff Id</label>
1177
  <frontend_type>text</frontend_type>
1178
  <sort_order>7</sort_order>
1179
  <show_in_default>1</show_in_default>
1180
  <show_in_website>1</show_in_website>
1181
+ <show_in_store>1</show_in_store>
1182
  </tariff_id>
1183
  <user_group_excluded translate="label">
1184
+ <comment>To exclude groups of customers.</comment>
 
 
 
1185
  <label>User Group Excluded</label>
1186
  <frontend_type>text</frontend_type>
1187
  <sort_order>8</sort_order>
1188
  <show_in_default>1</show_in_default>
1189
  <show_in_website>1</show_in_website>
1190
+ <show_in_store>1</show_in_store>
1191
  </user_group_excluded>
1192
  <gateway_timeout translate="label">
1193
  <comment>Gateway Timeout in seconds</comment>
1196
  <sort_order>9</sort_order>
1197
  <show_in_default>1</show_in_default>
1198
  <show_in_website>1</show_in_website>
1199
+ <show_in_store>1</show_in_store>
1200
  </gateway_timeout>
1201
  <sort_order translate="label">
1202
  <label>Sort Order</label>
1204
  <sort_order>100</sort_order>
1205
  <show_in_default>1</show_in_default>
1206
  <show_in_website>1</show_in_website>
1207
+ <show_in_store>1</show_in_store>
1208
  </sort_order>
1209
  <allowspecific translate="label">
1210
  <label>Payment from applicable countries</label>
1230
  <sort_order>180</sort_order>
1231
  <show_in_default>1</show_in_default>
1232
  <show_in_website>1</show_in_website>
1233
+ <show_in_store>1</show_in_store>
1234
  </min_order_total>
1235
  <max_order_total translate="label">
1236
  <label>Maximum Order Total</label>
1238
  <sort_order>190</sort_order>
1239
  <show_in_default>1</show_in_default>
1240
  <show_in_website>1</show_in_website>
1241
+ <show_in_store>1</show_in_store>
1242
  </max_order_total>
1243
  <orderscount translate="label">
1244
  <label>Minimum Orders Count</label>
1245
  <frontend_type>text</frontend_type>
1246
  <sort_order>200</sort_order>
1247
+ <comment>Default: "0" for disabled check.</comment>
1248
+ <show_in_default>1</show_in_default>
1249
  <show_in_website>1</show_in_website>
1250
+ <show_in_store>1</show_in_store>
1251
  </orderscount>
1252
  </fields>
1253
  </novalnetPhonepayment>
1254
  <!-- ccpci-start -->
1255
  <novalnetCcpci translate="label" module="novalnet">
1256
  <label>Novalnet Credit Card PCI</label>
1257
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
1258
  <sort_order>687</sort_order>
1259
  <show_in_default>1</show_in_default>
1260
  <show_in_website>1</show_in_website>
1261
+ <show_in_store>1</show_in_store>
1262
  <fields>
1263
  <active translate="label">
1264
  <label>Enabled</label>
1267
  <sort_order>1</sort_order>
1268
  <show_in_default>1</show_in_default>
1269
  <show_in_website>1</show_in_website>
1270
+ <show_in_store>1</show_in_store>
1271
  </active>
1272
  <title translate="label">
1273
  <label>Title</label>
1275
  <sort_order>2</sort_order>
1276
  <show_in_default>1</show_in_default>
1277
  <show_in_website>1</show_in_website>
1278
+ <show_in_store>1</show_in_store>
1279
  </title>
1280
  <order_status translate="label">
1281
  <label>New order status</label>
1284
  <sort_order>3</sort_order>
1285
  <show_in_default>1</show_in_default>
1286
  <show_in_website>1</show_in_website>
1287
+ <show_in_store>1</show_in_store>
1288
  </order_status>
1289
  <merchant_id translate="label">
1290
  <label>Novalnet Merchant ID</label>
1292
  <sort_order>4</sort_order>
1293
  <show_in_default>1</show_in_default>
1294
  <show_in_website>1</show_in_website>
1295
+ <show_in_store>1</show_in_store>
1296
  </merchant_id>
1297
  <auth_code translate="label">
1298
  <label>Novalnet Auth Code</label>
1300
  <sort_order>5</sort_order>
1301
  <show_in_default>1</show_in_default>
1302
  <show_in_website>1</show_in_website>
1303
+ <show_in_store>1</show_in_store>
1304
  </auth_code>
1305
  <product_id translate="label">
1306
  <label>Novalnet Product ID</label>
1308
  <sort_order>6</sort_order>
1309
  <show_in_default>1</show_in_default>
1310
  <show_in_website>1</show_in_website>
1311
+ <show_in_store>1</show_in_store>
1312
  </product_id>
1313
  <tariff_id translate="label">
1314
  <label>Novalnet Tariff Id</label>
1316
  <sort_order>7</sort_order>
1317
  <show_in_default>1</show_in_default>
1318
  <show_in_website>1</show_in_website>
1319
+ <show_in_store>1</show_in_store>
1320
  </tariff_id>
1321
  <manual_checking_amount tranlate="label" >
1322
  <label>Manual checking amount in cents</label>
1323
  <frontend_type>text</frontend_type>
1324
+ <sort_order>9</sort_order>
1325
  <show_in_default>1</show_in_default>
1326
  <show_in_website>1</show_in_website>
1327
+ <show_in_store>1</show_in_store>
1328
  </manual_checking_amount>
1329
  <second_product_id translate="label">
1330
  <label>Second Novalnet Product ID</label>
1331
  <frontend_type>text</frontend_type>
1332
+ <sort_order>10</sort_order>
1333
  <show_in_default>1</show_in_default>
1334
  <show_in_website>1</show_in_website>
1335
+ <show_in_store>1</show_in_store>
1336
  </second_product_id>
1337
  <second_tariff_id translate="label">
1338
  <label>Second Novalnet Tariff Id</label>
1339
  <frontend_type>text</frontend_type>
1340
+ <sort_order>11</sort_order>
1341
  <show_in_default>1</show_in_default>
1342
  <show_in_website>1</show_in_website>
1343
+ <show_in_store>1</show_in_store>
1344
  </second_tariff_id>
1345
  <password translate="label">
1346
+ <label>Novalnet Password</label>
1347
  <frontend_type>text</frontend_type>
1348
+ <sort_order>8</sort_order>
1349
  <show_in_default>1</show_in_default>
1350
  <show_in_website>1</show_in_website>
1351
+ <show_in_store>1</show_in_store>
1352
  </password>
1353
  <booking_reference translate="label">
1354
  <label>Booking Reference</label>
1355
  <frontend_type>text</frontend_type>
1356
+ <sort_order>12</sort_order>
1357
  <show_in_default>1</show_in_default>
1358
  <show_in_website>1</show_in_website>
1359
  <show_in_store>1</show_in_store>
1360
  </booking_reference>
1361
  <user_group_excluded translate="label">
1362
+ <comment>To exclude groups of customers.</comment>
 
 
 
1363
  <label>User Group Excluded</label>
1364
  <frontend_type>text</frontend_type>
1365
+ <sort_order>13</sort_order>
1366
  <show_in_default>1</show_in_default>
1367
  <show_in_website>1</show_in_website>
1368
+ <show_in_store>1</show_in_store>
1369
  </user_group_excluded>
1370
  <live_mode translate="label">
1371
  <label>Live Mode</label>
1372
  <frontend_type>select</frontend_type>
1373
  <source_model>adminhtml/system_config_source_yesno</source_model>
1374
+ <sort_order>14</sort_order>
1375
  <show_in_default>1</show_in_default>
1376
  <show_in_website>1</show_in_website>
1377
+ <show_in_store>1</show_in_store>
1378
  </live_mode>
1379
  <gateway_timeout translate="label">
1380
  <comment>Gateway Timeout in seconds</comment>
1383
  <sort_order>17</sort_order>
1384
  <show_in_default>1</show_in_default>
1385
  <show_in_website>1</show_in_website>
1386
+ <show_in_store>1</show_in_store>
1387
  </gateway_timeout>
1388
  <sort_order translate="label">
1389
  <label>Sort Order</label>
1391
  <sort_order>100</sort_order>
1392
  <show_in_default>1</show_in_default>
1393
  <show_in_website>1</show_in_website>
1394
+ <show_in_store>1</show_in_store>
1395
  </sort_order>
1396
  <createinvoice translate="label">
1397
  <label>Create Invoice</label>
1426
  <sort_order>180</sort_order>
1427
  <show_in_default>1</show_in_default>
1428
  <show_in_website>1</show_in_website>
1429
+ <show_in_store>1</show_in_store>
1430
  </min_order_total>
1431
  <max_order_total translate="label">
1432
  <label>Maximum Order Total</label>
1434
  <sort_order>190</sort_order>
1435
  <show_in_default>1</show_in_default>
1436
  <show_in_website>1</show_in_website>
1437
+ <show_in_store>1</show_in_store>
1438
  </max_order_total>
1439
  <orderscount translate="label">
1440
  <label>Minimum Orders Count</label>
1441
  <frontend_type>text</frontend_type>
1442
  <sort_order>200</sort_order>
1443
+ <comment>Default: "0" for disabled check.</comment>
1444
+ <show_in_default>1</show_in_default>
1445
  <show_in_website>1</show_in_website>
1446
+ <show_in_store>1</show_in_store>
1447
  </orderscount>
1448
  </fields>
1449
  </novalnetCcpci>
1451
  <!-- elvdepci-start -->
1452
  <novalnetElvdepci translate="label" module="novalnet">
1453
  <label>Novalnet Direct Debit German PCI</label>
1454
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
1455
  <sort_order>689</sort_order>
1456
  <show_in_default>1</show_in_default>
1457
  <show_in_website>1</show_in_website>
1458
+ <show_in_store>1</show_in_store>
1459
  <fields>
1460
  <active translate="label">
1461
  <label>Enabled</label>
1464
  <sort_order>1</sort_order>
1465
  <show_in_default>1</show_in_default>
1466
  <show_in_website>1</show_in_website>
1467
+ <show_in_store>1</show_in_store>
1468
  </active>
1469
  <title translate="label">
1470
  <label>Title</label>
1472
  <sort_order>2</sort_order>
1473
  <show_in_default>1</show_in_default>
1474
  <show_in_website>1</show_in_website>
1475
+ <show_in_store>1</show_in_store>
1476
  </title>
1477
  <order_status translate="label">
1478
  <label>New order status</label>
1481
  <sort_order>3</sort_order>
1482
  <show_in_default>1</show_in_default>
1483
  <show_in_website>1</show_in_website>
1484
+ <show_in_store>1</show_in_store>
1485
  </order_status>
1486
  <merchant_id translate="label">
1487
  <label>Novalnet Merchant ID</label>
1489
  <sort_order>4</sort_order>
1490
  <show_in_default>1</show_in_default>
1491
  <show_in_website>1</show_in_website>
1492
+ <show_in_store>1</show_in_store>
1493
  </merchant_id>
1494
  <auth_code translate="label">
1495
  <label>Novalnet Auth Code</label>
1497
  <sort_order>5</sort_order>
1498
  <show_in_default>1</show_in_default>
1499
  <show_in_website>1</show_in_website>
1500
+ <show_in_store>1</show_in_store>
1501
  </auth_code>
1502
  <product_id translate="label">
1503
  <label>Novalnet Product ID</label>
1505
  <sort_order>6</sort_order>
1506
  <show_in_default>1</show_in_default>
1507
  <show_in_website>1</show_in_website>
1508
+ <show_in_store>1</show_in_store>
1509
  </product_id>
1510
  <tariff_id translate="label">
1511
  <label>Novalnet Tariff Id</label>
1513
  <sort_order>7</sort_order>
1514
  <show_in_default>1</show_in_default>
1515
  <show_in_website>1</show_in_website>
1516
+ <show_in_store>1</show_in_store>
1517
  </tariff_id>
1518
  <password translate="label">
1519
+ <label>Novalnet Password</label>
1520
  <frontend_type>text</frontend_type>
1521
  <sort_order>9</sort_order>
1522
  <show_in_default>1</show_in_default>
1523
  <show_in_website>1</show_in_website>
1524
+ <show_in_store>1</show_in_store>
1525
  </password>
1526
  <manual_checking_amount tranlate="label" >
1527
  <label>Manual checking amount in cents</label>
1528
  <frontend_type>text</frontend_type>
1529
+ <sort_order>10</sort_order>
1530
  <show_in_default>1</show_in_default>
1531
  <show_in_website>1</show_in_website>
1532
+ <show_in_store>1</show_in_store>
1533
  </manual_checking_amount>
1534
  <second_product_id translate="label">
1535
  <label>Second Novalnet Product ID</label>
1536
  <frontend_type>text</frontend_type>
1537
+ <sort_order>11</sort_order>
1538
  <show_in_default>1</show_in_default>
1539
  <show_in_website>1</show_in_website>
1540
+ <show_in_store>1</show_in_store>
1541
  </second_product_id>
1542
  <second_tariff_id translate="label">
1543
  <label>Second Novalnet Tariff Id</label>
1544
  <frontend_type>text</frontend_type>
1545
+ <sort_order>12</sort_order>
1546
  <show_in_default>1</show_in_default>
1547
  <show_in_website>1</show_in_website>
1548
+ <show_in_store>1</show_in_store>
1549
  </second_tariff_id>
1550
  <booking_reference translate="label">
1551
  <label>Booking Reference</label>
1552
  <frontend_type>text</frontend_type>
1553
+ <sort_order>13</sort_order>
1554
  <show_in_default>1</show_in_default>
1555
  <show_in_website>1</show_in_website>
1556
  <show_in_store>1</show_in_store>
1557
  </booking_reference>
1558
  <user_group_excluded translate="label">
1559
+ <comment>To exclude groups of customers.</comment>
 
 
 
1560
  <label>User Group Excluded</label>
1561
  <frontend_type>text</frontend_type>
1562
+ <sort_order>14</sort_order>
1563
  <show_in_default>1</show_in_default>
1564
  <show_in_website>1</show_in_website>
1565
+ <show_in_store>1</show_in_store>
1566
  </user_group_excluded>
1567
  <live_mode translate="label">
1568
  <label>Live Mode</label>
1569
  <frontend_type>select</frontend_type>
1570
  <source_model>adminhtml/system_config_source_yesno</source_model>
1571
+ <sort_order>15</sort_order>
1572
  <show_in_default>1</show_in_default>
1573
  <show_in_website>1</show_in_website>
1574
+ <show_in_store>1</show_in_store>
1575
  </live_mode>
1576
  <gateway_timeout translate="label">
1577
  <comment>Gateway Timeout in seconds</comment>
1580
  <sort_order>17</sort_order>
1581
  <show_in_default>1</show_in_default>
1582
  <show_in_website>1</show_in_website>
1583
+ <show_in_store>1</show_in_store>
1584
  </gateway_timeout>
1585
  <sort_order translate="label">
1586
  <label>Sort Order</label>
1588
  <sort_order>100</sort_order>
1589
  <show_in_default>1</show_in_default>
1590
  <show_in_website>1</show_in_website>
1591
+ <show_in_store>1</show_in_store>
1592
  </sort_order>
1593
  <createinvoice translate="label">
1594
  <label>Create Invoice</label>
1623
  <sort_order>180</sort_order>
1624
  <show_in_default>1</show_in_default>
1625
  <show_in_website>1</show_in_website>
1626
+ <show_in_store>1</show_in_store>
1627
  </min_order_total>
1628
  <max_order_total translate="label">
1629
  <label>Maximum Order Total</label>
1631
  <sort_order>190</sort_order>
1632
  <show_in_default>1</show_in_default>
1633
  <show_in_website>1</show_in_website>
1634
+ <show_in_store>1</show_in_store>
1635
  </max_order_total>
1636
  <orderscount translate="label">
1637
  <label>Minimum Orders Count</label>
1638
  <frontend_type>text</frontend_type>
1639
  <sort_order>200</sort_order>
1640
+ <comment>Default: "0" for disabled check.</comment>
1641
+ <show_in_default>1</show_in_default>
1642
  <show_in_website>1</show_in_website>
1643
+ <show_in_store>1</show_in_store>
1644
  </orderscount>
1645
  </fields>
1646
  </novalnetElvdepci>
1648
  <!-- elvatpci-start -->
1649
  <novalnetElvatpci translate="label" module="novalnet">
1650
  <label>Novalnet Direct Debit Austria PCI</label>
1651
+ <comment>You have to set the live mode to 'yes' for real payments.</comment>
1652
  <sort_order>691</sort_order>
1653
  <show_in_default>1</show_in_default>
1654
  <show_in_website>1</show_in_website>
1655
+ <show_in_store>1</show_in_store>
1656
  <fields>
1657
  <active translate="label">
1658
  <label>Enabled</label>
1661
  <sort_order>1</sort_order>
1662
  <show_in_default>1</show_in_default>
1663
  <show_in_website>1</show_in_website>
1664
+ <show_in_store>1</show_in_store>
1665
  </active>
1666
  <title translate="label">
1667
  <label>Title</label>
1669
  <sort_order>2</sort_order>
1670
  <show_in_default>1</show_in_default>
1671
  <show_in_website>1</show_in_website>
1672
+ <show_in_store>1</show_in_store>
1673
  </title>
1674
  <order_status translate="label">
1675
  <label>New order status</label>
1678
  <sort_order>3</sort_order>
1679
  <show_in_default>1</show_in_default>
1680
  <show_in_website>1</show_in_website>
1681
+ <show_in_store>1</show_in_store>
1682
  </order_status>
1683
  <merchant_id translate="label">
1684
  <label>Novalnet Merchant ID</label>
1686
  <sort_order>4</sort_order>
1687
  <show_in_default>1</show_in_default>
1688
  <show_in_website>1</show_in_website>
1689
+ <show_in_store>1</show_in_store>
1690
  </merchant_id>
1691
  <auth_code translate="label">
1692
  <label>Novalnet Auth Code</label>
1694
  <sort_order>5</sort_order>
1695
  <show_in_default>1</show_in_default>
1696
  <show_in_website>1</show_in_website>
1697
+ <show_in_store>1</show_in_store>
1698
  </auth_code>
1699
  <product_id translate="label">
1700
  <label>Novalnet Product ID</label>
1702
  <sort_order>6</sort_order>
1703
  <show_in_default>1</show_in_default>
1704
  <show_in_website>1</show_in_website>
1705
+ <show_in_store>1</show_in_store>
1706
  </product_id>
1707
  <tariff_id translate="label">
1708
  <label>Novalnet Tariff Id</label>
1710
  <sort_order>7</sort_order>
1711
  <show_in_default>1</show_in_default>
1712
  <show_in_website>1</show_in_website>
1713
+ <show_in_store>1</show_in_store>
1714
  </tariff_id>
1715
  <password translate="label">
1716
+ <label>Novalnet Password</label>
1717
  <frontend_type>text</frontend_type>
1718
+ <sort_order>8</sort_order>
1719
  <show_in_default>1</show_in_default>
1720
  <show_in_website>1</show_in_website>
1721
+ <show_in_store>1</show_in_store>
1722
  </password>
1723
  <manual_checking_amount tranlate="label" >
1724
  <label>Manual checking amount in cents</label>
1725
  <frontend_type>text</frontend_type>
1726
+ <sort_order>9</sort_order>
1727
  <show_in_default>1</show_in_default>
1728
  <show_in_website>1</show_in_website>
1729
+ <show_in_store>1</show_in_store>
1730
  </manual_checking_amount>
1731
  <second_product_id translate="label">
1732
  <label>Second Novalnet Product ID</label>
1733
  <frontend_type>text</frontend_type>
1734
+ <sort_order>10</sort_order>
1735
  <show_in_default>1</show_in_default>
1736
  <show_in_website>1</show_in_website>
1737
+ <show_in_store>1</show_in_store>
1738
  </second_product_id>
1739
  <second_tariff_id translate="label">
1740
  <label>Second Novalnet Tariff Id</label>
1741
  <frontend_type>text</frontend_type>
1742
+ <sort_order>11</sort_order>
1743
  <show_in_default>1</show_in_default>
1744
  <show_in_website>1</show_in_website>
1745
+ <show_in_store>1</show_in_store>
1746
  </second_tariff_id>
1747
  <booking_reference translate="label">
1748
  <label>Booking Reference</label>
1749
  <frontend_type>text</frontend_type>
1750
+ <sort_order>12</sort_order>
1751
  <show_in_default>1</show_in_default>
1752
  <show_in_website>1</show_in_website>
1753
  <show_in_store>1</show_in_store>
1754
  </booking_reference>
1755
  <user_group_excluded translate="label">
1756
+ <comment>To exclude groups of customers.</comment>
 
 
 
1757
  <label>User Group Excluded</label>
1758
  <frontend_type>text</frontend_type>
1759
+ <sort_order>13</sort_order>
1760
  <show_in_default>1</show_in_default>
1761
  <show_in_website>1</show_in_website>
1762
+ <show_in_store>1</show_in_store>
1763
  </user_group_excluded>
1764
  <live_mode translate="label">
1765
  <label>Live Mode</label>
1766
  <frontend_type>select</frontend_type>
1767
  <source_model>adminhtml/system_config_source_yesno</source_model>
1768
+ <sort_order>14</sort_order>
1769
  <show_in_default>1</show_in_default>
1770
  <show_in_website>1</show_in_website>
1771
+ <show_in_store>1</show_in_store>
1772
  </live_mode>
1773
  <gateway_timeout translate="label">
1774
  <comment>Gateway Timeout in seconds</comment>
1777
  <sort_order>17</sort_order>
1778
  <show_in_default>1</show_in_default>
1779
  <show_in_website>1</show_in_website>
1780
+ <show_in_store>1</show_in_store>
1781
  </gateway_timeout>
1782
  <sort_order translate="label">
1783
  <label>Sort Order</label>
1785
  <sort_order>100</sort_order>
1786
  <show_in_default>1</show_in_default>
1787
  <show_in_website>1</show_in_website>
1788
+ <show_in_store>1</show_in_store>
1789
  </sort_order>
1790
  <createinvoice translate="label">
1791
  <label>Create Invoice</label>
1820
  <sort_order>180</sort_order>
1821
  <show_in_default>1</show_in_default>
1822
  <show_in_website>1</show_in_website>
1823
+ <show_in_store>1</show_in_store>
1824
  </min_order_total>
1825
  <max_order_total translate="label">
1826
  <label>Maximum Order Total</label>
1828
  <sort_order>190</sort_order>
1829
  <show_in_default>1</show_in_default>
1830
  <show_in_website>1</show_in_website>
1831
+ <show_in_store>1</show_in_store>
1832
  </max_order_total>
1833
  <orderscount translate="label">
1834
  <label>Minimum Orders Count</label>
1835
  <frontend_type>text</frontend_type>
1836
  <sort_order>200</sort_order>
1837
+ <comment>Default: "0" for disabled check.</comment>
1838
+ <show_in_default>1</show_in_default>
1839
  <show_in_website>1</show_in_website>
1840
+ <show_in_store>1</show_in_store>
1841
  </orderscount>
1842
  </fields>
1843
  </novalnetElvatpci>
1845
  </groups>
1846
  </payment>
1847
  </sections>
1848
+ </config>
app/code/community/Novalnet/NovalnetPaypal/Block/Info/Novalnetpaypal.php CHANGED
@@ -15,7 +15,7 @@ class Novalnet_NovalnetPaypal_Block_Info_NovalnetPaypal extends Mage_Payment_Blo
15
  /**
16
  * Retrieve info model
17
  *
18
- * @return Mage_Sofortueberweisung_Model_Info
19
  */
20
 
21
  public function getInfo()
@@ -60,11 +60,17 @@ class Novalnet_NovalnetPaypal_Block_Info_NovalnetPaypal extends Mage_Payment_Blo
60
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())
61
  ->load($objOrder->getQuoteId())
62
  ->getPayment();
63
- }else {
 
 
 
 
 
 
64
  $obj = $this->_localInfo;
65
  }
66
  $this->setNnTestorder($obj->getNnTestorder());
67
  $this->setNnComments($obj->getNnComments());
68
  return $this;
69
  }
70
- }
15
  /**
16
  * Retrieve info model
17
  *
18
+ * @return Mage_Paypal_Model_Info
19
  */
20
 
21
  public function getInfo()
60
  $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())
61
  ->load($objOrder->getQuoteId())
62
  ->getPayment();
63
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
64
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
65
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
66
+ $objOrder = $invoice->getOrder();
67
+ $objQuote = Mage::getModel( 'sales/quote' );
68
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
69
+ }else {
70
  $obj = $this->_localInfo;
71
  }
72
  $this->setNnTestorder($obj->getNnTestorder());
73
  $this->setNnComments($obj->getNnComments());
74
  return $this;
75
  }
76
+ }
app/code/community/Novalnet/NovalnetPaypal/Model/Novalnetpaypal.php CHANGED
@@ -69,8 +69,7 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
69
  public function getOrderPlaceRedirectUrl()
70
  {
71
  $return_url = Mage::getUrl('novalnetpaypal/novalnetpaypal/redirect');
72
- //file_put_contents(__FILE__.'assignData.txt','I am in getOrderPlaceRedirectUrl function'.print_r($return_url, true));
73
- return Mage::getUrl('novalnetpaypal/novalnetpaypal/redirect');
74
  }
75
 
76
  public function assignData($data)
@@ -79,9 +78,6 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
79
  $data = new Varien_Object($data);
80
  }
81
  $info = $this->getInfoInstance();
82
- //$temp = $info->getData();
83
- //unset($temp['method_instance']);
84
- //file_put_contents(__FILE__.'assignData.txt','I am in assignData function'.print_r($temp, true));
85
  return $this;
86
  }
87
 
@@ -92,7 +88,9 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
92
  public function validate()
93
  {
94
  parent::validate();
95
-
 
 
96
  return $this;
97
  }
98
 
@@ -108,87 +106,83 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
108
  ->load();
109
  if (count($orders) < $minOrderCount) {
110
  return false;
111
- }elseif(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id') || !$this->getConfigData('paypal_api_signature') || !$this->getConfigData('paypal_api_username') || !$this->getConfigData('paypal_api_password') || !$this->getConfigData('password')) {
112
- return false;
113
- }
114
  return parent::isAvailable();
115
  }
116
 
117
  public function getFormFields()
118
- {
119
- $billing = $this->getOrder()->getBillingAddress();
120
- $security = $this->getSecurityKey();
121
- $this->getOrder()->getPayment()->setSuSecurity($security)->save();
122
- $order = $this->getOrder();
123
- $this->password = $this->getConfigData('password');
124
- #$_SESSION['mima'] = $this->password;#todo: ?????
125
- $session = Mage::getSingleton('checkout/session');
126
- $session->setNovalnetPassword($this->password);
127
- $paymentInfo = $this->getInfoInstance();
128
 
129
- $fieldsArr = array();
130
- $note = $order->getCustomerNote();
131
- if ($note){
132
- $note = '<br />'.Mage::helper('novalnetpaypal')->__('Comment').': '.$note;
133
- }
134
- if ( !$this->getConfigData('live_mode') ){
135
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnetpaypal')->__('Testorder')).'</font></b>';
136
- }
137
- $order->setComment($note);
138
- $order->setCustomerNote($note);
139
- $order->setCustomerNoteNotify(true);
140
- $fieldsArr['key'] = self::KEY;
141
- $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
142
- $fieldsArr['auth_code'] = $this->encode($this->getConfigData('auth_code'), $this->password);
143
- $fieldsArr['product'] = $this->encode($this->getConfigData('product_id'), $this->password);
144
- $fieldsArr['tariff'] = $this->encode($this->getConfigData('tariff_id'), $this->password);
145
- $fieldsArr['amount'] = $this->encode(( round($order->getBaseGrandTotal(), 2) * 100), $this->password);
146
- $fieldsArr['test_mode'] = $this->encode((!$this->getConfigData('live_mode'))? 1: 0, $this->password);
147
- $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
148
 
149
- $hParams['auth_code'] = $fieldsArr['auth_code'];
150
- $hParams['product_id'] = $fieldsArr['product'];
151
- $hParams['tariff'] = $fieldsArr['tariff'];
152
- $hParams['amount'] = $fieldsArr['amount'];
153
- $hParams['test_mode'] = $fieldsArr['test_mode'];
154
- $hParams['uniqid'] = $fieldsArr['uniqid'];
155
 
156
- $fieldsArr['hash'] = $this->hash($hParams, $this->password);
157
- $fieldsArr['currency'] = $order->getOrderCurrencyCode();
158
- $fieldsArr['first_name'] = $billing->getFirstname();
159
- $fieldsArr['last_name'] = $billing->getLastname();
160
- $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
161
- $fieldsArr['street'] = $billing->getStreet(1);
162
- $fieldsArr['search_in_street'] = 1;
163
- $fieldsArr['city'] = $billing->getCity();
164
- $fieldsArr['zip'] = $billing->getPostcode();
165
- $fieldsArr['country_code'] = $billing->getCountry();
166
- $fieldsArr['lang'] = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
167
- $fieldsArr['remote_ip'] = $this->getRealIpAddr();
168
- $fieldsArr['tel'] = $billing->getTelephone();
169
- $fieldsArr['fax'] = $billing->getFax();
170
- //$fieldsArr['birth_date'] = $order->getRemoteIp();
171
- $fieldsArr['session'] = session_id();
172
- $fieldsArr['return_url'] = Mage::getUrl('novalnetpaypal/novalnetpaypal/return', array('_novalnetpaypal' => true));
173
- $fieldsArr['return_method'] = 'POST';
174
- $fieldsArr['error_return_url'] = Mage::getUrl('novalnetpaypal/novalnetpaypal/error', array('_novalnetpaypal' => true));
175
- $fieldsArr['error_return_method'] = 'POST';
176
- $fieldsArr['order_no'] = $paymentInfo->getOrder()->getRealOrderId();
177
- $fieldsArr['input1'] = 'order_id';
178
- $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
179
- $fieldsArr['user_variable_0'] = str_replace(array('https://', 'http://'), array('',''), Mage::getBaseUrl());
180
- $fieldsArr['api_signature'] = $this->encode($this->getConfigData('paypal_api_signature'), $this->password);
181
- $fieldsArr['api_user'] = $this->encode($this->getConfigData('paypal_api_username'), $this->password);
182
- $fieldsArr['api_pw'] = $this->encode($this->getConfigData('paypal_api_password'), $this->password);
183
-
184
- $request = '';
185
- foreach ($fieldsArr as $k => $v) {
186
- $request .= '<' . $k . '>' . $v . '</' . $k . '>';
187
- }
188
- //echo '<pre>';
189
- //print_r($fieldsArr); exit;
190
- return $fieldsArr;
191
- }
192
 
193
  /**
194
  * Get quote
@@ -208,13 +202,13 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
208
  *
209
  * @return Mage_Sales_Model_Order
210
  */
211
- public function getCheckout()
212
- {
213
- if (empty($this->_checkout)) {
214
- $this->_checkout = Mage::getSingleton('checkout/session');
215
- }
216
- return $this->_checkout;
217
- }
218
 
219
  /**
220
  * Get order model
@@ -275,66 +269,65 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
275
  fwrite($fh, "<hr />\n");
276
  fclose($fh);
277
  }
278
- function encode($data, $key)
279
- {
280
- $data = trim($data);
281
- if ($data == '') return'Error: no data';
282
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
283
-
284
- try {
285
- $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
286
- $data = $crc."|".$data;
287
- $data = bin2hex($data.$key);
288
- $data = strrev(base64_encode($data));
289
- }catch (Exception $e){
290
- echo('Error: '.$e);
291
- }
292
- return $data;
293
- }
294
- function decode($data, $key)
295
- {
296
- $data = trim($data);
297
- if ($data == '') {return'Error: no data';}
298
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
299
 
300
- try {
301
- $data = base64_decode(strrev($data));
302
- $data = pack("H".strlen($data), $data);
303
- $data = substr($data, 0, stripos($data, $key));
304
- $pos = strpos($data, "|");
305
- if ($pos === false){
306
- return("Error: CKSum not found!");
307
- }
308
- $crc = substr($data, 0, $pos);
309
- $value = trim(substr($data, $pos+1));
310
- if ($crc != sprintf('%u', crc32($value))){
311
- return("Error; CKSum invalid!");
312
- }
313
- return $value;
314
- }catch (Exception $e){
315
- echo('Error: '.$e);
316
- }
317
- }
318
- function hash($h, $key)#$h contains encoded data
319
- {
320
- if (!$h) return'Error: no data';
321
- if (!function_exists('md5')){return'Error: func n/a';}
322
- #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
323
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
324
- }
325
- function checkHash($request, $key)
326
- {
327
- if (!$request) return false; #'Error: no data';
328
- $h['auth_code'] = $request['auth_code'];#encoded
329
- $h['product_id'] = $request['product'];#encoded
330
- $h['tariff'] = $request['tariff'];#encoded
331
- $h['amount'] = $request['amount'];#encoded
332
- $h['test_mode'] = $request['test_mode'];#encoded
333
- $h['uniqid'] = $request['uniqid'];#encoded
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
 
335
- if ($request['hash2'] != $this->hash($h, $key)){
336
- return false;
337
- }
338
- return true;
339
- }
340
- }
69
  public function getOrderPlaceRedirectUrl()
70
  {
71
  $return_url = Mage::getUrl('novalnetpaypal/novalnetpaypal/redirect');
72
+ return Mage::getUrl('novalnetpaypal/novalnetpaypal/redirect');
 
73
  }
74
 
75
  public function assignData($data)
78
  $data = new Varien_Object($data);
79
  }
80
  $info = $this->getInfoInstance();
 
 
 
81
  return $this;
82
  }
83
 
88
  public function validate()
89
  {
90
  parent::validate();
91
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id')) || !trim($this->getConfigData('paypal_api_signature')) || !trim($this->getConfigData('paypal_api_username')) || !trim($this->getConfigData('paypal_api_password')) || !trim($this->getConfigData('password'))) {
92
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
93
+ }
94
  return $this;
95
  }
96
 
106
  ->load();
107
  if (count($orders) < $minOrderCount) {
108
  return false;
109
+ }
 
 
110
  return parent::isAvailable();
111
  }
112
 
113
  public function getFormFields()
114
+ {
115
+ $billing = $this->getOrder()->getBillingAddress();
116
+ $security = $this->getSecurityKey();
117
+ $this->getOrder()->getPayment()->setSuSecurity($security)->save();
118
+ $order = $this->getOrder();
119
+ $this->password = trim($this->getConfigData('password'));
120
+ $session = Mage::getSingleton('checkout/session');
121
+ $session->setNovalnetPassword($this->password);
122
+ $paymentInfo = $this->getInfoInstance();
 
123
 
124
+ $fieldsArr = array();
125
+ $note = $order->getCustomerNote();
126
+ if ($note){
127
+ $note = '<br />'.Mage::helper('novalnetpaypal')->__('Comment').': '.$note;
128
+ }
129
+ if ( !$this->getConfigData('live_mode') ){
130
+ $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('novalnetpaypal')->__('Testorder')).'</font></b>';
131
+ }
132
+ $order->setComment($note);
133
+ $order->setCustomerNote($note);
134
+ $order->setCustomerNoteNotify(true);
135
+ $fieldsArr['key'] = self::KEY;
136
+ $fieldsArr['vendor'] = trim($this->getConfigData('merchant_id'));
137
+ $fieldsArr['auth_code'] = $this->encode(trim($this->getConfigData('auth_code')), $this->password);
138
+ $fieldsArr['product'] = $this->encode(trim($this->getConfigData('product_id')), $this->password);
139
+ $fieldsArr['tariff'] = $this->encode(trim($this->getConfigData('tariff_id')), $this->password);
140
+ $fieldsArr['amount'] = $this->encode(( round($order->getBaseGrandTotal(), 2) * 100), $this->password);
141
+ $fieldsArr['test_mode'] = $this->encode((!$this->getConfigData('live_mode'))? 1: 0, $this->password);
142
+ $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
143
 
144
+ $hParams['auth_code'] = $fieldsArr['auth_code'];
145
+ $hParams['product_id'] = $fieldsArr['product'];
146
+ $hParams['tariff'] = $fieldsArr['tariff'];
147
+ $hParams['amount'] = $fieldsArr['amount'];
148
+ $hParams['test_mode'] = $fieldsArr['test_mode'];
149
+ $hParams['uniqid'] = $fieldsArr['uniqid'];
150
 
151
+ $fieldsArr['hash'] = $this->hash($hParams, $this->password);
152
+ $fieldsArr['currency'] = $order->getOrderCurrencyCode();
153
+ $fieldsArr['customer_no'] = Mage::getSingleton('customer/session')->getCustomerId();
154
+ $fieldsArr['use_utf8'] = '1';
155
+ $fieldsArr['first_name'] = $billing->getFirstname();
156
+ $fieldsArr['last_name'] = $billing->getLastname();
157
+ $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
158
+ $fieldsArr['street'] = $billing->getStreet(1);
159
+ $fieldsArr['search_in_street'] = 1;
160
+ $fieldsArr['city'] = $billing->getCity();
161
+ $fieldsArr['zip'] = $billing->getPostcode();
162
+ $fieldsArr['country_code'] = $billing->getCountry();
163
+ $fieldsArr['lang'] = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
164
+ $fieldsArr['remote_ip'] = $this->getRealIpAddr();
165
+ $fieldsArr['tel'] = $billing->getTelephone();
166
+ $fieldsArr['fax'] = $billing->getFax();
167
+ $fieldsArr['session'] = session_id();
168
+ $fieldsArr['return_url'] = Mage::getUrl('novalnetpaypal/novalnetpaypal/return', array('_novalnetpaypal' => true));
169
+ $fieldsArr['return_method'] = 'POST';
170
+ $fieldsArr['error_return_url'] = Mage::getUrl('novalnetpaypal/novalnetpaypal/error', array('_novalnetpaypal' => true));
171
+ $fieldsArr['error_return_method'] = 'POST';
172
+ $fieldsArr['order_no'] = $paymentInfo->getOrder()->getRealOrderId();
173
+ $fieldsArr['input1'] = 'order_id';
174
+ $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
175
+ $fieldsArr['user_variable_0'] = Mage::getBaseUrl();
176
+ $fieldsArr['api_signature'] = $this->encode(trim($this->getConfigData('paypal_api_signature')), $this->password);
177
+ $fieldsArr['api_user'] = $this->encode(trim($this->getConfigData('paypal_api_username')), $this->password);
178
+ $fieldsArr['api_pw'] = $this->encode(trim($this->getConfigData('paypal_api_password')), $this->password);
179
+
180
+ $request = '';
181
+ foreach ($fieldsArr as $k => $v) {
182
+ $request .= '<' . $k . '>' . $v . '</' . $k . '>';
183
+ }
184
+ return $fieldsArr;
185
+ }
 
186
 
187
  /**
188
  * Get quote
202
  *
203
  * @return Mage_Sales_Model_Order
204
  */
205
+ public function getCheckout()
206
+ {
207
+ if (empty($this->_checkout)) {
208
+ $this->_checkout = Mage::getSingleton('checkout/session');
209
+ }
210
+ return $this->_checkout;
211
+ }
212
 
213
  /**
214
  * Get order model
269
  fwrite($fh, "<hr />\n");
270
  fclose($fh);
271
  }
272
+ function encode($data, $key)
273
+ {
274
+ $data = trim($data);
275
+ if ($data == '') return'Error: no data';
276
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
 
278
+ try {
279
+ $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
280
+ $data = $crc."|".$data;
281
+ $data = bin2hex($data.$key);
282
+ $data = strrev(base64_encode($data));
283
+ }catch (Exception $e){
284
+ echo('Error: '.$e);
285
+ }
286
+ return $data;
287
+ }
288
+ function decode($data, $key)
289
+ {
290
+ $data = trim($data);
291
+ if ($data == '') {return'Error: no data';}
292
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
293
+ try {
294
+ $data = base64_decode(strrev($data));
295
+ $data = pack("H".strlen($data), $data);
296
+ $data = substr($data, 0, stripos($data, $key));
297
+ $pos = strpos($data, "|");
298
+ if ($pos === false){
299
+ return("Error: CKSum not found!");
300
+ }
301
+ $crc = substr($data, 0, $pos);
302
+ $value = trim(substr($data, $pos+1));
303
+ if ($crc != sprintf('%u', crc32($value))){
304
+ return("Error; CKSum invalid!");
305
+ }
306
+ return $value;
307
+ }catch (Exception $e){
308
+ echo('Error: '.$e);
309
+ }
310
+ }
311
+ function hash($h, $key)#$h contains encoded data
312
+ {
313
+ if (!$h) return'Error: no data';
314
+ if (!function_exists('md5')){return'Error: func n/a';}
315
+ #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
316
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
317
+ }
318
+ function checkHash($request, $key)
319
+ {
320
+ if (!$request) return false; #'Error: no data';
321
+ $h['auth_code'] = $request['auth_code'];#encoded
322
+ $h['product_id'] = $request['product'];#encoded
323
+ $h['tariff'] = $request['tariff'];#encoded
324
+ $h['amount'] = $request['amount'];#encoded
325
+ $h['test_mode'] = $request['test_mode'];#encoded
326
+ $h['uniqid'] = $request['uniqid'];#encoded
327
 
328
+ if ($request['hash2'] != $this->hash($h, $key)){
329
+ return false;
330
+ }
331
+ return true;
332
+ }
333
+ }
app/code/community/Novalnet/NovalnetPaypal/controllers/NovalnetpaypalController.php CHANGED
@@ -1,250 +1,254 @@
1
- <?php
2
- class Novalnet_NovalnetPaypal_NovalnetPaypalController extends Mage_Core_Controller_Front_Action
3
- {
4
-
5
- protected $_redirectBlockType = 'novalnetpaypal/novalnetpaypal';
6
- protected $_status = '100';
7
-
8
- /**
9
- * when customer select payment method
10
- */
11
- public function redirectAction() {
12
- $session = $this->getCheckout();
13
- $session->setNovalnetQuoteId($session->getQuoteId())
14
- ->setNovalnetRealOrderId($session->getLastRealOrderId());
15
- $order = Mage::getModel('sales/order');
16
- $order->loadByIncrementId($session->getLastRealOrderId());
17
- $order->addStatusToHistory(Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('novalnetpaypal')->__('Customer was redirected to Novalnet'));
18
- $order->save();
19
-
20
- $this->getResponse()->setBody(
21
- $this->getLayout()
22
- ->createBlock($this->_redirectBlockType)
23
- ->setOrder($order)
24
- ->toHtml()
25
- );
26
- $session->unsQuoteId();
27
- }
28
-
29
- public function returnAction() {
30
- $response = $this->getRequest()->getParams();
31
- $response['orderId'] = $response['inputval1'];#order_id;
32
- $status = $this->_checkReturnedData();
33
- if(!$response['orderId'] or !$status) {
34
- #Mage::log('orderId='.$response['orderId'].'; status:'.$status);
35
- $session = $this->getCheckout();
36
- $session->getQuote()->setIsActive(false)->save();
37
- Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
38
- $this->_redirect('checkout/cart');#new; ok
39
- } else {
40
- //load order and send mail
41
- $order = Mage::getModel('sales/order');
42
- $order->loadByIncrementId($response['orderId']);
43
- $paymentObj = $order->getPayment()->getMethodInstance();
44
- $payment = $order->getPayment();
45
- if($order->getId()) {
46
- #Mage::log('sendNewOrderEmail');
47
- $order->sendNewOrderEmail();
48
- }
49
- $session = $this->getCheckout();
50
- $session->getQuote()->setIsActive(false)->save();
51
- $this->_redirect('checkout/onepage/success');
52
- }
53
- }
54
-
55
- public function errorAction() {
56
- $session = $this->getCheckout();
57
- $session->getQuote()->setIsActive(false)->save();
58
- //Get response
59
- $response = $this->getRequest()->getParams();
60
- #print_r($response); exit;
61
- $order = Mage::getModel('sales/order');
62
- $order->load($this->getCheckout()->getLastOrderId());
63
- $order->cancel();
64
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));
65
- $order->save();
66
- Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
67
- $this->_redirect('checkout/cart');#new; ok
68
- }
69
-
70
- public function errornoticeAction() {
71
- $session = $this->getCheckout();
72
- $session->getQuote()->setIsActive(false)->save();
73
- $order = Mage::getModel('sales/order');
74
- $order->load($this->getCheckout()->getLastOrderId());
75
- $order->cancel();
76
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));
77
- $order->save();
78
-
79
- Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
80
- $this->_redirect('checkout/cart');#new
81
- }
82
-
83
- /**
84
- * Checking Post variables.
85
- *
86
- */
87
- protected function _checkReturnedData() {
88
- $status = false;
89
- if (!$this->getRequest()->isPost()) {
90
- $this->norouteAction();
91
- return;
92
- }
93
- $session = $this->getCheckout();
94
- //Get response
95
- $response = $this->getRequest()->getParams();
96
- $dataObj = new Varien_Object($this->getRequest()->getPost());
97
- //print_r($response); exit;
98
- $response['orderId'] = $response['inputval1'];#order_id;
99
- if ($response['status'] == 100) {
100
- $response['status'] = $this->checkParams($response);
101
- }
102
- $order = Mage::getModel('sales/order');
103
- $order->loadByIncrementId($response['orderId']);
104
- $paymentObj = $order->getPayment()->getMethodInstance();
105
- if ($response['status'] == 100 ) {
106
- $payment = $order->getPayment();
107
- $payment->setStatus(Novalnet_NovalnetPaypal_Model_NovalnetPaypal::STATUS_SUCCESS);
108
- $payment->setStatusDescription(Mage::helper('novalnetpaypal')->__('Customer successfully returned from Novalnet'));
109
- $payment->setLastTransId($response["tid"]);# to set TID in the payment info
110
- $payment->setTransactionId($dataObj->getTid());
111
- $payment->setSuTransactionId($dataObj->getTid());
112
- $order->addStatusToHistory($paymentObj->getConfigData('order_status'), Mage::helper('novalnetpaypal')->__('Customer successfully returned from Novalnet'));
113
- if( $dataObj->hasTestMode() ) {
114
- Mage::getModel( 'sales/quote' )
115
- ->load($session->getNovalnetQuoteId())
116
- ->getPayment()
117
- ->setNnTestorder($this->decode($response['test_mode'], $session->getNovalnetPassword()))
118
- ->save();
119
- }
120
- $order->setPayment($payment);
121
- if($paymentObj->getConfigData('createinvoice') == 1){
122
- if ($this->saveInvoice($order)) {
123
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
124
- }
125
- }
126
- $status = true;
127
- } else {
128
- $payment = $order->getPayment();
129
- $payment->setLastTransId($response["tid"]);# to set TID in the payment info
130
- $payment->setStatus(Novalnet_NovalnetPaypal_Model_NovalnetPaypal::STATUS_DECLINED);
131
- $order->setPayment($payment);
132
- $order->cancel();
133
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Customer aborted payment process'));
134
- $status = false;
135
- }
136
- $order->save();
137
- return $status;
138
- }
139
-
140
- /**
141
- * Save invoice for order
142
- *
143
- * @param Mage_Sales_Model_Order $order
144
- * @return boolean Can save invoice or not
145
- */
146
- protected function saveInvoice (Mage_Sales_Model_Order $order) {
147
- if ($order->canInvoice()) {
148
- $invoice = $order->prepareInvoice();
149
-
150
- $invoice->register();
151
- Mage::getModel('core/resource_transaction')
152
- ->addObject($invoice)
153
- ->addObject($invoice->getOrder())
154
- ->save();
155
- $invoice->sendEmail(true, '');
156
- return true;
157
- }
158
-
159
- return false;
160
- }
161
-
162
- /**
163
- * Get singleton of Checkout Session Model
164
- *
165
- * @return Mage_Checkout_Model_Session
166
- */
167
- public function getCheckout()
168
- {
169
- return Mage::getSingleton('checkout/session');
170
- }
171
-
172
- /**
173
- * checks server response and gets parameters
174
- * @return $data array|string response parameters or ERROR_WRONG_HASH|ERROR_NO_ORDER_DETAILS if error
175
- *
176
- */
177
- public function getNotification($pwd){
178
- $pnSu = Mage::helper('novalnetpaypal');
179
- $pnSu->classSofortueberweisung($pwd);
180
- return $pnSu->getNotification();
181
- }
182
- private function checkParams($response) {
183
- $session = $this->getCheckout();
184
- $status = '100';
185
- if (!$response['hash2']){
186
- $status = '90';
187
- }
188
- if (!$this->checkHash($response, $session->getNovalnetPassword())){
189
- $status = '91';
190
- }
191
- $response['amount'] = $this->decode($response['amount'], $session->getNovalnetPassword());
192
- if (preg_match('/\D/', $response['amount'], $aMatch)){
193
- $status = '92';
194
- }
195
- #Mage::log(__FUNCTION__.': status='.$status);
196
- $this->_status = $status;
197
- return$status;
198
- }
199
- function hash($h, $key)#$h contains encoded data
200
- {
201
- if (!$h) return'Error: no data';
202
- if (!function_exists('md5')){return'Error: func n/a';}
203
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
204
- }
205
- function checkHash($request, $key)
206
- {
207
- if (!$request) return false; #'Error: no data';
208
- $h['auth_code'] = $request['auth_code'];#encoded
209
- $h['product_id'] = $request['product']; #encoded
210
- $h['tariff'] = $request['tariff']; #encoded
211
- $h['amount'] = $request['amount']; #encoded
212
- $h['test_mode'] = $request['test_mode'];#encoded
213
- $h['uniqid'] = $request['uniqid']; #encoded
214
-
215
- if ($request['hash2'] != $this->hash($h, $key)){
216
-
217
- Mage::getSingleton('core/session')
218
- ->addError(Mage::helper('novalnetpaypal')->__('Die Hashfunktionen sind nicht verf&uuml;gbar!'));
219
- $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
220
- Mage::app()->getResponse()->setRedirect($url);
221
- Mage::app()->getResponse()->sendResponse();
222
- exit;
223
- }
224
- return true;
225
- }
226
- function decode($data, $key)
227
- {
228
- $data = trim($data);
229
- if ($data == '') {return'Error: no data';}
230
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
231
-
232
- try {
233
- $data = base64_decode(strrev($data));
234
- $data = pack("H".strlen($data), $data);
235
- $data = substr($data, 0, stripos($data, $key));
236
- $pos = strpos($data, "|");
237
- if ($pos === false){
238
- return("Error: CKSum not found!");
239
- }
240
- $crc = substr($data, 0, $pos);
241
- $value = trim(substr($data, $pos+1));
242
- if ($crc != sprintf('%u', crc32($value))){
243
- return("Error; CKSum invalid!");
244
- }
245
- return $value;
246
- }catch (Exception $e){
247
- echo('Error: '.$e);
248
- }
249
- }
250
- }
 
 
 
 
1
+ <?php
2
+ class Novalnet_NovalnetPaypal_NovalnetPaypalController extends Mage_Core_Controller_Front_Action
3
+ {
4
+
5
+ protected $_redirectBlockType = 'novalnetpaypal/novalnetpaypal';
6
+ protected $_status = '100';
7
+
8
+ /**
9
+ * when customer select payment method
10
+ */
11
+ public function redirectAction() {
12
+ $session = $this->getCheckout();
13
+ $session->setNovalnetQuoteId($session->getQuoteId())
14
+ ->setNovalnetRealOrderId($session->getLastRealOrderId());
15
+ $order = Mage::getModel('sales/order');
16
+ $order->loadByIncrementId($session->getLastRealOrderId());
17
+ $order->addStatusToHistory(Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('novalnetpaypal')->__('Customer was redirected to Novalnet'));
18
+ $order->save();
19
+
20
+ $this->getResponse()->setBody(
21
+ $this->getLayout()
22
+ ->createBlock($this->_redirectBlockType)
23
+ ->setOrder($order)
24
+ ->toHtml()
25
+ );
26
+ $session->unsQuoteId();
27
+ }
28
+
29
+ public function returnAction() {
30
+ $response = $this->getRequest()->getParams();
31
+ $response['orderId'] = $response['inputval1'];#order_id;
32
+ $status = $this->_checkReturnedData();
33
+ if(!$response['orderId'] or !$status) {
34
+ #Mage::log('orderId='.$response['orderId'].'; status:'.$status);
35
+ $session = $this->getCheckout();
36
+ $session->getQuote()->setIsActive(false)->save();
37
+ Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
38
+ $this->_redirect('checkout/cart');#new; ok
39
+ } else {
40
+ //load order and send mail
41
+ $order = Mage::getModel('sales/order');
42
+ $order->loadByIncrementId($response['orderId']);
43
+ $paymentObj = $order->getPayment()->getMethodInstance();
44
+ $payment = $order->getPayment();
45
+ if($order->getId()) {
46
+ #Mage::log('sendNewOrderEmail');
47
+ $order->sendNewOrderEmail();
48
+ }
49
+ $session = $this->getCheckout();
50
+ $session->getQuote()->setIsActive(false)->save();
51
+ $this->_redirect('checkout/onepage/success');
52
+ $session->unsNnPayPalTestOrder();
53
+ }
54
+ }
55
+
56
+ public function errorAction() {
57
+ $session = $this->getCheckout();
58
+ $session->getQuote()->setIsActive(false)->save();
59
+ //Get response
60
+ $response = $this->getRequest()->getParams();
61
+ #print_r($response); exit;
62
+ $order = Mage::getModel('sales/order');
63
+ $order->load($this->getCheckout()->getLastOrderId());
64
+ $order->cancel();
65
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));
66
+ $order->save();
67
+ Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
68
+ $this->_redirect('checkout/cart');#new; ok
69
+ }
70
+
71
+ public function errornoticeAction() {
72
+ $session = $this->getCheckout();
73
+ $session->getQuote()->setIsActive(false)->save();
74
+ $order = Mage::getModel('sales/order');
75
+ $order->load($this->getCheckout()->getLastOrderId());
76
+ $order->cancel();
77
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));
78
+ $order->save();
79
+
80
+ Mage::getSingleton('checkout/session')->addError(Mage::helper('novalnetpaypal')->__('Error').' : '.utf8_decode($response['status_text']));#new
81
+ $this->_redirect('checkout/cart');#new
82
+ }
83
+
84
+ /**
85
+ * Checking Post variables.
86
+ *
87
+ */
88
+ protected function _checkReturnedData() {
89
+ $status = false;
90
+ if (!$this->getRequest()->isPost()) {
91
+ $this->norouteAction();
92
+ return;
93
+ }
94
+ $session = $this->getCheckout();
95
+ //Get response
96
+ $response = $this->getRequest()->getParams();
97
+ $dataObj = new Varien_Object($this->getRequest()->getPost());
98
+ $response['orderId'] = $response['inputval1'];#order_id;
99
+ if ($response['status'] == 100) {
100
+ $response['status'] = $this->checkParams($response);
101
+ }
102
+ $order = Mage::getModel('sales/order');
103
+ $order->loadByIncrementId($response['orderId']);
104
+ $paymentObj = $order->getPayment()->getMethodInstance();
105
+ if ($response['status'] == 100 ) {
106
+ $payment = $order->getPayment();
107
+ $payment->setStatus(Novalnet_NovalnetPaypal_Model_NovalnetPaypal::STATUS_SUCCESS);
108
+ $payment->setStatusDescription(Mage::helper('novalnetpaypal')->__('Customer successfully returned from Novalnet'));
109
+ $payment->setLastTransId($response["tid"]);# to set TID in the payment info
110
+ $payment->setTransactionId($dataObj->getTid());
111
+ $payment->setSuTransactionId($dataObj->getTid());
112
+ $order->addStatusToHistory($paymentObj->getConfigData('order_status'), Mage::helper('novalnetpaypal')->__('Customer successfully returned from Novalnet'));
113
+ $session->unsNnTestOrder();
114
+
115
+ if( $dataObj->hasTestMode() ) {
116
+ Mage::getModel( 'sales/quote' )
117
+ ->load($session->getNovalnetQuoteId())
118
+ ->getPayment()
119
+ ->setNnTestorder($this->decode($response['test_mode'], $session->getNovalnetPassword()))
120
+ ->save();
121
+ $session->setNnPayPalTestOrder($this->decode($response['test_mode'], $session->getNovalnetPassword()));
122
+ }
123
+ $order->setPayment($payment);
124
+ if($paymentObj->getConfigData('createinvoice') == 1){
125
+ if ($this->saveInvoice($order)) {
126
+ //$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
127
+ }
128
+ }
129
+ $status = true;
130
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
131
+ } else {
132
+ $payment = $order->getPayment();
133
+ $payment->setLastTransId($response["tid"]);# to set TID in the payment info
134
+ $payment->setStatus(Novalnet_NovalnetPaypal_Model_NovalnetPaypal::STATUS_DECLINED);
135
+ $order->setPayment($payment);
136
+ $order->cancel();
137
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnetpaypal')->__('Customer aborted payment process'));
138
+ $status = false;
139
+ }
140
+ $order->save();
141
+ return $status;
142
+ }
143
+
144
+ /**
145
+ * Save invoice for order
146
+ *
147
+ * @param Mage_Sales_Model_Order $order
148
+ * @return boolean Can save invoice or not
149
+ */
150
+ protected function saveInvoice (Mage_Sales_Model_Order $order) {
151
+ if ($order->canInvoice()) {
152
+ $invoice = $order->prepareInvoice();
153
+
154
+ $invoice->register();
155
+ Mage::getModel('core/resource_transaction')
156
+ ->addObject($invoice)
157
+ ->addObject($invoice->getOrder())
158
+ ->save();
159
+ $invoice->sendEmail(true, '');
160
+ return true;
161
+ }
162
+
163
+ return false;
164
+ }
165
+
166
+ /**
167
+ * Get singleton of Checkout Session Model
168
+ *
169
+ * @return Mage_Checkout_Model_Session
170
+ */
171
+ public function getCheckout()
172
+ {
173
+ return Mage::getSingleton('checkout/session');
174
+ }
175
+
176
+ /**
177
+ * checks server response and gets parameters
178
+ * @return $data array|string response parameters or ERROR_WRONG_HASH|ERROR_NO_ORDER_DETAILS if error
179
+ *
180
+ */
181
+ public function getNotification($pwd){
182
+ $pnSu = Mage::helper('novalnetpaypal');
183
+ $pnSu->classSofortueberweisung($pwd);
184
+ return $pnSu->getNotification();
185
+ }
186
+ private function checkParams($response) {
187
+ $session = $this->getCheckout();
188
+ $status = '100';
189
+ if (!$response['hash2']){
190
+ $status = '90';
191
+ }
192
+ if (!$this->checkHash($response, $session->getNovalnetPassword())){
193
+ $status = '91';
194
+ }
195
+ $response['amount'] = $this->decode($response['amount'], $session->getNovalnetPassword());
196
+ if (preg_match('/\D/', $response['amount'], $aMatch)){
197
+ $status = '92';
198
+ }
199
+ #Mage::log(__FUNCTION__.': status='.$status);
200
+ $this->_status = $status;
201
+ return$status;
202
+ }
203
+ function hash($h, $key)#$h contains encoded data
204
+ {
205
+ if (!$h) return'Error: no data';
206
+ if (!function_exists('md5')){return'Error: func n/a';}
207
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
208
+ }
209
+ function checkHash($request, $key)
210
+ {
211
+ if (!$request) return false; #'Error: no data';
212
+ $h['auth_code'] = $request['auth_code'];#encoded
213
+ $h['product_id'] = $request['product']; #encoded
214
+ $h['tariff'] = $request['tariff']; #encoded
215
+ $h['amount'] = $request['amount']; #encoded
216
+ $h['test_mode'] = $request['test_mode'];#encoded
217
+ $h['uniqid'] = $request['uniqid']; #encoded
218
+
219
+ if ($request['hash2'] != $this->hash($h, $key)){
220
+
221
+ Mage::getSingleton('core/session')
222
+ ->addError(Mage::helper('novalnetpaypal')->__('Die Hashfunktionen sind nicht verf&uuml;gbar!'));
223
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
224
+ Mage::app()->getResponse()->setRedirect($url);
225
+ Mage::app()->getResponse()->sendResponse();
226
+ exit;
227
+ }
228
+ return true;
229
+ }
230
+ function decode($data, $key)
231
+ {
232
+ $data = trim($data);
233
+ if ($data == '') {return'Error: no data';}
234
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
235
+
236
+ try {
237
+ $data = base64_decode(strrev($data));
238
+ $data = pack("H".strlen($data), $data);
239
+ $data = substr($data, 0, stripos($data, $key));
240
+ $pos = strpos($data, "|");
241
+ if ($pos === false){
242
+ return("Error: CKSum not found!");
243
+ }
244
+ $crc = substr($data, 0, $pos);
245
+ $value = trim(substr($data, $pos+1));
246
+ if ($crc != sprintf('%u', crc32($value))){
247
+ return("Error; CKSum invalid!");
248
+ }
249
+ return $value;
250
+ }catch (Exception $e){
251
+ echo('Error: '.$e);
252
+ }
253
+ }
254
+ }
app/code/community/Novalnet/NovalnetPaypal/etc/config.xml CHANGED
@@ -101,10 +101,10 @@
101
  <default>
102
  <payment>
103
  <novalnetpaypal>
104
- <active>1</active>
105
  <model>novalnetpaypal/novalnetpaypal</model>
106
  <order_status>1</order_status>
107
- <title>Novalnet-novalnetpaypal</title>
108
  <allowspecific>0</allowspecific>
109
  <url>https://payport.novalnet.de/paypal_payport</url>
110
  <customer></customer>
@@ -119,4 +119,4 @@
119
  </novalnetpaypal>
120
  </payment>
121
  </default>
122
- </config>
101
  <default>
102
  <payment>
103
  <novalnetpaypal>
104
+ <active>0</active>
105
  <model>novalnetpaypal/novalnetpaypal</model>
106
  <order_status>1</order_status>
107
+ <title>Novalnet PayPal</title>
108
  <allowspecific>0</allowspecific>
109
  <url>https://payport.novalnet.de/paypal_payport</url>
110
  <customer></customer>
119
  </novalnetpaypal>
120
  </payment>
121
  </default>
122
+ </config>
app/code/community/Novalnet/NovalnetPaypal/etc/system.xml CHANGED
@@ -4,8 +4,8 @@
4
  <payment>
5
  <groups>
6
  <novalnetpaypal translate="label" module="paygate">
7
- <label>Novalnet-Paypal</label>
8
- <comment>Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.</comment>
9
  <frontend_type>text</frontend_type>
10
  <sort_order>0</sort_order>
11
  <show_in_default>1</show_in_default>
@@ -55,7 +55,7 @@
55
  <show_in_store>0</show_in_store>
56
  </product_id>
57
  <tariff_id translate="label">
58
- <label>Novalnet Tariff ID</label>
59
  <frontend_type>text</frontend_type>
60
  <sort_order>6</sort_order>
61
  <show_in_default>1</show_in_default>
@@ -81,7 +81,7 @@
81
  <show_in_store>0</show_in_store>
82
  </gateway_timeout>
83
  <password translate="label">
84
- <label>Password</label>
85
  <frontend_type>text</frontend_type>
86
  <sort_order>9</sort_order>
87
  <show_in_default>1</show_in_default>
@@ -89,7 +89,7 @@
89
  <show_in_store>0</show_in_store>
90
  </password>
91
  <sort_order translate="label">
92
- <label>Sort order</label>
93
  <frontend_type>text</frontend_type>
94
  <sort_order>10</sort_order>
95
  <show_in_default>1</show_in_default>
@@ -171,13 +171,15 @@
171
  <sort_order>190</sort_order>
172
  <show_in_default>1</show_in_default>
173
  <show_in_website>1</show_in_website>
 
174
  <show_in_store>0</show_in_store>
175
  </max_order_total>
176
  <orderscount translate="label">
177
  <label>Minimum Orders Count</label>
178
  <frontend_type>text</frontend_type>
179
  <sort_order>200</sort_order>
180
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment> <show_in_default>1</show_in_default>
 
181
  <show_in_website>1</show_in_website>
182
  <show_in_store>0</show_in_store>
183
  </orderscount>
4
  <payment>
5
  <groups>
6
  <novalnetpaypal translate="label" module="paygate">
7
+ <label>Novalnet PayPal</label>
8
+ <comment>The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.</comment>
9
  <frontend_type>text</frontend_type>
10
  <sort_order>0</sort_order>
11
  <show_in_default>1</show_in_default>
55
  <show_in_store>0</show_in_store>
56
  </product_id>
57
  <tariff_id translate="label">
58
+ <label>Novalnet Tariff Id</label>
59
  <frontend_type>text</frontend_type>
60
  <sort_order>6</sort_order>
61
  <show_in_default>1</show_in_default>
81
  <show_in_store>0</show_in_store>
82
  </gateway_timeout>
83
  <password translate="label">
84
+ <label>Novalnet Password</label>
85
  <frontend_type>text</frontend_type>
86
  <sort_order>9</sort_order>
87
  <show_in_default>1</show_in_default>
89
  <show_in_store>0</show_in_store>
90
  </password>
91
  <sort_order translate="label">
92
+ <label>Sort Order</label>
93
  <frontend_type>text</frontend_type>
94
  <sort_order>10</sort_order>
95
  <show_in_default>1</show_in_default>
171
  <sort_order>190</sort_order>
172
  <show_in_default>1</show_in_default>
173
  <show_in_website>1</show_in_website>
174
+
175
  <show_in_store>0</show_in_store>
176
  </max_order_total>
177
  <orderscount translate="label">
178
  <label>Minimum Orders Count</label>
179
  <frontend_type>text</frontend_type>
180
  <sort_order>200</sort_order>
181
+ <comment>Default: "0" for disabled check.</comment>
182
+ <show_in_default>1</show_in_default>
183
  <show_in_website>1</show_in_website>
184
  <show_in_store>0</show_in_store>
185
  </orderscount>
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung.php DELETED
@@ -1,12 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung extends Mage_Adminhtml_Block_Widget_Grid_Container
3
- {
4
- public function __construct()
5
- {
6
- $this->_controller = 'adminhtml_sofortueberweisung';
7
- $this->_blockGroup = 'sofortueberweisung';
8
- $this->_headerText = Mage::helper('sofortueberweisung')->__('Item Manager');
9
- $this->_addButtonLabel = Mage::helper('sofortueberweisung')->__('Add Item');
10
- parent::__construct();
11
- }
12
- }
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit.php DELETED
@@ -1,44 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
3
- {
4
- public function __construct()
5
- {
6
- parent::__construct();
7
-
8
- $this->_objectId = 'id';
9
- $this->_blockGroup = 'sofortueberweisung';
10
- $this->_controller = 'adminhtml_sofortueberweisung';
11
-
12
- $this->_updateButton('save', 'label', Mage::helper('sofortueberweisung')->__('Save Item'));
13
- $this->_updateButton('delete', 'label', Mage::helper('sofortueberweisung')->__('Delete Item'));
14
-
15
- $this->_addButton('saveandcontinue', array(
16
- 'label' => Mage::helper('adminhtml')->__('Save And Continue Edit'),
17
- 'onclick' => 'saveAndContinueEdit()',
18
- 'class' => 'save',
19
- ), -100);
20
-
21
- $this->_formScripts[] = "
22
- function toggleEditor() {
23
- if (tinyMCE.getInstanceById('sofortueberweisung_content') == null) {
24
- tinyMCE.execCommand('mceAddControl', false, 'sofortueberweisung_content');
25
- } else {
26
- tinyMCE.execCommand('mceRemoveControl', false, 'sofortueberweisung_content');
27
- }
28
- }
29
-
30
- function saveAndContinueEdit(){
31
- editForm.submit($('edit_form').action+'back/edit/');
32
- }
33
- ";
34
- }
35
-
36
- public function getHeaderText()
37
- {
38
- if( Mage::registry('sofortueberweisung_data') && Mage::registry('sofortueberweisung_data')->getId() ) {
39
- return Mage::helper('sofortueberweisung')->__("Edit Item '%s'", $this->htmlEscape(Mage::registry('sofortueberweisung_data')->getTitle()));
40
- } else {
41
- return Mage::helper('sofortueberweisung')->__('Add Item');
42
- }
43
- }
44
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Form.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung_Edit_Form extends Mage_Adminhtml_Block_Widget_Form
3
- {
4
- protected function _prepareForm()
5
- {
6
- $form = new Varien_Data_Form(array(
7
- 'id' => 'edit_form',
8
- 'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
9
- 'method' => 'post',
10
- )
11
- );
12
-
13
- $form->setUseContainer(true);
14
- $this->setForm($form);
15
- return parent::_prepareForm();
16
- }
17
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Tab/Form.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
3
- {
4
- protected function _prepareForm()
5
- {
6
- $form = new Varien_Data_Form();
7
- $this->setForm($form);
8
- $fieldset = $form->addFieldset('sofortueberweisung_form', array('legend'=>Mage::helper('sofortueberweisung')->__('Item information')));
9
-
10
- $fieldset->addField('title', 'text', array(
11
- 'label' => Mage::helper('sofortueberweisung')->__('Title'),
12
- 'class' => 'required-entry',
13
- 'required' => true,
14
- 'name' => 'title',
15
- ));
16
-
17
- $fieldset->addField('status', 'select', array(
18
- 'label' => Mage::helper('sofortueberweisung')->__('Status'),
19
- 'name' => 'status',
20
- 'values' => array(
21
- array(
22
- 'value' => 1,
23
- 'label' => Mage::helper('sofortueberweisung')->__('Enabled'),
24
- ),
25
-
26
- array(
27
- 'value' => 2,
28
- 'label' => Mage::helper('sofortueberweisung')->__('Disabled'),
29
- ),
30
- ),
31
- ));
32
-
33
- $fieldset->addField('content', 'editor', array(
34
- 'name' => 'content',
35
- 'label' => Mage::helper('sofortueberweisung')->__('Content'),
36
- 'title' => Mage::helper('sofortueberweisung')->__('Content'),
37
- 'style' => 'width:700px; height:500px;',
38
- 'wysiwyg' => false,
39
- 'required' => true,
40
- ));
41
-
42
- if ( Mage::getSingleton('adminhtml/session')->getSofortueberweisungData() )
43
- {
44
- $form->setValues(Mage::getSingleton('adminhtml/session')->getSofortueberweisungData());
45
- Mage::getSingleton('adminhtml/session')->setSofortueberweisungData(null);
46
- } elseif ( Mage::registry('sofortueberweisung_data') ) {
47
- $form->setValues(Mage::registry('sofortueberweisung_data')->getData());
48
- }
49
- return parent::_prepareForm();
50
- }
51
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Edit/Tabs.php DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
3
- {
4
-
5
- public function __construct()
6
- {
7
- parent::__construct();
8
- $this->setId('sofortueberweisung_tabs');
9
- $this->setDestElementId('edit_form');
10
- $this->setTitle(Mage::helper('sofortueberweisung')->__('Item Information'));
11
- }
12
-
13
- protected function _beforeToHtml()
14
- {
15
- $this->addTab('form_section', array(
16
- 'label' => Mage::helper('sofortueberweisung')->__('Item Information'),
17
- 'title' => Mage::helper('sofortueberweisung')->__('Item Information'),
18
- 'content' => $this->getLayout()->createBlock('sofortueberweisung/adminhtml_sofortueberweisung_edit_tab_form')->toHtml(),
19
- ));
20
-
21
- return parent::_beforeToHtml();
22
- }
23
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Adminhtml/Sofortueberweisung/Grid.php DELETED
@@ -1,133 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Adminhtml_Sofortueberweisung_Grid extends Mage_Adminhtml_Block_Widget_Grid
3
- {
4
- public function __construct()
5
- {
6
- parent::__construct();
7
- $this->setId('sofortueberweisungGrid');
8
- $this->setDefaultSort('sofortueberweisung_id');
9
- $this->setDefaultDir('ASC');
10
- $this->setSaveParametersInSession(true);
11
- }
12
-
13
- protected function _prepareCollection()
14
- {
15
- $collection = Mage::getModel('sofortueberweisung/sofortueberweisung')->getCollection();
16
- $this->setCollection($collection);
17
- return parent::_prepareCollection();
18
- }
19
-
20
- protected function _prepareColumns()
21
- {
22
- $this->addColumn('sofortueberweisung_id', array(
23
- 'header' => Mage::helper('sofortueberweisung')->__('ID'),
24
- 'align' =>'right',
25
- 'width' => '50px',
26
- 'index' => 'sofortueberweisung_id',
27
- ));
28
-
29
- $this->addColumn('title', array(
30
- 'header' => Mage::helper('sofortueberweisung')->__('Title'),
31
- 'align' =>'left',
32
- 'index' => 'title',
33
- ));
34
-
35
- /*
36
- $this->addColumn('content', array(
37
- 'header' => Mage::helper('sofortueberweisung')->__('Item Content'),
38
- 'width' => '150px',
39
- 'index' => 'content',
40
- ));
41
- */
42
-
43
- $this->addColumn('created_time', array(
44
- 'header' => Mage::helper('sofortueberweisung')->__('Creation Time'),
45
- 'align' => 'left',
46
- 'width' => '120px',
47
- 'type' => 'date',
48
- 'default' => '--',
49
- 'index' => 'created_time',
50
- ));
51
-
52
- $this->addColumn('update_time', array(
53
- 'header' => Mage::helper('sofortueberweisung')->__('Update Time'),
54
- 'align' => 'left',
55
- 'width' => '120px',
56
- 'type' => 'date',
57
- 'default' => '--',
58
- 'index' => 'update_time',
59
- ));
60
-
61
- $this->addColumn('status', array(
62
- 'header' => Mage::helper('sofortueberweisung')->__('Status'),
63
- 'align' => 'left',
64
- 'width' => '80px',
65
- 'index' => 'status',
66
- 'type' => 'options',
67
- 'options' => array(
68
- 1 => 'Enabled',
69
- 2 => 'Disabled',
70
- ),
71
- ));
72
-
73
- $this->addColumn('action',
74
- array(
75
- 'header' => Mage::helper('sofortueberweisung')->__('Action'),
76
- 'width' => '100',
77
- 'type' => 'action',
78
- 'getter' => 'getId',
79
- 'actions' => array(
80
- array(
81
- 'caption' => Mage::helper('sofortueberweisung')->__('Edit'),
82
- 'url' => array('base'=> '*/*/edit'),
83
- 'field' => 'id'
84
- )
85
- ),
86
- 'filter' => false,
87
- 'sortable' => false,
88
- 'index' => 'stores',
89
- 'is_system' => true,
90
- ));
91
-
92
- $this->addExportType('*/*/exportCsv', Mage::helper('sofortueberweisung')->__('CSV'));
93
- $this->addExportType('*/*/exportXml', Mage::helper('sofortueberweisung')->__('XML'));
94
-
95
- return parent::_prepareColumns();
96
- }
97
-
98
- protected function _prepareMassaction()
99
- {
100
- $this->setMassactionIdField('sofortueberweisung_id');
101
- $this->getMassactionBlock()->setFormFieldName('sofortueberweisung');
102
-
103
- $this->getMassactionBlock()->addItem('delete', array(
104
- 'label' => Mage::helper('sofortueberweisung')->__('Delete'),
105
- 'url' => $this->getUrl('*/*/massDelete'),
106
- 'confirm' => Mage::helper('sofortueberweisung')->__('Are you sure?')
107
- ));
108
-
109
- $statuses = Mage::getSingleton('sofortueberweisung/status')->getOptionArray();
110
-
111
- array_unshift($statuses, array('label'=>'', 'value'=>''));
112
- $this->getMassactionBlock()->addItem('status', array(
113
- 'label'=> Mage::helper('sofortueberweisung')->__('Change status'),
114
- 'url' => $this->getUrl('*/*/massStatus', array('_current'=>true)),
115
- 'additional' => array(
116
- 'visibility' => array(
117
- 'name' => 'status',
118
- 'type' => 'select',
119
- 'class' => 'required-entry',
120
- 'label' => Mage::helper('sofortueberweisung')->__('Status'),
121
- 'values' => $statuses
122
- )
123
- )
124
- ));
125
- return $this;
126
- }
127
-
128
- public function getRowUrl($row)
129
- {
130
- return $this->getUrl('*/*/edit', array('id' => $row->getId()));
131
- }
132
-
133
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Form/Sofortueberweisung.php CHANGED
@@ -1,44 +1,44 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Form_Sofortueberweisung extends Mage_Payment_Block_Form
3
- {
4
- /**
5
- * Init default template for block
6
- */
7
- protected function _construct()
8
- {
9
- parent::_construct();
10
- $this->setTemplate('sofortueberweisung/form/sofortueberweisung.phtml');
11
- }
12
-
13
- /**
14
- * Retrieve payment configuration object
15
- *
16
- * @return Mage_Payment_Model_Config
17
- */
18
- protected function _getConfig()
19
- {
20
- return Mage::getSingleton('payment/config');
21
- }
22
-
23
- public function getNetherlandBanks($selected)
24
- {
25
- $bankArray = Array(
26
- 'NL_101' => 'ING Calculator',
27
- 'NL_102' => 'Fortis Bank',
28
- 'NL_103' => 'ABN Amro Bank',
29
- 'NL_104' => 'SNS Bank',
30
- 'NL_105' => 'Rabobank',
31
- 'NL_106' => 'ING Wachtwoord',
32
- 'NL_109' => 'SNS Regio Bank',
33
- );
34
-
35
- foreach($bankArray AS $key => $val){
36
- $selectArray[$key] = Array('value' => $val,'selected' => 0);
37
- if($key == $selected){
38
- $selectArray[$key]['selected'] = 1;
39
- }
40
- }
41
-
42
- return $selectArray;
43
- }
44
  }
1
+ <?php
2
+ class Novalnet_Sofortueberweisung_Block_Form_Sofortueberweisung extends Mage_Payment_Block_Form
3
+ {
4
+ /**
5
+ * Init default template for block
6
+ */
7
+ protected function _construct()
8
+ {
9
+ parent::_construct();
10
+ $this->setTemplate('novalnetsofortueberweisung/form/sofortueberweisung.phtml');
11
+ }
12
+
13
+ /**
14
+ * Retrieve payment configuration object
15
+ *
16
+ * @return Mage_Payment_Model_Config
17
+ */
18
+ protected function _getConfig()
19
+ {
20
+ return Mage::getSingleton('payment/config');
21
+ }
22
+
23
+ public function getNetherlandBanks($selected)
24
+ {
25
+ $bankArray = Array(
26
+ 'NL_101' => 'ING Calculator',
27
+ 'NL_102' => 'Fortis Bank',
28
+ 'NL_103' => 'ABN Amro Bank',
29
+ 'NL_104' => 'SNS Bank',
30
+ 'NL_105' => 'Rabobank',
31
+ 'NL_106' => 'ING Wachtwoord',
32
+ 'NL_109' => 'SNS Regio Bank',
33
+ );
34
+
35
+ foreach($bankArray AS $key => $val){
36
+ $selectArray[$key] = Array('value' => $val,'selected' => 0);
37
+ if($key == $selected){
38
+ $selectArray[$key]['selected'] = 1;
39
+ }
40
+ }
41
+
42
+ return $selectArray;
43
+ }
44
  }
app/code/community/Novalnet/Sofortueberweisung/Block/Info/Sofortueberweisung.php CHANGED
@@ -1,43 +1,69 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Info_Sofortueberweisung extends Mage_Payment_Block_Info
3
- {
4
- /**
5
- * Init default template for block
6
- */
7
- protected function _construct()
8
- {
9
- parent::_construct();
10
- $this->setTemplate('sofortueberweisung/info/sofortueberweisung.phtml');
11
- }
12
-
13
- /**
14
- * Retrieve info model
15
- *
16
- * @return Mage_Sofortueberweisung_Model_Info
17
- */
18
- public function getInfo()
19
- {
20
- $info = $this->getData('info');
21
-
22
- if (!($info instanceof Mage_Payment_Model_Info)) {
23
- Mage::throwException($this->__('Can not retrieve payment info model object.'));
24
- }
25
- return $info;
26
- }
27
-
28
- /**
29
- * Retrieve payment method model
30
- *
31
- * @return Mage_Payment_Model_Method_Abstract
32
- */
33
- public function getMethod()
34
- {
35
- return $this->getInfo()->getMethodInstance();
36
- }
37
-
38
- public function toPdf()
39
- {
40
- $this->setTemplate('sofortueberweisung/info/pdf/sofortueberweisung.phtml');
41
- return $this->toHtml();
42
- }
43
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Novalnet_Sofortueberweisung_Block_Info_Sofortueberweisung extends Mage_Payment_Block_Info
3
+ {
4
+ /**
5
+ * Init default template for block
6
+ */
7
+ protected function _construct()
8
+ {
9
+ parent::_construct();
10
+ $this->setTemplate('novalnetsofortueberweisung/info/sofortueberweisung.phtml');
11
+ }
12
+
13
+ /**
14
+ * Retrieve info model
15
+ *
16
+ * @return Mage_Sofortueberweisung_Model_Info
17
+ */
18
+ public function getInfo()
19
+ {
20
+ if (!$this->_localInfo) {
21
+ $this->_localInfo = $this->getData('info');
22
+ $this->loadNovalnetData();
23
+ if($this->getNnTestorder())
24
+ $this->_localInfo->setNnTestorder($this->getNnTestorder());
25
+ }
26
+ if (!($this->_localInfo instanceof Mage_Payment_Model_Info)) {
27
+ Mage::throwException($this->__('Can not retrieve payment info model object.'));
28
+ }
29
+ return $this->_localInfo;
30
+ }
31
+
32
+ /**
33
+ * Retrieve payment method model
34
+ *
35
+ * @return Mage_Payment_Model_Method_Abstract
36
+ */
37
+ public function getMethod()
38
+ {
39
+ return $this->getInfo()->getMethodInstance();
40
+ }
41
+
42
+ public function toPdf()
43
+ {
44
+ $this->setTemplate('novalnetsofortueberweisung/info/pdf/sofortueberweisung.phtml');
45
+ return $this->toHtml();
46
+ }
47
+ public function loadNovalnetData() {
48
+ $order_id = $this->getRequest()->getParam('order_id');
49
+ $obj = NULL;
50
+ if( $order_id ) {
51
+ $objOrder = Mage::getModel('sales/order')->load($order_id);
52
+ $objQuote = Mage::getModel( 'sales/quote' );
53
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())
54
+ ->load($objOrder->getQuoteId())
55
+ ->getPayment();
56
+ }else if( $this->getRequest()->getParam('invoice_id') ) {
57
+ $invoice_id = $this->getRequest()->getParam('invoice_id') ;
58
+ $invoice = Mage::getModel('sales/order_invoice')->load($invoice_id);
59
+ $objOrder = $invoice->getOrder();
60
+ $objQuote = Mage::getModel( 'sales/quote' );
61
+ $obj = $objQuotePayment = $objQuote->setStoreId($objOrder->getStoreId())->load($objOrder->getQuoteId())->getPayment();
62
+ }else {
63
+ $obj = $this->_localInfo;
64
+ }
65
+ $this->setNnTestorder($obj->getNnTestorder());
66
+ $this->setNnComments($obj->getNnComments());
67
+ return $this;
68
+ }
69
+ }
app/code/community/Novalnet/Sofortueberweisung/Block/Infobox.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Infobox extends Mage_Core_Block_Template
3
- {
4
- protected function _construct()
5
- {
6
- parent::_construct();
7
- $this->setTemplate('sofortueberweisung/infobox.phtml');
8
- }
9
- }
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisung.php CHANGED
@@ -1,33 +1,33 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Sofortueberweisung extends Mage_Core_Block_Abstract
3
- {
4
- protected function _toHtml()
5
- {
6
- $payment = $this->getOrder()->getPayment()->getMethodInstance();
7
-
8
- if($payment->getConfigData('password')) {
9
- $form = new Varien_Data_Form();
10
- $form->setAction($payment->getUrl())
11
- ->setId('sofortueberweisung')
12
- ->setName('sofortueberweisung')
13
- ->setMethod('POST')
14
- ->setUseContainer(true);
15
-
16
- foreach ($payment->getFormFields() as $field=>$value) {
17
- $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
18
- }
19
- // IE & Firefox will not submit form if the form is full of hidden fileds.
20
- $form->addField( 'continue', 'submit', array( 'name'=>'continue', 'value'=>$this->__('You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.') ) );
21
- $html = '<html><body>';
22
- // $html.= $this->__('You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.');
23
- $html.= $form->toHtml();
24
- $html.= '<script type="text/javascript">document.getElementById("sofortueberweisung").submit();</script>';
25
- $html.= '</body></html>';
26
-
27
- return $html;
28
- }else{
29
- $html = $this->__('Theres no password defined');
30
- return $html;
31
- }
32
- }
33
  }
1
+ <?php
2
+ class Novalnet_Sofortueberweisung_Block_Sofortueberweisung extends Mage_Core_Block_Abstract
3
+ {
4
+ protected function _toHtml()
5
+ {
6
+ $payment = $this->getOrder()->getPayment()->getMethodInstance();
7
+
8
+ if($payment->getConfigData('password')) {
9
+ $form = new Varien_Data_Form();
10
+ $form->setAction($payment->getUrl())
11
+ ->setId('sofortueberweisung')
12
+ ->setName('sofortueberweisung')
13
+ ->setMethod('POST')
14
+ ->setUseContainer(true);
15
+
16
+ foreach ($payment->getFormFields() as $field=>$value) {
17
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
18
+ }
19
+ // IE & Firefox will not submit form if the form is full of hidden fileds.
20
+ $form->addField( 'continue', 'submit', array( 'name'=>'continue', 'value'=>$this->__('You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.') ) );
21
+ $html = '<html><body>';
22
+ // $html.= $this->__('You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.');
23
+ $html.= $form->toHtml();
24
+ $html.= '<script type="text/javascript">document.getElementById("sofortueberweisung").submit();</script>';
25
+ $html.= '</body></html>';
26
+
27
+ return $html;
28
+ }else{
29
+ $html = $this->__('Theres no password defined');
30
+ return $html;
31
+ }
32
+ }
33
  }
app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisungerrornotice.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Sofortueberweisungerrornotice extends Mage_Core_Block_Template
3
- {
4
- protected function _construct()
5
- {
6
- parent::_construct();
7
- $this->setTemplate('sofortueberweisung/errornotice.phtml');
8
- }
9
- }
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Block/Sofortueberweisungnotice.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Block_Sofortueberweisungnotice extends Mage_Core_Block_Template
3
- {
4
- protected function _construct()
5
- {
6
- parent::_construct();
7
- $this->setTemplate('sofortueberweisung/notice.phtml');
8
- }
9
- }
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Model/Params.php DELETED
@@ -1,2 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Model_Params extends Varien_Object{}
 
 
app/code/community/Novalnet/Sofortueberweisung/Model/Paycode.php DELETED
@@ -1,207 +0,0 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Model_Paycode extends Mage_Payment_Model_Method_Abstract
3
- {
4
- /**
5
- * Availability options
6
- */
7
- protected $_code = 'paycode';
8
- protected $_paymentMethod = 'paycode';
9
-
10
- protected $_formBlockType = 'sofortueberweisung/form_paycode';
11
- protected $_infoBlockType = 'sofortueberweisung/info_paycode';
12
-
13
- const STATUS_UNKNOWN = 'UNKNOWN';
14
- const STATUS_APPROVED = 'APPROVED';
15
- const STATUS_ERROR = 'ERROR';
16
- const STATUS_DECLINED = 'DECLINED';
17
- const STATUS_VOID = 'VOID';
18
- const STATUS_SUCCESS = 'SUCCESS';
19
-
20
- protected $_isGateway = false;
21
- protected $_canAuthorize = true;
22
- protected $_canCapture = false;
23
- protected $_canCapturePartial = false;
24
- protected $_canRefund = false;
25
- protected $_canVoid = false;
26
- protected $_canUseInternal = false;
27
- protected $_canUseCheckout = true;
28
- protected $_canUseForMultishipping = true;
29
- protected $_supportedLocales = array('en', 'de', 'fr');
30
-
31
- public function _construct()
32
- {
33
- parent::_construct();
34
- $this->_init('sofortueberweisung/paycode');
35
- }
36
-
37
- public function getUrl(){
38
- return $this->getConfigData('url');
39
- }
40
-
41
- /**
42
- * Return payment method type string
43
- *
44
- * @return string
45
- */
46
- public function getPaymentMethodType()
47
- {
48
- return $this->_paymentMethod;
49
- }
50
-
51
- public function getSecurityKey(){
52
- return uniqid(rand(), true);
53
- }
54
-
55
- public function assignData($data)
56
- {
57
- if (!($data instanceof Varien_Object)) {
58
- $data = new Varien_Object($data);
59
- }
60
- $info = $this->getInfoInstance();
61
- $info->setSuAccountNumber($data->getSuAccountNumber())
62
- ->setSuBankCode($data->getSuBankCode())
63
- ->setSuPaycode($data->getSuPaycode())
64
- ->setSuIban($data->getSuIban())
65
- ->setSuBic($data->getSuBic())
66
- ->setSuHolder($data->getSuHolder());
67
-
68
- return $this;
69
- }
70
-
71
- public function validate()
72
- {
73
- parent::validate();
74
-
75
- if (!$this->getQuote()->getPayment()->getSuHolder()) {
76
- Mage::throwException(Mage::helper('sofortueberweisung')->__('Please fill out the account holder'));
77
- }
78
- if (!$this->getQuote()->getPayment()->getSuBankCode()) {
79
- Mage::throwException(Mage::helper('sofortueberweisung')->__('Please fill out the account number'));
80
- }
81
- if (!$this->getQuote()->getPayment()->getSuBankCode()) {
82
- Mage::throwException(Mage::helper('sofortueberweisung')->__('Please fill out the bank code'));
83
- }
84
- return $this;
85
- }
86
-
87
- /**
88
- * Send authorize request to gateway
89
- *
90
- * @param Varien_Object $payment
91
- * @param decimal $amount
92
- * @return Mage_Paygate_Model_Authorizenet
93
- */
94
- public function authorize(Varien_Object $payment, $amount)
95
- {/*
96
- $payment->setAmount($this->getQuote()->getGrandTotal());
97
- $error = false;
98
- $security = $this->getSecurityKey();
99
- $payment->setSuSecurity($security);
100
-
101
- if($payment->getAmount()){
102
-
103
- $amount = number_format($this->getQuote()->getGrandTotal(),2,'.','');
104
- $billing = $this->getQuote()->getBillingAddress();
105
-
106
- $locale = explode('_', Mage::app()->getLocale()->getLocaleCode());
107
- if (is_array($locale) && !empty($locale) && in_array($locale[0], $this->_supportedLocales))
108
- $locale = strtoupper($locale[0]);
109
- else
110
- $locale = strtoupper($this->getDefaultLocale());
111
-
112
- $params = Array(
113
- 'user_id' => $this->getConfigData('customer'),
114
- 'project_id' => $this->getConfigData('project'),
115
- 'amount' => $amount,
116
- 'reason_1' => Mage::helper('sofortueberweisung')->__('Order: ').$this->getQuote()->getReservedOrderId(),
117
- 'reason_2' => '',
118
- 'sender_holder' => $payment->getSuHolder(),
119
- 'sender_account_number' => $payment->getSuAccountNumber(),
120
- 'sender_bank_code' => $payment->getSuBankCode(),
121
- 'sender_bank_bic' => $payment->getSuBic(),
122
- 'sender_iban' => $payment->getSuIban(),
123
- 'sender_country_id' => $billing->getCountry(),
124
- 'user_variable_0' => $this->getQuote()->getReservedOrderId(),
125
- 'user_variable_1' => $payment->getSuSecurity(),
126
- 'user_variable_2' => '',
127
- 'user_variable_3' => '',
128
- 'user_variable_4' => '',
129
- 'user_variable_5' => '',
130
- 'expires' => $this->getConfigData('expires'),
131
- 'language_id' => $locale,
132
- );
133
-
134
- if($this->getConfigData('check_input_yesno') == 1)
135
- $params['hash'] = md5(implode('|',$params).'|'.$this->getConfigData('project_pswd'));
136
-
137
- $result = $this->_postRequest($params);
138
-
139
- if(strstr($result,'Errors') === false){
140
- $payment->setSuPaycode($result);
141
- $payment->setStatus(self::STATUS_APPROVED);
142
- }else{
143
- $error = Mage::helper('sofortueberweisung')->__('Please check your account data.');
144
- }
145
- }else{
146
- $error = Mage::helper('sofortueberweisung')->__('Invalid amount for authorization.');
147
- }
148
-
149
- if ($error !== false) {
150
- Mage::throwException($error);
151
- }*/
152
-
153
- return $this;
154
- }
155
-
156
- protected function _postRequest($request)
157
- {
158
- $client = new Varien_Http_Client();
159
-
160
- $client->setUri($this->getUrl());
161
- $client->setConfig(array(
162
- 'maxredirects'=>2,
163
- 'timeout'=>60,
164
- ));
165
-
166
- $client->setParameterGet($request);
167
- $client->setMethod(Zend_Http_Client::GET);
168
- try {
169
- $response = $client->request();
170
- } catch (Exception $e) {
171
- Mage::throwException(
172
- Mage::helper('sofortueberweisung')->__('Gateway request error: %s', $e->getMessage())
173
- );
174
- }
175
-
176
- $responseBody = $response->getBody();
177
-
178
- return $responseBody;
179
- }
180
-
181
- /**
182
- * Get quote
183
- *
184
- * @return Mage_Sales_Model_Order
185
- */
186
- public function getQuote()
187
- {
188
- if (empty($this->_quote)) {
189
- $this->_quote = $this->getCheckout()->getQuote();
190
- }
191
- return $this->_quote;
192
- }
193
-
194
- /**
195
- * Get checkout
196
- *
197
- * @return Mage_Sales_Model_Order
198
- */
199
- public function getCheckout()
200
- {
201
- if (empty($this->_checkout)) {
202
- $this->_checkout = Mage::getSingleton('checkout/session');
203
- }
204
- return $this->_checkout;
205
- }
206
-
207
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Model/Sofortueberweisung.php CHANGED
@@ -1,347 +1,333 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_Model_Sofortueberweisung extends Mage_Payment_Model_Method_Abstract
3
- {
4
- /**
5
- * Availability options
6
- */
7
- protected $_code = 'sofortueberweisung';
8
- protected $_paymentMethod = 'sofortueberweisung';
9
-
10
- protected $_formBlockType = 'sofortueberweisung/form_sofortueberweisung';
11
- protected $_infoBlockType = 'sofortueberweisung/info_sofortueberweisung';
12
-
13
- protected $_isGateway = false;
14
- protected $_canAuthorize = true;
15
- protected $_canCapture = false;
16
- protected $_canCapturePartial = false;
17
- protected $_canRefund = false;
18
- protected $_canVoid = false;
19
- protected $_canUseInternal = false;
20
- protected $_canUseCheckout = true;
21
- protected $_canUseForMultishipping = true;
22
-
23
- protected $password = '';
24
- const KEY = 33;
25
-
26
- public function _construct()
27
- {
28
- parent::_construct();
29
- $this->_init('sofortueberweisung/sofortueberweisung');
30
- }
31
-
32
- public function getUrl(){
33
- return $this->getConfigData('url');
34
- }
35
-
36
- /**
37
- * Return redirect block type
38
- *
39
- * @return string
40
- */
41
- public function getRedirectBlockType()
42
- {
43
- return $this->_redirectBlockType;
44
- }
45
-
46
- /**
47
- * Return payment method type string
48
- *
49
- * @return string
50
- */
51
- public function getPaymentMethodType()
52
- {
53
- return $this->_paymentMethod;
54
- }
55
-
56
-
57
- /**
58
- * Get redirect URL
59
- *
60
- * @return Mage_Payment_Helper_Data
61
- */
62
- public function getOrderPlaceRedirectUrl()
63
- {
64
- return Mage::getUrl('sofortueberweisung/sofortueberweisung/redirect');
65
- }
66
-
67
- public function assignData($data)
68
- {
69
- if (!($data instanceof Varien_Object)) {
70
- $data = new Varien_Object($data);
71
- }
72
- $info = $this->getInfoInstance();
73
- $info->setSuAccountNumber($data->getSuAccountNumber())
74
- ->setSuBankCode($data->getSuBankCode())
75
- ->setSuNlBankCode($data->getSuNlBankCode())
76
- ->setSuHolder($data->getSuHolder());
77
-
78
- return $this;
79
- }
80
-
81
- public function getSecurityKey(){
82
- return uniqid(rand(), true);
83
- }
84
-
85
- public function validate()
86
- {
87
- parent::validate();
88
-
89
- return $this;
90
- }
91
-
92
- public function isAvailable($quote = null) {
93
-
94
- $minOrderCount = trim($this->getConfigData('orderscount'));
95
- $customerId = Mage::getSingleton('customer/session')->getCustomerId();
96
-
97
- // Load orders and check
98
- $orders = Mage::getResourceModel('sales/order_collection')
99
- ->addAttributeToSelect('*')
100
- ->addAttributeToFilter('customer_id', $customerId)
101
- ->load();
102
- if (count($orders) < $minOrderCount) {
103
- return false;
104
- }elseif(!$this->getConfigData('merchant_id') || !$this->getConfigData('auth_code') || !$this->getConfigData('product_id') || !$this->getConfigData('tariff_id') || !$this->getConfigData('password')) {
105
- return false;
106
- }
107
- return parent::isAvailable();
108
- }
109
-
110
- public function getFormFields()
111
- {
112
- #$amount = number_format($this->getOrder()->getGrandTotal(),2,'.','');
113
- $billing = $this->getOrder()->getBillingAddress();
114
- $security = $this->getSecurityKey();
115
-
116
- $this->getOrder()->getPayment()->setSuSecurity($security)->save();
117
-
118
- $pnSu = Mage::helper('sofortueberweisung');
119
- $pnSu->classSofortueberweisung($this->getConfigData('project_pswd'));
120
-
121
- /*return $pnSu->getPaymentParameters(
122
- $this->getConfigData('customer'),
123
- $this->getConfigData('project'),
124
- $amount,
125
- $this->getOrder()->getOrderCurrencyCode(),
126
- Mage::helper('sofortueberweisung')->__('Order No.: ').$this->getOrder()->getRealOrderId(),
127
- '' ,
128
- $this->getOrder()->getRealOrderId(),
129
- $this->getOrder()->getPayment()->getSuSecurity());
130
- */
131
- $order = $this->getOrder();
132
- $payment = $this->getOrder()->getPayment();
133
- $this->password = $this->getConfigData('password');
134
- $_SESSION['mima'] = $this->password;#todo: ?????
135
- $session = Mage::getSingleton('checkout/session');
136
- $paymentInfo = $this->getInfoInstance();
137
-
138
-
139
- $fieldsArr = array();
140
- $note = $order->getCustomerNote();
141
- if ($note){
142
- $note = '<br />'.Mage::helper('sofortueberweisung')->__('Comment').': '.$note;
143
- }
144
- if ( !$this->getConfigData('live_mode') ){
145
- $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('sofortueberweisung')->__('Testorder')).'</font></b>';
146
- }
147
- $order->setComment($note);
148
- $order->setCustomerNote($note);
149
- $order->setCustomerNoteNotify(true);
150
-
151
- $fieldsArr['key'] = self::KEY;
152
- $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
153
- $fieldsArr['auth_code'] = $this->encode($this->getConfigData('auth_code'), $this->password);
154
- $fieldsArr['product'] = $this->encode($this->getConfigData('product_id'), $this->password);
155
- $fieldsArr['tariff'] = $this->encode($this->getConfigData('tariff_id'), $this->password);
156
- $fieldsArr['amount'] = $this->encode( ( round($order->getBaseGrandTotal(), 2) * 100), $this->password);
157
- $fieldsArr['test_mode'] = $this->encode((!$this->getConfigData('live_mode'))? 1: 0, $this->password);
158
- $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
159
-
160
- $hParams['auth_code'] = $fieldsArr['auth_code'];
161
- $hParams['product_id']= $fieldsArr['product'];
162
- $hParams['tariff'] = $fieldsArr['tariff'];
163
- $hParams['amount'] = $fieldsArr['amount'];
164
- $hParams['test_mode'] = $fieldsArr['test_mode'];
165
- $hParams['uniqid'] = $fieldsArr['uniqid'];
166
-
167
- $fieldsArr['hash'] = $this->hash($hParams, $this->password);
168
- $fieldsArr['currency'] = $order->getOrderCurrencyCode();
169
- $fieldsArr['first_name'] = $billing->getFirstname();
170
- $fieldsArr['last_name'] = $billing->getLastname();
171
- $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
172
- $fieldsArr['street'] = $billing->getStreet(1);
173
- $fieldsArr['search_in_street'] = 1;
174
- $fieldsArr['city'] = $billing->getCity();
175
- $fieldsArr['zip'] = $billing->getPostcode();
176
- $fieldsArr['country_code'] = $billing->getCountry();
177
- $fieldsArr['lang'] = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
178
- $fieldsArr['remote_ip'] = $this->getRealIpAddr();
179
- $fieldsArr['tel'] = $billing->getTelephone();
180
- $fieldsArr['fax'] = $billing->getFax();
181
- $fieldsArr['birth_date'] = $order->getRemoteIp();
182
- $fieldsArr['session'] = session_id();
183
- $fieldsArr['return_url'] = Mage::getUrl('sofortueberweisung/sofortueberweisung/return', array('_instantbanktransfer' => true));
184
- $fieldsArr['return_method'] = 'POST';
185
- $fieldsArr['error_return_url'] = Mage::getUrl('sofortueberweisung/sofortueberweisung/error', array('_instantbanktransfer' => true));
186
- #http://magento.gsoftpro.de/index.php/sofortueberweisung/sofortueberweisung/error/orderId/-USER_VARIABLE_0-
187
- $fieldsArr['error_return_method'] = 'POST';
188
- $fieldsArr['input1'] = 'order_id';
189
- $fieldsArr['order_no'] = $paymentInfo->getOrder()->getRealOrderId();
190
- $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
191
- $fieldsArr['user_variable_0'] = str_replace(array('https://', 'http://'), array('',''), Mage::getBaseUrl());
192
-
193
- $request = '';
194
- foreach ($fieldsArr as $k => $v) {
195
- $request .= '<' . $k . '>' . $v . '</' . $k . '>';
196
- }
197
- return $fieldsArr;
198
- }
199
-
200
- /**
201
- * Get quote
202
- *
203
- * @return Mage_Sales_Model_Order
204
- */
205
- public function getQuote()
206
- {
207
- if (empty($this->_quote)) {
208
- $this->_quote = $this->getCheckout()->getQuote();
209
- }
210
- return $this->_quote;
211
- }
212
-
213
- /**
214
- * Get checkout
215
- *
216
- * @return Mage_Sales_Model_Order
217
- */
218
- public function getCheckout()
219
- {
220
- if (empty($this->_checkout)) {
221
- $this->_checkout = Mage::getSingleton('checkout/session');
222
- }
223
- return $this->_checkout;
224
- }
225
-
226
- /**
227
- * Get order model
228
- *
229
- * @return Mage_Sales_Model_Order
230
- */
231
- public function getOrder()
232
- {
233
- if (!$this->_order) {
234
- $paymentInfo = $this->getInfoInstance();
235
- $this->_order = Mage::getModel('sales/order')
236
- ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
237
- }
238
- return $this->_order;
239
- }
240
- public function isPublicIP($value)
241
- {
242
- if(!$value || count(explode('.',$value))!=4)
243
- {
244
- return false;
245
- }
246
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
247
- }
248
- public function getRealIpAddr()
249
- {
250
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
251
- {
252
- return $_SERVER['HTTP_X_FORWARDED_FOR'];
253
- }
254
- if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
255
- {
256
- if($this->isPublicIP($iplist[0])) return $iplist[0];
257
- }
258
- if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
259
- {
260
- return $_SERVER['HTTP_CLIENT_IP'];
261
- }
262
- if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
263
- {
264
- return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
265
- }
266
- if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
267
- {
268
- return $_SERVER['HTTP_FORWARDED_FOR'];
269
- }
270
- return $_SERVER['REMOTE_ADDR'];
271
- }
272
-
273
- private function debug2($object, $filename, $debug = false)
274
- {
275
- if (!$this->debug and !$debug){return;}
276
- $fh = fopen("/tmp/$filename", 'a+');
277
- if (gettype($object) == 'object' or gettype($object) == 'array'){
278
- fwrite($fh, serialize($object));
279
- }else{
280
- fwrite($fh, date('H:i:s').' '.$object);
281
- }
282
- fwrite($fh, "<hr />\n");
283
- fclose($fh);
284
- }
285
- function encode($data, $key)
286
- {
287
- $data = trim($data);
288
- if ($data == '') return'Error: no data';
289
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
290
-
291
- try {
292
- $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
293
- $data = $crc."|".$data;
294
- $data = bin2hex($data.$key);
295
- $data = strrev(base64_encode($data));
296
- }catch (Exception $e){
297
- echo('Error: '.$e);
298
- }
299
- return $data;
300
- }
301
- function decode($data, $key)
302
- {
303
- $data = trim($data);
304
- if ($data == '') {return'Error: no data';}
305
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
306
-
307
- try {
308
- $data = base64_decode(strrev($data));
309
- $data = pack("H".strlen($data), $data);
310
- $data = substr($data, 0, stripos($data, $key));
311
- $pos = strpos($data, "|");
312
- if ($pos === false){
313
- return("Error: CKSum not found!");
314
- }
315
- $crc = substr($data, 0, $pos);
316
- $value = trim(substr($data, $pos+1));
317
- if ($crc != sprintf('%u', crc32($value))){
318
- return("Error; CKSum invalid!");
319
- }
320
- return $value;
321
- }catch (Exception $e){
322
- echo('Error: '.$e);
323
- }
324
- }
325
- function hash($h, $key)#$h contains encoded data
326
- {
327
- if (!$h) return'Error: no data';
328
- if (!function_exists('md5')){return'Error: func n/a';}
329
- #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
330
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
331
- }
332
- function checkHash($request, $key)
333
- {
334
- if (!$request) return false; #'Error: no data';
335
- $h['auth_code'] = $request['auth_code'];#encoded
336
- $h['product_id'] = $request['product'];#encoded
337
- $h['tariff'] = $request['tariff'];#encoded
338
- $h['amount'] = $request['amount'];#encoded
339
- $h['test_mode'] = $request['test_mode'];#encoded
340
- $h['uniqid'] = $request['uniqid'];#encoded
341
-
342
- if ($request['hash2'] != $this->hash($h, $key)){
343
- return false;
344
- }
345
- return true;
346
- }
347
- }
1
+ <?php
2
+ class Novalnet_Sofortueberweisung_Model_Sofortueberweisung extends Mage_Payment_Model_Method_Abstract
3
+ {
4
+ /**
5
+ * Availability options
6
+ */
7
+ protected $_code = 'sofortueberweisung';
8
+ protected $_paymentMethod = 'sofortueberweisung';
9
+
10
+ protected $_formBlockType = 'sofortueberweisung/form_sofortueberweisung';
11
+ protected $_infoBlockType = 'sofortueberweisung/info_sofortueberweisung';
12
+
13
+ protected $_isGateway = false;
14
+ protected $_canAuthorize = true;
15
+ protected $_canCapture = true;
16
+ protected $_canCapturePartial = false;
17
+ protected $_canRefund = false;
18
+ protected $_canVoid = false;
19
+ protected $_canUseInternal = false;
20
+ protected $_canUseCheckout = true;
21
+ protected $_canUseForMultishipping = true;
22
+
23
+ protected $password = '';
24
+ const KEY = 33;
25
+
26
+ public function _construct()
27
+ {
28
+ parent::_construct();
29
+ $this->_init('sofortueberweisung/sofortueberweisung');
30
+ }
31
+
32
+ public function getUrl(){
33
+ return $this->getConfigData('url');
34
+ }
35
+
36
+ /**
37
+ * Return redirect block type
38
+ *
39
+ * @return string
40
+ */
41
+ public function getRedirectBlockType()
42
+ {
43
+ return $this->_redirectBlockType;
44
+ }
45
+
46
+ /**
47
+ * Return payment method type string
48
+ *
49
+ * @return string
50
+ */
51
+ public function getPaymentMethodType()
52
+ {
53
+ return $this->_paymentMethod;
54
+ }
55
+
56
+
57
+ /**
58
+ * Get redirect URL
59
+ *
60
+ * @return Mage_Payment_Helper_Data
61
+ */
62
+ public function getOrderPlaceRedirectUrl()
63
+ {
64
+ return Mage::getUrl('sofortueberweisung/sofortueberweisung/redirect');
65
+ }
66
+
67
+ public function assignData($data)
68
+ {
69
+ if (!($data instanceof Varien_Object)) {
70
+ $data = new Varien_Object($data);
71
+ }
72
+ $info = $this->getInfoInstance();
73
+ $info->setSuAccountNumber($data->getSuAccountNumber())
74
+ ->setSuBankCode($data->getSuBankCode())
75
+ ->setSuNlBankCode($data->getSuNlBankCode())
76
+ ->setSuHolder($data->getSuHolder());
77
+
78
+ return $this;
79
+ }
80
+
81
+ public function getSecurityKey(){
82
+ return uniqid(rand(), true);
83
+ }
84
+
85
+ public function validate()
86
+ {
87
+ parent::validate();
88
+ if(!trim($this->getConfigData('merchant_id')) || !trim($this->getConfigData('auth_code')) || !trim($this->getConfigData('product_id')) || !trim($this->getConfigData('tariff_id')) || !trim($this->getConfigData('password'))) {
89
+ Mage::throwException(Mage::helper('novalnet')->__('Basic Parameter Missing').'!');
90
+ }
91
+ return $this;
92
+ }
93
+
94
+ public function isAvailable($quote = null) {
95
+ $minOrderCount = trim($this->getConfigData('orderscount'));
96
+ $customerId = Mage::getSingleton('customer/session')->getCustomerId();
97
+
98
+ // Load orders and check
99
+ $orders = Mage::getResourceModel('sales/order_collection')
100
+ ->addAttributeToSelect('*')
101
+ ->addAttributeToFilter('customer_id', $customerId)
102
+ ->load();
103
+ if (count($orders) < $minOrderCount) {
104
+ return false;
105
+ }
106
+ return parent::isAvailable();
107
+ }
108
+
109
+ public function getFormFields()
110
+ {
111
+ $billing = $this->getOrder()->getBillingAddress();
112
+ $security = $this->getSecurityKey();
113
+
114
+ $this->getOrder()->getPayment()->setSuSecurity($security)->save();
115
+
116
+ $pnSu = Mage::helper('sofortueberweisung');
117
+ $pnSu->classSofortueberweisung($this->getConfigData('project_pswd'));
118
+
119
+ $order = $this->getOrder();
120
+
121
+ $payment = $this->getOrder()->getPayment();
122
+ $this->password = trim($this->getConfigData('password'));
123
+ $_SESSION['mima'] = $this->password;#todo: ?????
124
+ $session = Mage::getSingleton('checkout/session');
125
+ $paymentInfo = $this->getInfoInstance();
126
+
127
+ $fieldsArr = array();
128
+ $note = $order->getCustomerNote();
129
+ if ($note){
130
+ $note = '<br />'.Mage::helper('sofortueberweisung')->__('Comment').': '.$note;
131
+ }
132
+ if ( !$this->getConfigData('live_mode') ){
133
+ $note .= '<br /><b><font color="red">'.strtoupper(Mage::helper('sofortueberweisung')->__('Testorder')).'</font></b>';
134
+ }
135
+ $order->setComment($note);
136
+ $order->setCustomerNote($note);
137
+ $order->setCustomerNoteNotify(true);
138
+
139
+ $fieldsArr['key'] = self::KEY;
140
+ $fieldsArr['vendor'] = trim($this->getConfigData('merchant_id'));
141
+ $fieldsArr['auth_code'] = $this->encode(trim($this->getConfigData('auth_code')), $this->password);
142
+ $fieldsArr['product'] = $this->encode(trim($this->getConfigData('product_id')), $this->password);
143
+ $fieldsArr['tariff'] = $this->encode(trim($this->getConfigData('tariff_id')), $this->password);
144
+ $fieldsArr['amount'] = $this->encode( ( round($order->getBaseGrandTotal(), 2) * 100), $this->password);
145
+ $fieldsArr['test_mode'] = $this->encode((!$this->getConfigData('live_mode'))? 1: 0, $this->password);
146
+ $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
147
+
148
+ $hParams['auth_code'] = $fieldsArr['auth_code'];
149
+ $hParams['product_id']= $fieldsArr['product'];
150
+ $hParams['tariff'] = $fieldsArr['tariff'];
151
+ $hParams['amount'] = $fieldsArr['amount'];
152
+ $hParams['test_mode'] = $fieldsArr['test_mode'];
153
+ $hParams['uniqid'] = $fieldsArr['uniqid'];
154
+
155
+ $fieldsArr['hash'] = $this->hash($hParams, $this->password);
156
+ $fieldsArr['currency'] = $order->getOrderCurrencyCode();
157
+ $fieldsArr['customer_no']= Mage::getSingleton('customer/session')->getCustomerId();
158
+ $fieldsArr['use_utf8'] = '1';
159
+ $fieldsArr['first_name'] = $billing->getFirstname();
160
+ $fieldsArr['last_name'] = $billing->getLastname();
161
+ $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
162
+ $fieldsArr['street'] = $billing->getStreet(1);
163
+ $fieldsArr['search_in_street'] = 1;
164
+ $fieldsArr['city'] = $billing->getCity();
165
+ $fieldsArr['zip'] = $billing->getPostcode();
166
+ $fieldsArr['country_code'] = $billing->getCountry();
167
+ $fieldsArr['lang'] = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
168
+ $fieldsArr['remote_ip'] = $this->getRealIpAddr();
169
+ $fieldsArr['tel'] = $billing->getTelephone();
170
+ $fieldsArr['fax'] = $billing->getFax();
171
+ $fieldsArr['session'] = session_id();
172
+ $fieldsArr['return_url'] = Mage::getUrl('sofortueberweisung/sofortueberweisung/return', array('_instantbanktransfer' => true));
173
+ $fieldsArr['return_method'] = 'POST';
174
+ $fieldsArr['error_return_url'] = Mage::getUrl('sofortueberweisung/sofortueberweisung/error', array('_instantbanktransfer' => true));
175
+ $fieldsArr['error_return_method'] = 'POST';
176
+ $fieldsArr['input1'] = 'order_id';
177
+ $fieldsArr['order_no'] = $paymentInfo->getOrder()->getRealOrderId();
178
+ $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
179
+ $fieldsArr['user_variable_0'] = Mage::getBaseUrl();
180
+
181
+ $request = '';
182
+ foreach ($fieldsArr as $k => $v) {
183
+
184
+ $request .= '<' . $k . '>' . $v . '</' . $k . '>';
185
+ }
186
+ return $fieldsArr;
187
+ }
188
+
189
+ /**
190
+ * Get quote
191
+ * @return Mage_Sales_Model_Order
192
+ */
193
+ public function getQuote()
194
+ {
195
+ if (empty($this->_quote)) {
196
+ $this->_quote = $this->getCheckout()->getQuote();
197
+ }
198
+ return $this->_quote;
199
+ }
200
+
201
+ /**
202
+ * Get checkout
203
+ * @return Mage_Sales_Model_Order
204
+ */
205
+ public function getCheckout()
206
+ {
207
+ if (empty($this->_checkout)) {
208
+ $this->_checkout = Mage::getSingleton('checkout/session');
209
+ }
210
+ return $this->_checkout;
211
+ }
212
+
213
+ /**
214
+ * Get order model
215
+ * @return Mage_Sales_Model_Order
216
+ */
217
+ public function getOrder()
218
+ {
219
+ if (!$this->_order) {
220
+ $paymentInfo = $this->getInfoInstance();
221
+ $this->_order = Mage::getModel('sales/order')
222
+ ->loadByIncrementId($paymentInfo->getOrder()->getRealOrderId());
223
+ }
224
+ return $this->_order;
225
+ }
226
+ public function isPublicIP($value)
227
+ {
228
+ if(!$value || count(explode('.',$value))!=4)
229
+ {
230
+ return false;
231
+ }
232
+ return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
233
+ }
234
+ public function getRealIpAddr()
235
+ {
236
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
237
+ {
238
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
239
+ }
240
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
241
+ {
242
+ if($this->isPublicIP($iplist[0])) return $iplist[0];
243
+ }
244
+ if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
245
+ {
246
+ return $_SERVER['HTTP_CLIENT_IP'];
247
+ }
248
+ if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
249
+ {
250
+ return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
251
+ }
252
+ if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
253
+ {
254
+ return $_SERVER['HTTP_FORWARDED_FOR'];
255
+ }
256
+ return $_SERVER['REMOTE_ADDR'];
257
+ }
258
+
259
+ private function debug2($object, $filename, $debug = false)
260
+ {
261
+ if (!$this->debug and !$debug){return;}
262
+ $fh = fopen("/tmp/$filename", 'a+');
263
+ if (gettype($object) == 'object' or gettype($object) == 'array'){
264
+ fwrite($fh, serialize($object));
265
+ }else{
266
+ fwrite($fh, date('H:i:s').' '.$object);
267
+ }
268
+ fwrite($fh, "<hr />\n");
269
+ fclose($fh);
270
+ }
271
+ function encode($data, $key)
272
+ {
273
+ $data = trim($data);
274
+ if ($data == '') return'Error: no data';
275
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
276
+
277
+ try {
278
+ $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
279
+ $data = $crc."|".$data;
280
+ $data = bin2hex($data.$key);
281
+ $data = strrev(base64_encode($data));
282
+ }catch (Exception $e){
283
+ echo('Error: '.$e);
284
+ }
285
+ return $data;
286
+ }
287
+ function decode($data, $key)
288
+ {
289
+ $data = trim($data);
290
+ if ($data == '') {return'Error: no data';}
291
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
292
+
293
+ try {
294
+ $data = base64_decode(strrev($data));
295
+ $data = pack("H".strlen($data), $data);
296
+ $data = substr($data, 0, stripos($data, $key));
297
+ $pos = strpos($data, "|");
298
+ if ($pos === false){
299
+ return("Error: CKSum not found!");
300
+ }
301
+ $crc = substr($data, 0, $pos);
302
+ $value = trim(substr($data, $pos+1));
303
+ if ($crc != sprintf('%u', crc32($value))){
304
+ return("Error; CKSum invalid!");
305
+ }
306
+ return $value;
307
+ }catch (Exception $e){
308
+ echo('Error: '.$e);
309
+ }
310
+ }
311
+ function hash($h, $key)#$h contains encoded data
312
+ {
313
+ if (!$h) return'Error: no data';
314
+ if (!function_exists('md5')){return'Error: func n/a';}
315
+ #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
316
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
317
+ }
318
+ function checkHash($request, $key)
319
+ {
320
+ if (!$request) return false; #'Error: no data';
321
+ $h['auth_code'] = $request['auth_code'];#encoded
322
+ $h['product_id'] = $request['product'];#encoded
323
+ $h['tariff'] = $request['tariff'];#encoded
324
+ $h['amount'] = $request['amount'];#encoded
325
+ $h['test_mode'] = $request['test_mode'];#encoded
326
+ $h['uniqid'] = $request['uniqid'];#encoded
327
+
328
+ if ($request['hash2'] != $this->hash($h, $key)){
329
+ return false;
330
+ }
331
+ return true;
332
+ }
333
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/Model/Status.php DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
-
3
- class Novalnet_Sofortueberweisung_Model_Status extends Varien_Object
4
- {
5
- const STATUS_ENABLED = 1;
6
- const STATUS_DISABLED = 2;
7
-
8
- static public function getOptionArray()
9
- {
10
- return array(
11
- self::STATUS_ENABLED => Mage::helper('sofortueberweisung')->__('Enabled'),
12
- self::STATUS_DISABLED => Mage::helper('sofortueberweisung')->__('Disabled')
13
- );
14
- }
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Novalnet/Sofortueberweisung/controllers/PcsofortueberweisungController.php CHANGED
@@ -105,7 +105,7 @@ class Novalnet_Sofortueberweisung_PaycodeController extends Mage_Core_Controller
105
 
106
  if($paymentObj->getConfigData('createinvoice') == 1) {
107
  if ($this->saveInvoice($order)) {
108
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
109
  }
110
  }
111
  $status = true;
@@ -151,4 +151,4 @@ class Novalnet_Sofortueberweisung_PaycodeController extends Mage_Core_Controller
151
  public function getCheckout() {
152
  return Mage::getSingleton('checkout/session');
153
  }
154
- }
105
 
106
  if($paymentObj->getConfigData('createinvoice') == 1) {
107
  if ($this->saveInvoice($order)) {
108
+ //$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
109
  }
110
  }
111
  $status = true;
151
  public function getCheckout() {
152
  return Mage::getSingleton('checkout/session');
153
  }
154
+ }
app/code/community/Novalnet/Sofortueberweisung/controllers/SofortueberweisungController.php CHANGED
@@ -1,296 +1,298 @@
1
- <?php
2
- class Novalnet_Sofortueberweisung_SofortueberweisungController extends Mage_Core_Controller_Front_Action
3
- {
4
-
5
- protected $_redirectBlockType = 'sofortueberweisung/sofortueberweisung';
6
- protected $_status = '100';
7
-
8
- /**
9
- * when customer select payment method
10
- */
11
- public function redirectAction() {
12
- $session = $this->getCheckout();
13
- $session->setNovalnetQuoteId($session->getQuoteId())
14
- ->setNovalnetRealOrderId($session->getLastRealOrderId());
15
- $order = Mage::getModel('sales/order');
16
- $order->loadByIncrementId($session->getLastRealOrderId());
17
- $order->addStatusToHistory(Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('sofortueberweisung')->__('Novalnet payment loaded'));
18
- $order->save();
19
-
20
- $this->getResponse()->setBody(
21
- $this->getLayout()
22
- ->createBlock($this->_redirectBlockType)
23
- ->setOrder($order)
24
- ->toHtml()
25
- );
26
- $session->unsQuoteId();
27
- }
28
-
29
- public function returnAction() {
30
-
31
- $response = $this->getRequest()->getParams();
32
- $response['orderId'] = $response['inputval1'];#order_id;
33
-
34
-
35
- $status = $this->_checkReturnedData();
36
-
37
-
38
- if(!$response['orderId'] or !$status) {
39
- $session = $this->getCheckout();
40
- $session->getQuote()->setIsActive(false)->save();
41
- Mage::getSingleton('checkout/session')->addError("Payment error");#new
42
- $this->_redirect('checkout/cart');#new; ok
43
- } else {
44
- //load order and send mail
45
- $order = Mage::getModel('sales/order');
46
- $order->loadByIncrementId($response['orderId']);
47
- $paymentObj = $order->getPayment()->getMethodInstance();
48
- $payment = $order->getPayment();
49
-
50
- #if($order->getId()) {
51
- #Mage::log('sendNewOrderEmail');
52
- $order->sendNewOrderEmail();
53
- #}
54
-
55
- $session = $this->getCheckout();
56
- $session->getQuote()->setIsActive(false)->save();
57
-
58
- $this->_redirect('checkout/onepage/success');
59
- }
60
- }
61
-
62
- public function returnhttpAction() {
63
- if (!$this->getRequest()->isPost()) {
64
- $this->norouteAction();
65
- return;
66
- }
67
-
68
- $response = $this->getRequest()->getParams();
69
-
70
- $order = Mage::getModel('sales/order');
71
- $order->loadByIncrementId($response['orderId']);
72
- $paymentObj = $order->getPayment()->getMethodInstance();
73
- $payment = $order->getPayment();
74
-
75
-
76
- $status = $this->_checkReturnedData();
77
- if ($status) {
78
- $order = Mage::getModel('sales/order');
79
- $order->loadByIncrementId($response['orderId']);
80
- if($order->getId()) {
81
- $order->sendNewOrderEmail();
82
- }
83
- } else {
84
- $order = Mage::getModel('sales/order');
85
- $order->loadByIncrementId($response['orderId']);
86
- $order->cancel();
87
- $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Customer cancled payment or payment error'));
88
- $order->save();
89
- }
90
- }
91
-
92
- public function errorAction() {
93
- $session = $this->getCheckout();
94
- $session->getQuote()->setIsActive(false)->save();
95
-
96
- $order = Mage::getModel('sales/order');
97
- $order->load($this->getCheckout()->getLastOrderId());
98
- $order->cancel();
99
- $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Customer cancled payment'));
100
- $order->save();
101
-
102
- Mage::getSingleton('checkout/session')->addError("Customer cancled payment");#new
103
- $this->_redirect('checkout/cart');#new; ok
104
-
105
- }
106
-
107
- public function errornoticeAction() {
108
- $session = $this->getCheckout();
109
- $session->getQuote()->setIsActive(false)->save();
110
-
111
- $order = Mage::getModel('sales/order');
112
- $order->load($this->getCheckout()->getLastOrderId());
113
- $order->cancel();
114
- $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Payment error'));
115
- $order->save();
116
-
117
- Mage::getSingleton('checkout/session')->addError("Payment error");#new
118
- $this->_redirect('checkout/cart');#new
119
- }
120
-
121
- /**
122
- * Checking Post variables.
123
- *
124
- */
125
- protected function _checkReturnedData() {
126
- $status = false;
127
- if (!$this->getRequest()->isPost()) {
128
- $this->norouteAction();
129
- return;
130
- }
131
-
132
- //Get response
133
- $response = $this->getRequest()->getParams();
134
- $response['orderId'] = $response['inputval1'];#order_id;
135
-
136
- if ($response['status'] == 100) {
137
- $response['status'] = $this->checkParams($response);
138
- }
139
-
140
-
141
- $order = Mage::getModel('sales/order');
142
- $order->loadByIncrementId($response['orderId']);
143
- $paymentObj = $order->getPayment()->getMethodInstance();
144
-
145
- if ($response['status'] == 100 ) {
146
- $payment = $order->getPayment();
147
- $session = $this->getCheckout();
148
- $payment->setStatus(Novalnet_Sofortueberweisung_Model_Sofortueberweisung::STATUS_SUCCESS);
149
- $payment->setStatusDescription(Mage::helper('sofortueberweisung')->__('Payment was successful.'));
150
- $payment->setLastTransId($response["tid"]);# to set TID in the payment info
151
- $payment->setNnTestorder($this->decode($response['test_mode'], $_SESSION['mima']));# to set Test order in the payment info
152
- $order->addStatusToHistory($paymentObj->getConfigData('order_status'), Mage::helper('sofortueberweisung')->__('Payment was successful.'));
153
-
154
- if( $response['test_mode'] ) {
155
- Mage::getModel( 'sales/quote' )
156
- ->load($session->getNovalnetQuoteId())
157
- ->getPayment()
158
- ->setNnTestorder($this->decode($response['test_mode'], $_SESSION['mima']))
159
- ->save();
160
- }
161
-
162
- $order->setPayment($payment);
163
-
164
- if($paymentObj->getConfigData('createinvoice') == 1){
165
- if ($this->saveInvoice($order)) {
166
- $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
167
- }
168
- }
169
-
170
- $status = true;
171
- } else {
172
- $payment = $order->getPayment();
173
- $payment->setLastTransId($response["tid"]);# to set TID in the payment info
174
- $payment->setStatus(Novalnet_Sofortueberweisung_Model_Sofortueberweisung::STATUS_DECLINED);
175
-
176
- $order->setPayment($payment);
177
- $order->cancel();
178
- $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Payment was not successfull'));
179
- $status = false;
180
- }
181
-
182
- $order->save();
183
- return $status;
184
- }
185
-
186
- /**
187
- * Save invoice for order
188
- *
189
- * @param Mage_Sales_Model_Order $order
190
- * @return boolean Can save invoice or not
191
- */
192
- protected function saveInvoice (Mage_Sales_Model_Order $order) {
193
- if ($order->canInvoice()) {
194
- $invoice = $order->prepareInvoice();
195
-
196
- $invoice->register();
197
- Mage::getModel('core/resource_transaction')
198
- ->addObject($invoice)
199
- ->addObject($invoice->getOrder())
200
- ->save();
201
-
202
- $invoice->sendEmail(true, '');
203
- return true;
204
- }
205
-
206
- return false;
207
- }
208
-
209
- /**
210
- * Get singleton of Checkout Session Model
211
- *
212
- * @return Mage_Checkout_Model_Session
213
- */
214
- public function getCheckout()
215
- {
216
- return Mage::getSingleton('checkout/session');
217
- }
218
-
219
- /**
220
- * checks server response and gets parameters
221
- * @return $data array|string response parameters or ERROR_WRONG_HASH|ERROR_NO_ORDER_DETAILS if error
222
- *
223
- */
224
- public function getNotification($pwd){
225
- $pnSu = Mage::helper('sofortueberweisung');
226
- $pnSu->classSofortueberweisung($pwd);
227
- return $pnSu->getNotification();
228
- }
229
- private function checkParams($response) {
230
- $status = '100';
231
- if (!$response['hash2']){
232
- $status = '90';
233
- }
234
- if (!$this->checkHash($response, $_SESSION['mima'])){
235
- $status = '91';
236
- }
237
- $response['amount'] = $this->decode($response['amount'], $_SESSION['mima']);
238
- if (preg_match('/\D/', $response['amount'], $aMatch)){
239
- $status = '92';
240
- }
241
- #Mage::log(__FUNCTION__.': status='.$status);
242
- $this->_status = $status;
243
- return $status;
244
- }
245
- function hash($h, $key)#$h contains encoded data
246
- {
247
- if (!$h) return'Error: no data';
248
- if (!function_exists('md5')){return'Error: func n/a';}
249
- return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
250
- }
251
- function checkHash($request, $key)
252
- {
253
- if (!$request) return false; #'Error: no data';
254
- $h['auth_code'] = $request['auth_code'];#encoded
255
- $h['product_id'] = $request['product']; #encoded
256
- $h['tariff'] = $request['tariff']; #encoded
257
- $h['amount'] = $request['amount']; #encoded
258
- $h['test_mode'] = $request['test_mode'];#encoded
259
- $h['uniqid'] = $request['uniqid']; #encoded
260
-
261
- if ($request['hash2'] != $this->hash($h, $key)){
262
-
263
- Mage::getSingleton('core/session')
264
- ->addError(Mage::helper('sofortueberweisung')->__('Die Hashfunktionen sind nicht verf&uuml;gbar!'));
265
- $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
266
- Mage::app()->getResponse()->setRedirect($url);
267
- Mage::app()->getResponse()->sendResponse();
268
- exit;
269
- }
270
- return true;
271
- }
272
- function decode($data, $key)
273
- {
274
- $data = trim($data);
275
- if ($data == '') {return'Error: no data';}
276
- if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
277
-
278
- try {
279
- $data = base64_decode(strrev($data));
280
- $data = pack("H".strlen($data), $data);
281
- $data = substr($data, 0, stripos($data, $key));
282
- $pos = strpos($data, "|");
283
- if ($pos === false){
284
- return("Error: CKSum not found!");
285
- }
286
- $crc = substr($data, 0, $pos);
287
- $value = trim(substr($data, $pos+1));
288
- if ($crc != sprintf('%u', crc32($value))){
289
- return("Error; CKSum invalid!");
290
- }
291
- return $value;
292
- }catch (Exception $e){
293
- echo('Error: '.$e);
294
- }
295
- }
296
- }
 
 
1
+ <?php
2
+ class Novalnet_Sofortueberweisung_SofortueberweisungController extends Mage_Core_Controller_Front_Action
3
+ {
4
+
5
+ protected $_redirectBlockType = 'sofortueberweisung/sofortueberweisung';
6
+ protected $_status = '100';
7
+
8
+ /**
9
+ * when customer select payment method
10
+ */
11
+ public function redirectAction() {
12
+ $session = $this->getCheckout();
13
+ $session->setNovalnetQuoteId($session->getQuoteId())
14
+ ->setNovalnetRealOrderId($session->getLastRealOrderId());
15
+ $order = Mage::getModel('sales/order');
16
+ $order->loadByIncrementId($session->getLastRealOrderId());
17
+ $order->addStatusToHistory(Mage_Sales_Model_Order::STATE_HOLDED, Mage::helper('sofortueberweisung')->__('Novalnet payment loaded'));
18
+ $order->save();
19
+
20
+ $this->getResponse()->setBody(
21
+ $this->getLayout()
22
+ ->createBlock($this->_redirectBlockType)
23
+ ->setOrder($order)
24
+ ->toHtml()
25
+ );
26
+ $session->unsQuoteId();
27
+ }
28
+
29
+ public function returnAction() {
30
+
31
+ $response = $this->getRequest()->getParams();
32
+ $response['orderId'] = $response['inputval1'];#order_id;
33
+
34
+
35
+ $status = $this->_checkReturnedData();
36
+
37
+
38
+ if(!$response['orderId'] or !$status) {
39
+ $session = $this->getCheckout();
40
+ $session->getQuote()->setIsActive(false)->save();
41
+ Mage::getSingleton('checkout/session')->addError("Payment error");#new
42
+ $this->_redirect('checkout/cart');#new; ok
43
+ } else {
44
+ //load order and send mail
45
+ $order = Mage::getModel('sales/order');
46
+ $order->loadByIncrementId($response['orderId']);
47
+ $paymentObj = $order->getPayment()->getMethodInstance();
48
+ $payment = $order->getPayment();
49
+
50
+ #if($order->getId()) {
51
+ #Mage::log('sendNewOrderEmail');
52
+ $order->sendNewOrderEmail();
53
+ #}
54
+
55
+ $session = $this->getCheckout();
56
+ $session->getQuote()->setIsActive(false)->save();
57
+ $session->unsNnInstantTestOrder();
58
+ $this->_redirect('checkout/onepage/success');
59
+ }
60
+ }
61
+
62
+ public function returnhttpAction() {
63
+ if (!$this->getRequest()->isPost()) {
64
+ $this->norouteAction();
65
+ return;
66
+ }
67
+
68
+ $response = $this->getRequest()->getParams();
69
+
70
+ $order = Mage::getModel('sales/order');
71
+ $order->loadByIncrementId($response['orderId']);
72
+ $paymentObj = $order->getPayment()->getMethodInstance();
73
+ $payment = $order->getPayment();
74
+
75
+
76
+ $status = $this->_checkReturnedData();
77
+ if ($status) {
78
+ $order = Mage::getModel('sales/order');
79
+ $order->loadByIncrementId($response['orderId']);
80
+ if($order->getId()) {
81
+ $order->sendNewOrderEmail();
82
+ }
83
+ } else {
84
+ $order = Mage::getModel('sales/order');
85
+ $order->loadByIncrementId($response['orderId']);
86
+ $order->cancel();
87
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Customer canceled payment or payment error'));
88
+ $order->save();
89
+ }
90
+ }
91
+
92
+ public function errorAction() {
93
+ $session = $this->getCheckout();
94
+ $session->getQuote()->setIsActive(false)->save();
95
+
96
+ $order = Mage::getModel('sales/order');
97
+ $order->load($this->getCheckout()->getLastOrderId());
98
+ $order->cancel();
99
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Customer canceled payment'));
100
+ $order->save();
101
+ $response = $this->getRequest()->getParams();
102
+ Mage::getSingleton('checkout/session')->addError($response['status_text']);#new
103
+ $this->_redirect('checkout/cart');#new; ok
104
+
105
+ }
106
+
107
+ public function errornoticeAction() {
108
+ $session = $this->getCheckout();
109
+ $session->getQuote()->setIsActive(false)->save();
110
+
111
+ $order = Mage::getModel('sales/order');
112
+ $order->load($this->getCheckout()->getLastOrderId());
113
+ $order->cancel();
114
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Payment error'));
115
+ $order->save();
116
+
117
+ Mage::getSingleton('checkout/session')->addError("Payment error");#new
118
+ $this->_redirect('checkout/cart');#new
119
+ }
120
+
121
+ /**
122
+ * Checking Post variables.
123
+ *
124
+ */
125
+ protected function _checkReturnedData() {
126
+ $status = false;
127
+ if (!$this->getRequest()->isPost()) {
128
+ $this->norouteAction();
129
+ return;
130
+ }
131
+
132
+ //Get response
133
+ $response = $this->getRequest()->getParams();
134
+ $response['orderId'] = $response['inputval1'];#order_id;
135
+
136
+ if ($response['status'] == 100) {
137
+ $response['status'] = $this->checkParams($response);
138
+ }
139
+
140
+
141
+ $order = Mage::getModel('sales/order');
142
+ $order->loadByIncrementId($response['orderId']);
143
+ $paymentObj = $order->getPayment()->getMethodInstance();
144
+
145
+ if ($response['status'] == 100 ) {
146
+ $payment = $order->getPayment();
147
+ $session = $this->getCheckout();
148
+ $payment->setStatus(Novalnet_Sofortueberweisung_Model_Sofortueberweisung::STATUS_SUCCESS);
149
+ $payment->setStatusDescription(Mage::helper('sofortueberweisung')->__('Payment was successful.'));
150
+ $payment->setLastTransId($response["tid"]);# to set TID in the payment info
151
+ $payment->setNnTestorder($this->decode($response['test_mode'], $_SESSION['mima']));# to set Test order in the payment info
152
+ $order->addStatusToHistory($paymentObj->getConfigData('order_status'), Mage::helper('sofortueberweisung')->__('Payment was successful.'));
153
+
154
+ if( $response['test_mode'] ) {
155
+ Mage::getModel( 'sales/quote' )
156
+ ->load($session->getNovalnetQuoteId())
157
+ ->getPayment()
158
+ ->setNnTestorder($this->decode($response['test_mode'], $_SESSION['mima']))
159
+ ->save();
160
+ $session->setNnInstantTestOrder($this->decode($response['test_mode'], $_SESSION['mima']));
161
+ }
162
+
163
+ $order->setPayment($payment);
164
+
165
+ if($paymentObj->getConfigData('createinvoice') == 1){
166
+ if ($this->saveInvoice($order)) {
167
+ //$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
168
+ }
169
+ }
170
+
171
+ $status = true;
172
+ Mage::getSingleton('core/session')->addSuccess(Mage::helper('novalnet')->__('successful'));
173
+ } else {
174
+ $payment = $order->getPayment();
175
+ $payment->setLastTransId($response["tid"]);# to set TID in the payment info
176
+ $payment->setStatus(Novalnet_Sofortueberweisung_Model_Sofortueberweisung::STATUS_DECLINED);
177
+
178
+ $order->setPayment($payment);
179
+ $order->cancel();
180
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('sofortueberweisung')->__('Payment was not successfull'));
181
+ $status = false;
182
+ }
183
+
184
+ $order->save();
185
+ return $status;
186
+ }
187
+
188
+ /**
189
+ * Save invoice for order
190
+ *
191
+ * @param Mage_Sales_Model_Order $order
192
+ * @return boolean Can save invoice or not
193
+ */
194
+ protected function saveInvoice (Mage_Sales_Model_Order $order) {
195
+ if ($order->canInvoice()) {
196
+ $invoice = $order->prepareInvoice();
197
+
198
+ $invoice->register();
199
+ Mage::getModel('core/resource_transaction')
200
+ ->addObject($invoice)
201
+ ->addObject($invoice->getOrder())
202
+ ->save();
203
+
204
+ $invoice->sendEmail(true, '');
205
+ return true;
206
+ }
207
+
208
+ return false;
209
+ }
210
+
211
+ /**
212
+ * Get singleton of Checkout Session Model
213
+ *
214
+ * @return Mage_Checkout_Model_Session
215
+ */
216
+ public function getCheckout()
217
+ {
218
+ return Mage::getSingleton('checkout/session');
219
+ }
220
+
221
+ /**
222
+ * checks server response and gets parameters
223
+ * @return $data array|string response parameters or ERROR_WRONG_HASH|ERROR_NO_ORDER_DETAILS if error
224
+ *
225
+ */
226
+ public function getNotification($pwd){
227
+ $pnSu = Mage::helper('sofortueberweisung');
228
+ $pnSu->classSofortueberweisung($pwd);
229
+ return $pnSu->getNotification();
230
+ }
231
+ private function checkParams($response) {
232
+ $status = '100';
233
+ if (!$response['hash2']){
234
+ $status = '90';
235
+ }
236
+ if (!$this->checkHash($response, $_SESSION['mima'])){
237
+ $status = '91';
238
+ }
239
+ $response['amount'] = $this->decode($response['amount'], $_SESSION['mima']);
240
+ if (preg_match('/\D/', $response['amount'], $aMatch)){
241
+ $status = '92';
242
+ }
243
+ #Mage::log(__FUNCTION__.': status='.$status);
244
+ $this->_status = $status;
245
+ return $status;
246
+ }
247
+ function hash($h, $key)#$h contains encoded data
248
+ {
249
+ if (!$h) return'Error: no data';
250
+ if (!function_exists('md5')){return'Error: func n/a';}
251
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
252
+ }
253
+ function checkHash($request, $key)
254
+ {
255
+ if (!$request) return false; #'Error: no data';
256
+ $h['auth_code'] = $request['auth_code'];#encoded
257
+ $h['product_id'] = $request['product']; #encoded
258
+ $h['tariff'] = $request['tariff']; #encoded
259
+ $h['amount'] = $request['amount']; #encoded
260
+ $h['test_mode'] = $request['test_mode'];#encoded
261
+ $h['uniqid'] = $request['uniqid']; #encoded
262
+
263
+ if ($request['hash2'] != $this->hash($h, $key)){
264
+
265
+ Mage::getSingleton('core/session')
266
+ ->addError(Mage::helper('sofortueberweisung')->__('Die Hashfunktionen sind nicht verf&uuml;gbar!'));
267
+ $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
268
+ Mage::app()->getResponse()->setRedirect($url);
269
+ Mage::app()->getResponse()->sendResponse();
270
+ exit;
271
+ }
272
+ return true;
273
+ }
274
+ function decode($data, $key)
275
+ {
276
+ $data = trim($data);
277
+ if ($data == '') {return'Error: no data';}
278
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
279
+
280
+ try {
281
+ $data = base64_decode(strrev($data));
282
+ $data = pack("H".strlen($data), $data);
283
+ $data = substr($data, 0, stripos($data, $key));
284
+ $pos = strpos($data, "|");
285
+ if ($pos === false){
286
+ return("Error: CKSum not found!");
287
+ }
288
+ $crc = substr($data, 0, $pos);
289
+ $value = trim(substr($data, $pos+1));
290
+ if ($crc != sprintf('%u', crc32($value))){
291
+ return("Error; CKSum invalid!");
292
+ }
293
+ return $value;
294
+ }catch (Exception $e){
295
+ echo('Error: '.$e);
296
+ }
297
+ }
298
+ }
app/code/community/Novalnet/Sofortueberweisung/etc/config.xml CHANGED
@@ -17,13 +17,7 @@
17
  </args>
18
  </sofortueberweisung>
19
  </routers>
20
- <layout>
21
- <updates>
22
- <sofortueberweisung>
23
- <file>sofortueberweisung.xml</file>
24
- </sofortueberweisung>
25
- </updates>
26
- </layout>
27
  <translate>
28
  <modules>
29
  <Novalnet_Sofortueberweisung>
@@ -51,13 +45,7 @@
51
  </admin>
52
 
53
  <adminhtml>
54
- <layout>
55
- <updates>
56
- <sofortueberweisung>
57
- <file>sofortueberweisung.xml</file>
58
- </sofortueberweisung>
59
- </updates>
60
- </layout>
61
  <translate>
62
  <modules>
63
  <Novalnet_Sofortueberweisung>
@@ -226,10 +214,10 @@
226
  <default>
227
  <payment>
228
  <sofortueberweisung>
229
- <active>1</active>
230
  <model>sofortueberweisung/sofortueberweisung</model>
231
  <order_status>1</order_status>
232
- <title>Novalnet-Sofortüberweisung</title>
233
  <allowspecific>0</allowspecific>
234
  <url>https://payport.novalnet.de/online_transfer_payport</url>
235
  <customer></customer>
@@ -244,4 +232,4 @@
244
  </sofortueberweisung>
245
  </payment>
246
  </default>
247
- </config>
17
  </args>
18
  </sofortueberweisung>
19
  </routers>
20
+
 
 
 
 
 
 
21
  <translate>
22
  <modules>
23
  <Novalnet_Sofortueberweisung>
45
  </admin>
46
 
47
  <adminhtml>
48
+
 
 
 
 
 
 
49
  <translate>
50
  <modules>
51
  <Novalnet_Sofortueberweisung>
214
  <default>
215
  <payment>
216
  <sofortueberweisung>
217
+ <active>0</active>
218
  <model>sofortueberweisung/sofortueberweisung</model>
219
  <order_status>1</order_status>
220
+ <title>Novalnet Sofortüberweisung</title>
221
  <allowspecific>0</allowspecific>
222
  <url>https://payport.novalnet.de/online_transfer_payport</url>
223
  <customer></customer>
232
  </sofortueberweisung>
233
  </payment>
234
  </default>
235
+ </config>
app/code/community/Novalnet/Sofortueberweisung/etc/system.xml CHANGED
@@ -4,8 +4,8 @@
4
  <payment>
5
  <groups>
6
  <sofortueberweisung translate="label" module="paygate">
7
- <label>Novalnet-Sofortüberweisung</label>
8
- <comment>Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.</comment>
9
  <frontend_type>text</frontend_type>
10
  <sort_order>0</sort_order>
11
  <show_in_default>1</show_in_default>
@@ -55,7 +55,7 @@
55
  <show_in_store>0</show_in_store>
56
  </product_id>
57
  <tariff_id translate="label">
58
- <label>Novalnet Tariff ID</label>
59
  <frontend_type>text</frontend_type>
60
  <sort_order>6</sort_order>
61
  <show_in_default>1</show_in_default>
@@ -89,7 +89,7 @@
89
  <show_in_store>0</show_in_store>
90
  </gateway_timeout>
91
  <password translate="label">
92
- <label>Password</label>
93
  <frontend_type>text</frontend_type>
94
  <sort_order>9</sort_order>
95
  <show_in_default>1</show_in_default>
@@ -97,7 +97,7 @@
97
  <show_in_store>0</show_in_store>
98
  </password>
99
  <sort_order translate="label">
100
- <label>Sort order</label>
101
  <frontend_type>text</frontend_type>
102
  <sort_order>10</sort_order>
103
  <show_in_default>1</show_in_default>
@@ -201,7 +201,7 @@
201
  <label>Minimum Orders Count</label>
202
  <frontend_type>text</frontend_type>
203
  <sort_order>200</sort_order>
204
- <comment>Default: "0" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method.</comment>
205
  <show_in_default>1</show_in_default>
206
  <show_in_website>1</show_in_website>
207
  <show_in_store>0</show_in_store>
4
  <payment>
5
  <groups>
6
  <sofortueberweisung translate="label" module="paygate">
7
+ <label>Novalnet Instant Bank Transfer</label>
8
+ <comment>The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.</comment>
9
  <frontend_type>text</frontend_type>
10
  <sort_order>0</sort_order>
11
  <show_in_default>1</show_in_default>
55
  <show_in_store>0</show_in_store>
56
  </product_id>
57
  <tariff_id translate="label">
58
+ <label>Novalnet Tariff Id</label>
59
  <frontend_type>text</frontend_type>
60
  <sort_order>6</sort_order>
61
  <show_in_default>1</show_in_default>
89
  <show_in_store>0</show_in_store>
90
  </gateway_timeout>
91
  <password translate="label">
92
+ <label>Novalnet Password</label>
93
  <frontend_type>text</frontend_type>
94
  <sort_order>9</sort_order>
95
  <show_in_default>1</show_in_default>
97
  <show_in_store>0</show_in_store>
98
  </password>
99
  <sort_order translate="label">
100
+ <label>Sort Order</label>
101
  <frontend_type>text</frontend_type>
102
  <sort_order>10</sort_order>
103
  <show_in_default>1</show_in_default>
201
  <label>Minimum Orders Count</label>
202
  <frontend_type>text</frontend_type>
203
  <sort_order>200</sort_order>
204
+ <comment>Default: "0" for disabled check.</comment>
205
  <show_in_default>1</show_in_default>
206
  <show_in_website>1</show_in_website>
207
  <show_in_store>0</show_in_store>
app/design/adminhtml/default/default/template/novalnet/cc/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,7 +31,7 @@
31
  ?>
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
- <div style="position: relative; left: 14em; top: -2.5em">
35
  <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
@@ -112,4 +112,4 @@
112
  }
113
  <?php echo "hideMe('$code');"; ?>
114
  </script>
115
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  ?>
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
+ <div style="position: relative; left: 14em; top: -2.5em; width:100px;">
35
  <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
112
  }
113
  <?php echo "hideMe('$code');"; ?>
114
  </script>
115
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/cc/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -30,4 +30,4 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvaustria/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -32,7 +32,7 @@
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
- <div style="position: relative; left: 14em; top: -2.5em">
36
  <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
38
  </div>
@@ -83,4 +83,4 @@
83
  }
84
  <?php echo "hideMe('$code');"; ?>
85
  </script>
86
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em; width:100px;">
36
  <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
38
  </div>
83
  }
84
  <?php echo "hideMe('$code');"; ?>
85
  </script>
86
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvaustria/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -30,8 +30,8 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
- <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . '****')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . '****')) ?><br />
35
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvgerman/form.phtml CHANGED
@@ -32,7 +32,7 @@
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
- <div style="position: relative; left: 14em; top: -2.5em">
36
  <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
38
  </div>
@@ -99,4 +99,4 @@
99
  }
100
  <?php echo "hideMe('$code');"; ?>
101
  </script>
102
- <?php endif; ?>
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
+ <div style="position: relative; left: 14em; top: -2.5em; width:100px;">
36
  <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
38
  </div>
99
  }
100
  <?php echo "hideMe('$code');"; ?>
101
  </script>
102
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/elvgerman/info.phtml CHANGED
@@ -30,8 +30,8 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
- <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
- <?php endif; ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . '****')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -3) . '***')) ?><br />
35
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/pci/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,12 +31,18 @@
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
34
- <div style="position: relative; left: 17em; top: -2.5em">
35
- <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
 
 
 
 
 
36
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
38
  <?php endforeach; ?>
39
- </div>
 
40
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
  <li>
42
  <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
34
+ <?php if($code!='novalnetCcpci'): ?>
35
+ <div style="position: relative; left: 18em; top: -2.5em; width:100px;">
36
+ <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
+ <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
38
+ <?php else:?>
39
+ <div style="position: relative; left: 13em; top: -2.5em; width:130px;">
40
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
41
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
42
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
43
  <?php endforeach; ?>
44
+ <?php endif; ?>
45
+ </div>
46
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
47
  <li>
48
  <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
app/design/adminhtml/default/default/template/novalnet/pci/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,4 +31,4 @@
31
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
  Error in getting payment method
34
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
  Error in getting payment method
34
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/phonepayment/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -58,4 +58,4 @@
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/phonepayment/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
app/design/adminhtml/default/default/template/novalnet/prepayment/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -58,4 +58,4 @@
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/prepayment/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
app/design/adminhtml/default/default/template/novalnet/secure/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,7 +31,7 @@
31
  ?>
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
- <div style="position: relative; left: 17em; top: -2.5em">
35
  <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
@@ -112,4 +112,4 @@
112
  }
113
  <?php echo "hideMe('$code');"; ?>
114
  </script>
115
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  ?>
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
+ <div style="position: relative; left: 17em; top: -2.5em; width:130px;">
35
  <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
  <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
  <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
112
  }
113
  <?php echo "hideMe('$code');"; ?>
114
  </script>
115
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnet/secure/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -30,8 +30,9 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
  <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
- <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
34
- <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
 
35
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
  <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
+ <?php echo $this->__('Credit Card Number: %s', $this->htmlEscape($this->getInfo()->getCcNumberEnc())) ?><br />
34
+ <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape(str_pad('',2,'*',STR_PAD_RIGHT)), $this->htmlEscape(str_pad(substr($this->getInfo()->getCcExpYear(),0,-2),strlen($this->getInfo()->getCcExpYear()),'*',STR_PAD_RIGHT))) ?><br />
35
+ <?php echo $this->__('Card Verification Number: %s', '***') ?><br />
36
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
37
  <?php else: ?>
38
+ <?php endif; ?>
app/design/adminhtml/default/default/template/novalnetpaypal/info/pdf/novalnetpaypal.phtml CHANGED
@@ -1,4 +1,7 @@
1
- <?php Mage::helper('novalnetpaypal')->__('Paymentinformations: %s',$this->getMethod()->getTitle()) ?>
2
- {{pdf_row_separator}}
3
- <?php Mage::helper('novalnetpaypal')->__('Transaction Id: %s',$this->getInfo()->getOrder()->getPayment()->getPnSuTransactionId()) ?>
4
- {{pdf_row_separator}}
 
 
 
1
+ <?php if($_info = $this->getInfo()): ?>
2
+ <?php if( $this->getNnTestorder() ) echo $this->__('Testorder'); ?>{{pdf_row_separator}}
3
+ <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?>{{pdf_row_separator}}
4
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>{{pdf_row_separator}}
5
+ <?php else: ?>
6
+ Error in getting payment method
7
+ <?php endif; ?>
app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/form/sofortueberweisung.phtml RENAMED
File without changes
app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/info/pdf/paycode.phtml RENAMED
File without changes
app/design/adminhtml/default/default/template/novalnetsofortueberweisung/info/pdf/sofortueberweisung.phtml ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <?php if( $this->getInfo()->getNnTestorder() ) echo $this->__('Testorder'); ?>{{pdf_row_separator}}
2
+ <strong><?php echo Mage::helper('sofortueberweisung')->__('%s',$this->getMethod()->getTitle()) ?></strong>
3
+ {{pdf_row_separator}}
4
+ <?php echo Mage::helper('sofortueberweisung')->__('Transaction Id: %s',$this->getInfo()->getLastTransId()) ?>{{pdf_row_separator}}
app/design/adminhtml/default/default/template/{sofortueberweisung → novalnetsofortueberweisung}/info/sofortueberweisung.phtml RENAMED
File without changes
app/design/adminhtml/default/default/template/payment/info/pdf/cc.phtml CHANGED
@@ -30,6 +30,8 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())); ?> {{pdf_row_separator}}
31
  <?php if ($_info->getLastTransId()!="")
32
  echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())); ?>
 
 
33
  <?php else: ?>
34
  Error in getting payment method
35
- <?php endif; ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())); ?> {{pdf_row_separator}}
31
  <?php if ($_info->getLastTransId()!="")
32
  echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())); ?>
33
+ <?php if (strlen($this->getNnComments())) {
34
+ echo str_replace("<br />", "{{pdf_row_separator}}", $this->getNnComments());} ?>
35
  <?php else: ?>
36
  Error in getting payment method
37
+ <?php endif; ?>
app/design/adminhtml/default/default/template/sofortueberweisung/info/pdf/sofortueberweisung.phtml DELETED
@@ -1,4 +0,0 @@
1
- <?php Mage::helper('sofortueberweisung')->__('Paymentinformations: %s',$this->getMethod()->getTitle()) ?>
2
- {{pdf_row_separator}}
3
- <?php Mage::helper('sofortueberweisung')->__('Transaction Id: %s',$this->getInfo()->getOrder()->getPayment()->getPnSuTransactionId()) ?>
4
- {{pdf_row_separator}}
 
 
 
 
app/design/frontend/default/default/layout/novalnet.xml CHANGED
@@ -7,6 +7,7 @@
7
  <action method="setTemplate">
8
  <template>novalnet/cc/pciiframe.phtml</template>
9
  </action>
 
10
  </reference>
11
  </checkout_onepage_review>
12
  <checkout_onepage_index>
@@ -19,4 +20,4 @@
19
  </reference>
20
  </checkout_onepage_index>
21
 
22
- </layout>
7
  <action method="setTemplate">
8
  <template>novalnet/cc/pciiframe.phtml</template>
9
  </action>
10
+ <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
11
  </reference>
12
  </checkout_onepage_review>
13
  <checkout_onepage_index>
20
  </reference>
21
  </checkout_onepage_index>
22
 
23
+ </layout>
app/design/frontend/default/default/template/novalnet/cc/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,7 +31,18 @@
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
 
 
 
 
 
 
 
 
34
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
 
 
 
35
  </ul>
36
  </fieldset>
37
  <?php else:?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
34
+ <div style="position: relative; left: 11em; top: -2.5em">
35
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
36
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
37
+ <?php $imgpath = "https://www.novalnet.de/img/". $_typeCode ."_Logo.png"; ?>
38
+ <img src='<?php echo $imgpath; ?>' alt='Visa & MasterCard' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
39
+ <?php endforeach; ?>
40
+ </A>
41
+ </div>
42
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
43
+ <li>
44
+ <?php echo $this->__($this->getMethod()->getBookingReference());?>
45
+ </li>
46
  </ul>
47
  </fieldset>
48
  <?php else:?>
app/design/frontend/default/default/template/novalnet/cc/info.phtml CHANGED
@@ -20,19 +20,19 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
 
30
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
  <?php if($this->getNnComments()) { ?>
33
  <?php echo $this->getNnComments() ?><br />
34
  <?php } ?>
35
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
  Error in getting payment method
38
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
 
30
+ <?php if($this->getNnTestorder() || Mage::getSingleton('checkout/session')->getpciTestOrder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
  <?php if($this->getNnComments()) { ?>
33
  <?php echo $this->getNnComments() ?><br />
34
  <?php } ?>
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
  Error in getting payment method
38
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/cc/pciiframe.phtml CHANGED
@@ -1,381 +1,121 @@
1
- <?php echo $this->getChildHtml('items_before'); ?>
2
- <div id="checkout-review-table-wrapper">
3
- <table class="data-table" id="checkout-review-table">
4
- <?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
5
- <col />
6
- <col width="1" />
7
- <col width="1" />
8
- <col width="1" />
9
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
10
- <col width="1" />
11
- <col width="1" />
12
- <?php endif; ?>
13
- <thead>
14
- <tr>
15
- <th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
16
- <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Price') ?></th>
17
- <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
18
- <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Subtotal') ?></th>
19
- </tr>
20
- <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
21
- <tr>
22
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
23
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
24
- <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
25
- <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
26
- </tr>
27
- <?php endif; ?>
28
- </thead>
29
- <?php echo $this->getChildHtml('totals'); ?>
30
- <tbody>
31
- <?php foreach($this->getItems() as $_item): ?>
32
- <?php echo $this->getItemHtml($_item)?>
33
- <?php endforeach ?>
34
- </tbody>
35
- </table>
36
- </div>
37
- <?php echo $this->getChildHtml('items_after');
38
- $magento_version=Mage::getVersion();
39
- echo'<input type="hidden" name="magentoversion" id="magentoversion" value="'.$magento_version.'">';
40
- if($magento_version>='1.5')
41
- {
42
- ?>
43
- <script type="text/javascript">
44
- decorateTable('checkout-review-table');
45
- truncateOptions();
46
- </script>
47
- <div id="checkout-review-submit">
48
- <?php echo $this->getChildHtml('agreements') ?>
49
- <div align="right">
50
- <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
51
- </div>
52
-
53
- <div class="buttons-set" id="review-buttons-container">
54
- <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
55
-
56
- <span class="please-wait" id="review-please-wait" style="display:none;">
57
- <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
58
- </span>
59
- </div>
60
- </div>
61
-
62
- <?php
63
- }
64
- else
65
- { ?>
66
-
67
- <script type="text/javascript">
68
- //<![CDATA[
69
- decorateTable('checkout-review-table');
70
- truncateOptions();
71
- document.getElementById('review-buttons-container').style.display='none';
72
- document.getElementById('checkout-review-submit').style.display='none';
73
-
74
-
75
- //]]>
76
- </script>
77
- <div id="checkout-review-submit-novalnet">
78
- <?php echo $this->getChildHtml('agreements') ?>
79
-
80
- <div align="right">
81
- <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
82
- </div>
83
-
84
- <div class="buttons-set" id="review-buttons-container-novalnet">
85
- <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
86
- <?php //echo $this->getChildHtml('button') ?>
87
-
88
- <span class="please-wait" id="review-please-wait" style="display:none;">
89
- <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
90
- </span>
91
- </div>
92
- </div>
93
-
94
-
95
- <?php
96
-
97
- }
98
- $paymentmethod=Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getCode();
99
- ?>
100
- <script type="text/javascript">
101
- //<![CDATA[
102
- novalnet = new Novalnet('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'), '<?php echo $paymentmethod; ?>');
103
-
104
- //]]>
105
- </script>
106
- <?php
107
- $check_active = Mage::getSingleton('checkout/session')->getNnDataValue()->getCheckActive();
108
- $password = Mage::getSingleton('checkout/session')->getNnDataValue()->getPassword();
109
- $vendorid = Mage::getSingleton('checkout/session')->getNnDataValue()->getVendorId();
110
- $vendorAuthcode = Mage::getSingleton('checkout/session')->getNnDataValue()->getVendorAuthcode();
111
- $pid = Mage::getSingleton('checkout/session')->getNnDataValue()->getProductId();
112
- $tid = Mage::getSingleton('checkout/session')->getNnDataValue()->getTariffId();
113
-
114
-
115
- if($check_active=='1')
116
- {
117
-
118
- if($password && $vendorid && $vendorAuthcode && $pid && $tid)
119
- {
120
- $sessionvalue=Mage::getSingleton('checkout/session');
121
- $get_user_email=Mage::getSingleton('customer/session')->getCustomer()->getEmail();
122
- $dataObj = new Varien_Object();
123
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
124
-
125
- $datavalue = Mage::getSingleton('checkout/session');
126
- $check_active = $datavalue->getNnDataValue()->getCheckActive();
127
- $vendorid = $datavalue->getNnDataValue()->getVendorId();
128
- $paymentid = $datavalue->getNnDataValue()->getPaymentId();
129
- $vendorAuthcode = $datavalue->getNnDataValue()->getVendorAuthcode();
130
- $pid = $datavalue->getNnDataValue()->getProductId();
131
- $tid = $datavalue->getNnDataValue()->getTariffId();
132
- $uniqid = $datavalue->getNnDataValue()->getUniqid();
133
- $product2 = $datavalue->getNnDataValue()->getProductId2();
134
- $tariff2 = $datavalue->getNnDataValue()->getTariffId2();
135
-
136
- $grand_total = Mage::getSingleton('checkout/session')->getQuote()->getGrandTotal();
137
- $amount = (round($grand_total, 2) * 100);
138
- $manualCheckAmt = (int)$datavalue->getNnDataValue()->getManualCheckAmt();
139
-
140
- if($manualCheckAmt && $manualCheckAmt>=$amount && $product2 && $tariff2) {
141
- $pid = $datavalue->getNnDataValue()->getProductId2();
142
- $tid = $datavalue->getNnDataValue()->getTariffId2();
143
- }
144
-
145
- $test_mode = $datavalue->getNnDataValue()->getTestMode();
146
- $currencycode = Mage::app()->getStore()->getCurrentCurrencyCode();
147
- $password = $datavalue->getNnDataValue()->getPassword();
148
- $order_status = $datavalue->getNnDataValue()->getOrderStatus();
149
- $createinvoice = $datavalue->getNnDataValue()->getCreateInvoice();
150
- $returnURL = $datavalue->getNnDataValue()->getReturnUrl();
151
- $returnmethod = 'POST';
152
- $errorreturnURL = $datavalue->getNnDataValue()->getErrorReturnUrl();
153
- $errorreturnmethod = 'POST';
154
- $input1 = 'order_id';
155
- $Implementation = 'PHP_PCI';
156
- $sessionid = $datavalue->getNnDataValue()->getSessionId();
157
- $lang = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
158
- $remoteip = $datavalue->getNnDataValue()->getRemoteIp();
159
-
160
- $magento_version=Mage::getVersion();
161
- if($magento_version<'1.4.1.0'){
162
- $tableSalesOrder = Mage::getSingleton('core/resource')->getTableName('sales_order');
163
- $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesOrder."` ORDER BY `entity_id` DESC LIMIT 1");
164
- }else{
165
- $tableSalesFlatOrder = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
166
- $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesFlatOrder."` ORDER BY `entity_id` DESC LIMIT 1");
167
- }
168
- $result_data = $result->fetch(PDO::FETCH_ASSOC);
169
- $order_id_data = $result_data['increment_id'];
170
- $billingadd = Mage::getModel('checkout/session')->getQuote()->getBillingAddress();
171
-
172
- $firstname = $billingadd->getFirstname();
173
- $lastname = $billingadd->getLastname();
174
- $email = $billingadd->getEmail();
175
- $street = $billingadd->getData('street');
176
- $SearchInStreet = '1';
177
- $city = $billingadd->getCity();
178
- $postcode = $billingadd->getPostcode();
179
- $countryid = $billingadd->getCountryId();
180
- $telephone = $billingadd->getTelephone();
181
- $fax = $billingadd->getFax();
182
-
183
- if(!$order_id_data)
184
- {
185
- $last_main_order_id = '100000000';
186
- $inputval1 = $last_main_order_id+1;
187
- }
188
- else
189
- {
190
- $last_main_order_id = $order_id_data;
191
- $inputval1 = $last_main_order_id+1;
192
- }
193
-
194
- $dataObj->setVendorId($vendorid)
195
- ->setVendorAuthcode($vendorAuthcode)
196
- ->setProductId($pid)
197
- ->setTariffId($tid)
198
- ->setUniqid($uniqid)
199
- ->setAmount($amount)
200
- ->setTestMode($test_mode)
201
- ->setPaymentId($paymentid)
202
- ->setCurrency($currencycode)
203
- ->setFirstname($firstname)
204
- ->setLastname($lastname)
205
- ->setEmail($email)
206
- ->setStreet($street)
207
- ->setSearchInStreet(1)
208
- ->setCity($city)
209
- ->setZip($postcode)
210
- ->setCountryCode($countryid)
211
- ->setLang($lang)
212
- ->setRemoteIp($remoteip)
213
- ->setTel($telephone)
214
- ->setFax($fax)
215
- ->setSession($sessionid)
216
- ->setReturnUrl($returnURL)
217
- ->setReturnMethod($returnmethod)
218
- ->setErrorReturnUrl($errorreturnURL)
219
- ->setErrorReturnMethod($errorreturnmethod)
220
- ->setOrderNo($inputval1)
221
- ->setInput1($input1)
222
- ->setImplementation($Implementation)
223
- ->setInputval1($inputval1);
224
- if($paymentmethod=='novalnetCc')
225
- {
226
- $dataObj->setIsIframe(1);
227
- }
228
-
229
- $session=Mage::getSingleton('checkout/session')->setNovalnetRealOrderId($inputval1);
230
- $session=Mage::getSingleton('checkout/session')->setOrderId($inputval1);
231
- $session=Mage::getSingleton('checkout/session')->setPassword($password);
232
- $session=Mage::getSingleton('checkout/session')->setCreateInvoice($createinvoice);
233
- $session=Mage::getSingleton('checkout/session')->setNovalnetQuoteId($session->getQuoteId());
234
-
235
- $authcode_str='vendor_authcode';
236
- $product_str='product_id';
237
- $tarrif_str ='tariff_id';
238
- $uniq_str='uniqid';
239
- $amt_str='amount';
240
- $testmode_str='test_mode';
241
-
242
- $assignmodel=new Mage_Novalnet_Model_NovalnetCc();
243
-
244
- $authcode_enc_val=importEncodeData($dataObj,$authcode_str);
245
- $product_enc_val=importEncodeData($dataObj,$product_str);
246
- $tarrif_enc_val=importEncodeData($dataObj,$tarrif_str);
247
- $uniq_enc_val=importEncodeData($dataObj,$uniq_str);
248
- $amt_enc_val=importEncodeData($dataObj,$amt_str);
249
- $testmode_enc_val=importEncodeData($dataObj,$testmode_str);
250
-
251
- $dataObj=importHashData($dataObj);
252
-
253
- }
254
- else
255
- {
256
- Mage::getSingleton('core/session')
257
- ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
258
- echo '<script>alert("Basic Parameters Missing in Credit Card");window.location.reload();</script>';
259
- }
260
-
261
- }
262
- function importEncodeData($dataObj, $dataval)
263
- {
264
- $password = Mage::getSingleton('checkout/session')->getNnDataValue()->getPassword();
265
- $encoding =encode($dataObj, $password, $dataval);
266
- if($encoding != true)
267
- {
268
-
269
- Mage::getSingleton('core/session')
270
- ->addError('Die Methoden f&uuml;r die Verarbeitung von Zeichens&auml;tzen sind nicht verf&uuml;gbar!');
271
- $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
272
- Mage::app()->getResponse()->setRedirect($url);
273
- Mage::app()->getResponse()->sendResponse();
274
- exit;
275
- }
276
- return $encoding;
277
- }
278
-
279
- function encode(&$fields, $key, $dataObj)
280
- {
281
- if(!function_exists('base64_encode') || !function_exists('pack') || !function_exists('crc32')) {
282
- return false;
283
- }
284
- $toBeEncoded = array($dataObj);
285
- foreach($toBeEncoded as $_value ) {
286
- $data = $fields[$_value];
287
- if(isEmptyString($data)) {
288
- return false;
289
- }
290
- try {
291
- $crc = sprintf('%u', crc32($data));//%u is a must for ccrc32 returns a signed value
292
- $data = $crc."|".$data;
293
- $data = bin2hex($data.$key);
294
- $data = strrev(base64_encode($data));
295
- if($dataObj==$_value)
296
- {
297
-
298
- return $fields[$_value] = $data;
299
- }
300
- }catch(Exception $e) {
301
- return false;
302
- }
303
- }
304
- return true;
305
- }
306
-
307
-
308
- function importHashData($dataObj)
309
- {
310
- $password = Mage::getSingleton('checkout/session')->getNnDataValue()->getPassword();
311
- $hash = generateHash($dataObj, $password);
312
-
313
- if($hash == false)
314
- {
315
- Mage::getSingleton('core/session')
316
- ->addError('Die Hashfunktionen sind nicht verf&uuml;gbar!');
317
- $url = Mage::getModel('core/url')->getUrl("checkout/onepage/failure");
318
- Mage::app()->getResponse()->setRedirect($url);
319
- Mage::app()->getResponse()->sendResponse();
320
- exit;
321
- }
322
- $returnval=$dataObj->setHash($hash);
323
- return $returnval;
324
- }
325
-
326
- function generateHash($data, $key)
327
- {
328
- $emptystring = isEmptyString($key);
329
- if(!function_exists('md5') || $emptystring)
330
- {
331
- return false;
332
- }
333
- $hashFields = array('vendor_authcode', 'product_id', 'tariff_id', 'amount', 'test_mode', 'uniqid' );
334
- $str = NULL;
335
- foreach( $hashFields as $_value ) {
336
- if(isEmptyString($data[$_value])) {
337
- return false;
338
- }
339
- $str .= $data[$_value];
340
- }
341
- return md5($str . strrev($key));
342
- }
343
-
344
- function isEmptyString($str) {
345
- $str = trim($str);
346
- return !isset($str[0]);
347
- }
348
-
349
-
350
- ?>
351
- <div id="nn_iframe" style="display:none;">
352
- <?php
353
- $password = Mage::getSingleton('checkout/session')->getNnDataValue()->getPassword();
354
- $vendorid = Mage::getSingleton('checkout/session')->getNnDataValue()->getVendorId();
355
- $vendorAuthcode = Mage::getSingleton('checkout/session')->getNnDataValue()->getVendorAuthcode();
356
- $pid = Mage::getSingleton('checkout/session')->getNnDataValue()->getProductId();
357
- $tid = Mage::getSingleton('checkout/session')->getNnDataValue()->getTariffId();
358
-
359
- if($paymentmethod=='novalnetCc')
360
- {
361
- if($password && $vendorid && $vendorAuthcode && $pid && $tid)
362
- {
363
- $data_val=$dataObj;
364
- $form = new Varien_Data_Form();
365
- $html = '<html><body>';
366
- echo '<form action="https://payport.novalnet.de/pci_payport" id="novalnetCc" name="novalnetCc" method="POST" target="my_iframe">';
367
- foreach ($data_val->toArray() as $field=>$value) {
368
- $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
369
- }
370
- $html.= $form->toHtml();
371
- $html.="<iframe id='my_iframe' name='my_iframe' width='518' height='350' ></iframe>";
372
- $html.= '</form>';
373
- $html.= '<script type="text/javascript">document.getElementById("review-buttons-container").style.display="none";document.getElementById("novalnetCc").submit();</script>';
374
- $html.= '</body>';
375
- echo $html.= '</html>';
376
- }
377
- }
378
- ?>
379
- </div>
380
-
381
-
1
+ <?php echo $this->getChildHtml('items_before'); ?>
2
+ <div id="checkout-review-table-wrapper">
3
+ <table class="data-table" id="checkout-review-table">
4
+ <?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
5
+ <col />
6
+ <col width="1" />
7
+ <col width="1" />
8
+ <col width="1" />
9
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
10
+ <col width="1" />
11
+ <col width="1" />
12
+ <?php endif; ?>
13
+ <thead>
14
+ <tr>
15
+ <th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
16
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Price') ?></th>
17
+ <th rowspan="<?php echo $rowspan ?>" class="a-center"><?php echo $this->__('Qty') ?></th>
18
+ <th colspan="<?php echo $colspan ?>" class="a-center"><?php echo $this->__('Subtotal') ?></th>
19
+ </tr>
20
+ <?php if ($this->helper('tax')->displayCartBothPrices()): ?>
21
+ <tr>
22
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
23
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
24
+ <th class="a-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
25
+ <th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
26
+ </tr>
27
+ <?php endif; ?>
28
+ </thead>
29
+ <?php echo $this->getChildHtml('totals'); ?>
30
+ <tbody>
31
+ <?php foreach($this->getItems() as $_item): ?>
32
+ <?php echo $this->getItemHtml($_item)?>
33
+ <?php endforeach ?>
34
+ </tbody>
35
+ </table>
36
+ </div>
37
+ <?php echo $this->getChildHtml('items_after');
38
+ $magento_version=Mage::getVersion();
39
+ echo'<input type="hidden" name="magentoversion" id="magentoversion" value="'.$magento_version.'">';
40
+ if($magento_version>='1.5')
41
+ {
42
+ ?>
43
+ <script type="text/javascript">
44
+ decorateTable('checkout-review-table');
45
+ truncateOptions();
46
+ </script>
47
+ <div id="checkout-review-submit">
48
+ <?php echo $this->getChildHtml('agreements') ?>
49
+ <div class="buttons-set" id="review-buttons-container">
50
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
51
+
52
+ <div align="right">
53
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
54
+ </div>
55
+
56
+ <span class="please-wait" id="review-please-wait" style="display:none;">
57
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
58
+ </span>
59
+ </div>
60
+ </div>
61
+ <?php
62
+ }
63
+ else
64
+ { ?>
65
+
66
+ <script type="text/javascript">
67
+ //<![CDATA[
68
+ decorateTable('checkout-review-table');
69
+ truncateOptions();
70
+ document.getElementById('checkout-review-submit').style.display='none';
71
+ //]]>
72
+ </script>
73
+ <div id="checkout-review-submit-novalnet">
74
+ <?php echo $this->getChildHtml('agreements') ?>
75
+ <div class="buttons-set" id="review-buttons-container-novalnet">
76
+ <p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
77
+ <?php //echo $this->getChildHtml('button') ?>
78
+
79
+ <div align="right">
80
+ <button id="placeorder_button" type="submit" title="<?php echo $this->__('Place Order') ?>" class="button btn-checkout" onclick="novalnet.save();"><span><span><?php echo $this->__('Place Order') ?></span></span></button>
81
+ </div>
82
+ <span class="please-wait" id="review-please-wait" style="display:none;">
83
+ <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
84
+ </span>
85
+ </div>
86
+ </div>
87
+ <?php
88
+ }
89
+ $session = Mage::getSingleton('checkout/session');
90
+ $paymentmethod=$session->getQuote()->getPayment()->getMethodInstance()->getCode();
91
+ ?>
92
+ <script type="text/javascript">
93
+ //<![CDATA[
94
+ novalnet = new Novalnet('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'), '<?php echo $paymentmethod; ?>');
95
+ //]]>
96
+ </script>
97
+
98
+ <div id="nn_iframe" style="display:none;">
99
+ <?php
100
+ if($paymentmethod=='novalnetCc')
101
+ {
102
+ $_dataObj = Mage::getModel('novalnet/novalnetcc')->getFormData();
103
+ $session->setNovalnetQuoteId($session->getQuoteId())
104
+ ->setNovalnetRealOrderId($_dataObj->getInputval1());
105
+ $form = new Varien_Data_Form();
106
+ $html = '<html><body>';
107
+ echo '<form action="https://payport.novalnet.de/pci_payport" id="novalnetCc" name="novalnetCc" method="POST" target="my_iframe">';
108
+ foreach ($_dataObj->toArray() as $field=>$value) {
109
+ $form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
110
+ }
111
+ $html.= $form->toHtml();
112
+ $html.="<iframe id='my_iframe' name='my_iframe' width='553' height='385' frameBorder='0'></iframe>";
113
+ $html.= '</form>';
114
+ $html.= '<script type="text/javascript">document.getElementById("novalnetCc").submit();</script>';
115
+ $html.= '</body>';
116
+ echo $html.= '</html>';
117
+ }
118
+ ?>
119
+ </div>
120
+
121
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/novalnet/elvaustria/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -32,9 +32,11 @@
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
- <div style="position: relative; left: 14em; top: -2.5em">
36
- <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
- <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
 
 
38
  </div>
39
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
  <li>
@@ -74,7 +76,7 @@
74
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
75
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin_at]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
76
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin_at]" value="1">
77
- Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
78
  </div>
79
  </li>
80
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
@@ -124,4 +126,4 @@
124
  }
125
  <?php echo "hideMe('$code');"; ?>
126
  </script>
127
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
+ <div style="position: relative; left: 16em; top: -2.5em">
36
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
37
+ <?php $imgpath = "https://www.novalnet.de/img/ELV_Logo.png"; ?>
38
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
39
+ </A>
40
  </div>
41
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
42
  <li>
76
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
77
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin_at]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
78
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin_at]" value="1">
79
+ Neue PIN anfordern<!--&nbsp;<a href="javascript:show_pin_info()">[?]</a>-->
80
  </div>
81
  </li>
82
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
126
  }
127
  <?php echo "hideMe('$code');"; ?>
128
  </script>
129
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/elvaustria/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -30,8 +30,8 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
- <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . '****')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . '****')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/elvgerman/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -32,9 +32,11 @@
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
- <div style="position: relative; left: 14em; top: -2.5em">
36
- <?php $imgpath = "images/novalnet/ELV_Logo.png"; ?>
37
- <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='ELV Logo'/>
 
 
38
  </div>
39
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
40
  <li>
@@ -59,7 +61,7 @@
59
  <li>
60
  <div class="input-box">
61
  <input type="checkbox" id="<?php echo $code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
62
- <label for="<?php echo $code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('ACDC-Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
63
  </div>
64
  </li>
65
  <?php endif ?>
@@ -81,7 +83,7 @@
81
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
82
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
83
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
84
- Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
85
  </div>
86
  </li>
87
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
@@ -114,7 +116,7 @@
114
 
115
  function show_acdc_info(){
116
  var url=parent.location.href;
117
- url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
118
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
119
  showbaby.focus();
120
  }
@@ -138,4 +140,4 @@
138
  }
139
  <?php echo "hideMe('$code');"; ?>
140
  </script>
141
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
32
  ?>
33
  <?php if ($this->checkCustomerAccess()): ?>
34
  <fieldset class="form-list">
35
+ <div style="position: relative; left: 16em; top: -2.5em">
36
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
37
+ <?php $imgpath = "https://www.novalnet.de/img/ELV_Logo.png"; ?>
38
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>'/>
39
+ </A>
40
  </div>
41
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
42
  <li>
61
  <li>
62
  <div class="input-box">
63
  <input type="checkbox" id="<?php echo $code ?>_acdc" name="payment[acdc]" title="<?php echo $this->__('acdc') ?>" class="required-entry" />
64
+ <label for="<?php echo $code ?>_acdc"><?php echo $this->__('The') ?> <b><a href='javascript:show_acdc_info()' ONMOUSEOVER='show_acdc_info()'><?php echo $this->__('acdc Check') ?></a></b> <?php echo $this->__('accepted') ?> <span class="required">*</span></label>
65
  </div>
66
  </li>
67
  <?php endif ?>
83
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
84
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
85
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
86
+ Neue PIN anfordern<!--&nbsp;<a href="javascript:show_pin_info()">[?]</a> -->
87
  </div>
88
  </li>
89
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
116
 
117
  function show_acdc_info(){
118
  var url=parent.location.href;
119
+ url='https://www.novalnet.de/img/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
120
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
121
  showbaby.focus();
122
  }
140
  }
141
  <?php echo "hideMe('$code');"; ?>
142
  </script>
143
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/elvgerman/info.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -30,8 +30,8 @@
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
- <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . 'XXXX')) ?><br />
34
- <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . 'XXXX')) ?><br />
35
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php #echo $this->__('Country: ').$this->__($this->htmlEscape($this->getInfo()->getNnElvCountry())) ?><!--br /-->
32
  <?php echo $this->__('Account Holder: %s', $this->htmlEscape($this->getNnAccountHolder())) ?><br />
33
+ <?php echo $this->__('Account Number: %s', $this->htmlEscape(substr($this->getNnAccountNumber(), 0, -4) . '****')) ?><br />
34
+ <?php echo $this->__('Bank Sorting Code: %s', $this->htmlEscape(substr($this->getNnBankSortingCode(), 0, -4) . '****')) ?><br />
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/invoice/form.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -35,7 +35,7 @@
35
  <fieldset class="form-list">
36
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
- <div class="input-box">
39
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
40
  </div>
41
  </li>
@@ -57,7 +57,7 @@
57
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
58
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
59
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
60
- Neue PIN anfordern&nbsp;<a href="javascript:show_pin_info()">[?]</a>
61
  </div>
62
  </li>
63
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
@@ -80,10 +80,9 @@
80
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
81
  showbaby.focus();
82
  }
83
-
84
  function show_acdc_info(){
85
  var url=parent.location.href;
86
- url='<?php echo $baseUrl?>/frontend/default/default/images/novalnet/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
87
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
88
  showbaby.focus();
89
  }
@@ -107,4 +106,4 @@
107
  }
108
  <?php echo "hideMe('$code');"; ?>
109
  </script>
110
- <?php endif; ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
35
  <fieldset class="form-list">
36
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
+ <div>
39
  <?php echo $this->__('The Bank details will be emailed to you soon after the completion of checkout process')?>.<br />
40
  </div>
41
  </li>
57
  <label for="<?php echo $code ?>_callback_pin"><?php echo $this->__('PIN') ?><span class="required">*</span></label><br/>
58
  <input onchange="document.getElementById('new_callback_pin').checked = false;" maxlength="4" size="4" type="text" id="<?php echo $code ?>_callback_pin" name="payment[callback_pin]" title="<?php echo $this->__('Callback') ?>" class="input-text" /><br/>
59
  <input id="new_callback_pin" type="checkbox" name="payment[new_callback_pin]" value="1">
60
+ Neue PIN anfordern&nbsp;<!--<a href="javascript:show_pin_info()">[?]</a> -->
61
  </div>
62
  </li>
63
  <?php elseif($this->getCallbackConfigData()==3 ): ?>
80
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
81
  showbaby.focus();
82
  }
 
83
  function show_acdc_info(){
84
  var url=parent.location.href;
85
+ url='https://www.novalnet.de/img/acdc_info.png';w='550';h='300';x=screen.availWidth/2-w/2;y=screen.availHeight/2-h/2;
86
  showbaby=window.open(url,'showbaby','toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=1,width='+w+',height='+h+',left='+x+',top='+y+',screenX='+x+',screenY='+y);
87
  showbaby.focus();
88
  }
106
  }
107
  <?php echo "hideMe('$code');"; ?>
108
  </script>
109
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/invoice/info.phtml CHANGED
@@ -20,17 +20,18 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()):?>
29
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
- <?php if( $this->getDuedate() ): echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br /> <?php endif; ?>
32
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
33
  <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
 
34
  <?php else: ?>
35
 
36
  <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() || Mage::getSingleton('checkout/session')->getInvTestOrder()) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <!-- <?php if( $this->getDuedate() ): echo $this->__('Due at').': '.$this->__($this->htmlEscape($this->getDuedate())) ?><br /> <?php endif; ?> -->
32
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?>
33
  <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
34
+ <?php if (strlen($this->getNote())) { echo '<br>', nl2br($this->getNote()); } ?>
35
  <?php else: ?>
36
 
37
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/pci/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -31,9 +31,26 @@
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
35
  <li>
36
- <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
 
 
 
37
  </li>
38
  </ul>
39
  </fieldset>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
31
  ?>
32
  <?php if ($this->checkCustomerAccess()):?>
33
  <fieldset class="form-list">
34
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
35
+ <?php if($code!='novalnetCcpci'): ?>
36
+ <div style="position: relative; left: 18em; top: -2.5em">
37
+ <?php $imgpath = "https://www.novalnet.de/img/ELV_Logo.png"; ?>
38
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
39
+ <?php else:?>
40
+ <div style="position: relative; left: 13em; top: -2.5em">
41
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
42
+ <?php $imgpath = "https://www.novalnet.de/img/". $_typeCode ."_Logo.png"; ?>
43
+ <img src='<?php echo $imgpath; ?>' alt='Visa & MasterCard' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
44
+ <?php endforeach; ?>
45
+ <?php endif; ?>
46
+ </A>
47
+ </div>
48
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
49
  <li>
50
+ <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.'); ?>
51
+ </li>
52
+ <li>
53
+ <?php echo $this->__($this->getMethod()->getBookingReference());?>
54
  </li>
55
  </ul>
56
  </fieldset>
app/design/frontend/default/default/template/novalnet/pci/info.phtml CHANGED
@@ -20,19 +20,19 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
 
30
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
  <?php if($this->getNnComments()) { ?>
33
  <?php echo $this->getNnComments() ?><br />
34
  <?php } ?>
35
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
  Error in getting payment method
38
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
 
30
+ <?php if($this->getNnTestorder() || Mage::getSingleton('checkout/session')->getpciTestOrder()) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
31
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
32
  <?php if($this->getNnComments()) { ?>
33
  <?php echo $this->getNnComments() ?><br />
34
  <?php } ?>
35
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
36
  <?php else: ?>
37
  Error in getting payment method
38
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/phonepayment/info.phtml CHANGED
@@ -28,7 +28,7 @@
28
  <?php if($_info = $this->getInfo()):?>
29
  <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
  <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
  <?php else: ?>
34
  <?php endif; ?>
28
  <?php if($_info = $this->getInfo()):?>
29
  <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
  <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
33
  <?php else: ?>
34
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/prepayment/form.phtml CHANGED
@@ -35,7 +35,7 @@
35
  <fieldset class="form-list">
36
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
- <div class="input-box">
39
  <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
40
  </div>
41
  </li>
@@ -58,4 +58,4 @@
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
- <?php endif; ?>
35
  <fieldset class="form-list">
36
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
37
  <li>
38
+ <div>
39
  <?php echo $this->__($this->htmlEscape('The Bank details will be emailed to you soon after the completion of checkout process'))?><br />
40
  </div>
41
  </li>
58
  }
59
  <?php echo "hideMe('$code');"; ?>
60
  </script>
61
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/prepayment/info.phtml CHANGED
@@ -20,16 +20,19 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()):?>
29
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
- <?php if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); } ?>
 
 
 
33
  <?php else: ?>
34
 
35
  <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()):?>
29
+ <?php if( $this->getNnTestorder() || Mage::getSingleton('checkout/session')->getInvTestOrder()) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?>
32
+ <?php
33
+ if (strlen($this->getNnComments())) { echo '<br>', nl2br($this->getNnComments()); }
34
+ if (strlen($this->getNote())) { echo '<br>', nl2br($this->getNote()); }
35
+ ?>
36
  <?php else: ?>
37
 
38
  <?php endif; ?>
app/design/frontend/default/default/template/novalnet/secure/form.phtml CHANGED
@@ -20,7 +20,7 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
@@ -32,10 +32,12 @@
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
  <div style="position: relative; left: 17em; top: -2.5em">
35
- <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
36
- <?php $imgpath = "images/novalnet/". $_typeCode ."_Logo.png"; ?>
37
- <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='<?php echo $_typeName; ?> Logo'/>
38
- <?php endforeach; ?>
 
 
39
  </div>
40
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
  <li>
@@ -91,8 +93,11 @@
91
  </li>
92
  <?php endif; ?>
93
  <li>
94
- <?php echo $this->__('The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
95
  </li>
 
 
 
96
  </ul>
97
  </fieldset>
98
  <?php else: ?>
@@ -112,4 +117,4 @@
112
  }
113
  <?php echo "hideMe('$code');"; ?>
114
  </script>
115
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
32
  <?php if ($this->checkCustomerAccess()): ?>
33
  <fieldset class="form-list">
34
  <div style="position: relative; left: 17em; top: -2.5em">
35
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
36
+ <?php foreach($this->getCcAvailableTypes() as $_typeCode => $_typeName): ?>
37
+ <?php $imgpath = "https://www.novalnet.de/img/". $_typeCode ."_Logo.png"; ?>
38
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
39
+ <?php endforeach; ?>
40
+ </A>
41
  </div>
42
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
43
  <li>
93
  </li>
94
  <?php endif; ?>
95
  <li>
96
+ <?php echo $this->__('The amount will be booked immediately from your credit card.');?>
97
  </li>
98
+ <li>
99
+ <?php echo $this->getMethod()->getBookingReference();?>
100
+ </li>
101
  </ul>
102
  </fieldset>
103
  <?php else: ?>
117
  }
118
  <?php echo "hideMe('$code');"; ?>
119
  </script>
120
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnet/secure/info.phtml CHANGED
@@ -20,18 +20,19 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
  <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
- <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
34
- <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
35
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
 
36
  <?php else: ?>
37
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
+ <?php if($this->getNnTestorder() || Mage::getSingleton('checkout/session')->getSecureTestOrder()) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
  <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
32
  <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
33
+ <?php echo $this->__('Credit Card Number: %s', $this->htmlEscape($this->getInfo()->getCcNumberEnc())) ?><br />
34
+ <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape(str_pad('',2,'*',STR_PAD_RIGHT)), $this->htmlEscape(str_pad(substr($this->getInfo()->getCcExpYear(),0,-2),strlen($this->getInfo()->getCcExpYear()),'*',STR_PAD_RIGHT))) ?><br />
35
+ <?php echo $this->__('Card Verification Number: %s', '***') ?><br />
36
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
37
  <?php else: ?>
38
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnetpaypal/form/novalnetpaypal.phtml CHANGED
@@ -21,7 +21,7 @@
21
  *
22
  * @category design_default
23
  * @package Mage
24
- * @copyright Copyright (c) 2008 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
@@ -31,9 +31,12 @@
31
  $baseUrl=Mage::getBaseUrl('skin');
32
  ?>
33
  <fieldset class="form-list">
34
- <div style="position: relative; left: 13em; top:-3.0em">
35
- <?php $imgpath = "images/novalnet/novalnetpaypal/lockbox_150x47.gif"; ?>
36
- <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt='Paypal'/>
 
 
 
37
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
38
  <li>
39
  <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
21
  *
22
  * @category design_default
23
  * @package Mage
24
+ * @copyright Copyright (c) 2012 Novalnet AG
25
  * @version 1.0.0
26
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
  */
31
  $baseUrl=Mage::getBaseUrl('skin');
32
  ?>
33
  <fieldset class="form-list">
34
+ <div style="position: relative; left: 9em; top:-3.0em">
35
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
36
+ <?php $imgpath = "https://www.novalnet.de/images/paypal.gif"; ?>
37
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
38
+ </A></div>
39
+ <div style="position: relative; top:-2.0em">
40
  <ul id="payment_form_<?php echo $code ?>" style="display:none">
41
  <li>
42
  <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
app/design/frontend/default/default/template/novalnetpaypal/info/novalnetpaypal.phtml CHANGED
@@ -20,15 +20,15 @@
20
  *
21
  * @category design_default
22
  * @package Mage
23
- * @copyright Copyright (c) 2008 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
- <?php if( $this->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
- <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
  <?php echo $this->__('Can not retrieve payment info model object.'); ?>
34
- <?php endif; ?>
20
  *
21
  * @category design_default
22
  * @package Mage
23
+ * @copyright Copyright (c) 2012 Novalnet AG
24
  * @version 1.0.0
25
  * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
+ <?php if($this->getNnTestorder() || Mage::getSingleton('checkout/session')->getNnPayPalTestOrder()) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
30
  <?php echo $this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
31
+ <?php if ($_info->getLastTransId()!="") echo $this->__('TID : %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
32
  <?php else: ?>
33
  <?php echo $this->__('Can not retrieve payment info model object.'); ?>
34
+ <?php endif; ?>
app/design/frontend/default/default/template/novalnetsofortueberweisung/form/sofortueberweisung.phtml ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <a name="<?php echo $this->getMethodCode() ?>"></a>
2
+ <?php $_code=$this->getMethodCode() ?>
3
+ <?php $baseUrl = Mage::getBaseUrl('skin') ?>
4
+ <fieldset class="form-list">
5
+ <div style="position: relative; left: 17em; top: -2.5em">
6
+ <A HREF="<?php echo Mage::helper('novalnet')->nn_url();?>" TARGET="_new" style="text-decoration:none;">
7
+ <?php $imgpath = "https://www.novalnet.de/img/Sofort_Logo_t.jpg"; ?>
8
+ <img src='<?php echo $imgpath; ?>' alt='<?php echo $this->getMethod()->getConfigData('title'); ?>' title='<?php echo $this->getMethod()->getConfigData('title'); ?>' />
9
+ </A>
10
+ </div>
11
+ <div style="position: relative; top:-2.0em">
12
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
13
+ <li>
14
+ <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
15
+ </li>
16
+ </ul>
17
+ </div>
18
+
19
+ <div class="clear"></div>
20
+ </fieldset>
app/design/frontend/default/default/template/novalnetsofortueberweisung/info/sofortueberweisung.phtml ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php if( $this->getInfo()->getNnTestorder() || Mage::getSingleton('checkout/session')->getNnInstantTestOrder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
2
+ <p><?php echo $this->getMethod()->getTitle() ?></p>
3
+ <?php if($_info = $this->getInfo()):?>
4
+
5
+ <?php if($this->getInfo()->getLastTransId()): ?>
6
+ <?php echo $this->__('TID : %s', $this->getInfo()->getLastTransId())?><br/>
7
+ <?php endif; ?>
8
+ <?php else: ?>
9
+
10
+ <?php endif; ?>
app/design/frontend/default/default/template/sofortueberweisung/errornotice.phtml DELETED
@@ -1,2 +0,0 @@
1
- <h4><?php echo $this->__('Error of payment') ?></h4>
2
- <!--<p>Hier steht Ihre Fehlermeldung</p>-->
 
 
app/design/frontend/default/default/template/sofortueberweisung/form/sofortueberweisung.phtml DELETED
@@ -1,16 +0,0 @@
1
- <a name="<?php echo $this->getMethodCode() ?>"></a>
2
- <?php $_code=$this->getMethodCode() ?>
3
- <?php $baseUrl = Mage::getBaseUrl('skin') ?>
4
- <div style="position: relative; left: 14em; top: -2.5em">
5
- <a href="#<?php echo $this->getMethodCode() ?>" title="Informationen zu Sofortüberweisung">
6
- <?php $imgpath = "images/novalnet/sofortueberweisung/Sofort_Logo_t.jpg"; ?>
7
- <img src='<?php echo Mage::getDesign()->getSkinUrl($imgpath) ?>' alt="Sofortüberweisung" title="Sofortüberweisung" />
8
- </a>
9
- <ul id="payment_form_<?php echo $_code ?>" style="display:none">
10
- <li>
11
- <?php echo $this->__('You will be redirected to Novalnet AG website when you place an order.') ?>
12
- </li>
13
- </ul>
14
- </div>
15
-
16
- <div class="clear"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/sofortueberweisung/info/sofortueberweisung.phtml DELETED
@@ -1,16 +0,0 @@
1
- <?php if( $this->getInfo()->getNnTestorder() ) echo '<div style="color:white;font-weight:bold;background:red;padding:5px 10px;text-align:center;font-size:15px">!',$this->__('Testorder'),'!</div>' ?>
2
- <p><?php echo $this->getMethod()->getTitle() ?></p>
3
- <?php if($_info = $this->getInfo()):?>
4
-
5
- <?php if($this->getInfo()->getSuHolder()): ?>
6
- <?php echo $this->__('Account holder: %s', $this->getInfo()->getSuHolder())?><br/>
7
- <?php echo $this->__('Account number: %s', 'xxxx'.substr($this->getInfo()->getSuAccountNumber(),4,strlen($this->getInfo()->getSuAccountNumber())))?><br/>
8
- <?php echo $this->__('Bank code: %s', $this->getInfo()->getSuBankCode())?><br/>
9
- <?php endif; ?>
10
-
11
- <?php if($this->getInfo()->getLastTransId()): ?>
12
- <?php echo $this->__('TID: %s', $this->getInfo()->getLastTransId())?><br/>
13
- <?php endif; ?>
14
- <?php else: ?>
15
-
16
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/sofortueberweisung/infobox.phtml DELETED
@@ -1,19 +0,0 @@
1
- <!--div class="box base-mini mini-su-infobox">
2
- <div class="head">
3
- <h4><?php echo $this->__('Sofortueberweisung'); ?></h4>
4
- </div>
5
- <div class="content">
6
- <a href="https://www.novalnet.de" title="Informationen zu Novalnet AG"><img src="<?php $this->getSkinUrl() ?>images/sofortueberweisung/logo_sofortueberweisung170.jpg" alt="Sofort�berweisung" title="Sofort�berweisung"></a>
7
- <p>
8
- <ul style="list-style-type:disc;">
9
- <li style="margin-left:15px;"><?php echo $this->helper('sofortueberweisung')->__('Fast shippiung') ?></li>
10
- <li style="margin-left:15px;"><?php echo $this->helper('sofortueberweisung')->__('Privacy') ?></li>
11
- <li style="margin-left:15px;"><?php echo $this->helper('sofortueberweisung')->__('No registration') ?></li>
12
- <li style="margin-left:15px;"><?php echo $this->helper('sofortueberweisung')->__('Save payment') ?></li>
13
- </ul>
14
- </p>
15
- </div>
16
- <div class="actions">
17
- <a href="https://www.novalnet.de"><small><?php echo $this->__('More') ?></small></a>
18
- </div>
19
- </div-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/default/default/template/sofortueberweisung/notice.phtml DELETED
@@ -1,2 +0,0 @@
1
- <h4><?php echo $this->__('Cancelation of payment') ?></h4>
2
- <!--<p>Hier steht Ihre Fehlermeldung</p>-->
 
 
app/locale/de_AT/Mage_Novalnet.csv CHANGED
@@ -1,133 +1,165 @@
1
- Enabled,Aktiviert,
2
- New order status,Neuer Bestellstatus,
3
- Novalnet Merchant ID,Novalnet Händler ID,
4
- Title,Titel,
5
- Novalnet Auth Code,Novalnet Auth Code,
6
- Novalnet Product ID,Novalnet Produkt ID,
7
- Novalnet Tariff ID,Novalnet Tarif ID,
8
- Payment from applicable countries,Zahlungsmöglichkeit für,
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit,
10
- DE,Deutschland,
11
- AT,Österreich,
12
- Direct Debit,Lastschrift,
13
- Credit Card,Kreditkarte,
14
- Country,Buchungsland,
15
- Name on the Card,Kreditkarteninhaber,
16
- Name on Card,Kreditkarteninhaber,
17
- Credit Card Type,Kreditkarten Typ,
18
- Credit Card Number,Kreditkartennummer,
19
- Expiration Date,Ablaufdatum,
20
- Card Verification Number,CVC-Nummer,
21
- What is this?,Wo finde ich die CVC-Nummer?,
22
- Account Holder,Name des Kontoinhabers,
23
- Account Number,Kontonr.,
24
- Bank Sorting Code,BLZ,
25
- Country: ,Buchungsland: ,
26
- Account Holder: %s,Kontoinhaber: %s,
27
- Account Number: %s,Kontonr.: %s,
28
- Bank Sorting Code: %s,BLZ: %s,
29
- TID: %s,TID: %s,
30
- Name on the Card: %s,Kreditkarteninhaber: %s,
31
- Credit Card Number: %s,Kreditkartennummer: %s,
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s,
33
- Credit Card Type: %s,Kreditkartentyp: %s,
34
- Expiration Date: %s/%s,Gültig bis: %s/%s,
35
- Credit Card Types,Mögliche Kreditkarten,
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.,
37
- This is not a valid account number.,Die Kontonummer ist nicht gültig!,
38
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!,
39
- Direct Debit,Lastschrift,
40
- Credit Card,Kreditkarte,
41
- Creditcard,Kreditkarte,
42
- Credit Card 3D-Secure,Kreditkarte 3D-Secure,
43
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück,
45
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen,
46
- Prepayment,Vorkasse,
47
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
48
- Payment Duration,Zahlbar in Tagen,
49
- --Please Select--,--Bitte wählen--,
50
- Invoice,Rechnung,
51
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
- I accept the ACDC check,Der acdc-Check wird akzeptiert,
53
- This is a required field,Das ist ein Pflichtfeld,
54
- CC,Kreditkarte,
55
- Cc,Kreditkarte,
56
- Method,Zahlart,
57
- Due at,Gültig bis,
58
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.,
59
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto,
60
- Account Holder2,Kontoinhaber,
61
- Bank,Bank,
62
- Amount,Betrag,
63
- Reference,Verwendungszweck,
64
- to following account,auf folgendes Konto,
65
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert,
67
- accepted,wird akzeptiert,
68
- ACDC-Check,ACDC-Check,
69
- The,Der,
70
- Month,Monat,
71
- Year,Jahr,
72
- Direct Debit German,Lastschrift Deutschland,
73
- Direct Debit Austria,Lastschrift Österreich,
74
- Booking Reference,Verwendungszweck,
75
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein,
76
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein,
77
- You must check ACDC,You must check ACDC,
78
- Notice for Clients,Hinweis für Kunden,
79
- Pay by Call,Per Telefon,
80
- Phonepayment,Per Telefon,
81
- Error,Fehler,
82
- Order Price not found,Bestellsumme nicht gefunden,
83
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!,
84
- Params (aryResponse) missing,Params (aryResponse) fehlt,
85
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen,
86
- Step,Schritt,
87
- Please dial this number,Bitte rufen Sie diese Telefonnummer an,
88
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf,
89
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter,
90
- This call costs,Dieser Anruf kostet einmalig,
91
- inclusive tax,inkl. MwSt.,
92
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich,
93
- Response contains no XML data,Response enthält keine XML Daten,
94
- Did you called this number,Did you called this number,
95
- Billing Addr. not found,Rechnungsadresse nicht gefunden,
96
- User Group Excluded,Ausgeschlossene Benutzergruppe,
97
- Parameter missing,Parameter fehlt,
98
- Comment,Bemerkung,
99
- Email address missing,Emailadresse nicht vorhanden,
100
- Instant Bank Transfer,Sofortüberweisung,
101
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet,
102
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet,
103
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen,
104
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt,
105
- Password,Passwort,
106
- Test Mode,Testmodus,
107
- Live Mode,Livemodus,
108
- Testorder,Testbestellung,
109
- Credit Card PCI,Kreditkarte PCI,
110
- Direct Debit German PCI,Lastschrift Deutschland PCI,
111
- Direct Debit Austria PCI,Lastschrift Österreich PCI,
112
- Novalnet Phonepayment,Novalnet Per Telefon,
113
- Novalnet Prepayment,Novalnet Vorkasse,
114
- Novalnet Invoice,Novalnet per Rechnung,
115
- Novalnet Direct Debit,Novalnet Lastschrift,
116
- Novalnet Credit Card,Novalnet Kreditkarte,
117
- Novalnet Creditcard,Novalnet Kreditkarte,
118
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure,
119
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI,
120
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI,
121
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI,
122
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung,
123
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.,
124
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland,
126
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich,
127
- Only for foreign transfers,Nur bei Auslandsüberweisungen,
128
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG,
129
- Novalnet Paypal Text,"Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
- "Minimum Order Total","Mindestwert für Gesamtbestellung"
131
- "Maximum Order Total","Höchstwert für Gesamtbestellung"
132
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
133
- "Due Date","Fälligkeitsdatum"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Enabled","Modul-Aktivierung",
2
+ "New order status","Bestellstatus",
3
+ "Novalnet Merchant ID","Novalnet-Händler-ID",
4
+ "Title","Titel",
5
+ "Novalnet Auth Code","Novalnet-Authorisierungsschlüssel",
6
+ "Novalnet Product ID","Novalnet-Produkt-ID",
7
+ "Novalnet Tariff Id","Novalnet-Tarif-ID",
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für",
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit",
10
+ "DE","Deutschland",
11
+ "AT","Österreich",
12
+ "Direct Debit","Lastschrift",
13
+ "Credit Card","Kreditkarte",
14
+ "Country","Buchungsland",
15
+ "Name on the Card","Kreditkarteninhaber",
16
+ "Name on Card","Kreditkarteninhaber",
17
+ "Credit Card Type","Kreditkarten Typ",
18
+ "Credit Card Number","Kartennummer",
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)",
20
+ "Card Verification Number","CVC (Pruefziffer)",
21
+ "What is this?","Wo finde ich die CVC-Nummer?",
22
+ "Account Holder","Kontoinhaber",
23
+ "Account Number","Kontonummer",
24
+ "Bank Sorting Code","Bankleitzahl",
25
+ "Country: ","Buchungsland: ",
26
+ "Account Holder: %s","Kontoinhaber: %s",
27
+ "Account Number: %s","Kontonummer: %s",
28
+ "Bank Sorting Code: %s","Bankleitzahl: %s",
29
+ "TID: %s","TID: %s",
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s",
31
+ "Credit Card Number: %s","Kartennummer: %s",
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s",
33
+ "Credit Card Type: %s","Kreditkartentyp: %s",
34
+ "Expiration Date: %s/%s","Gültigkeit (Monat/Jahr): %s/%s",
35
+ "Credit Card Types","Mögliche Kreditkarten",
36
+ "The amount will be booked immediately from your credit card.","Der Betrag wird von Ihrer Kreditkarte mit dem Verwendungszweck sofort abgebucht.",
37
+ "This is not a valid account number.","Bitte geben Sie die gültige Kontonummer",
38
+ "This is not a valid bank sorting code.","Bitte geben Sie die gültige Bankleitzahl",
39
+ "Direct Debit","Lastschrift",
40
+ "Credit Card","Kreditkarte",
41
+ "Creditcard","Kreditkarte",
42
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure",
43
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
44
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück",
45
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen",
46
+ "Prepayment","Vorkasse",
47
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
48
+ "Payment Duration","Zahlungsdauer",
49
+ "--Please Select--","--Bitte wählen--",
50
+ "Invoice","Rechnung",
51
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:","auf folgendes Konto:"
52
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert",
53
+ "This is a required field","Das ist ein Pflichtfeld",
54
+ "CC","Kreditkarte",
55
+ "Cc","Kreditkarte",
56
+ "Method","Zahlart",
57
+ "Due at","Gültig bis",
58
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.",
59
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto",
60
+ "Account Holder2","Kontoinhaber",
61
+ "Bank","Bank",
62
+ "Amount","Betrag",
63
+ "Reference","Verwendungszweck",
64
+ "to following account","auf folgendes Konto",
65
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert",
67
+ "accepted","wird akzeptiert",
68
+ "ACDC-Check","ACDC-Control-Aktivierung",
69
+ "The","Der",
70
+ "Month","Monat",
71
+ "Year","Jahr",
72
+ "Direct Debit German","Lastschrift Deutschland",
73
+ "Direct Debit Austria","Lastschrift Österreich",
74
+ "Booking Reference","Verwendungszweck",
75
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein",
76
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein",
77
+ "You must check ACDC","You must check ACDC",
78
+ "Notice for Clients","Hinweis für Kunden",
79
+ "Pay by Call","Per Telefon",
80
+ "Phonepayment","Per Telefon",
81
+ "Error","Fehler",
82
+ "Order Price not found","Bestellsumme nicht gefunden",
83
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!",
84
+ "Params (aryResponse) missing","Params (aryResponse) fehlt",
85
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen",
86
+ "Step","Schritt",
87
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an",
88
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf",
89
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter",
90
+ "This call costs","Dieser Anruf kostet einmalig",
91
+ "inclusive tax","inkl. MwSt.",
92
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich",
93
+ "Response contains no XML data","Response enthält keine XML Daten",
94
+ "Did you called this number","Did you called this number",
95
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden",
96
+ "User Group Excluded","Ausgeschlossene Benutzergruppe",
97
+ "Parameter missing","Parameter fehlt",
98
+ "Comment","Bemerkung",
99
+ "Email address missing","Emailadresse nicht vorhanden",
100
+ "Instant Bank Transfer","Sofortüberweisung",
101
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet",
102
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet",
103
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen",
104
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt",
105
+ "Novalnet Password","Novalnet-Passwort",
106
+ "Test Mode","Testmodus",
107
+ "Live Mode","Live-Modus-Aktivierung",
108
+ "Testorder","Testbestellung",
109
+ "Credit Card PCI","Kreditkarte PCI",
110
+ "Direct Debit German PCI","Lastschrift Deutschland PCI",
111
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI",
112
+ "Novalnet Phonepayment","Novalnet Telefonpayment",
113
+ "Novalnet Prepayment","Novalnet Vorauskasse",
114
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung",
115
+ "Novalnet Direct Debit","Novalnet Lastschrift",
116
+ "Novalnet Credit Card","Novalnet Kreditkarte",
117
+ "Novalnet Creditcard","Novalnet Kreditkarte",
118
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure",
119
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI",
120
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI",
121
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI",
122
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung",
123
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.",
124
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland",
126
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich",
127
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen",
128
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG",
129
+ "Novalnet Paypal Text","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
+ "Minimum Order Total","Mindestwert für Gesamtbestellung (in Euro)",
131
+ "Maximum Order Total","Höchstwert für Gesamtbestellung (in Euro)",
132
+ "Minimum Orders Count","Mindestanzahl an Bestellungen",
133
+ "Due Date","Fälligkeitsdatum",
134
+ "Die Hashfunktionen sind nicht verf�gbar!","Die Hashfunktionen sind nicht verf�gbar!",
135
+ "Required Second Product Tariff","Produkt-ID2-und / oder Tarif-ID2 fehlen",
136
+ "successful","Erfolgreiche",
137
+ "You receive a call soon! Please enter the PIN code received in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
138
+ "Please agree to all terms and conditions before ordering.","Bitte stimmen zu, alle Bestimmungen und Bedingungen vor der Bestellung.",
139
+ "Basic Parameter Missing","Grundlegende Parameter fehlt",
140
+ "Manual checking amount in cents","Manuelle überprüfung Betrag in Cent",
141
+ "You have to set the live mode to 'yes' for real payments.","Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen.",
142
+ "To exclude groups of customers.","Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.",
143
+ "Second Novalnet Product ID","Zweite Novalnet-Produkt-ID",
144
+ "Second Novalnet Tariff Id","Zweite Novalnet-Tarif-ID",
145
+ "Gateway Timeout","Zeitüberschreitung am Gateway",
146
+ "Gateway Timeout in seconds","Gateway Zeitlimit in Sekunden",
147
+ "Default: ""0"" for disabled check.","Default: ""0"" für behinderte Scheck | Minimale Anzahl der Bestellungen (in der Vergangenheit) für den Kunden erforderlich, um diese Zahlungsmethode verwenden.",
148
+ "Minimum Amount For Callback (in cents)","Mindestbetrag für PIN by Callback (in cents)",
149
+ "This is not a valid Account Holder Name","Bitte geben Sie die gültige Kontoinhaber",
150
+ "PAYPAL API User Name","PayPal API Benutzername ",
151
+ "PAYPAL API Password","PayPal API Passwort",
152
+ "PAYPAL API Signature","PayPal API Signatur",
153
+ "The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen.<br><b>Bitte unbedingt beachten</b>auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
154
+ "You receive a call soon! Please enter the received PIN code in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
155
+ "Callback session has expired. Please resubmit payment method","Ihre PIN-Session ist abgelaufen. Bitte versuchen Sie es noch einmal",
156
+ "Order amount has been changed. Please resubmit the payment method","Sie haben den Karren Betrag nach dem Aufstehen PIN-Nummer geändert, bitte versuchen Sie es erneut mit neuen Anruf","Auftragssumme wurde ge�ndert. Bitte erneut die Zahlungsmethode"
157
+ "Sort Order","Sortierung nach",
158
+ "When activated by PIN Callback / SMS","Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert. Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss. Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden, andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar. ",
159
+ "This is not a valid pin code.","Die eingegebene PIN ist inkorrekt oder leer!",
160
+ "Ihre Telefon- / Mobil- Nummer","Telefonnummer",
161
+ "Email Address","E-Mail Adresse",
162
+ "acdc Check","acdc-Check",
163
+ "Card Verification Number: %s","CVC: %s",
164
+ "Error in capturing the payment","Fehler bei der Durchführung der Zahlung",
165
+ "You will be redirected to Novalnet AG in a few seconds.","Sie werden in wenigen Sekunden zur Novalnet AG weitergeleitet.",
app/locale/de_AT/Novalnet_NovalnetPaypal.csv CHANGED
@@ -1,143 +1,144 @@
1
- Enabled,Aktiviert
2
- New order status,Neuer Bestellstatus
3
- Novalnet Merchant ID,Novalnet Händler ID
4
- Title,Titel
5
- Novalnet Auth Code,Novalnet Auth Code
6
- Novalnet Product ID,Novalnet Produkt ID
7
- Novalnet Tariff ID,Novalnet Tarif ID
8
- Payment from applicable countries,Zahlungsmöglichkeit für
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit
10
- DE,Deutschland
11
- AT,Österreich
12
- Direct Debit,Lastschrift
13
- Credit Card,Kreditkarte
14
- Country,Buchungsland
15
- Name on the Card,Kreditkarteninhaber
16
- Name on Card,Kreditkarteninhaber
17
- Credit Card Type,Kreditkarten Typ
18
- Credit Card Number,Kreditkartennummer
19
- Expiration Date,Ablaufdatum
20
- Card Verification Number,CVC-Nummer
21
- What is this?,Wo finde ich die CVC-Nummer?
22
- Account Holder,Name des Kontoinhabers
23
- Account Number,Kontonr.
24
- Bank Sorting Code,BLZ
25
- Country: ,Buchungsland:
26
- Account Holder: %s,Kontoinhaber: %s
27
- Account Number: %s,Kontonr.: %s
28
- Bank Sorting Code: %s,BLZ: %s
29
- TID: %s,TID: %s
30
- Name on the Card: %s,Kreditkarteninhaber: %s
31
- Credit Card Number: %s,Kreditkartennummer: %s
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s
33
- Credit Card Type: %s,Kreditkartentyp: %s
34
- Expiration Date: %s/%s,Gültig bis: %s/%s
35
- Credit Card Types,Mögliche Kreditkarten
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck
37
- <B>%s</B> abgebucht.
38
- This is not a valid account number.,Die Kontonummer ist nicht gültig!
39
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!
40
- Direct Debit,Lastschrift
41
- Credit Card,Kreditkarte
42
- Creditcard,Kreditkarte
43
- Credit Card 3D-Secure,Kreditkarte 3D-Secure
44
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet
45
- Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
46
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück
47
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen
48
- Prepayment,Vorkasse
49
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird
50
- Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.
51
- Payment Duration,Zahlbar in Tagen
52
- --Please Select--,--Bitte wählen--
53
- Invoice,Rechnung
54
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum
55
- to following account:,auf folgendes Konto:
56
- I accept the ACDC check,Der acdc-Check wird akzeptiert
57
- This is a required field,Das ist ein Pflichtfeld
58
- CC,Kreditkarte
59
- Cc,Kreditkarte
60
- Method,Zahlart
61
- Due at,Gültig bis
62
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail
63
- zugeschickt
64
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto
65
- Account Holder2,Kontoinhaber
66
- Bank,Bank
67
- Amount,Betrag
68
- Reference,Verwendungszweck
69
- to following account,auf folgendes Konto
70
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
- wenn der oben angegebene Verwendungszweck verwendet wird"
72
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert
73
- accepted,wird akzeptiert
74
- ACDC-Check,ACDC-Check
75
- The,Der
76
- Month,Monat
77
- Year,Jahr
78
- Direct Debit German,Lastschrift Deutschland
79
- Direct Debit Austria,Lastschrift Österreich
80
- Booking Reference,Verwendungszweck
81
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein
82
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein
83
- You must check ACDC,You must check ACDC
84
- Notice for Clients,Hinweis für Kunden
85
- Pay by Call,Per Telefon
86
- Phonepayment,Per Telefon
87
- Error,Fehler
88
- Order Price not found,Bestellsumme nicht gefunden
89
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht
90
- akzeptiert!
91
- Params (aryResponse) missing,Params (aryResponse) fehlt
92
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen
93
- Step,Schritt
94
- Please dial this number,Bitte rufen Sie diese Telefonnummer an
95
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf
96
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter
97
- This call costs,Dieser Anruf kostet einmalig
98
- inclusive tax,inkl. MwSt.
99
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich
100
- Response contains no XML data,Response enthält keine XML Daten
101
- Did you called this number,Did you called this number
102
- Billing Addr. not found,Rechnungsadresse nicht gefunden
103
- User Group Excluded,Ausgeschlossene Benutzergruppe
104
- Parameter missing,Parameter fehlt
105
- Comment,Bemerkung
106
- Email address missing,Emailadresse nicht vorhanden
107
- Instant Bank Transfer,Sofortüberweisung
108
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet
109
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet
110
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen
111
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt
112
- Password,Passwort
113
- Test Mode,Testmodus
114
- Live Mode,Livemodus
115
- Testorder,Testbestellung
116
- Credit Card PCI,Kreditkarte PCI
117
- Direct Debit German PCI,Lastschrift Deutschland PCI
118
- Direct Debit Austria PCI,Lastschrift Österreich PCI
119
- Novalnet Phonepayment,Novalnet Per Telefon
120
- Novalnet Prepayment,Novalnet Vorkasse
121
- Novalnet Invoice,Novalnet Per Rechnung
122
- Novalnet Direct Debit,Novalnet Lastschrift
123
- Novalnet Credit Card,Novalnet Kreditkarte
124
- Novalnet Creditcard,Novalnet Kreditkarte
125
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure
126
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI
127
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI
128
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI
129
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung
130
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.
131
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
- aufgeben."
133
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland
134
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich
135
- Only for foreign transfers,Nur bei Auslandsüberweisungen
136
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden
137
- Information an unseren Zahlungsdienstleister Novalnet AG
138
- You will be redirected to Novalnet AG in a few seconds,Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet
139
- Customer was redirected to Novalnet,Endkunde wurde auf das Gateway der Novalnet AG umgeleitet
140
- You will be redirected to Novalnet AG website when you place an order.,Sie werden dann auf das Gateway der Novalnet AG umgeleitet.
141
- "Minimum Order Total","Mindestwert für Gesamtbestellung"
142
- "Maximum Order Total","Höchstwert für Gesamtbestellung"
143
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
 
1
+ "Enabled","Modul-Aktivierung"
2
+ "New order status","Neuer Bestellstatus"
3
+ "Novalnet Merchant ID","Novalnet Händler ID"
4
+ "Title","Titel"
5
+ "Novalnet Auth Code","Novalnet Auth Code"
6
+ "Novalnet Product ID","Novalnet Produkt ID"
7
+ "Novalnet Tariff ID","Novalnet Tarif ID"
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für"
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
+ "DE","Deutschland"
11
+ "AT","Österreich"
12
+ "Direct Debit","Lastschrift"
13
+ "Credit Card","Kreditkarte"
14
+ "Country","Buchungsland"
15
+ "Name on the Card","Kreditkarteninhaber"
16
+ "Name on Card","Kreditkarteninhaber"
17
+ "Credit Card Type","Kreditkarten Typ"
18
+ "Credit Card Number","Kartennummer"
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)"
20
+ "Card Verification Number","CVC (Pruefziffer)"
21
+ "What is this?","Wo finde ich die CVC-Nummer?"
22
+ "Account Holder","Name des Kontoinhabers"
23
+ "Account Number","Kontonr."
24
+ "Bank Sorting Code","BLZ"
25
+ "Country: ","Buchungsland: "
26
+ "Account Holder: %s","Kontoinhaber: %s"
27
+ "Account Number: %s","Kontonr.: %s"
28
+ "Bank Sorting Code: %s","BLZ: %s"
29
+ "TID: %s","TID: %s"
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s"
31
+ "Credit Card Number: %s","Kartennummer: %s"
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s"
33
+ "Credit Card Type: %s","Kreditkartentyp: %s"
34
+ "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
+ "Credit Card Types","Mögliche Kreditkarten"
36
+ "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck "
37
+ "<B>%s</B> abgebucht.",
38
+ "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
39
+ "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
40
+ "Direct Debit","Lastschrift"
41
+ "Credit Card","Kreditkarte"
42
+ "Creditcard","Kreditkarte"
43
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure"
44
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
45
+ "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
46
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
47
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
48
+ "Prepayment","Vorkasse"
49
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird "
50
+ "Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
51
+ "Payment Duration","Zahlbar in Tagen"
52
+ "--Please Select--","--Bitte wählen--"
53
+ "Invoice","Rechnung"
54
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
55
+ "to following account:","auf folgendes Konto:"
56
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert"
57
+ "This is a required field","Das ist ein Pflichtfeld"
58
+ "CC","Kreditkarte"
59
+ "Cc","Kreditkarte"
60
+ "Method","Zahlart"
61
+ "Due at","Gültig bis"
62
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail "
63
+ "zugeschickt",
64
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
65
+ "Account Holder2","Kontoinhaber"
66
+ "Bank","Bank"
67
+ "Amount","Betrag"
68
+ "Reference","Verwendungszweck"
69
+ "to following account","auf folgendes Konto"
70
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
+ wenn der oben angegebene Verwendungszweck verwendet wird"
72
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
73
+ "accepted","wird akzeptiert"
74
+ "ACDC-Check","ACDC-Check"
75
+ "The","Der"
76
+ "Month","Monat"
77
+ "Year","Jahr"
78
+ "Direct Debit German","Lastschrift Deutschland"
79
+ "Direct Debit Austria","Lastschrift Österreich"
80
+ "Booking Reference","Verwendungszweck"
81
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
82
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
83
+ "You must check ACDC","You must check ACDC"
84
+ "Notice for Clients","Hinweis für Kunden"
85
+ "Pay by Call","Per Telefon"
86
+ "Phonepayment","Per Telefon"
87
+ "Error","Fehler"
88
+ "Order Price not found","Bestellsumme nicht gefunden"
89
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht "
90
+ "akzeptiert!",
91
+ "Params (aryResponse) missing","Params (aryResponse) fehlt"
92
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
93
+ "Step","Schritt"
94
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
95
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
96
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
97
+ "This call costs","Dieser Anruf kostet einmalig"
98
+ "inclusive tax","inkl. MwSt."
99
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
100
+ "Response contains no XML data","Response enthält keine XML Daten"
101
+ "Did you called this number","Did you called this number"
102
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden"
103
+ "User Group Excluded","Ausgeschlossene Benutzergruppe"
104
+ "Parameter missing","Parameter fehlt"
105
+ "Comment","Bemerkung"
106
+ "Email address missing","Emailadresse nicht vorhanden"
107
+ "Instant Bank Transfer","Sofortüberweisung"
108
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
109
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
110
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
111
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
112
+ "Novalnet Password","Novalnet-Passwort"
113
+ "Test Mode","Testmodus"
114
+ "Live Mode","Livemodus"
115
+ "Testorder","Testbestellung"
116
+ "Credit Card PCI","Kreditkarte PCI"
117
+ "Direct Debit German PCI","Lastschrift Deutschland PCI"
118
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI"
119
+ "Novalnet Phonepayment","Novalnet Telefonpayment"
120
+ "Novalnet Prepayment","Novalnet Vorauskasse"
121
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung"
122
+ "Novalnet Direct Debit","Novalnet Lastschrift"
123
+ "Novalnet Credit Card","Novalnet Kreditkarte"
124
+ "Novalnet Creditcard","Novalnet Kreditkarte"
125
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure"
126
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI"
127
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI"
128
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI"
129
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung"
130
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet."
131
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
+ aufgeben."
133
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland"
134
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich"
135
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen"
136
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden "
137
+ "Information an unseren Zahlungsdienstleister Novalnet AG",
138
+ "You will be redirected to Novalnet AG in a few seconds","Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet"
139
+ "Customer was redirected to Novalnet","Endkunde wurde auf das Gateway der Novalnet AG umgeleitet"
140
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
141
+ "Minimum Order Total","Mindestwert für Gesamtbestellung"
142
+ "Maximum Order Total","Höchstwert für Gesamtbestellung"
143
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
144
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
app/locale/de_AT/Novalnet_Sofortueberweisung.csv CHANGED
@@ -12,7 +12,7 @@
12
  "Please check your account data.","Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit."
13
  "Invalid amount for authorization.","Ungültiger Betrag für die Bezahlung."
14
  "Payment was successful.","Zahlung bei Sofortüberweisung war erfolgreich"
15
- "Paymentinformations: %s";"Zahlungsinformationen: %s"
16
  "Payment was not successfull","Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten"
17
  "You will be redirected to Sofortüberweisung","Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden"
18
  "You will be redirected to Sofortueberweisung in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
@@ -25,7 +25,7 @@
25
  "Paymentinformations: %s","Zahlungsinformationen: %s"
26
  "Paycode: %s","Paycode: %s"
27
  "Project password","Projektpasswort"
28
- "Notification password", "Benachrichtigungspasswort"
29
  "Use input check","Input Check aktivieren"
30
  "Create Invoice","Generiere Rechnung nach Zahlung"
31
  "Projekt Id","Projekt ID"
@@ -46,9 +46,12 @@ das entsprechende Feld für die Konfiguration ein."
46
  "Paycode information","Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
  TAN)."
48
  "Netherlands banks","Niederländische Banken anzeigen?"
49
- Customer cancled payment or payment error,Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf
50
- Customer cancled payment,Endkunde hat Bezahlung abgebrochen
51
- payment error,Fehler bei Bezahlung
52
  "Minimum Order Total","Mindestwert für Gesamtbestellung"
53
  "Maximum Order Total","Höchstwert für Gesamtbestellung"
54
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
 
 
 
12
  "Please check your account data.","Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit."
13
  "Invalid amount for authorization.","Ungültiger Betrag für die Bezahlung."
14
  "Payment was successful.","Zahlung bei Sofortüberweisung war erfolgreich"
15
+ "Paymentinformations: %s;""Zahlungsinformationen: %s""",
16
  "Payment was not successfull","Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten"
17
  "You will be redirected to Sofortüberweisung","Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden"
18
  "You will be redirected to Sofortueberweisung in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
25
  "Paymentinformations: %s","Zahlungsinformationen: %s"
26
  "Paycode: %s","Paycode: %s"
27
  "Project password","Projektpasswort"
28
+ "Notification password"," ""Benachrichtigungspasswort"""
29
  "Use input check","Input Check aktivieren"
30
  "Create Invoice","Generiere Rechnung nach Zahlung"
31
  "Projekt Id","Projekt ID"
46
  "Paycode information","Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
  TAN)."
48
  "Netherlands banks","Niederländische Banken anzeigen?"
49
+ "Customer cancled payment or payment error","Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf"
50
+ "Customer cancled payment","Endkunde hat Bezahlung abgebrochen"
51
+ "payment error","Fehler bei Bezahlung"
52
  "Minimum Order Total","Mindestwert für Gesamtbestellung"
53
  "Maximum Order Total","Höchstwert für Gesamtbestellung"
54
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
55
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
56
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
57
+ "You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
app/locale/de_CH/Mage_Novalnet.csv CHANGED
@@ -1,133 +1,165 @@
1
- Enabled,Aktiviert,
2
- New order status,Neuer Bestellstatus,
3
- Novalnet Merchant ID,Novalnet Händler ID,
4
- Title,Titel,
5
- Novalnet Auth Code,Novalnet Auth Code,
6
- Novalnet Product ID,Novalnet Produkt ID,
7
- Novalnet Tariff ID,Novalnet Tarif ID,
8
- Payment from applicable countries,Zahlungsmöglichkeit für,
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit,
10
- DE,Deutschland,
11
- AT,Österreich,
12
- Direct Debit,Lastschrift,
13
- Credit Card,Kreditkarte,
14
- Country,Buchungsland,
15
- Name on the Card,Kreditkarteninhaber,
16
- Name on Card,Kreditkarteninhaber,
17
- Credit Card Type,Kreditkarten Typ,
18
- Credit Card Number,Kreditkartennummer,
19
- Expiration Date,Ablaufdatum,
20
- Card Verification Number,CVC-Nummer,
21
- What is this?,Wo finde ich die CVC-Nummer?,
22
- Account Holder,Name des Kontoinhabers,
23
- Account Number,Kontonr.,
24
- Bank Sorting Code,BLZ,
25
- Country: ,Buchungsland: ,
26
- Account Holder: %s,Kontoinhaber: %s,
27
- Account Number: %s,Kontonr.: %s,
28
- Bank Sorting Code: %s,BLZ: %s,
29
- TID: %s,TID: %s,
30
- Name on the Card: %s,Kreditkarteninhaber: %s,
31
- Credit Card Number: %s,Kreditkartennummer: %s,
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s,
33
- Credit Card Type: %s,Kreditkartentyp: %s,
34
- Expiration Date: %s/%s,Gültig bis: %s/%s,
35
- Credit Card Types,Mögliche Kreditkarten,
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.,
37
- This is not a valid account number.,Die Kontonummer ist nicht gültig!,
38
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!,
39
- Direct Debit,Lastschrift,
40
- Credit Card,Kreditkarte,
41
- Creditcard,Kreditkarte,
42
- Credit Card 3D-Secure,Kreditkarte 3D-Secure,
43
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück,
45
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen,
46
- Prepayment,Vorkasse,
47
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
48
- Payment Duration,Zahlbar in Tagen,
49
- --Please Select--,--Bitte wählen--,
50
- Invoice,Rechnung,
51
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
- I accept the ACDC check,Der acdc-Check wird akzeptiert,
53
- This is a required field,Das ist ein Pflichtfeld,
54
- CC,Kreditkarte,
55
- Cc,Kreditkarte,
56
- Method,Zahlart,
57
- Due at,Gültig bis,
58
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.,
59
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto,
60
- Account Holder2,Kontoinhaber,
61
- Bank,Bank,
62
- Amount,Betrag,
63
- Reference,Verwendungszweck,
64
- to following account,auf folgendes Konto,
65
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert,
67
- accepted,wird akzeptiert,
68
- ACDC-Check,ACDC-Check,
69
- The,Der,
70
- Month,Monat,
71
- Year,Jahr,
72
- Direct Debit German,Lastschrift Deutschland,
73
- Direct Debit Austria,Lastschrift Österreich,
74
- Booking Reference,Verwendungszweck,
75
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein,
76
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein,
77
- You must check ACDC,You must check ACDC,
78
- Notice for Clients,Hinweis für Kunden,
79
- Pay by Call,Per Telefon,
80
- Phonepayment,Per Telefon,
81
- Error,Fehler,
82
- Order Price not found,Bestellsumme nicht gefunden,
83
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!,
84
- Params (aryResponse) missing,Params (aryResponse) fehlt,
85
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen,
86
- Step,Schritt,
87
- Please dial this number,Bitte rufen Sie diese Telefonnummer an,
88
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf,
89
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter,
90
- This call costs,Dieser Anruf kostet einmalig,
91
- inclusive tax,inkl. MwSt.,
92
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich,
93
- Response contains no XML data,Response enthält keine XML Daten,
94
- Did you called this number,Did you called this number,
95
- Billing Addr. not found,Rechnungsadresse nicht gefunden,
96
- User Group Excluded,Ausgeschlossene Benutzergruppe,
97
- Parameter missing,Parameter fehlt,
98
- Comment,Bemerkung,
99
- Email address missing,Emailadresse nicht vorhanden,
100
- Instant Bank Transfer,Sofortüberweisung,
101
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet,
102
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet,
103
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen,
104
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt,
105
- Password,Passwort,
106
- Test Mode,Testmodus,
107
- Live Mode,Livemodus,
108
- Testorder,Testbestellung,
109
- Credit Card PCI,Kreditkarte PCI,
110
- Direct Debit German PCI,Lastschrift Deutschland PCI,
111
- Direct Debit Austria PCI,Lastschrift Österreich PCI,
112
- Novalnet Phonepayment,Novalnet Per Telefon,
113
- Novalnet Prepayment,Novalnet Vorkasse,
114
- Novalnet Invoice,Novalnet per Rechnung,
115
- Novalnet Direct Debit,Novalnet Lastschrift,
116
- Novalnet Credit Card,Novalnet Kreditkarte,
117
- Novalnet Creditcard,Novalnet Kreditkarte,
118
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure,
119
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI,
120
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI,
121
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI,
122
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung,
123
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.,
124
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland,
126
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich,
127
- Only for foreign transfers,Nur bei Auslandsüberweisungen,
128
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG,
129
- Novalnet Paypal Text,"Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
- "Minimum Order Total","Mindestwert für Gesamtbestellung"
131
- "Maximum Order Total","Höchstwert für Gesamtbestellung"
132
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
133
- "Due Date","Fälligkeitsdatum"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Enabled","Modul-Aktivierung",
2
+ "New order status","Bestellstatus",
3
+ "Novalnet Merchant ID","Novalnet-Händler-ID",
4
+ "Title","Titel",
5
+ "Novalnet Auth Code","Novalnet-Authorisierungsschlüssel",
6
+ "Novalnet Product ID","Novalnet-Produkt-ID",
7
+ "Novalnet Tariff Id","Novalnet-Tarif-ID",
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für",
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit",
10
+ "DE","Deutschland",
11
+ "AT","Österreich",
12
+ "Direct Debit","Lastschrift",
13
+ "Credit Card","Kreditkarte",
14
+ "Country","Buchungsland",
15
+ "Name on the Card","Kreditkarteninhaber",
16
+ "Name on Card","Kreditkarteninhaber",
17
+ "Credit Card Type","Kreditkarten Typ",
18
+ "Credit Card Number","Kartennummer",
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)",
20
+ "Card Verification Number","CVC (Pruefziffer)",
21
+ "What is this?","Wo finde ich die CVC-Nummer?",
22
+ "Account Holder","Kontoinhaber",
23
+ "Account Number","Kontonummer",
24
+ "Bank Sorting Code","Bankleitzahl",
25
+ "Country: ","Buchungsland: ",
26
+ "Account Holder: %s","Kontoinhaber: %s",
27
+ "Account Number: %s","Kontonummer: %s",
28
+ "Bank Sorting Code: %s","Bankleitzahl: %s",
29
+ "TID: %s","TID: %s",
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s",
31
+ "Credit Card Number: %s","Kartennummer: %s",
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s",
33
+ "Credit Card Type: %s","Kreditkartentyp: %s",
34
+ "Expiration Date: %s/%s","Gültigkeit (Monat/Jahr): %s/%s",
35
+ "Credit Card Types","Mögliche Kreditkarten",
36
+ "The amount will be booked immediately from your credit card.","Der Betrag wird von Ihrer Kreditkarte mit dem Verwendungszweck sofort abgebucht.",
37
+ "This is not a valid account number.","Bitte geben Sie die gültige Kontonummer",
38
+ "This is not a valid bank sorting code.","Bitte geben Sie die gültige Bankleitzahl",
39
+ "Direct Debit","Lastschrift",
40
+ "Credit Card","Kreditkarte",
41
+ "Creditcard","Kreditkarte",
42
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure",
43
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
44
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück",
45
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen",
46
+ "Prepayment","Vorkasse",
47
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
48
+ "Payment Duration","Zahlungsdauer",
49
+ "--Please Select--","--Bitte wählen--",
50
+ "Invoice","Rechnung",
51
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:","auf folgendes Konto:"
52
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert",
53
+ "This is a required field","Das ist ein Pflichtfeld",
54
+ "CC","Kreditkarte",
55
+ "Cc","Kreditkarte",
56
+ "Method","Zahlart",
57
+ "Due at","Gültig bis",
58
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.",
59
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto",
60
+ "Account Holder2","Kontoinhaber",
61
+ "Bank","Bank",
62
+ "Amount","Betrag",
63
+ "Reference","Verwendungszweck",
64
+ "to following account","auf folgendes Konto",
65
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert",
67
+ "accepted","wird akzeptiert",
68
+ "ACDC-Check","ACDC-Control-Aktivierung",
69
+ "The","Der",
70
+ "Month","Monat",
71
+ "Year","Jahr",
72
+ "Direct Debit German","Lastschrift Deutschland",
73
+ "Direct Debit Austria","Lastschrift Österreich",
74
+ "Booking Reference","Verwendungszweck",
75
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein",
76
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein",
77
+ "You must check ACDC","You must check ACDC",
78
+ "Notice for Clients","Hinweis für Kunden",
79
+ "Pay by Call","Per Telefon",
80
+ "Phonepayment","Per Telefon",
81
+ "Error","Fehler",
82
+ "Order Price not found","Bestellsumme nicht gefunden",
83
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!",
84
+ "Params (aryResponse) missing","Params (aryResponse) fehlt",
85
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen",
86
+ "Step","Schritt",
87
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an",
88
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf",
89
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter",
90
+ "This call costs","Dieser Anruf kostet einmalig",
91
+ "inclusive tax","inkl. MwSt.",
92
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich",
93
+ "Response contains no XML data","Response enthält keine XML Daten",
94
+ "Did you called this number","Did you called this number",
95
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden",
96
+ "User Group Excluded","Ausgeschlossene Benutzergruppe",
97
+ "Parameter missing","Parameter fehlt",
98
+ "Comment","Bemerkung",
99
+ "Email address missing","Emailadresse nicht vorhanden",
100
+ "Instant Bank Transfer","Sofortüberweisung",
101
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet",
102
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet",
103
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen",
104
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt",
105
+ "Novalnet Password","Novalnet-Passwort",
106
+ "Test Mode","Testmodus",
107
+ "Live Mode","Live-Modus-Aktivierung",
108
+ "Testorder","Testbestellung",
109
+ "Credit Card PCI","Kreditkarte PCI",
110
+ "Direct Debit German PCI","Lastschrift Deutschland PCI",
111
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI",
112
+ "Novalnet Phonepayment","Novalnet Telefonpayment",
113
+ "Novalnet Prepayment","Novalnet Vorauskasse",
114
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung",
115
+ "Novalnet Direct Debit","Novalnet Lastschrift",
116
+ "Novalnet Credit Card","Novalnet Kreditkarte",
117
+ "Novalnet Creditcard","Novalnet Kreditkarte",
118
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure",
119
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI",
120
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI",
121
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI",
122
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung",
123
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.",
124
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland",
126
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich",
127
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen",
128
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG",
129
+ "Novalnet Paypal Text","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
+ "Minimum Order Total","Mindestwert für Gesamtbestellung (in Euro)",
131
+ "Maximum Order Total","Höchstwert für Gesamtbestellung (in Euro)",
132
+ "Minimum Orders Count","Mindestanzahl an Bestellungen",
133
+ "Due Date","Fälligkeitsdatum",
134
+ "Die Hashfunktionen sind nicht verf�gbar!","Die Hashfunktionen sind nicht verf�gbar!",
135
+ "Required Second Product Tariff","Produkt-ID2-und / oder Tarif-ID2 fehlen",
136
+ "successful","Erfolgreiche",
137
+ "You receive a call soon! Please enter the PIN code received in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
138
+ "Please agree to all terms and conditions before ordering.","Bitte stimmen zu, alle Bestimmungen und Bedingungen vor der Bestellung.",
139
+ "Basic Parameter Missing","Grundlegende Parameter fehlt",
140
+ "Manual checking amount in cents","Manuelle überprüfung Betrag in Cent",
141
+ "You have to set the live mode to 'yes' for real payments.","Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen.",
142
+ "To exclude groups of customers.","Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.",
143
+ "Second Novalnet Product ID","Zweite Novalnet-Produkt-ID",
144
+ "Second Novalnet Tariff Id","Zweite Novalnet-Tarif-ID",
145
+ "Gateway Timeout","Zeitüberschreitung am Gateway",
146
+ "Gateway Timeout in seconds","Gateway Zeitlimit in Sekunden",
147
+ "Default: ""0"" for disabled check.","Default: ""0"" für behinderte Scheck | Minimale Anzahl der Bestellungen (in der Vergangenheit) für den Kunden erforderlich, um diese Zahlungsmethode verwenden.",
148
+ "Minimum Amount For Callback (in cents)","Mindestbetrag für PIN by Callback (in cents)",
149
+ "This is not a valid Account Holder Name","Bitte geben Sie die gültige Kontoinhaber",
150
+ "PAYPAL API User Name","PayPal API Benutzername ",
151
+ "PAYPAL API Password","PayPal API Passwort",
152
+ "PAYPAL API Signature","PayPal API Signatur",
153
+ "The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen.<br><b>Bitte unbedingt beachten</b>auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
154
+ "You receive a call soon! Please enter the received PIN code in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
155
+ "Callback session has expired. Please resubmit payment method","Ihre PIN-Session ist abgelaufen. Bitte versuchen Sie es noch einmal",
156
+ "Order amount has been changed. Please resubmit the payment method","Sie haben den Karren Betrag nach dem Aufstehen PIN-Nummer geändert, bitte versuchen Sie es erneut mit neuen Anruf","Auftragssumme wurde ge�ndert. Bitte erneut die Zahlungsmethode"
157
+ "Sort Order","Sortierung nach",
158
+ "When activated by PIN Callback / SMS","Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert. Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss. Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden, andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar. ",
159
+ "This is not a valid pin code.","Die eingegebene PIN ist inkorrekt oder leer!",
160
+ "Ihre Telefon- / Mobil- Nummer","Telefonnummer",
161
+ "Email Address","E-Mail Adresse",
162
+ "acdc Check","acdc-Check",
163
+ "Card Verification Number: %s","CVC: %s",
164
+ "Error in capturing the payment","Fehler bei der Durchführung der Zahlung",
165
+ "You will be redirected to Novalnet AG in a few seconds.","Sie werden in wenigen Sekunden zur Novalnet AG weitergeleitet.",
app/locale/de_CH/Novalnet_NovalnetPaypal.csv CHANGED
@@ -1,143 +1,144 @@
1
- Enabled,Aktiviert
2
- New order status,Neuer Bestellstatus
3
- Novalnet Merchant ID,Novalnet Händler ID
4
- Title,Titel
5
- Novalnet Auth Code,Novalnet Auth Code
6
- Novalnet Product ID,Novalnet Produkt ID
7
- Novalnet Tariff ID,Novalnet Tarif ID
8
- Payment from applicable countries,Zahlungsmöglichkeit für
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit
10
- DE,Deutschland
11
- AT,Österreich
12
- Direct Debit,Lastschrift
13
- Credit Card,Kreditkarte
14
- Country,Buchungsland
15
- Name on the Card,Kreditkarteninhaber
16
- Name on Card,Kreditkarteninhaber
17
- Credit Card Type,Kreditkarten Typ
18
- Credit Card Number,Kreditkartennummer
19
- Expiration Date,Ablaufdatum
20
- Card Verification Number,CVC-Nummer
21
- What is this?,Wo finde ich die CVC-Nummer?
22
- Account Holder,Name des Kontoinhabers
23
- Account Number,Kontonr.
24
- Bank Sorting Code,BLZ
25
- Country: ,Buchungsland:
26
- Account Holder: %s,Kontoinhaber: %s
27
- Account Number: %s,Kontonr.: %s
28
- Bank Sorting Code: %s,BLZ: %s
29
- TID: %s,TID: %s
30
- Name on the Card: %s,Kreditkarteninhaber: %s
31
- Credit Card Number: %s,Kreditkartennummer: %s
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s
33
- Credit Card Type: %s,Kreditkartentyp: %s
34
- Expiration Date: %s/%s,Gültig bis: %s/%s
35
- Credit Card Types,Mögliche Kreditkarten
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck
37
- <B>%s</B> abgebucht.
38
- This is not a valid account number.,Die Kontonummer ist nicht gültig!
39
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!
40
- Direct Debit,Lastschrift
41
- Credit Card,Kreditkarte
42
- Creditcard,Kreditkarte
43
- Credit Card 3D-Secure,Kreditkarte 3D-Secure
44
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet
45
- Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
46
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück
47
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen
48
- Prepayment,Vorkasse
49
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird
50
- Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.
51
- Payment Duration,Zahlbar in Tagen
52
- --Please Select--,--Bitte wählen--
53
- Invoice,Rechnung
54
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum
55
- to following account:,auf folgendes Konto:
56
- I accept the ACDC check,Der acdc-Check wird akzeptiert
57
- This is a required field,Das ist ein Pflichtfeld
58
- CC,Kreditkarte
59
- Cc,Kreditkarte
60
- Method,Zahlart
61
- Due at,Gültig bis
62
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail
63
- zugeschickt
64
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto
65
- Account Holder2,Kontoinhaber
66
- Bank,Bank
67
- Amount,Betrag
68
- Reference,Verwendungszweck
69
- to following account,auf folgendes Konto
70
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
- wenn der oben angegebene Verwendungszweck verwendet wird"
72
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert
73
- accepted,wird akzeptiert
74
- ACDC-Check,ACDC-Check
75
- The,Der
76
- Month,Monat
77
- Year,Jahr
78
- Direct Debit German,Lastschrift Deutschland
79
- Direct Debit Austria,Lastschrift Österreich
80
- Booking Reference,Verwendungszweck
81
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein
82
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein
83
- You must check ACDC,You must check ACDC
84
- Notice for Clients,Hinweis für Kunden
85
- Pay by Call,Per Telefon
86
- Phonepayment,Per Telefon
87
- Error,Fehler
88
- Order Price not found,Bestellsumme nicht gefunden
89
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht
90
- akzeptiert!
91
- Params (aryResponse) missing,Params (aryResponse) fehlt
92
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen
93
- Step,Schritt
94
- Please dial this number,Bitte rufen Sie diese Telefonnummer an
95
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf
96
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter
97
- This call costs,Dieser Anruf kostet einmalig
98
- inclusive tax,inkl. MwSt.
99
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich
100
- Response contains no XML data,Response enthält keine XML Daten
101
- Did you called this number,Did you called this number
102
- Billing Addr. not found,Rechnungsadresse nicht gefunden
103
- User Group Excluded,Ausgeschlossene Benutzergruppe
104
- Parameter missing,Parameter fehlt
105
- Comment,Bemerkung
106
- Email address missing,Emailadresse nicht vorhanden
107
- Instant Bank Transfer,Sofortüberweisung
108
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet
109
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet
110
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen
111
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt
112
- Password,Passwort
113
- Test Mode,Testmodus
114
- Live Mode,Livemodus
115
- Testorder,Testbestellung
116
- Credit Card PCI,Kreditkarte PCI
117
- Direct Debit German PCI,Lastschrift Deutschland PCI
118
- Direct Debit Austria PCI,Lastschrift Österreich PCI
119
- Novalnet Phonepayment,Novalnet Per Telefon
120
- Novalnet Prepayment,Novalnet Vorkasse
121
- Novalnet Invoice,Novalnet Per Rechnung
122
- Novalnet Direct Debit,Novalnet Lastschrift
123
- Novalnet Credit Card,Novalnet Kreditkarte
124
- Novalnet Creditcard,Novalnet Kreditkarte
125
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure
126
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI
127
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI
128
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI
129
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung
130
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.
131
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
- aufgeben."
133
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland
134
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich
135
- Only for foreign transfers,Nur bei Auslandsüberweisungen
136
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden
137
- Information an unseren Zahlungsdienstleister Novalnet AG
138
- You will be redirected to Novalnet AG in a few seconds,Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet
139
- Customer was redirected to Novalnet,Endkunde wurde auf das Gateway der Novalnet AG umgeleitet
140
- You will be redirected to Novalnet AG website when you place an order.,Sie werden dann auf das Gateway der Novalnet AG umgeleitet.
141
- "Minimum Order Total","Mindestwert für Gesamtbestellung"
142
- "Maximum Order Total","Höchstwert für Gesamtbestellung"
143
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
 
1
+ "Enabled","Modul-Aktivierung"
2
+ "New order status","Neuer Bestellstatus"
3
+ "Novalnet Merchant ID","Novalnet Händler ID"
4
+ "Title","Titel"
5
+ "Novalnet Auth Code","Novalnet Auth Code"
6
+ "Novalnet Product ID","Novalnet Produkt ID"
7
+ "Novalnet Tariff ID","Novalnet Tarif ID"
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für"
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
+ "DE","Deutschland"
11
+ "AT","Österreich"
12
+ "Direct Debit","Lastschrift"
13
+ "Credit Card","Kreditkarte"
14
+ "Country","Buchungsland"
15
+ "Name on the Card","Kreditkarteninhaber"
16
+ "Name on Card","Kreditkarteninhaber"
17
+ "Credit Card Type","Kreditkarten Typ"
18
+ "Credit Card Number","Kartennummer"
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)"
20
+ "Card Verification Number","CVC (Pruefziffer)"
21
+ "What is this?","Wo finde ich die CVC-Nummer?"
22
+ "Account Holder","Name des Kontoinhabers"
23
+ "Account Number","Kontonr."
24
+ "Bank Sorting Code","BLZ"
25
+ "Country: ","Buchungsland: "
26
+ "Account Holder: %s","Kontoinhaber: %s"
27
+ "Account Number: %s","Kontonr.: %s"
28
+ "Bank Sorting Code: %s","BLZ: %s"
29
+ "TID: %s","TID: %s"
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s"
31
+ "Credit Card Number: %s","Kartennummer: %s"
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s"
33
+ "Credit Card Type: %s","Kreditkartentyp: %s"
34
+ "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
+ "Credit Card Types","Mögliche Kreditkarten"
36
+ "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck "
37
+ "<B>%s</B> abgebucht.",
38
+ "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
39
+ "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
40
+ "Direct Debit","Lastschrift"
41
+ "Credit Card","Kreditkarte"
42
+ "Creditcard","Kreditkarte"
43
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure"
44
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
45
+ "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
46
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
47
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
48
+ "Prepayment","Vorkasse"
49
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird "
50
+ "Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
51
+ "Payment Duration","Zahlbar in Tagen"
52
+ "--Please Select--","--Bitte wählen--"
53
+ "Invoice","Rechnung"
54
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
55
+ "to following account:","auf folgendes Konto:"
56
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert"
57
+ "This is a required field","Das ist ein Pflichtfeld"
58
+ "CC","Kreditkarte"
59
+ "Cc","Kreditkarte"
60
+ "Method","Zahlart"
61
+ "Due at","Gültig bis"
62
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail "
63
+ "zugeschickt",
64
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
65
+ "Account Holder2","Kontoinhaber"
66
+ "Bank","Bank"
67
+ "Amount","Betrag"
68
+ "Reference","Verwendungszweck"
69
+ "to following account","auf folgendes Konto"
70
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
+ wenn der oben angegebene Verwendungszweck verwendet wird"
72
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
73
+ "accepted","wird akzeptiert"
74
+ "ACDC-Check","ACDC-Check"
75
+ "The","Der"
76
+ "Month","Monat"
77
+ "Year","Jahr"
78
+ "Direct Debit German","Lastschrift Deutschland"
79
+ "Direct Debit Austria","Lastschrift Österreich"
80
+ "Booking Reference","Verwendungszweck"
81
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
82
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
83
+ "You must check ACDC","You must check ACDC"
84
+ "Notice for Clients","Hinweis für Kunden"
85
+ "Pay by Call","Per Telefon"
86
+ "Phonepayment","Per Telefon"
87
+ "Error","Fehler"
88
+ "Order Price not found","Bestellsumme nicht gefunden"
89
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht "
90
+ "akzeptiert!",
91
+ "Params (aryResponse) missing","Params (aryResponse) fehlt"
92
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
93
+ "Step","Schritt"
94
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
95
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
96
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
97
+ "This call costs","Dieser Anruf kostet einmalig"
98
+ "inclusive tax","inkl. MwSt."
99
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
100
+ "Response contains no XML data","Response enthält keine XML Daten"
101
+ "Did you called this number","Did you called this number"
102
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden"
103
+ "User Group Excluded","Ausgeschlossene Benutzergruppe"
104
+ "Parameter missing","Parameter fehlt"
105
+ "Comment","Bemerkung"
106
+ "Email address missing","Emailadresse nicht vorhanden"
107
+ "Instant Bank Transfer","Sofortüberweisung"
108
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
109
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
110
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
111
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
112
+ "Novalnet Password","Novalnet-Passwort"
113
+ "Test Mode","Testmodus"
114
+ "Live Mode","Livemodus"
115
+ "Testorder","Testbestellung"
116
+ "Credit Card PCI","Kreditkarte PCI"
117
+ "Direct Debit German PCI","Lastschrift Deutschland PCI"
118
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI"
119
+ "Novalnet Phonepayment","Novalnet Telefonpayment"
120
+ "Novalnet Prepayment","Novalnet Vorauskasse"
121
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung"
122
+ "Novalnet Direct Debit","Novalnet Lastschrift"
123
+ "Novalnet Credit Card","Novalnet Kreditkarte"
124
+ "Novalnet Creditcard","Novalnet Kreditkarte"
125
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure"
126
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI"
127
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI"
128
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI"
129
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung"
130
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet."
131
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
+ aufgeben."
133
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland"
134
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich"
135
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen"
136
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden "
137
+ "Information an unseren Zahlungsdienstleister Novalnet AG",
138
+ "You will be redirected to Novalnet AG in a few seconds","Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet"
139
+ "Customer was redirected to Novalnet","Endkunde wurde auf das Gateway der Novalnet AG umgeleitet"
140
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
141
+ "Minimum Order Total","Mindestwert für Gesamtbestellung"
142
+ "Maximum Order Total","Höchstwert für Gesamtbestellung"
143
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
144
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
app/locale/de_CH/Novalnet_Sofortueberweisung.csv CHANGED
@@ -12,7 +12,7 @@
12
  "Please check your account data.","Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit."
13
  "Invalid amount for authorization.","Ungültiger Betrag für die Bezahlung."
14
  "Payment was successful.","Zahlung bei Sofortüberweisung war erfolgreich"
15
- "Paymentinformations: %s";"Zahlungsinformationen: %s"
16
  "Payment was not successfull","Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten"
17
  "You will be redirected to Sofortüberweisung","Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden"
18
  "You will be redirected to Sofortueberweisung in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
@@ -25,7 +25,7 @@
25
  "Paymentinformations: %s","Zahlungsinformationen: %s"
26
  "Paycode: %s","Paycode: %s"
27
  "Project password","Projektpasswort"
28
- "Notification password", "Benachrichtigungspasswort"
29
  "Use input check","Input Check aktivieren"
30
  "Create Invoice","Generiere Rechnung nach Zahlung"
31
  "Projekt Id","Projekt ID"
@@ -46,9 +46,12 @@ das entsprechende Feld für die Konfiguration ein."
46
  "Paycode information","Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
  TAN)."
48
  "Netherlands banks","Niederländische Banken anzeigen?"
49
- Customer cancled payment or payment error,Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf
50
- Customer cancled payment,Endkunde hat Bezahlung abgebrochen
51
- payment error,Fehler bei Bezahlung
52
  "Minimum Order Total","Mindestwert für Gesamtbestellung"
53
  "Maximum Order Total","Höchstwert für Gesamtbestellung"
54
- "Minimum Orders Count","Mindestanzahl an Bestellungen"
 
 
 
12
  "Please check your account data.","Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit."
13
  "Invalid amount for authorization.","Ungültiger Betrag für die Bezahlung."
14
  "Payment was successful.","Zahlung bei Sofortüberweisung war erfolgreich"
15
+ "Paymentinformations: %s;""Zahlungsinformationen: %s""",
16
  "Payment was not successfull","Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten"
17
  "You will be redirected to Sofortüberweisung","Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden"
18
  "You will be redirected to Sofortueberweisung in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
25
  "Paymentinformations: %s","Zahlungsinformationen: %s"
26
  "Paycode: %s","Paycode: %s"
27
  "Project password","Projektpasswort"
28
+ "Notification password"," ""Benachrichtigungspasswort"""
29
  "Use input check","Input Check aktivieren"
30
  "Create Invoice","Generiere Rechnung nach Zahlung"
31
  "Projekt Id","Projekt ID"
46
  "Paycode information","Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
  TAN)."
48
  "Netherlands banks","Niederländische Banken anzeigen?"
49
+ "Customer cancled payment or payment error","Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf"
50
+ "Customer cancled payment","Endkunde hat Bezahlung abgebrochen"
51
+ "payment error","Fehler bei Bezahlung"
52
  "Minimum Order Total","Mindestwert für Gesamtbestellung"
53
  "Maximum Order Total","Höchstwert für Gesamtbestellung"
54
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
55
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
56
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
57
+ "You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
app/locale/de_DE/Mage_Novalnet.csv CHANGED
@@ -1,134 +1,165 @@
1
- Enabled,Aktiviert,
2
- New order status,Neuer Bestellstatus,
3
- Novalnet Merchant ID,Novalnet Händler ID,
4
- Title,Titel,
5
- Novalnet Auth Code,Novalnet Auth Code,
6
- Novalnet Product ID,Novalnet Produkt ID,
7
- Novalnet Tariff ID,Novalnet Tarif ID,
8
- Payment from applicable countries,Zahlungsmöglichkeit für,
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit,
10
- DE,Deutschland,
11
- AT,Österreich,
12
- Direct Debit,Lastschrift,
13
- Credit Card,Kreditkarte,
14
- Country,Buchungsland,
15
- Name on the Card,Kreditkarteninhaber,
16
- Name on Card,Kreditkarteninhaber,
17
- Credit Card Type,Kreditkarten Typ,
18
- Credit Card Number,Kreditkartennummer,
19
- Expiration Date,Ablaufdatum,
20
- Card Verification Number,CVC-Nummer,
21
- What is this?,Wo finde ich die CVC-Nummer?,
22
- Account Holder,Name des Kontoinhabers,
23
- Account Number,Kontonr.,
24
- Bank Sorting Code,BLZ,
25
- Country: ,Buchungsland: ,
26
- Account Holder: %s,Kontoinhaber: %s,
27
- Account Number: %s,Kontonr.: %s,
28
- Bank Sorting Code: %s,BLZ: %s,
29
- TID: %s,TID: %s,
30
- Name on the Card: %s,Kreditkarteninhaber: %s,
31
- Credit Card Number: %s,Kreditkartennummer: %s,
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s,
33
- Credit Card Type: %s,Kreditkartentyp: %s,
34
- Expiration Date: %s/%s,Gültig bis: %s/%s,
35
- Credit Card Types,Mögliche Kreditkarten,
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck <B>%s</B> abgebucht.,
37
- This is not a valid account number.,Die Kontonummer ist nicht gültig!,
38
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!,
39
- Direct Debit,Lastschrift,
40
- Credit Card,Kreditkarte,
41
- Creditcard,Kreditkarte,
42
- Credit Card 3D-Secure,Kreditkarte 3D-Secure,
43
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
44
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück,
45
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen,
46
- Prepayment,Vorkasse,
47
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
48
- Payment Duration,Zahlbar in Tagen,
49
- --Please Select--,--Bitte wählen--,
50
- Invoice,Rechnung,
51
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:,auf folgendes Konto:
52
- I accept the ACDC check,Der acdc-Check wird akzeptiert,
53
- This is a required field,Das ist ein Pflichtfeld,
54
- CC,Kreditkarte,
55
- Cc,Kreditkarte,
56
- Method,Zahlart,
57
- Due at,Gültig bis,
58
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.,
59
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto,
60
- Account Holder2,Kontoinhaber,
61
- Bank,Bank,
62
- Amount,Betrag,
63
- Reference,Verwendungszweck,
64
- to following account,auf folgendes Konto,
65
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert,
67
- accepted,wird akzeptiert,
68
- ACDC-Check,ACDC-Check,
69
- The,Der,
70
- Month,Monat,
71
- Year,Jahr,
72
- Direct Debit German,Lastschrift Deutschland,
73
- Direct Debit Austria,Lastschrift Österreich,
74
- Booking Reference,Verwendungszweck,
75
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein,
76
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein,
77
- You must check ACDC,You must check ACDC,
78
- Notice for Clients,Hinweis für Kunden,
79
- Pay by Call,Per Telefon,
80
- Phonepayment,Per Telefon,
81
- Error,Fehler,
82
- Order Price not found,Bestellsumme nicht gefunden,
83
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!,
84
- Params (aryResponse) missing,Params (aryResponse) fehlt,
85
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen,
86
- Step,Schritt,
87
- Please dial this number,Bitte rufen Sie diese Telefonnummer an,
88
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf,
89
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter,
90
- This call costs,Dieser Anruf kostet einmalig,
91
- inclusive tax,inkl. MwSt.,
92
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich,
93
- Response contains no XML data,Response enthält keine XML Daten,
94
- Did you called this number,Did you called this number,
95
- Billing Addr. not found,Rechnungsadresse nicht gefunden,
96
- User Group Excluded,Ausgeschlossene Benutzergruppe,
97
- Parameter missing,Parameter fehlt,
98
- Comment,Bemerkung,
99
- Email address missing,Emailadresse nicht vorhanden,
100
- Instant Bank Transfer,Sofortüberweisung,
101
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet,
102
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet,
103
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen,
104
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt,
105
- Password,Passwort,
106
- Test Mode,Testmodus,
107
- Live Mode,Livemodus,
108
- Testorder,Testbestellung,
109
- Credit Card PCI,Kreditkarte PCI,
110
- Direct Debit German PCI,Lastschrift Deutschland PCI,
111
- Direct Debit Austria PCI,Lastschrift Österreich PCI,
112
- Novalnet Phonepayment,Novalnet Per Telefon,
113
- Novalnet Prepayment,Novalnet Vorkasse,
114
- Novalnet Invoice,Novalnet per Rechnung,
115
- Novalnet Direct Debit,Novalnet Lastschrift,
116
- Novalnet Credit Card,Novalnet Kreditkarte,
117
- Novalnet Creditcard,Novalnet Kreditkarte,
118
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure,
119
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI,
120
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI,
121
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI,
122
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung,
123
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.,
124
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland,
126
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich,
127
- Only for foreign transfers,Nur bei Auslandsüberweisungen,
128
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG,
129
- Novalnet Paypal Text,"Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
- Minimum Order Total,Mindestwert für Gesamtbestellung,
131
- Maximum Order Total,Höchstwert für Gesamtbestellung,
132
- Minimum Orders Count,Mindestanzahl an Bestellungen,
133
- Due Date,Fälligkeitsdatum,
134
- Die Hashfunktionen sind nicht verf�gbar!,Die Hashfunktionen sind nicht verf�gbar!,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Enabled","Modul-Aktivierung",
2
+ "New order status","Bestellstatus",
3
+ "Novalnet Merchant ID","Novalnet-Händler-ID",
4
+ "Title","Titel",
5
+ "Novalnet Auth Code","Novalnet-Authorisierungsschlüssel",
6
+ "Novalnet Product ID","Novalnet-Produkt-ID",
7
+ "Novalnet Tariff Id","Novalnet-Tarif-ID",
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für",
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit",
10
+ "DE","Deutschland",
11
+ "AT","Österreich",
12
+ "Direct Debit","Lastschrift",
13
+ "Credit Card","Kreditkarte",
14
+ "Country","Buchungsland",
15
+ "Name on the Card","Kreditkarteninhaber",
16
+ "Name on Card","Kreditkarteninhaber",
17
+ "Credit Card Type","Kreditkarten Typ",
18
+ "Credit Card Number","Kartennummer",
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)",
20
+ "Card Verification Number","CVC (Pruefziffer)",
21
+ "What is this?","Wo finde ich die CVC-Nummer?",
22
+ "Account Holder","Kontoinhaber",
23
+ "Account Number","Kontonummer",
24
+ "Bank Sorting Code","Bankleitzahl",
25
+ "Country: ","Buchungsland: ",
26
+ "Account Holder: %s","Kontoinhaber: %s",
27
+ "Account Number: %s","Kontonummer: %s",
28
+ "Bank Sorting Code: %s","Bankleitzahl: %s",
29
+ "TID: %s","TID: %s",
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s",
31
+ "Credit Card Number: %s","Kartennummer: %s",
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s",
33
+ "Credit Card Type: %s","Kreditkartentyp: %s",
34
+ "Expiration Date: %s/%s","Gültigkeit (Monat/Jahr): %s/%s",
35
+ "Credit Card Types","Mögliche Kreditkarten",
36
+ "The amount will be booked immediately from your credit card.","Der Betrag wird von Ihrer Kreditkarte mit dem Verwendungszweck sofort abgebucht.",
37
+ "This is not a valid account number.","Bitte geben Sie die gültige Kontonummer",
38
+ "This is not a valid bank sorting code.","Bitte geben Sie die gültige Bankleitzahl",
39
+ "Direct Debit","Lastschrift",
40
+ "Credit Card","Kreditkarte",
41
+ "Creditcard","Kreditkarte",
42
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure",
43
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
44
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück",
45
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen",
46
+ "Prepayment","Vorkasse",
47
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
48
+ "Payment Duration","Zahlungsdauer",
49
+ "--Please Select--","--Bitte wählen--",
50
+ "Invoice","Rechnung",
51
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum to following account:","auf folgendes Konto:"
52
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert",
53
+ "This is a required field","Das ist ein Pflichtfeld",
54
+ "CC","Kreditkarte",
55
+ "Cc","Kreditkarte",
56
+ "Method","Zahlart",
57
+ "Due at","Gültig bis",
58
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail zugeschickt.",
59
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto",
60
+ "Account Holder2","Kontoinhaber",
61
+ "Bank","Bank",
62
+ "Amount","Betrag",
63
+ "Reference","Verwendungszweck",
64
+ "to following account","auf folgendes Konto",
65
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann, wenn der oben angegebene Verwendungszweck verwendet wird",
66
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert",
67
+ "accepted","wird akzeptiert",
68
+ "ACDC-Check","ACDC-Control-Aktivierung",
69
+ "The","Der",
70
+ "Month","Monat",
71
+ "Year","Jahr",
72
+ "Direct Debit German","Lastschrift Deutschland",
73
+ "Direct Debit Austria","Lastschrift Österreich",
74
+ "Booking Reference","Verwendungszweck",
75
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein",
76
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein",
77
+ "You must check ACDC","You must check ACDC",
78
+ "Notice for Clients","Hinweis für Kunden",
79
+ "Pay by Call","Per Telefon",
80
+ "Phonepayment","Per Telefon",
81
+ "Error","Fehler",
82
+ "Order Price not found","Bestellsumme nicht gefunden",
83
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht akzeptiert!",
84
+ "Params (aryResponse) missing","Params (aryResponse) fehlt",
85
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen",
86
+ "Step","Schritt",
87
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an",
88
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf",
89
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter",
90
+ "This call costs","Dieser Anruf kostet einmalig",
91
+ "inclusive tax","inkl. MwSt.",
92
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich",
93
+ "Response contains no XML data","Response enthält keine XML Daten",
94
+ "Did you called this number","Did you called this number",
95
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden",
96
+ "User Group Excluded","Ausgeschlossene Benutzergruppe",
97
+ "Parameter missing","Parameter fehlt",
98
+ "Comment","Bemerkung",
99
+ "Email address missing","Emailadresse nicht vorhanden",
100
+ "Instant Bank Transfer","Sofortüberweisung",
101
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet",
102
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet",
103
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen",
104
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt",
105
+ "Novalnet Password","Novalnet-Passwort",
106
+ "Test Mode","Testmodus",
107
+ "Live Mode","Live-Modus-Aktivierung",
108
+ "Testorder","Testbestellung",
109
+ "Credit Card PCI","Kreditkarte PCI",
110
+ "Direct Debit German PCI","Lastschrift Deutschland PCI",
111
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI",
112
+ "Novalnet Phonepayment","Novalnet Telefonpayment",
113
+ "Novalnet Prepayment","Novalnet Vorauskasse",
114
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung",
115
+ "Novalnet Direct Debit","Novalnet Lastschrift",
116
+ "Novalnet Credit Card","Novalnet Kreditkarte",
117
+ "Novalnet Creditcard","Novalnet Kreditkarte",
118
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure",
119
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI",
120
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI",
121
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI",
122
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung",
123
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.",
124
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung aufgeben.",
125
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland",
126
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich",
127
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen",
128
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden Information an unseren Zahlungsdienstleister Novalnet AG",
129
+ "Novalnet Paypal Text","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen. The password is available at admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel.&lt;br&gt;&lt;b&gt;Bitte unbedingt beachten&lt;/b&gt; auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
130
+ "Minimum Order Total","Mindestwert für Gesamtbestellung (in Euro)",
131
+ "Maximum Order Total","Höchstwert für Gesamtbestellung (in Euro)",
132
+ "Minimum Orders Count","Mindestanzahl an Bestellungen",
133
+ "Due Date","Fälligkeitsdatum",
134
+ "Die Hashfunktionen sind nicht verf�gbar!","Die Hashfunktionen sind nicht verf�gbar!",
135
+ "Required Second Product Tariff","Produkt-ID2-und / oder Tarif-ID2 fehlen",
136
+ "successful","Erfolgreiche",
137
+ "You receive a call soon! Please enter the PIN code received in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
138
+ "Please agree to all terms and conditions before ordering.","Bitte stimmen zu, alle Bestimmungen und Bedingungen vor der Bestellung.",
139
+ "Basic Parameter Missing","Grundlegende Parameter fehlt",
140
+ "Manual checking amount in cents","Manuelle überprüfung Betrag in Cent",
141
+ "You have to set the live mode to 'yes' for real payments.","Zur Liveschaltung muessen Sie den Livemodus auf 'Ja' setzen.",
142
+ "To exclude groups of customers.","Geben Sie hier die Benutzergruppen IDs ein (durch Komma getrennt). Diese sind zu finden in der Kundengruppenverwaltung.",
143
+ "Second Novalnet Product ID","Zweite Novalnet-Produkt-ID",
144
+ "Second Novalnet Tariff Id","Zweite Novalnet-Tarif-ID",
145
+ "Gateway Timeout","Zeitüberschreitung am Gateway",
146
+ "Gateway Timeout in seconds","Gateway Zeitlimit in Sekunden",
147
+ "Default: ""0"" for disabled check.","Default: ""0"" für behinderte Scheck | Minimale Anzahl der Bestellungen (in der Vergangenheit) für den Kunden erforderlich, um diese Zahlungsmethode verwenden.",
148
+ "Minimum Amount For Callback (in cents)","Mindestbetrag für PIN by Callback (in cents)",
149
+ "This is not a valid Account Holder Name","Bitte geben Sie die gültige Kontoinhaber",
150
+ "PAYPAL API User Name","PayPal API Benutzername ",
151
+ "PAYPAL API Password","PayPal API Passwort",
152
+ "PAYPAL API Signature","PayPal API Signatur",
153
+ "The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.","Das Passwort ist auf admin.novalnet.de: Stammdaten - Paymentzugriffsschluessel einzusehen.<br><b>Bitte unbedingt beachten</b>auch wenn der Livemodus=0 ist, wird der Bestellbetrag abgebucht, wenn echte Kontodaten eingegeben werden. Das ist durch die Implementierung durch den Anbieter Payment Network AG bedingt.",
154
+ "You receive a call soon! Please enter the received PIN code in the text box.","Sie werden in kürze eine PIN per Telefon/SMS erhalten. Bitte geben Sie die PIN in das entsprechende Textfeld ein",
155
+ "Callback session has expired. Please resubmit payment method","Ihre PIN-Session ist abgelaufen. Bitte versuchen Sie es noch einmal",
156
+ "Order amount has been changed. Please resubmit the payment method","Sie haben den Karren Betrag nach dem Aufstehen PIN-Nummer geändert, bitte versuchen Sie es erneut mit neuen Anruf","Auftragssumme wurde ge�ndert. Bitte erneut die Zahlungsmethode"
157
+ "Sort Order","Sortierung nach",
158
+ "When activated by PIN Callback / SMS","Bei aktiviertem PIN by Callback/SMS wird der Kunde zur Eingabe seiner Telefon- / Mobil- Nummer aufgefordert. Per Telefon bzw. SMS erhält der Kunde von der Novalnet AG eine PIN, die er vor der Bestellung eingeben muss. Ist die PIN gültig, so ist der Zahlungsprozess erfolgreich abgewickelt worden, andernfalls wird der Kunde nochmals zu Eingabe der PIN aufgefordert. Dieser Service ist nur für Kunden aus Deutschland verfügbar. ",
159
+ "This is not a valid pin code.","Die eingegebene PIN ist inkorrekt oder leer!",
160
+ "Ihre Telefon- / Mobil- Nummer","Telefonnummer",
161
+ "Email Address","E-Mail Adresse",
162
+ "acdc Check","acdc-Check",
163
+ "Card Verification Number: %s","CVC: %s",
164
+ "Error in capturing the payment","Fehler bei der Durchführung der Zahlung",
165
+ "You will be redirected to Novalnet AG in a few seconds.","Sie werden in wenigen Sekunden zur Novalnet AG weitergeleitet.",
app/locale/de_DE/Novalnet_NovalnetPaypal.csv CHANGED
@@ -1,144 +1,144 @@
1
- Enabled,Aktiviert
2
- New order status,Neuer Bestellstatus
3
- Novalnet Merchant ID,Novalnet Händler ID
4
- Title,Titel
5
- Novalnet Auth Code,Novalnet Auth Code
6
- Novalnet Product ID,Novalnet Produkt ID
7
- Novalnet Tariff ID,Novalnet Tarif ID
8
- Payment from applicable countries,Zahlungsmöglichkeit für
9
- Payment from Specific countries,Länderauswahl für Zahlungsmöglichkeit
10
- DE,Deutschland
11
- AT,Österreich
12
- Direct Debit,Lastschrift
13
- Credit Card,Kreditkarte
14
- Country,Buchungsland
15
- Name on the Card,Kreditkarteninhaber
16
- Name on Card,Kreditkarteninhaber
17
- Credit Card Type,Kreditkarten Typ
18
- Credit Card Number,Kreditkartennummer
19
- Expiration Date,Ablaufdatum
20
- Card Verification Number,CVC-Nummer
21
- What is this?,Wo finde ich die CVC-Nummer?
22
- Account Holder,Name des Kontoinhabers
23
- Account Number,Kontonr.
24
- Bank Sorting Code,BLZ
25
- Country: ,Buchungsland:
26
- Account Holder: %s,Kontoinhaber: %s
27
- Account Number: %s,Kontonr.: %s
28
- Bank Sorting Code: %s,BLZ: %s
29
- TID: %s,TID: %s
30
- Name on the Card: %s,Kreditkarteninhaber: %s
31
- Credit Card Number: %s,Kreditkartennummer: %s
32
- Credit Card Number: xxxx-%s,Kreditkartennummer: xxxx-%s
33
- Credit Card Type: %s,Kreditkartentyp: %s
34
- Expiration Date: %s/%s,Gültig bis: %s/%s
35
- Credit Card Types,Mögliche Kreditkarten
36
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck
37
- <B>%s</B> abgebucht.,
38
- This is not a valid account number.,Die Kontonummer ist nicht gültig!
39
- This is not a valid bank sorting code.,Die Bankleitzahl ist nicht gültig!
40
- Direct Debit,Lastschrift
41
- Credit Card,Kreditkarte
42
- Creditcard,Kreditkarte
43
- Credit Card 3D-Secure,Kreditkarte 3D-Secure
44
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet
45
- Customer was redirected to Novalnet.,Der Kunde wurde zum Novalnet Gateway weitergeleitet
46
- Customer successfully returned from Novalnet,Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück
47
- Customer was rejected by Novalnet,Der Kunde wurde vom Novalnet Gateway zurückgewiesen
48
- Prepayment,Vorkasse
49
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird
50
- Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
51
- Payment Duration,Zahlbar in Tagen
52
- --Please Select--,--Bitte wählen--
53
- Invoice,Rechnung
54
- "Please transfer the amount at the latest, untill",Bitte ueberweisen Sie den Betrag spaetestens bis zum
55
- to following account:,auf folgendes Konto:
56
- I accept the ACDC check,Der acdc-Check wird akzeptiert
57
- This is a required field,Das ist ein Pflichtfeld
58
- CC,Kreditkarte
59
- Cc,Kreditkarte
60
- Method,Zahlart
61
- Due at,Gültig bis
62
- The Bank details will be emailed to you soon after the completion of checkout process,Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail
63
- zugeschickt,
64
- Please transfer the amount to following account,Bitte ueberweisen sie den Betrag auf folgendes Konto
65
- Account Holder2,Kontoinhaber
66
- Bank,Bank
67
- Amount,Betrag
68
- Reference,Verwendungszweck
69
- to following account,auf folgendes Konto
70
- Please note that the Transfer can only be identified with the above mentioned Reference,"Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
- wenn der oben angegebene Verwendungszweck verwendet wird"
72
- The ACDC-Check accepted,Der ACDC-Check wird akzeptiert
73
- accepted,wird akzeptiert
74
- ACDC-Check,ACDC-Check
75
- The,Der
76
- Month,Monat
77
- Year,Jahr
78
- Direct Debit German,Lastschrift Deutschland
79
- Direct Debit Austria,Lastschrift Österreich
80
- Booking Reference,Verwendungszweck
81
- The Bankcode must have a length of at least 8 digits,Die BLZ muss mindestens 8-stellig sein
82
- The Bankcode must have a length of at least 5 digits,Die BLZ muss mindestens 5-stellig sein
83
- You must check ACDC,You must check ACDC
84
- Notice for Clients,Hinweis für Kunden
85
- Pay by Call,Per Telefon
86
- Phonepayment,Per Telefon
87
- Error,Fehler
88
- Order Price not found,Bestellsumme nicht gefunden
89
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht
90
- akzeptiert!,
91
- Params (aryResponse) missing,Params (aryResponse) fehlt
92
- Following steps are required to complete the telephone payment process,Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen
93
- Step,Schritt
94
- Please dial this number,Bitte rufen Sie diese Telefonnummer an
95
- Please wait for the Signal tone and hangup the reciever,Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf
96
- Please click on continue after your successive call,Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter
97
- This call costs,Dieser Anruf kostet einmalig
98
- inclusive tax,inkl. MwSt.
99
- and is only possible from German Landline Telefon connection,und ist nur vom Deutschen Festnetzanschluss moeglich
100
- Response contains no XML data,Response enthält keine XML Daten
101
- Did you called this number,Did you called this number
102
- Billing Addr. not found,Rechnungsadresse nicht gefunden
103
- User Group Excluded,Ausgeschlossene Benutzergruppe
104
- Parameter missing,Parameter fehlt
105
- Comment,Bemerkung
106
- Email address missing,Emailadresse nicht vorhanden
107
- Instant Bank Transfer,Sofortüberweisung
108
- Customer successfully returned from Novalnet,Besteller von Novalnet erfolgreich zurückgeleitet
109
- Customer was redirected to Novalnet,Besteller zu Novalnet umgeleitet
110
- Customer aborted payment process,Besteller hat den Bezahlvorgang abgebrochen
111
- Customer was rejected by Novalnet,Besteller von Novalnet abgelehnt
112
- Password,Passwort
113
- Test Mode,Testmodus
114
- Live Mode,Livemodus
115
- Testorder,Testbestellung
116
- Credit Card PCI,Kreditkarte PCI
117
- Direct Debit German PCI,Lastschrift Deutschland PCI
118
- Direct Debit Austria PCI,Lastschrift Österreich PCI
119
- Novalnet Phonepayment,Novalnet Per Telefon
120
- Novalnet Prepayment,Novalnet Vorkasse
121
- Novalnet Invoice,Novalnet Per Rechnung
122
- Novalnet Direct Debit,Novalnet Lastschrift
123
- Novalnet Credit Card,Novalnet Kreditkarte
124
- Novalnet Creditcard,Novalnet Kreditkarte
125
- Novalnet Credit Card 3D-Secure,Novalnet Kreditkarte 3D-Secure
126
- Novalnet Credit Card PCI,Novalnet Kreditkarte PCI
127
- Novalnet Direct Debit German PCI,Novalnet Lastschrift Deutschland PCI
128
- Novalnet Direct Debit Austria PCI,Novalnet Lastschrift Österreich PCI
129
- Novalnet Instant Bank Transfer,Novalnet Sofortüberweisung
130
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet.
131
- You will be redirected to Novalnet AG website when you place an order.,"Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
- aufgeben."
133
- Novalnet Direct Debit German,Novalnet Lastschrift Deutschland
134
- Novalnet Direct Debit Austria,Novalnet Lastschrift Österreich
135
- Only for foreign transfers,Nur bei Auslandsüberweisungen
136
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Bitte überweisen Sie den Betrag mit der folgenden
137
- Information an unseren Zahlungsdienstleister Novalnet AG,
138
- You will be redirected to Novalnet AG in a few seconds,Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet
139
- Customer was redirected to Novalnet,Endkunde wurde auf das Gateway der Novalnet AG umgeleitet
140
- You will be redirected to Novalnet AG website when you place an order.,Sie werden dann auf das Gateway der Novalnet AG umgeleitet.
141
- Minimum Order Total,Mindestwert für Gesamtbestellung
142
- Maximum Order Total,Höchstwert für Gesamtbestellung
143
- Minimum Orders Count,Mindestanzahl an Bestellungen
144
- Die Hashfunktionen sind nicht verf&uuml;gbar!,Die Hashfunktionen sind nicht verf&uuml;gbar!
1
+ "Enabled","Modul-Aktivierung"
2
+ "New order status","Neuer Bestellstatus"
3
+ "Novalnet Merchant ID","Novalnet Händler ID"
4
+ "Title","Titel"
5
+ "Novalnet Auth Code","Novalnet Auth Code"
6
+ "Novalnet Product ID","Novalnet Produkt ID"
7
+ "Novalnet Tariff ID","Novalnet Tarif ID"
8
+ "Payment from applicable countries","Zahlungsmöglichkeit für"
9
+ "Payment from Specific countries","Länderauswahl für Zahlungsmöglichkeit"
10
+ "DE","Deutschland"
11
+ "AT","Österreich"
12
+ "Direct Debit","Lastschrift"
13
+ "Credit Card","Kreditkarte"
14
+ "Country","Buchungsland"
15
+ "Name on the Card","Kreditkarteninhaber"
16
+ "Name on Card","Kreditkarteninhaber"
17
+ "Credit Card Type","Kreditkarten Typ"
18
+ "Credit Card Number","Kartennummer"
19
+ "Expiration Date","Gültigkeit (Monat/Jahr)"
20
+ "Card Verification Number","CVC (Pruefziffer)"
21
+ "What is this?","Wo finde ich die CVC-Nummer?"
22
+ "Account Holder","Name des Kontoinhabers"
23
+ "Account Number","Kontonr."
24
+ "Bank Sorting Code","BLZ"
25
+ "Country: ","Buchungsland: "
26
+ "Account Holder: %s","Kontoinhaber: %s"
27
+ "Account Number: %s","Kontonr.: %s"
28
+ "Bank Sorting Code: %s","BLZ: %s"
29
+ "TID: %s","TID: %s"
30
+ "Name on the Card: %s","Kreditkarteninhaber: %s"
31
+ "Credit Card Number: %s","Kartennummer: %s"
32
+ "Credit Card Number: xxxx-%s","Kartennummer: xxxx-%s"
33
+ "Credit Card Type: %s","Kreditkartentyp: %s"
34
+ "Expiration Date: %s/%s","Gültig bis: %s/%s"
35
+ "Credit Card Types","Mögliche Kreditkarten"
36
+ "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","Der Betrag wird sofort von Ihrer Kreditkarte mit dem<BR>Verwendungszweck "
37
+ "<B>%s</B> abgebucht.",
38
+ "This is not a valid account number.","Die Kontonummer ist nicht gültig!"
39
+ "This is not a valid bank sorting code.","Die Bankleitzahl ist nicht gültig!"
40
+ "Direct Debit","Lastschrift"
41
+ "Credit Card","Kreditkarte"
42
+ "Creditcard","Kreditkarte"
43
+ "Credit Card 3D-Secure","Kreditkarte 3D Secure"
44
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden in ein paar Sekunden an das 3D-Secure Gateway der Firma Novalnet weitergeleitet"
45
+ "Customer was redirected to Novalnet.","Der Kunde wurde zum Novalnet Gateway weitergeleitet"
46
+ "Customer successfully returned from Novalnet","Der Kunde kehrte erfolgreich vom Novalnet Gateway zurück"
47
+ "Customer was rejected by Novalnet","Der Kunde wurde vom Novalnet Gateway zurückgewiesen"
48
+ "Prepayment","Vorkasse"
49
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird "
50
+ "Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.",
51
+ "Payment Duration","Zahlbar in Tagen"
52
+ "--Please Select--","--Bitte wählen--"
53
+ "Invoice","Rechnung"
54
+ "Please transfer the amount at the latest, untill","Bitte ueberweisen Sie den Betrag spaetestens bis zum"
55
+ "to following account:","auf folgendes Konto:"
56
+ "I accept the ACDC check","Der acdc-Check wird akzeptiert"
57
+ "This is a required field","Das ist ein Pflichtfeld"
58
+ "CC","Kreditkarte"
59
+ "Cc","Kreditkarte"
60
+ "Method","Zahlart"
61
+ "Due at","Gültig bis"
62
+ "The Bank details will be emailed to you soon after the completion of checkout process","Die Bankverbindung wird Ihnen nach Abschluss Ihrer Bestellung per E-Mail "
63
+ "zugeschickt",
64
+ "Please transfer the amount to following account","Bitte ueberweisen sie den Betrag auf folgendes Konto"
65
+ "Account Holder2","Kontoinhaber"
66
+ "Bank","Bank"
67
+ "Amount","Betrag"
68
+ "Reference","Verwendungszweck"
69
+ "to following account","auf folgendes Konto"
70
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Bitte beachten Sie, dass die Ueberweisung nur bearbeitet werden kann,
71
+ wenn der oben angegebene Verwendungszweck verwendet wird"
72
+ "The ACDC-Check accepted","Der ACDC-Check wird akzeptiert"
73
+ "accepted","wird akzeptiert"
74
+ "ACDC-Check","ACDC-Check"
75
+ "The","Der"
76
+ "Month","Monat"
77
+ "Year","Jahr"
78
+ "Direct Debit German","Lastschrift Deutschland"
79
+ "Direct Debit Austria","Lastschrift Österreich"
80
+ "Booking Reference","Verwendungszweck"
81
+ "The Bankcode must have a length of at least 8 digits","Die BLZ muss mindestens 8-stellig sein"
82
+ "The Bankcode must have a length of at least 5 digits","Die BLZ muss mindestens 5-stellig sein"
83
+ "You must check ACDC","You must check ACDC"
84
+ "Notice for Clients","Hinweis für Kunden"
85
+ "Pay by Call","Per Telefon"
86
+ "Phonepayment","Per Telefon"
87
+ "Error","Fehler"
88
+ "Order Price not found","Bestellsumme nicht gefunden"
89
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Betraege unter 0.90 Euro und ueber 10.00 Euro koennen nicht verarbeitet werden bzw. werden nicht "
90
+ "akzeptiert!",
91
+ "Params (aryResponse) missing","Params (aryResponse) fehlt"
92
+ "Following steps are required to complete the telephone payment process","Folgende Schritte sind noetig um Ihre Zahlung abzuschliessen"
93
+ "Step","Schritt"
94
+ "Please dial this number","Bitte rufen Sie diese Telefonnummer an"
95
+ "Please wait for the Signal tone and hangup the reciever","Bitte warten Sie auf den Signalton und legen Sie dann den Hoerer auf"
96
+ "Please click on continue after your successive call","Nach Ihrem erfolgreichen Anruf klicken Sie bitte unten auf Weiter"
97
+ "This call costs","Dieser Anruf kostet einmalig"
98
+ "inclusive tax","inkl. MwSt."
99
+ "and is only possible from German Landline Telefon connection","und ist nur vom Deutschen Festnetzanschluss moeglich"
100
+ "Response contains no XML data","Response enthält keine XML Daten"
101
+ "Did you called this number","Did you called this number"
102
+ "Billing Addr. not found","Rechnungsadresse nicht gefunden"
103
+ "User Group Excluded","Ausgeschlossene Benutzergruppe"
104
+ "Parameter missing","Parameter fehlt"
105
+ "Comment","Bemerkung"
106
+ "Email address missing","Emailadresse nicht vorhanden"
107
+ "Instant Bank Transfer","Sofortüberweisung"
108
+ "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
109
+ "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
110
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
111
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
112
+ "Novalnet Password","Novalnet-Passwort"
113
+ "Test Mode","Testmodus"
114
+ "Live Mode","Livemodus"
115
+ "Testorder","Testbestellung"
116
+ "Credit Card PCI","Kreditkarte PCI"
117
+ "Direct Debit German PCI","Lastschrift Deutschland PCI"
118
+ "Direct Debit Austria PCI","Lastschrift Österreich PCI"
119
+ "Novalnet Phonepayment","Novalnet Telefonpayment"
120
+ "Novalnet Prepayment","Novalnet Vorauskasse"
121
+ "Novalnet Invoice","Novalnet Kauf auf Rechnung"
122
+ "Novalnet Direct Debit","Novalnet Lastschrift"
123
+ "Novalnet Credit Card","Novalnet Kreditkarte"
124
+ "Novalnet Creditcard","Novalnet Kreditkarte"
125
+ "Novalnet Credit Card 3D-Secure","Novalnet Kreditkarte 3D Secure"
126
+ "Novalnet Credit Card PCI","Novalnet Kreditkarte PCI"
127
+ "Novalnet Direct Debit German PCI","Novalnet Lastschrift Deutschland PCI"
128
+ "Novalnet Direct Debit Austria PCI","Novalnet Lastschrift Österreich PCI"
129
+ "Novalnet Instant Bank Transfer","Novalnet Sofortüberweisung"
130
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","Sie werden gleich auf die Novalnet AG 3D-Secure Schnittstelle umgeleitet."
131
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden auf das Novalnet Payment Gateway umgeleitet, wenn Sie eine Bestellung
132
+ aufgeben."
133
+ "Novalnet Direct Debit German","Novalnet Lastschrift Deutschland"
134
+ "Novalnet Direct Debit Austria","Novalnet Lastschrift Österreich"
135
+ "Only for foreign transfers","Nur bei Auslandsüberweisungen"
136
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Bitte überweisen Sie den Betrag mit der folgenden "
137
+ "Information an unseren Zahlungsdienstleister Novalnet AG",
138
+ "You will be redirected to Novalnet AG in a few seconds","Sie werden nach ein paar Sekunden auf das Gateway der Novalnet AG umgeleitet"
139
+ "Customer was redirected to Novalnet","Endkunde wurde auf das Gateway der Novalnet AG umgeleitet"
140
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
141
+ "Minimum Order Total","Mindestwert für Gesamtbestellung"
142
+ "Maximum Order Total","Höchstwert für Gesamtbestellung"
143
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
144
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
app/locale/de_DE/Novalnet_Sofortueberweisung.csv CHANGED
@@ -1,55 +1,57 @@
1
- Not possible,Nicht verfügbar im Backend
2
- Account number,Kontonummer
3
- Bank code,Bankleitzahl
4
- Holder,Kontoinhaber
5
- Account number: %s,Kontonummer: %s
6
- Bank code: %s,Bankleitzahl: %s
7
- Account holder: %s,Kontoinhaber: %s
8
- Transaction Id: %s,Transaktions Id: %s
9
- Order No.: ,Best.
10
- Order: ,Best.
11
- Gateway request error: %s,Fehler beim übertragen der Daten: %s
12
- Please check your account data.,Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit.
13
- Invalid amount for authorization.,Ungültiger Betrag für die Bezahlung.
14
- Payment was successful.,Zahlung bei Sofortüberweisung war erfolgreich
15
- "Paymentinformations: %s;""Zahlungsinformationen: %s""",
16
- Payment was not successfull,Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten
17
- You will be redirected to Sofortüberweisung,Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden
18
- You will be redirected to Sofortueberweisung in a few seconds.,Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet
19
- Sofortueberweisung payment loaded,Sofortüberweisung wurde geladen
20
- Please fill out the account holder,Geben Sie bitte einen Kontoinhaber an
21
- Please fill out the account number,Geben Sie bitte eine Kontonummer an
22
- Please fill out the bank code,Geben Sie bitte eine Bankleitzahl an
23
- Transaction Id: %s,Transaktions Id: %s
24
- Cancelation of payment,Abbruch der Bezahlung
25
- Paymentinformations: %s,Zahlungsinformationen: %s
26
- Paycode: %s,Paycode: %s
27
- Project password,Projektpasswort
28
- Notification password," ""Benachrichtigungspasswort"""
29
- Use input check,Input Check aktivieren
30
- Create Invoice,Generiere Rechnung nach Zahlung
31
- Projekt Id,Projekt ID
32
- User Id,Benutzer ID
33
- Expires,"Gültigkeitsdauer in Tagen (max. 90 Tage, 0 für unbegrenzt, Standard: 2Tage)"
34
- Sofortueberweisung,Sofortüberweisung
35
- More,mehr Infos
36
- Error while saving this configuration: ,Beim Speichern der Daten ist ein Fehler aufgetreten:
37
- Item was successfully saved,Konfiguration wurde erfolgreich gespeichert.
38
- Theres no password defined,"Es ist kein Passwort definiert! Bitte tragen Sie das erstellte/angelegte Passwort aus dem Kundenbereich bei sofortüberweisung.de in
39
- das entsprechende Feld für die Konfiguration ein."
40
- Get stock articles.,Lagerware schneller erhalten durch umgehenden Versand. Sie benötigen jetzt Ihre Online-Banking- Daten (PIN und TAN).
41
- Your benefit:,Ihre Vorteile:
42
- Fast shippiung,sofortiger Versand von Lagerware / sofortiger Download
43
- Privacy,TÜV-geprüfter Datenschutz
44
- No registration,keine Registrierung notwendig
45
- Save payment,sicher und schnell bezahlen
46
- Paycode information,"Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
- TAN)."
48
- Netherlands banks,Niederländische Banken anzeigen?
49
- Customer cancled payment or payment error,Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf
50
- Customer cancled payment,Endkunde hat Bezahlung abgebrochen
51
- payment error,Fehler bei Bezahlung
52
- Minimum Order Total,Mindestwert für Gesamtbestellung
53
- Maximum Order Total,Höchstwert für Gesamtbestellung
54
- Minimum Orders Count,Mindestanzahl an Bestellungen
55
- Die Hashfunktionen sind nicht verf&uuml;gbar!,Die Hashfunktionen sind nicht verf&uuml;gbar!
 
 
1
+ "Not possible","Nicht verfügbar im Backend"
2
+ "Account number","Kontonummer"
3
+ "Bank code","Bankleitzahl"
4
+ "Holder","Kontoinhaber"
5
+ "Account number: %s","Kontonummer: %s"
6
+ "Bank code: %s","Bankleitzahl: %s"
7
+ "Account holder: %s","Kontoinhaber: %s"
8
+ "Transaction Id: %s","Transaktions Id: %s"
9
+ "Order No.: ","Best. "
10
+ "Order: ","Best. "
11
+ "Gateway request error: %s","Fehler beim übertragen der Daten: %s"
12
+ "Please check your account data.","Bitte überprüfen Sie Ihre Kontodaten auf Korrektheit."
13
+ "Invalid amount for authorization.","Ungültiger Betrag für die Bezahlung."
14
+ "Payment was successful.","Zahlung bei Sofortüberweisung war erfolgreich"
15
+ "Paymentinformations: %s;""Zahlungsinformationen: %s""",
16
+ "Payment was not successfull","Zahlung konnte nicht durchgeführt werden. Es ist ein Fehler aufgetreten"
17
+ "You will be redirected to Sofortüberweisung","Sie werden nach Abschluss der Bestellung zu Sofortüberweisung weitergeleitet um die Bezahlung zu vollenden"
18
+ "You will be redirected to Sofortueberweisung in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
19
+ "Sofortueberweisung payment loaded","Sofortüberweisung wurde geladen"
20
+ "Please fill out the account holder","Geben Sie bitte einen Kontoinhaber an"
21
+ "Please fill out the account number","Geben Sie bitte eine Kontonummer an"
22
+ "Please fill out the bank code","Geben Sie bitte eine Bankleitzahl an"
23
+ "Transaction Id: %s","Transaktions Id: %s"
24
+ "Cancelation of payment","Abbruch der Bezahlung"
25
+ "Paymentinformations: %s","Zahlungsinformationen: %s"
26
+ "Paycode: %s","Paycode: %s"
27
+ "Project password","Projektpasswort"
28
+ "Notification password"," ""Benachrichtigungspasswort"""
29
+ "Use input check","Input Check aktivieren"
30
+ "Create Invoice","Generiere Rechnung nach Zahlung"
31
+ "Projekt Id","Projekt ID"
32
+ "User Id","Benutzer ID"
33
+ "Expires","Gültigkeitsdauer in Tagen (max. 90 Tage, 0 für unbegrenzt, Standard: 2Tage)"
34
+ "Sofortueberweisung","Sofortüberweisung"
35
+ "More","mehr Infos"
36
+ "Error while saving this configuration: ","Beim Speichern der Daten ist ein Fehler aufgetreten: "
37
+ "Item was successfully saved","Konfiguration wurde erfolgreich gespeichert."
38
+ "Theres no password defined","Es ist kein Passwort definiert! Bitte tragen Sie das erstellte/angelegte Passwort aus dem Kundenbereich bei sofortüberweisung.de in
39
+ das entsprechende Feld für die Konfiguration ein."
40
+ "Get stock articles.","Lagerware schneller erhalten durch umgehenden Versand. Sie benötigen jetzt Ihre Online-Banking- Daten (PIN und TAN)."
41
+ "Your benefit:","Ihre Vorteile:"
42
+ "Fast shippiung","sofortiger Versand von Lagerware / sofortiger Download"
43
+ "Privacy","TÜV-geprüfter Datenschutz"
44
+ "No registration","keine Registrierung notwendig"
45
+ "Save payment","sicher und schnell bezahlen"
46
+ "Paycode information","Ware wird umgehend nach Bezahlung mit paycode versandt. Sie benötigen erst zum Zeitpunkt der Bezahlung Ihre Online-Banking-Daten (PIN und
47
+ TAN)."
48
+ "Netherlands banks","Niederländische Banken anzeigen?"
49
+ "Customer cancled payment or payment error","Endkunde hat Bezahlung abgebrochen oder ein Fehler trat bei Bezahlung auf"
50
+ "Customer cancled payment","Endkunde hat Bezahlung abgebrochen"
51
+ "payment error","Fehler bei Bezahlung"
52
+ "Minimum Order Total","Mindestwert für Gesamtbestellung"
53
+ "Maximum Order Total","Höchstwert für Gesamtbestellung"
54
+ "Minimum Orders Count","Mindestanzahl an Bestellungen"
55
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Die Hashfunktionen sind nicht verf&uuml;gbar!"
56
+ "You will be redirected to Novalnet AG website when you place an order.","Sie werden dann auf das Gateway der Novalnet AG umgeleitet."
57
+ "You will be redirected to Novalnet AG Instant Bank Transfer in a few seconds.","Sie werden in wenigen Sekunden zu Sofortüberweisung weitergeleitet"
app/locale/en_US/Mage_Novalnet.csv CHANGED
@@ -1,131 +1,160 @@
1
- Enabled,Enabled
2
- New order status,New order status
3
- Novalnet Merchant ID,Novalnet Merchant ID
4
- Title,Title
5
- Novalnet Auth Code,Novalnet Auth Code
6
- Novalnet Product ID,Novalnet Product ID
7
- Novalnet Tariff ID,Novalnet Tariff ID
8
- Payment from applicable countries,Payment from applicable countries
9
- Payment from Specific countries,Payment from Specific countries
10
- DE,Germany
11
- AT,Austria
12
- Direct Debit,Direct Debit
13
- Credit Card,Credit Card
14
- Country,Country
15
- Name on Card,Name on Card
16
- Credit Card Type,Credit Card Type
17
- Credit Card Number,Credit Card Number
18
- Expiration Date,Expiration Date
19
- Card Verification Number,Card Verification Number
20
- What is this?,What is this?
21
- Account Holder,Account Holder
22
- Account Number,Account No.
23
- Bank Sorting Code,Bank Code
24
- Country: ,Country:
25
- Account Holder: %s,Account Holder: %s
26
- Account Number: %s,Account No.: %s
27
- Bank Sorting Code: %s,Bank Code: %s
28
- TID: %s,TID: %s
29
- Name on Card: %s,Name on Card: %s
30
- Credit Card Number: %s,Credit Card Number: %s
31
- Credit Card Number: xxxx-%s,Credit Card Number: xxxx-%s
32
- Credit Card Type: %s,Credit Card Type: %s
33
- Expiration Date: %s/%s,Expiration Date: %s/%s
34
- Credit Card Types,Credit Card Types
35
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.
36
- This is not a valid account number.,This is not a valid account number!
37
- This is not a valid bank sorting code.,This is not a valid bank sorting code!
38
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,You will be redirected to Novalnet AG 3D-Secure in a few seconds.
39
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.
40
- Payment Duration,Zahlbar in Tagen
41
- --Please Select--,--Please Select--
42
- Please transfer the amount to the following account at the latest untill,Please transfer the amount to the following account at the latest untill
43
- to following account:,to following account:
44
- I accept the ACDC check,I accept the ACDC check
45
- This is a required field,This is a required field
46
- CC,Credit Card
47
- Cc,Credit Card
48
- Method,Method
49
- Due at,Due at
50
- The Bank details will be emailed to you soon after the completion of checkout process,The Bank details will be emailed to you soon after the completion of checkout process
51
- Please transfer the amount to following account,Please transfer the amount to following account
52
- Account Holder2,Account Holder
53
- Bank,Bank
54
- Amount,Amount
55
- Reference,Reference
56
- to following account,to following account
57
- Please note that the Transfer can only be identified with the above mentioned Reference,Please note that the Transfer can only be identified with the above mentioned Reference
58
- ACDC-Check accepted,ACDC-Check accepted
59
- accepted,accepted
60
- ACDC-Check,ACDC-Check
61
- The,The
62
- Month,Month
63
- Year,Year
64
- Direct Debit German,Direct Debit German
65
- Direct Debit Austria,Direct Debit Austria
66
- Booking Reference,Booking Reference
67
- The Bankcode must have a length of at least 8 digits,The Bankcode must have a length of at least 8 digits
68
- The Bankcode must have a length of at least 5 digits,The Bankcode must have a length of at least 5 digits
69
- You must check ACDC,Sie müssen ACAC aktivieren
70
- Notice for Clients,Notice for Clients
71
- Pay by Call,Pay by Call
72
- Error,Error
73
- Order Price not found,Order Price not found
74
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Amount below 0.90 Euro and above 10.00 Euro is not accepted
75
- Params (aryResponse) missing,Params (aryResponse) missing
76
- Following steps are required to complete the telephone payment process,Following steps are required to complete the telephone payment process
77
- Step,Step
78
- Please dial the following number,Please dial the following number
79
- Please wait for the Signal tone and hangup the reciever,Please wait for the Signal tone and hangup the reciever
80
- Please click on continue after your successive call,Please click on continue after your successive call
81
- This call costs,This call costs
82
- inclusive tax,inclusive tax
83
- and is only possible from German Landline Telefon connection,and is only possible from German Landline Telefon connection
84
- Response contains no XML data,Response contains no XML data
85
- Did you called this number,Haben Sie diese Nummer angerufen
86
- Billing Addr. not found,Billing Addr. not found
87
- User Group Excluded,User Group Excluded
88
- Parameter missing,Parameter missing
89
- Comment,Comment
90
- Email address missing,Email address missing
91
- Customer successfully returned from Novalnet,Customer successfully returned from Novalnet
92
- Customer was redirected to Novalnet,Customer was redirected to Novalnet
93
- Customer aborted payment process,Customer aborted payment process
94
- Customer was rejected by Novalnet,Customer was rejected by Novalnet
95
- Password,Password
96
- Test Mode,Test mode
97
- Live Mode,Live mode
98
- Testorder,Test order
99
- Phonepayment,Phonepayment
100
- Prepayment,Prepayment
101
- Invoice,Invoice
102
- Direct Debit,Direct Debit
103
- Credit Card,Credit Card
104
- Creditcard,Credit Card
105
- Credit Card 3D-Secure,Kreditkarte 3D-Secure
106
- Credit Card PCI,Credit Card PCI
107
- Direct Debit German PCI,Direct Debit German PCI
108
- Direct Debit Austria PCI,Direct Debit Austria PCI
109
- Instant Bank Transfer,Instant Bank Transfer
110
- Novalnet Phonepayment,Novalnet Phonepayment
111
- Novalnet Prepayment,Novalnet Prepayment
112
- Novalnet Invoice,Novalnet Invoice
113
- Novalnet Direct Debit,Novalnet Direct Debit
114
- Novalnet Credit Card,Novalnet Credit Card
115
- Novalnet Creditcard,Novalnet Credit Card
116
- Novalnet Credit Card 3D-Secure,Novalnet Credit Card 3D-Secure
117
- Novalnet Credit Card PCI,Novalnet Credit Card PCI
118
- Novalnet Direct Debit German PCI,Novalnet Direct Debit German PCI
119
- Novalnet Direct Debit Austria PCI,Novalnet Direct Debit Austria PCI
120
- Novalnet Instant Bank Transfer,Novalnet Instant Bank Transfer
121
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,You will be redirected to Novalnet AG 3D-Secure in a few seconds.
122
- You will be redirected to Novalnet AG website when you place an order.,You will be redirected to Novalnet AG website when you place an order.
123
- Novalnet Direct Debit German,Novalnet Direct Debit German
124
- Novalnet Direct Debit Austria,Novalnet Direct Debit Austria
125
- Only for foreign transfers,Only for foreign transfers
126
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Please transfer the invoice amount with the following information to our payment provider Novalnet AG
127
- Minimum Order Total,Minimum Order Total
128
- Maximum Order Total,Maximum Order Total
129
- Minimum Orders Count,Minimum Orders Count
130
- Due Date,Due Date
131
- Die Hashfunktionen sind nicht verf�gbar!,Check Hash Failed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "Enabled","Enable module"
2
+ "New order status","Set Order Status"
3
+ "Novalnet Merchant ID","Novalnet Merchant ID"
4
+ "Title","Title"
5
+ "Novalnet Auth Code","Novalnet Merchant Authorisation Code"
6
+ "Novalnet Product ID","Novalnet Product ID"
7
+ "Novalnet Tariff Id","Novalnet Tariff ID"
8
+ "Payment from applicable countries","Payment from applicable countries"
9
+ "Payment from Specific countries","Payment from Specific countries"
10
+ "DE","Germany"
11
+ "AT","Austria"
12
+ "Direct Debit","Direct Debit"
13
+ "Credit Card","Credit Card"
14
+ "Country","Country"
15
+ "Name on Card","Name on Card"
16
+ "Credit Card Type","Credit Card Type"
17
+ "Credit Card Number","Credit Card Number"
18
+ "Expiration Date","Expiration Date"
19
+ "Card Verification Number","CVC"
20
+ "What is this?","What is this?"
21
+ "Account Holder","Account Holder"
22
+ "Account Number","Account Number"
23
+ "Bank Sorting Code","Bank Code"
24
+ "Country: ","Country: "
25
+ "Account Holder: %s","Account Holder: %s"
26
+ "Account Number: %s","Account Number: %s"
27
+ "Bank Sorting Code: %s","Bank Code: %s"
28
+ "TID: %s","TID: %s"
29
+ "Name on Card: %s","Name on Card: %s"
30
+ "Credit Card Number: %s","Credit Card Number: %s"
31
+ "Credit Card Number: xxxx-%s","Credit Card Number: xxxx-%s"
32
+ "Credit Card Type: %s","Credit Card Type: %s"
33
+ "Expiration Date: %s/%s","Expiration Date: %s/%s"
34
+ "Credit Card Types","Credit Card Types"
35
+ "The amount will be booked immediately from your credit card.","The amount will be booked immediately from your credit card."
36
+ "This is not a valid account number.","Please enter the valid Account number"
37
+ "This is not a valid bank sorting code.","Please enter the valid Bank sorting code"
38
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","You will be redirected to Novalnet AG 3D-Secure in a few seconds."
39
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet."
40
+ "Payment Duration","Payment Duration"
41
+ "--Please Select--","--Please Select--"
42
+ "Please transfer the amount to the following account at the latest untill","Please transfer the amount to the following account at the latest untill"
43
+ "to following account:","to following account:"
44
+ "I accept the ACDC check","I accept the ACDC check"
45
+ "This is a required field","This is a required field"
46
+ "CC","Credit Card"
47
+ "Cc","Credit Card"
48
+ "Method","Method"
49
+ "Due at","Due at"
50
+ "The Bank details will be emailed to you soon after the completion of checkout process","The Bank details will be emailed to you soon after the completion of checkout process"
51
+ "Please transfer the amount to following account","Please transfer the amount to following account"
52
+ "Account Holder2","Account Holder"
53
+ "Bank","Bank"
54
+ "Amount","Amount"
55
+ "Reference","Reference"
56
+ "to following account","to following account"
57
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Please note that the Transfer can only be identified with the above mentioned Reference"
58
+ "ACDC-Check accepted","ACDC-Check accepted"
59
+ "accepted","accepted"
60
+ "ACDC-Check","Enable ACDC Control"
61
+ "The","The"
62
+ "Month","Month"
63
+ "Year","Year"
64
+ "Direct Debit German","Direct Debit German"
65
+ "Direct Debit Austria","Direct Debit Austria"
66
+ "Booking Reference","Booking Reference"
67
+ "The Bankcode must have a length of at least 8 digits","The Bankcode must have a length of at least 8 digits"
68
+ "The Bankcode must have a length of at least 5 digits","The Bankcode must have a length of at least 5 digits"
69
+ "You must check ACDC","Sie müssen ACAC aktivieren"
70
+ "Notice for Clients","Notice for Clients"
71
+ "Pay by Call","Pay by Call"
72
+ "Error","Error"
73
+ "Order Price not found","Order Price not found"
74
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Amount below 0.90 Euro and above 10.00 Euro is not accepted"
75
+ "Params (aryResponse) missing","Params (aryResponse) missing"
76
+ "Following steps are required to complete the telephone payment process","Following steps are required to complete the telephone payment process"
77
+ "Step","Step"
78
+ "Please dial the following number","Please dial the following number"
79
+ "Please wait for the Signal tone and hangup the reciever","Please wait for the Signal tone and hangup the reciever"
80
+ "Please click on continue after your successive call","Please click on continue after your successive call"
81
+ "This call costs","This call costs"
82
+ "inclusive tax","inclusive tax"
83
+ "and is only possible from German Landline Telefon connection","and is only possible from German Landline Telefon connection"
84
+ "Response contains no XML data","Response contains no XML data"
85
+ "Did you called this number","Haben Sie diese Nummer angerufen"
86
+ "Billing Addr. not found","Billing Addr. not found"
87
+ "User Group Excluded","User Group Excluded"
88
+ "Parameter missing","Parameter missing"
89
+ "Comment","Comment"
90
+ "Email address missing","Email address missing"
91
+ "Customer successfully returned from Novalnet","Customer successfully returned from Novalnet"
92
+ "Customer was redirected to Novalnet","Customer was redirected to Novalnet"
93
+ "Customer aborted payment process","Customer aborted payment process"
94
+ "Customer was rejected by Novalnet","Customer was rejected by Novalnet"
95
+ "Novalnet Password","Novalnet Password"
96
+ "Test Mode","Test mode"
97
+ "Live Mode","Enable Live Mode"
98
+ "Testorder","Test order"
99
+ "Phonepayment","Phonepayment"
100
+ "Prepayment","Prepayment"
101
+ "Invoice","Invoice"
102
+ "Direct Debit","Direct Debit"
103
+ "Credit Card","Credit Card"
104
+ "Creditcard","Credit Card"
105
+ "Credit Card 3D-Secure","Kreditkarte 3D-Secure"
106
+ "Credit Card PCI","Credit Card PCI"
107
+ "Direct Debit German PCI","Direct Debit German PCI"
108
+ "Direct Debit Austria PCI","Direct Debit Austria PCI"
109
+ "Instant Bank Transfer","Instant Bank Transfer"
110
+ "Novalnet Phonepayment","Novalnet Phonepayment"
111
+ "Novalnet Prepayment","Novalnet Prepayment"
112
+ "Novalnet Invoice","Novalnet Invoice"
113
+ "Novalnet Direct Debit","Novalnet Direct Debit"
114
+ "Novalnet Credit Card","Novalnet Credit Card"
115
+ "Novalnet Creditcard","Novalnet Credit Card"
116
+ "Novalnet Credit Card 3D-Secure","Novalnet Credit Card 3D-Secure"
117
+ "Novalnet Credit Card PCI","Novalnet Credit Card PCI"
118
+ "Novalnet Direct Debit German PCI","Novalnet Direct Debit German PCI"
119
+ "Novalnet Direct Debit Austria PCI","Novalnet Direct Debit Austria PCI"
120
+ "Novalnet Instant Bank Transfer","Novalnet Instant Bank Transfer"
121
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","You will be redirected to Novalnet AG 3D-Secure in a few seconds."
122
+ "You will be redirected to Novalnet AG website when you place an order.","You will be redirected to Novalnet AG website when you place an order."
123
+ "Novalnet Direct Debit German","Novalnet Direct Debit German"
124
+ "Novalnet Direct Debit Austria","Novalnet Direct Debit Austria"
125
+ "Only for foreign transfers","Only for foreign transfers"
126
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Please transfer the invoice amount with the following information to our payment provider Novalnet AG"
127
+ "Minimum Order Total","Minimum Order Total (in Euro)"
128
+ "Maximum Order Total","Maximum Order Total (in Euro)"
129
+ "Minimum Orders Count","Minimum Orders Count"
130
+ "Due Date","Due Date"
131
+ "Die Hashfunktionen sind nicht verf�gbar!","Check Hash Failed"
132
+ "Required Second Product Tariff","Product-ID2 and/or Tariff-ID2 missing"
133
+ "successful","Successful"
134
+ "You receive a call soon! Please enter the PIN code received in the text box.","You will shortly receive a PIN via phone / SMS. Please enter the PIN in the appropriate text box"
135
+ "Please agree to all terms and conditions before ordering.","Please agree to all terms and conditions before ordering."
136
+ "Gateway Timeout","Gateway Timeout"
137
+ "Gateway Timeout in seconds","Gateway Timeout in seconds"
138
+ "Please agree to all terms and conditions before ordering.","Please agree to all terms and conditions before ordering."
139
+ "Basic Parameter Missing","Basic Parameter Missing"
140
+ "Manual checking amount in cents","Manual checking amount in cents"
141
+ "You have to set the live mode to 'yes' for real payments.","You have to set the live mode to 'yes' for real payments."
142
+ "To exclude groups of customers.","To exclude groups of customers, write their IDs here (separated by comma). You can find the IDs in the customergroups-management."
143
+ "Second Novalnet Product ID","Second Product ID in Novalnet"
144
+ "Second Novalnet Tariff Id","Second Tariff ID in Novalnet"
145
+ "Minimum Amount For Callback (in cents)","Minimum Amount Limit for PIN by Callback (in cents)"
146
+ "This is not a valid Account Holder Name","Please enter the valid Account Holder name"
147
+ "PAYPAL API User Name","PayPal API User Name"
148
+ "PAYPAL API Password","PayPal API Password"
149
+ "PAYPAL API Signature","PayPal API Signature"
150
+ "The password is admin.novalnet.de:Master Data-Paymentzugriffsschluessel view.","The password is admin.novalnet.de: Master Data - Paymentzugriffsschluessel view.Please consider this even if the live mode = 0, the order amount is deducted, if true account data is entered. This is due to the implementation by the Provider Payment Network AG."
151
+ "Default: ""0"" for disabled check.","Default: ""0"" for disabled check | Minimum count of orders (in the past) needed for the customer to use this payment method."
152
+ "When activated by PIN Callback / SMS","When activated by PIN Callback / SMS, the customer is prompted to enter his telephone / mobile number. By phone or SMS the customer receives from the Novalnet AG a PIN that must be entered before ordering. If the PIN is valid, the payment process has been completed successfully, otherwise the customer will again be prompted to enter a PIN. This service is only available for customers in Germany."
153
+ "Order amount has been changed. Please resubmit the payment method","You have changed the cart amount after getting PIN number, please try again with new call"
154
+ "Sort Order","Sort order of display"
155
+ "Callback session has expired. Please resubmit payment method","Your PIN session has expired, Please try again"
156
+ "Ihre Telefon- / Mobil- Nummer","Phone Number"
157
+ "Email Address","Email Address"
158
+ "acdc Check","acdc-Check"
159
+ "Card Verification Number: %s","CVC: %s"
160
+ "This is not a valid pin code.","The entered PIN is incorrect or blank!"
app/locale/en_US/Novalnet_NovalnetPaypal.csv CHANGED
@@ -1,139 +1,135 @@
1
- Enabled,Enabled
2
- New order status,New order status
3
- Novalnet Merchant ID,Novalnet Merchant ID
4
- Title,Title
5
- Novalnet Auth Code,Novalnet Auth Code
6
- Novalnet Product ID,Novalnet Product ID
7
- Novalnet Tariff ID,Novalnet Tariff IDD
8
- Payment from applicable countries,Payment from applicable countries
9
- Payment from Specific countries,Payment from Specific countries
10
- DE,Germany
11
- AT,Austria
12
- Direct Debit,Direct Debit
13
- Credit Card,Credit Card
14
- Country,Country
15
- Name on Card,Name on Card
16
- Credit Card Type,Credit Card Type
17
- Credit Card Number,Credit Card Number
18
- Expiration Date,Expiration Date
19
- Card Verification Number,Card Verification Number
20
- What is this?,What is this?
21
- Account Holder,Account Holder
22
- Account Number,Account No.
23
- Bank Sorting Code,Bank Code
24
- Country: ,Country:
25
- Account Holder: %s,Account Holder: %s
26
- Account Number: %s,Account No.: %s
27
- Bank Sorting Code: %s,Bank Code: %s
28
- TID: %s,TID: %s
29
- Name on Card: %s,Name on Card: %s
30
- Credit Card Number: %s,Credit Card Number: %s
31
- Credit Card Number: xxxx-%s,Credit Card Number: xxxx-%s
32
- Credit Card Type: %s,Credit Card Type: %s
33
- Expiration Date: %s/%s,Expiration Date: %s/%s
34
- Credit Card Types,Credit Card Types
35
- The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.,"The amount will be booked immediately from your credit card<BR>with
36
- <B>%s</B> note."
37
- This is not a valid account number.,This is not a valid account number!
38
- This is not a valid bank sorting code.,This is not a valid bank sorting code!
39
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,You will be redirected to Novalnet AG 3D-Secure in a few seconds.
40
- Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.,Bemerkung: Nach dem Absenden Ihrer Bestellung wird
41
- Ihnen eine Email mit den Bankdaten der Novalnet AG an Sie versendet.,
42
- Payment Duration,Zahlbar in Tagen
43
- --Please Select--,--Please Select--
44
- "Please transfer the amount at the latest, untill","Please transfer the amount at the latest, untill"
45
- to following account:,to following account:
46
- I accept the ACDC check,I accept the ACDC check
47
- This is a required field,This is a required field
48
- CC,Credit Card
49
- Cc,Credit Card
50
- Method,Method
51
- Due at,Due at
52
- The Bank details will be emailed to you soon after the completion of checkout process,The Bank details will be emailed to you soon after the completion of
53
- checkout process,
54
- "Please transfer the amount at the latest, untill","Please transfer the amount at the latest, untill"
55
- Please transfer the amount to following account,Please transfer the amount to following account
56
- Account Holder2,Account Holder
57
- Bank,Bank
58
- Amount,Amount
59
- Reference,Reference
60
- to following account,to following account
61
- Please note that the Transfer can only be identified with the above mentioned Reference,Please note that the Transfer can only be identified with the above
62
- mentioned Reference,
63
- ACDC-Check accepted,ACDC-Check accepted
64
- accepted,accepted
65
- ACDC-Check,ACDC-Check
66
- The,The
67
- Month,Month
68
- Year,Year
69
- Direct Debit German,Direct Debit German
70
- Direct Debit Austria,Direct Debit Austria
71
- Booking Reference,Booking Reference
72
- The Bankcode must have a length of at least 8 digits,The Bankcode must have a length of at least 8 digits
73
- The Bankcode must have a length of at least 5 digits,The Bankcode must have a length of at least 5 digits
74
- You must check ACDC,Sie m��ssen ACAC aktivieren
75
- Notice for Clients,Notice for Clients
76
- Pay by Call,Pay by Call
77
- Error,Error
78
- Order Price not found,Order Price not found
79
- Amount below 0.90 Euro and above 10.00 Euro is not accepted,Amount below 0.90 Euro and above 10.00 Euro is not accepted
80
- Params (aryResponse) missing,Params (aryResponse) missing
81
- Following steps are required to complete the telephone payment process,Following steps are required to complete the telephone payment process
82
- Step,Step
83
- Please dial the following number,Please dial the following number
84
- Please wait for the Signal tone and hangup the reciever,Please wait for the Signal tone and hangup the reciever
85
- Please click on continue after your successive call,Please click on continue after your successive call
86
- This call costs,This call costs
87
- inclusive tax,inclusive tax
88
- and is only possible from German Landline Telefon connection,and is only possible from German Landline Telefon connection
89
- Response contains no XML data,Response contains no XML data
90
- Did you called this number,Haben Sie diese Nummer angerufen
91
- Billing Addr. not found,Billing Addr. not found
92
- User Group Excluded,User Group Excluded
93
- Parameter missing,Parameter missing
94
- Comment,Comment
95
- Email address missing,Email address missing
96
- Customer successfully returned from Novalnet,Customer successfully returned from Novalnet
97
- Customer was redirected to Novalnet,Customer was redirected to Novalnet
98
- Customer aborted payment process,Customer aborted payment process
99
- Customer was rejected by Novalnet,Customer was rejected by Novalnet
100
- Password,Password
101
- Test Mode,Test mode
102
- Live Mode,Live mode
103
- Testorder,Test order
104
- Phonepayment,Phonepayment
105
- Prepayment,Prepayment
106
- Invoice,Invoice
107
- Direct Debit,Direct Debit
108
- Credit Card,Credit Card
109
- Creditcard,Credit Card
110
- Credit Card 3D-Secure,Kreditkarte 3D-Secure
111
- Credit Card PCI,Credit Card PCI
112
- Direct Debit German PCI,Direct Debit German PCI
113
- Direct Debit Austria PCI,Direct Debit Austria PCI
114
- Instant Bank Transfer,Instant Bank Transfer
115
- Novalnet Phonepayment,Novalnet Phonepayment
116
- Novalnet Prepayment,Novalnet Prepayment
117
- Novalnet Invoice,Novalnet Invoice
118
- Novalnet Direct Debit,Novalnet Direct Debit
119
- Novalnet Credit Card,Novalnet Credit Card
120
- Novalnet Creditcard,Novalnet Credit Card
121
- Novalnet Credit Card 3D-Secure,Novalnet Credit Card 3D-Secure
122
- Novalnet Credit Card PCI,Novalnet Credit Card PCI
123
- Novalnet Direct Debit German PCI,Novalnet Direct Debit German PCI
124
- Novalnet Direct Debit Austria PCI,Novalnet Direct Debit Austria PCI
125
- Novalnet Instant Bank Transfer,Novalnet Instant Bank Transfer
126
- You will be redirected to Novalnet AG 3D-Secure in a few seconds.,You will be redirected to Novalnet AG 3D-Secure in a few seconds.
127
- You will be redirected to Novalnet AG website when you place an order.,You will be redirected to Novalnet AG website when you place an order.
128
- Novalnet Direct Debit German,Novalnet Direct Debit German
129
- Novalnet Direct Debit Austria,Novalnet Direct Debit Austria
130
- Only for foreign transfers,Only for foreign transfers
131
- Please transfer the invoice amount with the following information to our payment provider Novalnet AG,Please transfer the invoice amount with the following
132
- information to our payment provider Novalnet AG,
133
- You will be redirected to Novalnet AG in a few seconds,You will be redirected to Novalnet AG in a few seconds
134
- Customer was redirected to Novalnet,Customer was redirected to Novalnet
135
- You will be redirected to Novalnet AG website when you place an order.,You will be redirected to Novalnet AG website when you place an order.
136
- Minimum Order Total,Minimum Order Total
137
- Maximum Order Total,Maximum Order Total
138
- Minimum Orders Count,Minimum Orders Count
139
- Die Hashfunktionen sind nicht verf&uuml;gbar!,Check Hash Failed
1
+ "Enabled","Enable module"
2
+ "New order status","New order status"
3
+ "Novalnet Merchant ID","Novalnet Merchant ID"
4
+ "Title","Title"
5
+ "Novalnet Auth Code","Novalnet Auth Code"
6
+ "Novalnet Product ID","Novalnet Product ID"
7
+ "Novalnet Tariff ID","Novalnet Tariff IDD"
8
+ "Payment from applicable countries","Payment from applicable countries"
9
+ "Payment from Specific countries","Payment from Specific countries"
10
+ "DE","Germany"
11
+ "AT","Austria"
12
+ "Direct Debit","Direct Debit"
13
+ "Credit Card","Credit Card"
14
+ "Country","Country"
15
+ "Name on Card","Name on Card"
16
+ "Credit Card Type","Credit Card Type"
17
+ "Credit Card Number","Credit Card Number"
18
+ "Expiration Date","Expiration Date"
19
+ "Card Verification Number","Card Verification Number"
20
+ "What is this?","What is this?"
21
+ "Account Holder","Account Holder"
22
+ "Account Number","Account No."
23
+ "Bank Sorting Code","Bank Code"
24
+ "Country: ","Country: "
25
+ "Account Holder: %s","Account Holder: %s"
26
+ "Account Number: %s","Account Number: %s"
27
+ "Bank Sorting Code: %s","Bank Code: %s"
28
+ "TID: %s","TID: %s"
29
+ "Name on Card: %s","Name on Card: %s"
30
+ "Credit Card Number: %s","Credit Card Number: %s"
31
+ "Credit Card Number: xxxx-%s","Credit Card Number: xxxx-%s"
32
+ "Credit Card Type: %s","Credit Card Type: %s"
33
+ "Expiration Date: %s/%s","Expiration Date: %s/%s"
34
+ "Credit Card Types","Credit Card Types"
35
+ "The amount will be booked immediately from your credit card<BR>with <B>%s</B> note.","The amount will be booked immediately from your credit card<BR>with
36
+ <B>%s</B> note."
37
+ "This is not a valid account number.","This is not a valid account number!"
38
+ "This is not a valid bank sorting code.","This is not a valid bank sorting code!"
39
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","You will be redirected to Novalnet AG 3D-Secure in a few seconds."
40
+ "Note: after submitting your order an email with bank transfer data of the Novalnet AG will be sent to you.","Bemerkung: Nach dem Absenden Ihrer Bestellung wird "
41
+ "Payment Duration","Zahlbar in Tagen"
42
+ "--Please Select--","--Please Select--"
43
+ "Please transfer the amount at the latest, untill","Please transfer the amount at the latest, untill"
44
+ "to following account:","to following account:"
45
+ "I accept the ACDC check","I accept the ACDC check"
46
+ "This is a required field","This is a required field"
47
+ "CC","Credit Card"
48
+ "Cc","Credit Card"
49
+ "Method","Method"
50
+ "Due at","Due at"
51
+ "The Bank details will be emailed to you soon after the completion of checkout process","The Bank details will be emailed to you soon after the completion of checkout process"
52
+ "Please transfer the amount at the latest, untill","Please transfer the amount at the latest, untill"
53
+ "Please transfer the amount to following account","Please transfer the amount to following account"
54
+ "Account Holder2","Account Holder"
55
+ "Bank","Bank"
56
+ "Amount","Amount"
57
+ "Reference","Reference"
58
+ "to following account","to following account"
59
+ "Please note that the Transfer can only be identified with the above mentioned Reference","Please note that the Transfer can only be identified with the above mentioned Reference"
60
+ "ACDC-Check accepted","ACDC-Check accepted"
61
+ "accepted","accepted"
62
+ "ACDC-Check","ACDC-Check"
63
+ "The","The"
64
+ "Month","Month"
65
+ "Year","Year"
66
+ "Direct Debit German","Direct Debit German"
67
+ "Direct Debit Austria","Direct Debit Austria"
68
+ "Booking Reference","Booking Reference"
69
+ "The Bankcode must have a length of at least 8 digits","The Bankcode must have a length of at least 8 digits"
70
+ "The Bankcode must have a length of at least 5 digits","The Bankcode must have a length of at least 5 digits"
71
+ "You must check ACDC","Sie m��ssen ACAC aktivieren"
72
+ "Notice for Clients","Notice for Clients"
73
+ "Pay by Call","Pay by Call"
74
+ "Error","Error"
75
+ "Order Price not found","Order Price not found"
76
+ "Amount below 0.90 Euro and above 10.00 Euro is not accepted","Amount below 0.90 Euro and above 10.00 Euro is not accepted"
77
+ "Params (aryResponse) missing","Params (aryResponse) missing"
78
+ "Following steps are required to complete the telephone payment process","Following steps are required to complete the telephone payment process"
79
+ "Step","Step"
80
+ "Please dial the following number","Please dial the following number"
81
+ "Please wait for the Signal tone and hangup the reciever","Please wait for the Signal tone and hangup the reciever"
82
+ "Please click on continue after your successive call","Please click on continue after your successive call"
83
+ "This call costs","This call costs"
84
+ "inclusive tax","inclusive tax"
85
+ "and is only possible from German Landline Telefon connection","and is only possible from German Landline Telefon connection"
86
+ "Response contains no XML data","Response contains no XML data"
87
+ "Did you called this number","Haben Sie diese Nummer angerufen"
88
+ "Billing Addr. not found","Billing Addr. not found"
89
+ "User Group Excluded","User Group Excluded"
90
+ "Parameter missing","Parameter missing"
91
+ "Comment","Comment"
92
+ "Email address missing","Email address missing"
93
+ "Customer successfully returned from Novalnet","Customer successfully returned from Novalnet"
94
+ "Customer was redirected to Novalnet","Customer was redirected to Novalnet"
95
+ "Customer aborted payment process","Customer aborted payment process"
96
+ "Customer was rejected by Novalnet","Customer was rejected by Novalnet"
97
+ "Novalnet Password","Password"
98
+ "Test Mode","Test mode"
99
+ "Live Mode","Live mode"
100
+ "Testorder","Test order"
101
+ "Phonepayment","Phonepayment"
102
+ "Prepayment","Prepayment"
103
+ "Invoice","Invoice"
104
+ "Direct Debit","Direct Debit"
105
+ "Credit Card","Credit Card"
106
+ "Creditcard","Credit Card"
107
+ "Credit Card 3D-Secure","Kreditkarte 3D-Secure"
108
+ "Credit Card PCI","Credit Card PCI"
109
+ "Direct Debit German PCI","Direct Debit German PCI"
110
+ "Direct Debit Austria PCI","Direct Debit Austria PCI"
111
+ "Instant Bank Transfer","Instant Bank Transfer"
112
+ "Novalnet Phonepayment","Novalnet Phonepayment"
113
+ "Novalnet Prepayment","Novalnet Prepayment"
114
+ "Novalnet Invoice","Novalnet Invoice"
115
+ "Novalnet Direct Debit","Novalnet Direct Debit"
116
+ "Novalnet Credit Card","Novalnet Credit Card"
117
+ "Novalnet Creditcard","Novalnet Credit Card"
118
+ "Novalnet Credit Card 3D-Secure","Novalnet Credit Card 3D-Secure"
119
+ "Novalnet Credit Card PCI","Novalnet Credit Card PCI"
120
+ "Novalnet Direct Debit German PCI","Novalnet Direct Debit German PCI"
121
+ "Novalnet Direct Debit Austria PCI","Novalnet Direct Debit Austria PCI"
122
+ "Novalnet Instant Bank Transfer","Novalnet Instant Bank Transfer"
123
+ "You will be redirected to Novalnet AG 3D-Secure in a few seconds.","You will be redirected to Novalnet AG 3D-Secure in a few seconds."
124
+ "You will be redirected to Novalnet AG website when you place an order.","You will be redirected to Novalnet AG website when you place an order."
125
+ "Novalnet Direct Debit German","Novalnet Direct Debit German"
126
+ "Novalnet Direct Debit Austria","Novalnet Direct Debit Austria"
127
+ "Only for foreign transfers","Only for foreign transfers"
128
+ "Please transfer the invoice amount with the following information to our payment provider Novalnet AG","Please transfer the invoice amount with the following information to our payment provider Novalnet AG"
129
+ "You will be redirected to Novalnet AG in a few seconds","You will be redirected to Novalnet AG in a few seconds"
130
+ "Customer was redirected to Novalnet","Customer was redirected to Novalnet"
131
+ "You will be redirected to Novalnet AG website when you place an order.","You will be redirected to Novalnet AG website when you place an order."
132
+ "Minimum Order Total","Minimum Order Total"
133
+ "Maximum Order Total","Maximum Order Total"
134
+ "Minimum Orders Count","Minimum Orders Count"
135
+ "Die Hashfunktionen sind nicht verf&uuml;gbar!","Check Hash Failed"
 
 
 
 
callback_novalnet2magento.php CHANGED
@@ -1,435 +1,447 @@
1
- <?php
2
- /**
3
- * Novalnet Callback Script for Magento
4
- *
5
- * NOTICE
6
- *
7
- * This script is used for real time capturing of parameters passed
8
- * from Novalnet AG after Payment processing of customers.
9
- *
10
- * This script is only free to the use for Merchants of Novalnet AG
11
- *
12
- * If you have found this script useful a small recommendation as well
13
- * as a comment on merchant form would be greatly appreciated.
14
- *
15
- * Please contact sales@novalnet.de for enquiry or info
16
- *
17
- * ABSTRACT:
18
- * This script is called from Novalnet, as soon as a payment is finished for
19
- * payment methods, e.g. Prepayment, Invoice.
20
- *
21
- * This script is adapted for those cases where the money for Prepayment /
22
- * Invoice has been transferred to Novalnet.
23
- *
24
- * An e-mail will be sent if an error occurs.
25
- *
26
- * If you also want to handle other payment methods you have to change the logic
27
- * accordingly.
28
- *
29
- *
30
- * @category Novalnet
31
- * @package Novalnet
32
- * @version 1.0
33
- * @copyright Copyright (c) 2012 Novalnet AG. (http://www.novalnet.de)
34
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
35
- * @notice 1. This script must be placed in basic Magento folder
36
- * to avoid rewrite rules (mod_rewrite)
37
- * 2. You have to adapt the value of all the variables
38
- * commented with 'adapt ...'
39
- * 3. Set $test/$debug to false for live system
40
- */
41
-
42
- require_once 'app/Mage.php';
43
- $storeId = Mage_Core_Model_App::ADMIN_STORE_ID;
44
- Mage::app()->setCurrentStore($storeId);
45
- Mage::app('admin');
46
- umask(0);
47
- date_default_timezone_set('Europe/Berlin');
48
-
49
- //Variable Settings
50
- $logFile = 'novalnet_callback_script_'.date('Y-m-d').'.log';
51
- $log = false;//false|true; adapt
52
- $debug = true; //false|true; adapt: set to false for go-live
53
- $test = true; //false|true; adapt: set to false for go-live
54
- $createInvoice = true; //false|true; adapt for your need
55
- $useZendEmail = true;//false|true; adapt for your need
56
- $lineBreak = empty($_SERVER['HTTP_HOST'])? PHP_EOL: '<br />';
57
- $addSubsequentTidToDb = true;//whether to add the new tid to db; adapt if necessary
58
-
59
- $aPaymentTypes = array('INVOICE_CREDIT');//adapt here if needed; Options are:
60
- /*
61
- COLLECTION_REVERSAL_AT
62
- COLLECTION_REVERSAL_DE
63
- CREDITCARD
64
- CREDITCARD_BOOKBACK
65
- CREDITCARD_CHARGEBACK
66
- CREDITCARD_REPRESENTMENT
67
- CREDIT_ENTRY_AT
68
- CREDIT_ENTRY_CREDITCARD
69
- CREDIT_ENTRY_DE
70
- DEBT_COLLECTION_AT
71
- DEBT_COLLECTION_CREDITCARD
72
- DEBT_COLLECTION_DE
73
- DIRECT_DEBIT_AT
74
- DIRECT_DEBIT_DE
75
- DIRECT_DEBIT_ES
76
- DIRECT_DEBIT_SEPA
77
- INVOICE
78
- INVOICE_CREDIT
79
- INVOICE_START
80
- NC_CONVERT
81
- NC_CREDIT
82
- NC_DEBIT
83
- NC_ENCASH
84
- NC_PAYOUT
85
- NOVALCARD
86
- NOVALTEL_DE
87
- NOVALTEL_DE_CB_REVERSAL
88
- NOVALTEL_DE_CHARGEBACK
89
- NOVALTEL_DE_COLLECTION
90
- ONLINE_TRANSFER
91
- PAYPAL
92
- PAYSAFECARD
93
- REFUND_BY_BANK_TRANSFER_EU
94
- RETURN_DEBIT_AT
95
- RETURN_DEBIT_DE
96
- REVERSAL
97
- WAP_CREDITCARD
98
- WAP_DIRECT_DEBIT_AT
99
- WAP_DIRECT_DEBIT_DE
100
- */
101
-
102
- // Order State/Status Settings
103
- /*5. Standard Types of Status/States:
104
- 1. pending
105
- 2. processing
106
- 3. holded
107
- 4. complete
108
- 5. canceled
109
- */
110
- $orderState = Mage_Sales_Model_Order::STATE_PROCESSING; //Note: Mage_Sales_Model_Order::STATE_COMPLETE => NOK, Refer to function setOrderStatus()
111
- $orderStatus = Mage_Sales_Model_Order::STATE_COMPLETE;//adapt for your need
112
- $orderComment = $lineBreak.date('d.m.Y H:i:s').': Novalnet callback script changed order state to '.$orderState.' and order status to '. $orderStatus;
113
-
114
- //Security Setting; only this IP is allowed for call back script
115
- $ipAllowed = '195.143.189.210'; //Novalnet IP, is a fixed value, DO NOT CHANGE!!!!!
116
-
117
- //Reporting Email Addresses Settings
118
- $shopInfo = 'Magento '.$lineBreak; //manditory;adapt for your need
119
- $mailHost = 'mail.novalnet.de';//adapt or Mage::getStoreConfig('system/smtp/host')
120
- $mailPort = 25;//adapt or Mage::getStoreConfig('system/smtp/port')
121
- $emailFromAddr = '';//sender email addr., manditory, adapt it
122
- $emailToAddr = '';//recipient email addr., manditory, adapt it
123
- $emailSubject = 'Novalnet Callback Script Access Report'; //adapt if necessary;
124
- $emailBody = '';//Email text, adapt
125
- $emailFromName = ""; // Sender name, adapt
126
- $emailToName = ""; // Recipient name, adapt
127
-
128
- //Parameters Settings
129
- $hParamsRequired = array(
130
- 'vendor_id' => '',
131
- 'tid' => '',
132
- 'payment_type' => '',
133
- 'status' => '',
134
- 'amount' => '',
135
- 'order_no' => '');
136
-
137
- if (in_array('INVOICE_CREDIT', $aPaymentTypes)){
138
- $hParamsRequired['tid_payment'] = '';
139
- }
140
-
141
- $hParamsTest = array(
142
- 'vendor_id' => '4',
143
- 'status' => '100',
144
- 'amount' => '15500',//must be avail. in shop database; 850 = 8.50
145
- 'payment_type' => 'INVOICE_CREDIT',
146
- 'tid' => '12345678901234567',//subsequent tid, from Novalnet backend; can be a fake for test
147
- 'order_no' => '200000008', // Order number
148
- );
149
-
150
- if (in_array('INVOICE_CREDIT', $aPaymentTypes)){
151
- $hParamsTest['tid_payment'] = '12497500001209615'; //orig. tid; must be avail. in shop database);
152
- }
153
-
154
- //Test Data Settings
155
- if ($test){
156
- $_REQUEST = $hParamsTest;
157
- $emailFromName = "Novalnet test"; // Sender name, adapt
158
- $emailToName = "Novalnet test"; // Recipient name, adapt
159
- $emailFromAddr = 'test@novalnet.de';//manditory for test; adapt
160
- $emailToAddr = 'test@novalnet.de';//manditory for test; adapt
161
- $emailSubject = $emailSubject.' - TEST';//adapt
162
- }
163
-
164
- // ################### Main Prog. ##########################
165
- try {
166
- //Check Params
167
- if (checkIP($_REQUEST)){
168
- if (checkParams($_REQUEST)){
169
- //Get Order ID and Set New Order Status
170
- if ($ordercheckstatus = BasicValidation($_REQUEST)){
171
- setOrderStatus($_REQUEST['order_no']);//and send error mails if any
172
- }
173
- }
174
- }
175
-
176
- if ($log) {
177
- Mage::log('Ein Haendlerskript-Aufruf fand statt mit StoreId '.$storeId." und Parametern:$lineBreak".print_r($_POST, true), null, $logFile);
178
- //exit;
179
- }
180
-
181
- if (!$emailBody){
182
- $emailBody .= 'Novalnet Callback Script called for StoreId '.$storeId." and Parameters: ".print_r($_POST, true).$lineBreak;
183
- $emailBody .= 'Novalnet callback succ. '.$lineBreak;
184
- $emailBody .= 'Params: '.print_r($_REQUEST, true).$lineBreak;
185
- }
186
- }catch(Exception $e){
187
- //Mage::logException($e);
188
- $emailBody .= "Exception catched: $lineBreak\$e:".$e->getMessage().$lineBreak;
189
- }
190
-
191
- if ($emailBody){
192
- if (!sendMail($emailBody)){
193
- if ($debug){
194
- echo "Mailing failed!".$lineBreak;
195
- echo "This mail text should be sent: ".$lineBreak;
196
- echo $emailBody;
197
- }
198
- }
199
- }
200
-
201
- // ############## Sub Routines #####################
202
- function sendMail($emailBody){
203
- global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $useZendEmail;
204
- if ($useZendEmail){
205
- if (!sendEmailZend($emailBody)){
206
- return false;
207
- }
208
- }else{
209
- if (!sendEmailMagento($emailBody)){
210
- return false;
211
- }
212
- }
213
-
214
- if ($debug){
215
- echo 'This text has been sent:'.$lineBreak.$emailBody;
216
- }
217
- return true;
218
- }
219
- function sendEmailMagento($emailBody){
220
- global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $mailHost, $mailPort;
221
- $emailBodyT = str_replace('<br />', PHP_EOL, $emailBody);
222
-
223
- /*
224
- * Loads the html file named 'novalnet_callback_email.html' from
225
- * E.G: app/locale/en_US/template/email/novalnet/novalnet_callback_email.html
226
- * OR: app/locale/YourLanguage/template/email/novalnet/novalnet_callback_email.html
227
- * Adapt the corresponding template if necessary
228
- */
229
- $emailTemplate = Mage::getModel('core/email_template')
230
- ->loadDefault('novalnet_callback_email_template');
231
- //echo 'hh: <pre>'; print_r($emailTemplate); echo '<hr />'; //exit;
232
-
233
- //Define some variables to assign to template
234
- $emailTemplateVariables = array();
235
- $emailTemplateVariables['fromName'] = $emailFromName;
236
- $emailTemplateVariables['fromEmail'] = $emailFromAddr;
237
- $emailTemplateVariables['toName'] = $emailToName;
238
- $emailTemplateVariables['toEmail'] = $emailToAddr;
239
- $emailTemplateVariables['subject'] = $emailSubject;
240
- $emailTemplateVariables['body'] = $emailBodyT;
241
- $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables, true);
242
- //echo 'hh: <pre>'; print_r($processedTemplate); echo '<hr />'; exit;
243
-
244
- //Send Email
245
- ini_set('SMTP', $mailHost);
246
- ini_set('smtp_port', $mailPort);
247
-
248
- try {
249
- if ($debug){
250
- echo __FUNCTION__.': Sending Email suceeded!'.$lineBreak;
251
- }
252
- $emailTemplate->send($emailTo, $emailToName, $emailTemplateVariables);
253
- }
254
- catch(Exception $e) {
255
- //Mage::logException($e);
256
- Mage::getSingleton('core/session')
257
- ->addError(Mage::helper('novalnet')
258
- ->__('Unable to send email'));
259
- if ($debug) {echo 'Email sending failed: '.$e->getMessage();}
260
- #Mage::throwException('Email sending failed, reason:'.$lineBreak).$e->getMessage();
261
- return false;
262
- }
263
- return true;
264
- }
265
- function sendEmailZend($emailBody){
266
- global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $mailHost, $mailPort;
267
- $emailBodyT = str_replace('<br />', PHP_EOL, $emailBody);
268
- ini_set('SMTP', $mailHost);
269
- ini_set('smtp_port', $mailPort);
270
-
271
- $mail = new Zend_Mail();
272
- $mail->setBodyText($emailBodyT);//$mail->setBodyHTML($emailBodyT);
273
- $mail->setFrom($emailFromAddr, $emailFromName);
274
- $mail->addTo($emailToAddr, $emailToName);
275
- $mail->setSubject($emailSubject);
276
-
277
- try {
278
- $mail->send();
279
- if ($debug){
280
- echo __FUNCTION__.': Sending Email suceeded!'.$lineBreak;
281
- }
282
- }
283
- catch(Exception $e) {
284
- //Mage::logException($e);
285
- Mage::getSingleton('core/session')
286
- ->addError(Mage::helper('novalnet')
287
- ->__('Unable to send email'));
288
- if ($debug) {echo 'Email sending failed: '.$e->getMessage();}
289
- //Mage::throwException('Email sending failed, reason:'.$lineBreak).$e->getMessage();
290
- return false;
291
- }
292
- return true;
293
- }
294
- function showDebug(){
295
- global $debug, $emailBody;
296
- if($debug) {
297
- echo $emailBody;
298
- }
299
- }
300
- function checkParams($_request){
301
- global $lineBreak, $hParamsRequired, $emailBody;
302
- $error = false;
303
- $emailBody = '';
304
- if(!$_request){
305
- $emailBody .= 'No params passed over!'.$lineBreak;
306
- return false;
307
- }elseif($hParamsRequired){
308
- foreach ($hParamsRequired as $k=>$v){
309
- if (!isset($_request[$k])){
310
- $error = true;
311
- $emailBody .= 'Required param ('.$k.') missing!'.$lineBreak;
312
- }
313
- }
314
- if ($error){
315
- return false;
316
- }
317
- }
318
-
319
- //Only Payment Type 'INVOICE_CREDIT' allowed; Otherwise you have to adapt the logic
320
- if (!empty($_request['payment_type']) and 'INVOICE_CREDIT' != strtoupper($_request['payment_type'])) {
321
- // Nothing to do
322
- $emailBody .= "Novalnet callback received. But payment_type != INVOICE_CREDIT (".$_request['payment_type'].")$lineBreak";
323
- return false;
324
- }
325
-
326
- if(!empty($_request['status']) and 100 != $_request['status']) {
327
- $emailBody .= 'The status codes [' . $_request['status'] . '] is not valid: Only 100 is allowed.' . "$lineBreak$lineBreak".$lineBreak;
328
- return false;
329
- }
330
- return true;
331
- }
332
- function BasicValidation($_request){
333
- global $lineBreak, $tableOrderPayment, $tableOrder, $emailBody, $debug;
334
- $orderDetails = array();
335
- $orderDetails = getOrderByIncrementId($_request['order_no']);
336
- if ($debug) {echo'Order Details:<pre>'; print_r($orderDetails);echo'</pre>';}
337
-
338
- //check amount
339
- $amount = $_request['amount'];
340
- $_amount = isset($orderDetails['base_grand_total']) ? $orderDetails['base_grand_total'] * 100 : 0;
341
-
342
- if(!$_amount || (intval("$_amount") != intval("$amount"))) {
343
- $emailBody .= "The order amount ($_amount) does not match with the request amount ($amount)$lineBreak$lineBreak";
344
- return false;
345
- }
346
-
347
- $order = getOrderByIncrementId($orderDetails['increment_id']);
348
- $paymentType = getPaymentMethod($order);
349
- if(!in_array($paymentType, array('novalnetPrepayment', 'novalnetInvoice'))) {
350
- $emailBody .= "The order payment type ($paymentType) is not Prepayment/Invoice!$lineBreak$lineBreak";
351
- return false;
352
- }
353
- return true;// == true
354
- }
355
- function setOrderStatus ($incrementId) {
356
- global $lineBreak, $createInvoice, $emailBody, $orderStatus, $orderState, $tableOrderPayment, $addSubsequentTidToDb;
357
- //echo "$orderStatus, $orderState"; exit;
358
- if ($order = getOrderByIncrementId($incrementId)) {
359
- $order->getPayment()->getMethodInstance()->setCanCapture(true);
360
-
361
- if ($createInvoice){
362
- saveInvoice($order);
363
- }
364
-
365
- if ($invoice = $order->getInvoiceCollection()->getFirstItem()) {
366
- $order->setState($orderState, true, 'Novalnet callback set state '.$orderState.' for Order-ID = ' . $incrementId); //processing: ok; complete: not ok -> would cause the error msg: 'Der Bestellzustand "complete" darf nicht manuell gesetzt werden'
367
- $order->addStatusToHistory($orderStatus, 'Novalnet callback added order status '. $orderStatus);// this line must be located after $order->setState()
368
- $emailBody .= 'Novalnet callback set state to '.$orderState.' ... ';
369
- $order->save();
370
-
371
- //Add subsequent TID to DB column last_trans_id
372
- if ($addSubsequentTidToDb){
373
-
374
- $payment = $order->getPayment();
375
- $payment->setLastTransId($_REQUEST['tid_payment'] . '. Novalnet Callback Script executed successfully. The subsequent TID: (' . $_REQUEST['tid'] . ') on ' . date('Y-m-d H:i:s') . '');
376
- $order->setPayment($payment)
377
- ->save();
378
-
379
- }
380
- } else {
381
- $emailBody .= "Novalnet Callback: No invoice for order (".$order->getId().") found";
382
- return false;
383
- }
384
- } else {
385
- $emailBody .= "Novalnet Callback: No order for Increment-ID $incrementId found.";
386
- return false;
387
- }
388
- $emailBody .= "succeeded.";
389
- return true;
390
- }
391
- function getOrderByIncrementId($incrementId) {
392
- $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
393
- return $order;
394
- }
395
- function getPaymentMethod ($order) {
396
- return $order->getPayment()->getData('method');
397
- }
398
- function checkIP($_REQUEST){
399
- global $lineBreak, $ipAllowed, $test, $emailBody;
400
- $callerIp = Mage::helper('novalnet')->getRealIpAddr();
401
- if ($test){
402
- $ipAllowed = '127.0.0.1';
403
- if ($callerIp == '::1'){//IPv6 Issue
404
- $callerIp = '127.0.0.1';
405
- }
406
- }
407
-
408
- if($ipAllowed != $callerIp) {
409
- $emailBody .= 'Unauthorised access from the IP [' . $callerIp . ']' .$lineBreak.$lineBreak;
410
- $emailBody .= 'Request Params: ' . print_r($_REQUEST, true);
411
- return false;
412
- }
413
- return true;
414
- }
415
-
416
- function saveInvoice (Mage_Sales_Model_Order $order) {
417
- global $lineBreak, $emailBody;
418
- if ($order->canInvoice()) {
419
- $invoice = $order->prepareInvoice();
420
- $invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID)
421
- ->register();
422
- Mage::getModel('core/resource_transaction')
423
- ->addObject($invoice)
424
- ->addObject($invoice->getOrder())
425
- ->save();
426
- //$invoice->sendEmail(true, '');//this would send orig. order details to customer again
427
- $emailBody .= 'Payment for order id: '.$_REQUEST['order_no']." received".$lineBreak;
428
- $emailBody .= "Invoice created".$lineBreak;
429
- }else{
430
- $emailBody .= "Invoice Already Exists !!!".$lineBreak;
431
- return false;
432
- }
433
- return true;
434
- }
435
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Novalnet Callback Script for Magento
4
+ *
5
+ * NOTICE
6
+ *
7
+ * This script is used for real time capturing of parameters passed
8
+ * from Novalnet AG after Payment processing of customers.
9
+ *
10
+ * This script is only free to the use for Merchants of Novalnet AG
11
+ *
12
+ * If you have found this script useful a small recommendation as well
13
+ * as a comment on merchant form would be greatly appreciated.
14
+ *
15
+ * Please contact sales@novalnet.de for enquiry or info
16
+ *
17
+ * ABSTRACT:
18
+ * This script is called from Novalnet, as soon as a payment is finished for
19
+ * payment methods, e.g. Prepayment, Invoice.
20
+ *
21
+ * This script is adapted for those cases where the money for Prepayment /
22
+ * Invoice has been transferred to Novalnet.
23
+ *
24
+ * An e-mail will be sent if an error occurs.
25
+ *
26
+ * If you also want to handle other payment methods you have to change the logic
27
+ * accordingly.
28
+ *
29
+ *
30
+ * @category Novalnet
31
+ * @package Novalnet
32
+ * @version 1.0
33
+ * @copyright Copyright (c) 2012 Novalnet AG. (http://www.novalnet.de)
34
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
35
+ * @notice 1. This script must be placed in basic Magento folder
36
+ * to avoid rewrite rules (mod_rewrite)
37
+ * 2. You have to adapt the value of all the variables
38
+ * commented with 'adapt ...'
39
+ * 3. Set $test/$debug to false for live system
40
+ */
41
+
42
+ require_once 'app/Mage.php';
43
+ $storeId = Mage_Core_Model_App::ADMIN_STORE_ID;
44
+ Mage::app()->setCurrentStore($storeId);
45
+ Mage::app('admin');
46
+ umask(0);
47
+ date_default_timezone_set('Europe/Berlin');
48
+
49
+ //Variable Settings
50
+ $logFile = 'novalnet_callback_script_'.date('Y-m-d').'.log';
51
+ $log = false;//false|true; adapt
52
+ $debug = false; //false|true; adapt: set to false for go-live
53
+ $test = false; //false|true; adapt: set to false for go-live
54
+ $createInvoice = true; //false|true; adapt
55
+ $useZendEmail = true;//false|true; adapt
56
+ $lineBreak = empty($_SERVER['HTTP_HOST'])? PHP_EOL: '<br />';
57
+ $addSubsequentTidToDb = true;//whether to add the new tid to db; adapt if necessary
58
+
59
+ $aPaymentTypes = array('INVOICE_CREDIT');//adapt here if needed; Options are:
60
+ /*
61
+ COLLECTION_REVERSAL_AT
62
+ COLLECTION_REVERSAL_DE
63
+ CREDITCARD
64
+ CREDITCARD_BOOKBACK
65
+ CREDITCARD_CHARGEBACK
66
+ CREDITCARD_REPRESENTMENT
67
+ CREDIT_ENTRY_AT
68
+ CREDIT_ENTRY_CREDITCARD
69
+ CREDIT_ENTRY_DE
70
+ DEBT_COLLECTION_AT
71
+ DEBT_COLLECTION_CREDITCARD
72
+ DEBT_COLLECTION_DE
73
+ DIRECT_DEBIT_AT
74
+ DIRECT_DEBIT_DE
75
+ DIRECT_DEBIT_ES
76
+ DIRECT_DEBIT_SEPA
77
+ INVOICE
78
+ INVOICE_CREDIT
79
+ INVOICE_START
80
+ NC_CONVERT
81
+ NC_CREDIT
82
+ NC_DEBIT
83
+ NC_ENCASH
84
+ NC_PAYOUT
85
+ NOVALCARD
86
+ NOVALTEL_DE
87
+ NOVALTEL_DE_CB_REVERSAL
88
+ NOVALTEL_DE_CHARGEBACK
89
+ NOVALTEL_DE_COLLECTION
90
+ ONLINE_TRANSFER
91
+ PAYPAL
92
+ PAYSAFECARD
93
+ REFUND_BY_BANK_TRANSFER_EU
94
+ RETURN_DEBIT_AT
95
+ RETURN_DEBIT_DE
96
+ REVERSAL
97
+ WAP_CREDITCARD
98
+ WAP_DIRECT_DEBIT_AT
99
+ WAP_DIRECT_DEBIT_DE
100
+ */
101
+
102
+ // Order State/Status Settings
103
+ /*5. Standard Types of Status/States:
104
+ 1. pending
105
+ 2. processing
106
+ 3. holded
107
+ 4. complete
108
+ 5. canceled
109
+ */
110
+ $orderState = Mage_Sales_Model_Order::STATE_PROCESSING; //Note: Mage_Sales_Model_Order::STATE_COMPLETE => NOK, Refer to function setOrderStatus()
111
+ $orderStatus = Mage_Sales_Model_Order::STATE_COMPLETE;//adapt for your need
112
+ $orderComment = $lineBreak.date('d.m.Y H:i:s').': Novalnet callback script changed order state to '.$orderState.' and order status to '. $orderStatus;
113
+
114
+ //Security Setting; only this IP is allowed for call back script
115
+ $ipAllowed = '195.143.189.210'; //Novalnet IP, is a fixed value, DO NOT CHANGE!!!!!
116
+
117
+ //Reporting Email Addresses Settings
118
+ $shopInfo = 'Magento '.$lineBreak; //adapt for your need
119
+ $mailHost = Mage::getStoreConfig('system/smtp/host');//'mail.novalnet.de';//adapt or Mage::getStoreConfig('system/smtp/host')
120
+ $mailPort = Mage::getStoreConfig('system/smtp/port');//25;//adapt or Mage::getStoreConfig('system/smtp/port')
121
+ $emailFromAddr = 'test@novalnet.de';//sender email addr., adapt
122
+ $emailToAddr = 'test@novalnet.de';//recipient email addr., adapt
123
+ $emailSubject = 'Novalnet Callback Script Access Report'; //adapt if necessary;
124
+ $emailBody = 'Novalnet Callback Script Access Report.';//Email text, adapt
125
+ $emailFromName = "Magento Onlineshop"; // Sender name, adapt
126
+ $emailToName = "test@novalnet.de"; // Recipient name, adapt
127
+
128
+ //Parameters Settings
129
+ $hParamsRequired = array(
130
+ 'vendor_id' => '',
131
+ 'tid' => '',
132
+ 'payment_type' => '',
133
+ 'status' => '',
134
+ 'amount' => '',
135
+ 'order_no' => '');
136
+
137
+ if (in_array('INVOICE_CREDIT', $aPaymentTypes)){
138
+ $hParamsRequired['tid_payment'] = '';
139
+ }
140
+
141
+ $hParamsTest = array(
142
+ 'vendor_id' => '4',
143
+ 'status' => '100',
144
+ 'amount' => '15500',//must be avail. in shop database; 850 = 8.50
145
+ 'payment_type' => 'INVOICE_CREDIT',
146
+ 'tid' => '12345678901234567',//subsequent tid, from Novalnet backend; can be a fake for test
147
+ 'order_no' => '200000008', // Order number
148
+ );
149
+
150
+ if (in_array('INVOICE_CREDIT', $aPaymentTypes)){
151
+ $hParamsTest['tid_payment'] = '12497500001209615'; //orig. tid; must be avail. in shop database; adapt for test;
152
+ }
153
+
154
+ //Test Data Settings
155
+ if ($test){
156
+ $_REQUEST = $hParamsTest;
157
+ $emailFromName = "Novalnet test"; // Sender name, adapt
158
+ $emailToName = "Novalnet test"; // Recipient name, adapt
159
+ $emailFromAddr = 'test@novalnet.de';//adapt
160
+ $emailToAddr = 'test@novalnet.de';//adapt
161
+ $emailSubject = $emailSubject.' - TEST';//adapt
162
+ }
163
+
164
+ // ################### Main Prog. ##########################
165
+ try {
166
+ //Check Params
167
+ if (checkIP($_REQUEST)){
168
+ if (checkPaymentTypeAndStatus($_REQUEST['payment_type'], $_REQUEST['status'])){
169
+ if (checkParams($_REQUEST)){
170
+ //Get Order ID and Set New Order Status
171
+ if ($ordercheckstatus = BasicValidation($_REQUEST)){
172
+ setOrderStatus($_REQUEST['order_no']);//and send error mails if any
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ if ($log) {
179
+ Mage::log('Ein Haendlerskript-Aufruf fand statt mit StoreId '.$storeId." und Parametern:$lineBreak".print_r($_POST, true), null, $logFile);
180
+ //exit;
181
+ }
182
+
183
+ if (!$emailBody){
184
+ $emailBody .= 'Novalnet Callback Script called for StoreId '.$storeId." and Parameters: ".print_r($_POST, true).$lineBreak;
185
+ $emailBody .= 'Novalnet callback succ. '.$lineBreak;
186
+ $emailBody .= 'Params: '.print_r($_REQUEST, true).$lineBreak;
187
+ }
188
+ }catch(Exception $e){
189
+ //Mage::logException($e);
190
+ $emailBody .= "Exception catched: $lineBreak\$e:".$e->getMessage().$lineBreak;
191
+ }
192
+
193
+ if ($emailBody){
194
+ if (!sendMail($emailBody)){
195
+ if ($debug){
196
+ echo "Mailing failed!".$lineBreak;
197
+ echo "This mail text should be sent: ".$lineBreak;
198
+ echo $emailBody;
199
+ }
200
+ }
201
+ }
202
+
203
+ // ############## Sub Routines #####################
204
+ function sendMail($emailBody){
205
+ global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $useZendEmail;
206
+ if ($useZendEmail){
207
+ if (!sendEmailZend($emailBody)){
208
+ return false;
209
+ }
210
+ }else{
211
+ if (!sendEmailMagento($emailBody)){
212
+ return false;
213
+ }
214
+ }
215
+
216
+ if ($debug){
217
+ echo 'This text has been sent:'.$lineBreak.$emailBody;
218
+ }
219
+ return true;
220
+ }
221
+ function sendEmailMagento($emailBody){
222
+ global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $mailHost, $mailPort;
223
+ $emailBodyT = str_replace('<br />', PHP_EOL, $emailBody);
224
+
225
+ /*
226
+ * Loads the html file named 'novalnet_callback_email.html' from
227
+ * E.G: app/locale/en_US/template/email/novalnet/novalnet_callback_email.html
228
+ * OR: app/locale/YourLanguage/template/email/novalnet/novalnet_callback_email.html
229
+ * Adapt the corresponding template if necessary
230
+ */
231
+ $emailTemplate = Mage::getModel('core/email_template')
232
+ ->loadDefault('novalnet_callback_email_template');
233
+ //echo 'hh: <pre>'; print_r($emailTemplate); echo '<hr />'; //exit;
234
+
235
+ //Define some variables to assign to template
236
+ $emailTemplateVariables = array();
237
+ $emailTemplateVariables['fromName'] = $emailFromName;
238
+ $emailTemplateVariables['fromEmail'] = $emailFromAddr;
239
+ $emailTemplateVariables['toName'] = $emailToName;
240
+ $emailTemplateVariables['toEmail'] = $emailToAddr;
241
+ $emailTemplateVariables['subject'] = $emailSubject;
242
+ $emailTemplateVariables['body'] = $emailBodyT;
243
+ $processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables, true);
244
+ //echo 'hh: <pre>'; print_r($processedTemplate); echo '<hr />'; exit;
245
+
246
+ //Send Email
247
+ ini_set('SMTP', $mailHost);
248
+ ini_set('smtp_port', $mailPort);
249
+
250
+ try {
251
+ if ($debug){
252
+ echo __FUNCTION__.': Sending Email suceeded!'.$lineBreak;
253
+ }
254
+ $emailTemplate->send($emailTo, $emailToName, $emailTemplateVariables);
255
+ }
256
+ catch(Exception $e) {
257
+ //Mage::logException($e);
258
+ Mage::getSingleton('core/session')
259
+ ->addError(Mage::helper('novalnet')
260
+ ->__('Unable to send email'));
261
+ if ($debug) {echo 'Email sending failed: '.$e->getMessage();}
262
+ #Mage::throwException('Email sending failed, reason:'.$lineBreak).$e->getMessage();
263
+ return false;
264
+ }
265
+ return true;
266
+ }
267
+ function sendEmailZend($emailBody){
268
+ global $lineBreak, $debug, $test, $emailFromAddr, $emailToAddr, $emailFromName, $emailToName, $emailSubject, $storeId, $shopInfo, $mailHost, $mailPort;
269
+ $emailBodyT = str_replace('<br />', PHP_EOL, $emailBody);
270
+ ini_set('SMTP', $mailHost);
271
+ ini_set('smtp_port', $mailPort);
272
+
273
+ $mail = new Zend_Mail();
274
+ $mail->setBodyText($emailBodyT);//$mail->setBodyHTML($emailBodyT);
275
+ $mail->setFrom($emailFromAddr, $emailFromName);
276
+ $mail->addTo($emailToAddr, $emailToName);
277
+ $mail->setSubject($emailSubject);
278
+
279
+ try {
280
+ $mail->send();
281
+ if ($debug){
282
+ echo __FUNCTION__.': Sending Email suceeded!'.$lineBreak;
283
+ }
284
+ }
285
+ catch(Exception $e) {
286
+ //Mage::logException($e);
287
+ Mage::getSingleton('core/session')
288
+ ->addError(Mage::helper('novalnet')
289
+ ->__('Unable to send email'));
290
+ if ($debug) {echo 'Email sending failed: '.$e->getMessage();}
291
+ //Mage::throwException('Email sending failed, reason:'.$lineBreak).$e->getMessage();
292
+ return false;
293
+ }
294
+ return true;
295
+ }
296
+ function showDebug(){
297
+ global $debug, $emailBody;
298
+ if($debug) {
299
+ echo $emailBody;
300
+ }
301
+ }
302
+ function checkPaymentTypeAndStatus($paymentType, $status){
303
+ global $emailBody, $aPaymentTypes;
304
+ if (empty($paymentType)){
305
+ $emailBody .= "Novalnet callback received. But Param payment_type missing $lineBreak";
306
+ return false;
307
+ }
308
+
309
+ if (!in_array($paymentType, $aPaymentTypes)){
310
+ $emailBody .= "Novalnet callback received. But passed payment_type ($paymentType) not defined in \$aPaymentTypes: (".implode('; ', $aPaymentTypes).")$lineBreak";
311
+ return false;
312
+ }
313
+
314
+ if(empty($status) or 100 != $status) {
315
+ $emailBody .= 'The status codes [' . $_request['status'] . '] is not valid: Only 100 is allowed.' . "$lineBreak$lineBreak".$lineBreak;
316
+ return false;
317
+ }
318
+ return true;
319
+ }
320
+ function checkParams($_request){
321
+ global $lineBreak, $hParamsRequired, $emailBody;
322
+ $error = false;
323
+ $emailBody = '';
324
+
325
+ if(!$_request){
326
+ $emailBody .= 'No params passed over!'.$lineBreak;
327
+ return false;
328
+ }elseif($hParamsRequired){
329
+ foreach ($hParamsRequired as $k=>$v){
330
+ if (!isset($_request[$k])){
331
+ $error = true;
332
+ $emailBody .= 'Required param ('.$k.') missing!'.$lineBreak;
333
+ }
334
+ }
335
+ if ($error){
336
+ return false;
337
+ }
338
+ }
339
+ return true;
340
+ }
341
+ function BasicValidation($_request){
342
+ global $lineBreak, $tableOrderPayment, $tableOrder, $emailBody, $debug;
343
+ $orderDetails = array();
344
+ $orderDetails = getOrderByIncrementId($_request['order_no']);
345
+ if ($debug) {echo'Order Details:<pre>'; print_r($orderDetails);echo'</pre>';}
346
+
347
+ //check amount
348
+ $amount = $_request['amount'];
349
+ $_amount = isset($orderDetails['base_grand_total']) ? $orderDetails['base_grand_total'] * 100 : 0;
350
+
351
+ if(!$_amount || (intval("$_amount") != intval("$amount"))) {
352
+ $emailBody .= "The order amount ($_amount) does not match with the request amount ($amount)$lineBreak$lineBreak";
353
+ return false;
354
+ }
355
+
356
+ $order = getOrderByIncrementId($orderDetails['increment_id']);
357
+ $paymentType = getPaymentMethod($order);
358
+ if(!in_array($paymentType, array('novalnetPrepayment', 'novalnetInvoice'))) {
359
+ $emailBody .= "The order payment type ($paymentType) is not Prepayment/Invoice!$lineBreak$lineBreak";
360
+ return false;
361
+ }
362
+ return true;// == true
363
+ }
364
+ function setOrderStatus ($incrementId) {
365
+ global $lineBreak, $createInvoice, $emailBody, $orderStatus, $orderState, $tableOrderPayment, $addSubsequentTidToDb;
366
+ //echo "$orderStatus, $orderState"; exit;
367
+ if ($order = getOrderByIncrementId($incrementId)) {
368
+ $order->getPayment()->getMethodInstance()->setCanCapture(true);
369
+
370
+ if ($createInvoice){
371
+ saveInvoice($order);
372
+ }
373
+
374
+ if ($invoice = $order->getInvoiceCollection()->getFirstItem()) {
375
+ $order->setState($orderState, true, 'Novalnet callback set state '.$orderState.' for Order-ID = ' . $incrementId); //processing: ok; complete: not ok -> would cause the error msg: 'Der Bestellzustand "complete" darf nicht manuell gesetzt werden'
376
+ $order->addStatusToHistory($orderStatus, 'Novalnet callback added order status '. $orderStatus);// this line must be located after $order->setState()
377
+ $emailBody .= 'Novalnet callback set state to '.$orderState.' ... ';
378
+ $order->save();
379
+
380
+ //Add subsequent TID to DB column last_trans_id
381
+ if ($addSubsequentTidToDb){
382
+
383
+ $payment = $order->getPayment();
384
+ $payment->setLastTransId($_REQUEST['tid_payment'] . '. Novalnet Callback Script executed successfully. The subsequent TID: (' . $_REQUEST['tid'] . ') on ' . date('Y-m-d H:i:s') . '');
385
+ $order->setPayment($payment)
386
+ ->save();
387
+
388
+ }
389
+ } else {
390
+ $emailBody .= "Novalnet Callback: No invoice for order (".$order->getId().") found";
391
+ return false;
392
+ }
393
+ } else {
394
+ $emailBody .= "Novalnet Callback: No order for Increment-ID $incrementId found.";
395
+ return false;
396
+ }
397
+ $emailBody .= "succeeded.";
398
+ return true;
399
+ }
400
+ function getOrderByIncrementId($incrementId) {
401
+ $order = Mage::getModel('sales/order')->loadByIncrementId($incrementId);
402
+ return $order;
403
+ }
404
+ function getPaymentMethod ($order) {
405
+ return $order->getPayment()->getData('method');
406
+ }
407
+ function checkIP($_REQUEST){
408
+ global $lineBreak, $ipAllowed, $test, $emailBody;
409
+ $callerIp = Mage::helper('novalnet')->getRealIpAddr();
410
+ if ($test){
411
+ $ipAllowed = '127.0.0.1';
412
+ if ($callerIp == '::1'){//IPv6 Issue
413
+ $callerIp = '127.0.0.1';
414
+ }
415
+ }
416
+
417
+ if($ipAllowed != $callerIp) {
418
+ $emailBody .= 'Unauthorised access from the IP [' . $callerIp . ']' .$lineBreak.$lineBreak;
419
+ $emailBody .= 'Request Params: ' . print_r($_REQUEST, true);
420
+ return false;
421
+ }
422
+ return true;
423
+ }
424
+
425
+ function saveInvoice (Mage_Sales_Model_Order $order) {
426
+ global $lineBreak, $emailBody;
427
+ if ($order->canInvoice()) {
428
+ $invoice = $order->prepareInvoice();
429
+ $invoice->setState(Mage_Sales_Model_Order_Invoice::STATE_PAID)
430
+ ->register();
431
+ Mage::getModel('core/resource_transaction')
432
+ ->addObject($invoice)
433
+ ->addObject($invoice->getOrder())
434
+ ->save();
435
+ //$invoice->sendEmail(true, '');//this would send orig. order details to customer again
436
+ $emailBody .= 'Novalnet Callback Script executed successfully'.$lineBreak;
437
+ $emailBody .= 'Payment for order id: '.$_REQUEST['order_no']." received".$lineBreak;
438
+ $emailBody .= 'New TID:'.$_REQUEST['tid'].$lineBreak;
439
+ $emailBody .= "Invoice created".$lineBreak;
440
+ echo $emailBody;
441
+ }else{
442
+ $emailBody .= "Invoice Already Exists !!!".$lineBreak;
443
+ return false;
444
+ }
445
+ return true;
446
+ }
447
+ ?>
lib/Varien/Data/Form/Element/Linkpnso.php DELETED
@@ -1,117 +0,0 @@
1
- <?php
2
- /**
3
- * Magento
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is bundled with this package in the file LICENSE.txt.
9
- * It is also available through the world-wide-web at this URL:
10
- * http://opensource.org/licenses/osl-3.0.php
11
- * If you did not receive a copy of the license and are unable to
12
- * obtain it through the world-wide-web, please send an email
13
- * to license@magentocommerce.com so we can send you a copy immediately.
14
- *
15
- * @category Paymentnetwork
16
- * @package Paymentnetwork_Sofortueberweisung
17
- * @copyright Copyright (c) 2008 [m]zentrale GbR, 2010 Payment Network AG
18
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
19
- * @version $Id: Linkpnso.php 199 2010-06-10 14:56:03Z thoma $
20
- */
21
-
22
- class Varien_Data_Form_Element_Linkpnso extends Varien_Data_Form_Element_Abstract
23
- {
24
- var $pnSu;
25
- public function __construct($attributes=array())
26
- {
27
- parent::__construct($attributes);
28
- $this->setType('label');
29
- $this->pnSu = Mage::helper('sofortueberweisung');
30
- $this->pnSu->classSofortueberweisung();
31
- }
32
-
33
- public function getElementHtml()
34
- {
35
-
36
- #echo $this->getConfigDataWeb('base_url');
37
- #echo "<pre>";
38
- #print_r($params = $this->getParams()->toArray());
39
- #echo "</pre>";
40
-
41
- $params = $this->getParams()->toArray();
42
- foreach($params AS $key => $val){
43
- switch($key){
44
- case 'backlink':
45
- $backurl = Mage::getSingleton('adminhtml/url')->getUrl($val);
46
- $params[$key] = $backurl;
47
- break;
48
- case 'projectssetting_interface_success_link':
49
- $params[$key] = $this->getConfigDataWeb('base_url').$val;
50
- break;
51
- case 'projectsnotification_http_url':
52
- $params[$key] = $this->getConfigDataWeb('base_url').$val;
53
- break;
54
- case 'projectssetting_interface_cancel_link':
55
- $params[$key] = $this->getConfigDataWeb('base_url').$val;
56
- break;
57
- case 'projectssetting_interface_timeout_link':
58
- $params[$key] = $this->getConfigDataWeb('base_url').$val;
59
- break;
60
- case 'projectssetting_project_password':
61
- $params[$key] = $this->pnSu->generateRandomValue();
62
- //store pwd in session so we can save it later
63
- Mage::getSingleton('adminhtml/session')->setData('projectssetting_project_password', $params[$key]);
64
- break;
65
- case 'project_notification_password':
66
- $params[$key] = $this->pnSu->generateRandomValue();
67
- Mage::getSingleton('adminhtml/session')->setData('project_notification_password', $params[$key]);
68
- break;
69
- case 'projectsnotification_email_email':
70
- $params[$key] = Mage::getStoreConfig('trans_email/ident_general/email');
71
- break;
72
- case 'project_name':
73
- $params[$key] = Mage::getStoreConfig('general/store_information/name');
74
- break;
75
- default:
76
- $params[$key] = $val;
77
- break;
78
- }
79
- }
80
- $queryString = http_build_query($params);
81
-
82
- $html = $this->getBold() ? '<strong>' : '';
83
- $html.= sprintf($this->getValue(),$this->getConfigDataPayment('url_new').'?'.$queryString);
84
- $html.= $this->getBold() ? '</strong>' : '';
85
- $html.= $this->getAfterElementHtml();
86
- return $html;
87
- }
88
-
89
- public function getConfigDataPayment($field, $storeId = null)
90
- {
91
- if (null === $storeId) {
92
- $storeId = $this->getStore();
93
- }
94
- $path = 'payment/sofortueberweisung/'.$field;
95
- return Mage::getStoreConfig($path, $storeId);
96
- }
97
-
98
- public function getConfigDataWeb($field, $storeId = null)
99
- {
100
- if (null === $storeId) {
101
- $storeId = $this->getStore();
102
- }
103
- $path = 'web/unsecure/'.$field;
104
- return Mage::getStoreConfig($path, $storeId);
105
- }
106
-
107
- public function getParams()
108
- {
109
-
110
- $_types = Mage::getConfig()->getNode('global/params_pnso/types')->asArray();
111
- $params = Mage::getModel('sofortueberweisung/params');
112
- foreach ($_types as $data) {
113
- $params->setData($data["param"],$data["value"]);
114
- }
115
- return $params;
116
- }
117
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.xml CHANGED
@@ -1,23 +1,23 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Novalnet</name>
4
- <version>1.3.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Novalnet AG ist ein deutsches EPayment - Unternehmen, bietet alle relevanten Zahlungsarten weltweit. / Novalnet is a German based payment service provider, which offers all the available payments and solutions worldwide.</summary>
10
  <description>The NOVALNET AG is an essential component of e-Payment platform that facilitates your company to process all type of payments. As one of the leading company in Online-Payment the NOVALNET AG provides its customers an individual, technically qualified secured Payment system and also the best possible support throughout. NOVALNET AG is not only an e-Payment provider but also we offer our Merchants an optimal strategic solution for easy payment processing which is pocket-friendly for our customer.</description>
11
- <notes>1.3.8 is now loaded with Iframe functionality&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
12
- 1.3 database table name is now fetched from system.1.2.9 the same as 1.2.7 only because Magento upload did not work correctly.1.2.8 the same as 1.2.7 only because Magento upload did not work correctly.1.2.7Bugfix:FC;r ELV DE, ELV AT und CC wurde die W&amp;amp;amp;amp;amp;amp;amp;#xE4;hrung fix als &amp;amp;amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;amp;amp;apos; &amp;amp;amp;amp;amp;amp;amp;#xFC;bergeben.&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
13
- &amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
14
- The parameter currency was passed over as fixed value &amp;amp;amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;amp;amp;apos; for payment modules &amp;amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit German&amp;amp;amp;amp;amp;amp;amp;amp;apos;, &amp;amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit Austria&amp;amp;amp;amp;amp;amp;amp;amp;apos; and &amp;amp;amp;amp;amp;amp;amp;amp;apos;Credir Card&amp;amp;amp;amp;amp;amp;amp;amp;apos;.Allgemeine Bemerkung:Die Cache-Ordner var/cache und var/session m&amp;amp;amp;amp;amp;amp;amp;#xFC;ssen wie immer nach Aktualisierungen geleert werden.&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
15
- &amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
16
  Notice: the cache folders var/cache and var/session must be emptied after updates.</notes>
17
  <authors><author><name>Dixon Rajdaniel</name><user>Novalnet</user><email>dr@novalnet.de</email></author></authors>
18
- <date>2012-05-28</date>
19
- <time>11:00:13</time>
20
- <contents><target name="magecommunity"><dir name="Mage"><dir><dir name="Novalnet"><dir name="Block"><dir name="Cc"><file name="Form.php" hash="67b6fad8502b7620892f22bbf959f26f"/><file name="Info.php" hash="c24e83809550bef8b52db11e447b0d2b"/></dir><dir name="Elvaustria"><file name="Form.php" hash="bcad4b791f589da7a0b5b02e8984d722"/><file name="Info.php" hash="86885be407cf8b1919e0a4464c582daa"/></dir><dir name="Elvgerman"><file name="Form.php" hash="8326c73336b9a5a99886caa2d2b0f985"/><file name="Info.php" hash="5250c4450dd35de0b6b027ce36f31a35"/></dir><dir name="Invoice"><file name="Form.php" hash="21f5ee0ecd50cfc66219265089d92aa4"/><file name="Info.php" hash="ced5e0db4dd89743e338af2c570aae70"/></dir><dir name="Pci"><file name="Form.php" hash="495df856c7fea65106c3357a6e1ae3b5"/><file name="Info.php" hash="381d5d176cd6ff9675120f3885b9070e"/><file name="Redirect.php" hash="24070c631f417152cec3bc8c736b15e0"/></dir><dir name="Phonepayment"><file name="Form.php" hash="0a378f5d2501e3ee737405020b54e930"/><file name="Info.php" hash="ba9a8211a8009c3d2fd1b0a99614abee"/></dir><dir name="Prepayment"><file name="Form.php" hash="f228a0ef5ee5da05a82936d2935d7645"/><file name="Info.php" hash="64bd855914a0b25e22fab2c0f63939b4"/></dir><dir name="Secure"><file name="Form.php" hash="4701c66723891b9968cfa95ceab1ca1a"/><file name="Info.php" hash="71f1804de3fa4c659cfacfd757d176d5"/><file name="Redirect.php" hash="da3ae9034328b652deea8f3767db82b5"/></dir></dir><dir name="Helper"><file name="Data.php" hash="6fe7c1ca7fd2ef5dc8c331082ddc3d51"/></dir><dir name="Model"><dir name="Mysql4"><file name="Setup.php" hash="39edfcc97c0c2b7c182795976c85e2d6"/></dir><dir name="Novalnet"><file name="Request.php" hash="c0234e4b26de88337c559f1bb1aacaba"/><file name="Result.php" hash="a8e0b204eedf4b9db7bbf93341e71f0c"/><dir name="Source"><file name="Callbacktypes.php" hash="e4abd034b15f40e934785ce0c1ade5d5"/><file name="Cctype.php" hash="621d38d79e55fd14e3c7e93bb3fee6bb"/></dir></dir><file name="NovalnetCc.php" hash="a68f1f3e7f73e4e0e7c498e7590a0ebc"/><file name="NovalnetCcpci.php" hash="fd867df4844adab5f46933097ceca25d"/><file name="NovalnetElvatpci.php" hash="986a6b9090e348c5cabe87250516708c"/><file name="NovalnetElvaustria.php" hash="94197d49701633a1c5a662ece6a9ab93"/><file name="NovalnetElvdepci.php" hash="16f96fca0b9ab6203d4403ddba753028"/><file name="NovalnetElvgerman.php" hash="3a96544c02eef3b42e3bacace103bb83"/><file name="NovalnetInvoice.php" hash="33a4c390c67bb2b41074912d711824c1"/><file name="NovalnetPciAbstract.php" hash="16d79b566536311a88a1f6408396e1a7"/><file name="NovalnetPhonepayment.php" hash="1c33641f7ce92101f4271bb7c785b1d9"/><file name="NovalnetPrepayment.php" hash="b97d10e22ff4c9fdd1882eb779535c06"/><file name="NovalnetSecure.php" hash="ccdb0f9c9aae348fb337026ddfab3769"/><file name="Observer.php" hash="0b582ad8bb5235d04c7f626b5d6b8b22"/></dir><dir name="controllers"><file name="InvoiceController.php" hash="3750afeae3462047dce2284226093aaf"/><file name="PciController.php" hash="4acaa9ab410bc0a6c4ab42ee23c3f2a1"/><file name="SecureController.php" hash="5104b240ae9ccb066b2b83671a1e587b"/></dir><dir name="etc"><file name="config.xml" hash="f67b20dbf6c9b01a5666ac5cd6c6b6e0"/><file name="system.xml" hash="3b1e6e62364a507e6646b1e7c3266041"/></dir><dir name="sql"><dir name="novalnet_setup"><file name="mysql4-install-1.0.0.php" hash="32990c8b75f5da216c8751d0644e4680"/></dir></dir></dir></dir></dir><dir name="Novalnet"><dir><dir name="NovalnetPaypal"><dir name="Block"><dir name="Form"><file name="Novalnetpaypal.php" hash="de7ea13bc68dede626abb236a47f4953"/></dir><dir name="Info"><file name="Novalnetpaypal.php" hash="cbf1188d302a22aa9aa07f014a7f0714"/></dir><file name="Infobox.php" hash="73e6c1d32c25651fcaa903c62881589a"/><file name="Novalnetpaypal.php" hash="68493bb80d80b2364e1d898f91224233"/><file name="Novalnetpaypalerrornotice.php" hash="f6fca10039b3d640b5580bcd02f2fefe"/><file name="Novalnetpaypalnotice.php" hash="5202b936e310cc19d7fccc9ada75079a"/></dir><dir name="Helper"><file name="Data.php" hash="8e7e13e72a0295189736978c5399d773"/></dir><dir name="Model"><dir name="Convert"><file name="Order.php" hash="4282bb92fd050f2ca2331d94ac7a4849"/><file name="Quote.php" hash="cc53aa00e0a463f6235c56e6a6e36028"/></dir><dir name="Mysql4"><dir name="NovalnetPaypal"><file name="Collection.php" hash="9b50213a65358b67df8086208d2ed372"/></dir><file name="Novalnetpaypal.php" hash="b2cffababa7331c0b4aa03e140b3b8ce"/><file name="Setup.php" hash="bf62e4eafd28dbbcd3f82007de645fd2"/></dir><file name="Novalnetpaypal.php" hash="0461c7bdc29bd253773c64d2e288aafd"/></dir><dir name="controllers"><file name="NovalnetpaypalController.php" hash="a8f6011e90dd5cc15a5ddb9f79b9638f"/></dir><dir name="etc"><file name="config.xml" hash="867db3f7e1c6062b79e83dd65f980136"/><file name="system.xml" hash="e23b76192fbc1d923f851b48e3b5afbf"/></dir><dir name="sql"><dir name="novalnetpaypal_setup"><file name="mysql4-install-1.0.0.php" hash="289f0b2b374ac83c8c5b4f58340e62aa"/></dir></dir></dir><dir name="Sofortueberweisung"><dir name="Block"><dir name="Adminhtml"><dir name="Sofortueberweisung"><dir name="Edit"><file name="Form.php" hash="6a25298a6b800c16b7952a34ad9cf5fc"/><dir name="Tab"><file name="Form.php" hash="f6b81ae8f12bf6e385f66c5f5060e5b3"/></dir><file name="Tabs.php" hash="e8598d847ec9af0f557b3db64ec35c95"/></dir><file name="Edit.php" hash="f1b148191995aba58a7f53464de2de2d"/><file name="Grid.php" hash="84eec377296c9331911989925fa7e9f4"/></dir><file name="Sofortueberweisung.php" hash="dcbb52956c22986c9f331584ae6bc836"/></dir><dir name="Form"><file name="Sofortueberweisung.php" hash="7b0d155b2970dc76197fab1da7e36263"/></dir><dir name="Info"><file name="Sofortueberweisung.php" hash="02aa647deb2f7fecad0af7ca3fae956c"/></dir><file name="Infobox.php" hash="f870e8acff837b0af74990addfd0172e"/><file name="Sofortueberweisung.php" hash="0e834559f3001a2ba4a1c4d944029cc4"/><file name="Sofortueberweisungerrornotice.php" hash="a7365690ad51ab880fc27ec23128feaa"/><file name="Sofortueberweisungnotice.php" hash="81c0a55eac2f1c730c00a5b7e662a993"/></dir><dir name="Helper"><file name="Data.php" hash="57df7bd9fcd4cb3696d7efd051208cec"/></dir><dir name="Model"><dir name="Convert"><file name="Order.php" hash="a918b59093e0689b4a53b2b05d995ddf"/><file name="Quote.php" hash="5f81c5a7758346c3129e338247bd3bec"/></dir><dir name="Data"><dir name="Form"><dir name="Element"><file name="Link.php" hash="cae04aa06b48555f5798f81e71975259"/></dir></dir></dir><dir name="Mysql4"><file name="Setup.php" hash="563fbfc017ce9ffab25e3e749fbf3b80"/><dir name="Sofortueberweisung"><file name="Collection.php" hash="da19275e5c48467101e221fd48f58c50"/></dir><file name="Sofortueberweisung.php" hash="640114f57c27b9a1caeffaf6c4d041ef"/></dir><file name="Params.php" hash="8ce745b20319b74445a58509d11f2461"/><file name="Paycode.php" hash="2dc1bd1e9542173a41463cd810d93b26"/><file name="Sofortueberweisung.php" hash="c3cabd5e8ef0fad7a4789004695e8563"/><file name="Status.php" hash="a473406914a3094e02a325a34851c7b5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SofortueberweisungController.php" hash="41cea197ffa498ec5becba85116c365a"/></dir><file name="PcsofortueberweisungController.php" hash="8cb060276970aed30066303a6e335a5a"/><file name="SofortueberweisungController.php" hash="e49924e6139d4e537ce60cef8eb3fd54"/></dir><dir name="etc"><file name="config.xml" hash="08dc891963223d3947b61e5d6fd34c11"/><file name="system.xml" hash="c00e181a55b15a0e220ee058bd1b2bc1"/></dir><dir name="sql"><dir name="sofortueberweisung_setup"><file name="mysql4-install-1.0.0.php" hash="941f70d07d3e2342e98de594162453d5"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir><dir name="cc"><file name="form.phtml" hash="3a98902a7b8cee94ca0aa58ea3965c4f"/><file name="info.phtml" hash="a4ee97dfdb336994801a5e7fffb7d498"/></dir><dir name="elvaustria"><file name="form.phtml" hash="a55abf37fd664a9c30ff2f3cd6dadf14"/><file name="info.phtml" hash="c865f7bfcbdbdc3778494d06c2160db7"/></dir><dir name="elvgerman"><file name="form.phtml" hash="03c2b2b407fb5a812b825fce2e5bb122"/><file name="info.phtml" hash="c865f7bfcbdbdc3778494d06c2160db7"/></dir><dir name="invoice"><file name="form.phtml" hash="2648529fd204a27dc4f7f25fa2cd5fb2"/><file name="info.phtml" hash="cfc62c76287fb274401056d35466ba4e"/></dir><dir name="pci"><file name="form.phtml" hash="1ebc26e915b4e5240ac29b3cc956069f"/><file name="info.phtml" hash="31a1a88d15a6041a0145496cd6e239a1"/></dir><dir name="phonepayment"><file name="form.phtml" hash="6c9886f70020bdf314ff82f6b9b10332"/><file name="info.phtml" hash="ce4edf100d22b6a262670a62044b3ab5"/></dir><dir name="prepayment"><file name="form.phtml" hash="33e833624cf5f31f9ebadd333d081a9f"/><file name="info.phtml" hash="ce4edf100d22b6a262670a62044b3ab5"/></dir><dir name="secure"><file name="form.phtml" hash="924c965679f40ae06329869aa385f4d0"/><file name="info.phtml" hash="8a932fe5a1bfe86d03139e224d7d5682"/></dir></dir></dir><dir name="novalnetpaypal"><dir><dir name="form"><file name="novalnetpaypal.phtml" hash="00c5cede3befa08ab40cd474c73c3169"/></dir><dir name="info"><file name="novalnetpaypal.phtml" hash="823248576e75f4401064180183a61ebd"/><dir name="pdf"><file name="novalnetpaypal.phtml" hash="46f9a7c6c094213820e6760e9ec00501"/></dir></dir></dir></dir><dir name="sofortueberweisung"><dir><dir name="form"><file name="sofortueberweisung.phtml" hash="a8698665bb3f30cc713c39f8be56f643"/></dir><dir name="info"><dir name="pdf"><file name="paycode.phtml" hash="60695cf5ed91dc1c2476ecc87c9976bd"/><file name="sofortueberweisung.phtml" hash="065e2e421b7a8eed49e934b4c1b21d97"/></dir><file name="sofortueberweisung.phtml" hash="23d0e7a7321dcf63b5fd42cf5b0ce72b"/></dir></dir></dir><dir name="payment"><dir name="info"><dir name="pdf"><file name="cc.phtml" hash="975007b7c3f7dceb66feb4147852a712"/><file name="pci.phtml" hash="975007b7c3f7dceb66feb4147852a712"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="novalnet.xml" hash="c66652992b93637596c732a111a34184"/><file name="sofortueberweisung.xml" hash="5f85ce99d53d90e542e94c144c920ebf"/></dir><dir name="template"><dir name="novalnet"><dir><dir name="cc"><file name="form.phtml" hash="1d0b27175f3427a78eff0c50d6b3cc8e"/><file name="info.phtml" hash="5d71c930c1051ce205bf6096e36e9c16"/><file name="pciiframe.phtml" hash="d5762043ef5c65a7d00f415a42a6efc8"/></dir><dir name="elvaustria"><file name="form.phtml" hash="ccfcbbaa6f8c806a2157b1ac6dc93a73"/><file name="info.phtml" hash="c865f7bfcbdbdc3778494d06c2160db7"/></dir><dir name="elvgerman"><file name="form.phtml" hash="82cb3930a26205a1d126d235d9eaf172"/><file name="info.phtml" hash="c865f7bfcbdbdc3778494d06c2160db7"/></dir><dir name="invoice"><file name="form.phtml" hash="914c829f990f3656da4154ef1eb3b1f8"/><file name="info.phtml" hash="cfc62c76287fb274401056d35466ba4e"/></dir><dir name="pci"><file name="form.phtml" hash="3e07a44dd1dc633a5f104e14dde7c7bf"/><file name="info.phtml" hash="5d71c930c1051ce205bf6096e36e9c16"/></dir><dir name="phonepayment"><file name="form.phtml" hash="6c9886f70020bdf314ff82f6b9b10332"/><file name="info.phtml" hash="ce4edf100d22b6a262670a62044b3ab5"/></dir><dir name="prepayment"><file name="form.phtml" hash="33e833624cf5f31f9ebadd333d081a9f"/><file name="info.phtml" hash="fc1580efac5b264615513441535394a6"/></dir><dir name="secure"><file name="form.phtml" hash="1c1dcc30a2a0457580b319359196d30e"/><file name="info.phtml" hash="8a932fe5a1bfe86d03139e224d7d5682"/></dir></dir></dir><dir name="novalnetpaypal"><file name="errornotice.phtml" hash="a9862596ff313bb129b122fee07791b1"/><dir><dir name="form"><file name="novalnetpaypal.phtml" hash="f124c3d65bf18e371a827a524422cfd3"/></dir><dir name="info"><file name="novalnetpaypal.phtml" hash="2eb24bbdbf08cb1695a6d0d2af6dd103"/></dir></dir><file name="infobox.phtml" hash="7fb6159ded397e11926f82b71c6120ee"/><file name="notice.phtml" hash="a1d4bc5dca8fe79c373d5d9321ed8ebf"/></dir><dir name="sofortueberweisung"><file name="errornotice.phtml" hash="138cb66cb30fab6879253cf847462cb2"/><dir><dir name="form"><file name="sofortueberweisung.phtml" hash="b6edc23c0b24cfd276d9a338e2b13e18"/></dir><dir name="info"><file name="sofortueberweisung.phtml" hash="5d4984f06bad8287b672e0c2ec8c9082"/></dir></dir><file name="infobox.phtml" hash="ef54958cc46cf0e923023721996e0c0a"/><file name="notice.phtml" hash="572b09cd956a7282822269facdeed822"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Novalnet.xml" hash="71217c898352b41ed08facc218335405"/><file name="Novalnet_NovalnetPaypal.xml" hash="a1d656cde7b9ac1c2314016b126447fd"/><file name="Novalnet_Sofortueberweisung.xml" hash="a765244a198aaf5f70912e2a9c2423b8"/></dir></target><target name="magelocale"><dir name="de_AT"><file name="Mage_Novalnet.csv" hash="d2f0e7c24dec34a844e798db7548194b"/><file name="Novalnet_NovalnetPaypal.csv" hash="030a8ca38d69752ed1badae6121e64d2"/><file name="Novalnet_Sofortueberweisung.csv" hash="54b8e28b89c34119cad663cee3c88814"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="de_CH"><file name="Mage_Novalnet.csv" hash="d2f0e7c24dec34a844e798db7548194b"/><file name="Novalnet_NovalnetPaypal.csv" hash="030a8ca38d69752ed1badae6121e64d2"/><file name="Novalnet_Sofortueberweisung.csv" hash="54b8e28b89c34119cad663cee3c88814"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="de_DE"><file name="Mage_Novalnet.csv" hash="69f74ad37e1690ac6a1dc02923ccec33"/><file name="Novalnet_NovalnetPaypal.csv" hash="8639b1e810afe2ff1350b2088b96d760"/><file name="Novalnet_Sofortueberweisung.csv" hash="7ca58999c649993ae3c6cc52dea51fa6"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="en_US"><file name="Mage_Novalnet.csv" hash="af05f1eaa121eb086f3330eb1aae5025"/><file name="Novalnet_NovalnetPaypal.csv" hash="4b3013ab5b60b8bcb9ef891c85319757"/><file name="Novalnet_Sofortueberweisung.csv" hash="993bd7accc64c64da5843b34fbb46e75"/><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></target><target name="magelib"><dir name="Varien"><dir name="Data"><dir name="Form"><dir name="Element"><file name="Linkpnso.php" hash="821c5b9534c651910096f418e1b819fa"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="base"><dir name="default"><dir name="images"><dir name="novalnet"><file name="AE_Logo.png" hash="ed3b558031a1f03e1bd536ecf1233e0e"/><file name="ELV_Logo.png" hash="b265493a083f03e4da7d24c23cc55b67"/><file name="MC_Logo.png" hash="cd17acdae3de28aeff7da7952d2ef802"/><file name="NN_Logo.png" hash="e17794ee0b984fd6e1ec2b884da1a29b"/><file name="NN_Logo_T.png" hash="4d442efcb94c9fee7749022478a9d1f3"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><dir name="novalnet"><file name="AE_Logo.png" hash="ed3b558031a1f03e1bd536ecf1233e0e"/><file name="ELV_Logo.png" hash="b265493a083f03e4da7d24c23cc55b67"/><file name="MC_Logo.png" hash="cd17acdae3de28aeff7da7952d2ef802"/><file name="NN_Logo.png" hash="e17794ee0b984fd6e1ec2b884da1a29b"/><file name="NN_Logo_T.png" hash="4d442efcb94c9fee7749022478a9d1f3"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/><dir><dir name="novalnetpaypal"><file name="lockbox_150x47.gif" hash="3b5f83843dc7f4a8bbbbd5fed4c0f16e"/></dir><dir name="sofortueberweisung"><file name="Sofort_Logo_t.jpg" hash="3b88302d88393b582c1cccd152e267bc"/></dir></dir></dir></dir><dir name="js"><file name="novalnet.js" hash="ba196f1c34101f64cdaab92ab58560bd"/></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="callback_novalnet2magento.php" hash="85d26b5421b166a12b0fb16bca658273"/></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
23
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Novalnet</name>
4
+ <version>3.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Novalnet AG ist ein deutsches EPayment - Unternehmen, bietet alle relevanten Zahlungsarten weltweit. / Novalnet is a German based payment service provider, which offers all the available payments and solutions worldwide.</summary>
10
  <description>The NOVALNET AG is an essential component of e-Payment platform that facilitates your company to process all type of payments. As one of the leading company in Online-Payment the NOVALNET AG provides its customers an individual, technically qualified secured Payment system and also the best possible support throughout. NOVALNET AG is not only an e-Payment provider but also we offer our Merchants an optimal strategic solution for easy payment processing which is pocket-friendly for our customer.</description>
11
+ <notes>3.0.0 is now loaded with Iframe functionality&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
12
+ 1.3 database table name is now fetched from system.1.2.9 the same as 1.2.7 only because Magento upload did not work correctly.1.2.8 the same as 1.2.7 only because Magento upload did not work correctly.1.2.7Bugfix:FC;r ELV DE, ELV AT und CC wurde die W&amp;amp;amp;amp;amp;amp;amp;amp;#xE4;hrung fix als &amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;amp;amp;amp;apos; &amp;amp;amp;amp;amp;amp;amp;amp;#xFC;bergeben.&amp;amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
13
+ &amp;amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
14
+ The parameter currency was passed over as fixed value &amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;amp;amp;amp;apos; for payment modules &amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit German&amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;, &amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit Austria&amp;amp;amp;amp;amp;amp;amp;amp;amp;apos; and &amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;Credir Card&amp;amp;amp;amp;amp;amp;amp;amp;amp;apos;.Allgemeine Bemerkung:Die Cache-Ordner var/cache und var/session m&amp;amp;amp;amp;amp;amp;amp;amp;#xFC;ssen wie immer nach Aktualisierungen geleert werden.&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
15
+ &amp;amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;amp;#xD;&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
16
  Notice: the cache folders var/cache and var/session must be emptied after updates.</notes>
17
  <authors><author><name>Dixon Rajdaniel</name><user>Novalnet</user><email>dr@novalnet.de</email></author></authors>
18
+ <date>2012-09-27</date>
19
+ <time>11:00:59</time>
20
+ <contents><target name="magecommunity"><dir name="Mage"><dir><dir name="Novalnet"><dir name="Block"><dir name="Cc"><file name="Form.php" hash="a5f3906a5c884b0d907165584a2bf227"/><file name="Info.php" hash="e83912f1083cd2e3812317ccd52946c6"/></dir><dir name="Elvaustria"><file name="Form.php" hash="bcad4b791f589da7a0b5b02e8984d722"/><file name="Info.php" hash="8421515a0d1b539c118f0ae75271a96f"/></dir><dir name="Elvgerman"><file name="Form.php" hash="8326c73336b9a5a99886caa2d2b0f985"/><file name="Info.php" hash="5449c4c1a9bfe39bb42de37c404fb63d"/></dir><dir name="Invoice"><file name="Form.php" hash="21f5ee0ecd50cfc66219265089d92aa4"/><file name="Info.php" hash="b10d8bdf5c18ff0725cd0cabb845226b"/></dir><dir name="Pci"><file name="Form.php" hash="cd494ca7dc3c48d613adb5fdb705ee32"/><file name="Info.php" hash="13dd3fd8a064e7ed2f9e971c5534cf27"/><file name="Redirect.php" hash="fd0edc155ba31fe6731846a048c25070"/></dir><dir name="Phonepayment"><file name="Form.php" hash="0a378f5d2501e3ee737405020b54e930"/><file name="Info.php" hash="bc306834268bdef996bb9998ab010b59"/></dir><dir name="Prepayment"><file name="Form.php" hash="f228a0ef5ee5da05a82936d2935d7645"/><file name="Info.php" hash="e106d2f44eb2ffdfb4733167798ddf7a"/></dir><dir name="Secure"><file name="Form.php" hash="4701c66723891b9968cfa95ceab1ca1a"/><file name="Info.php" hash="c338d57f65c99582fec5468b2bf509cb"/><file name="Redirect.php" hash="da3ae9034328b652deea8f3767db82b5"/></dir></dir><dir name="Helper"><file name="Data.php" hash="652d853eef3a4be808ef3f708d63f8ff"/></dir><dir name="Model"><dir name="Mysql4"><file name="Setup.php" hash="39edfcc97c0c2b7c182795976c85e2d6"/></dir><dir name="Novalnet"><file name="Request.php" hash="c0234e4b26de88337c559f1bb1aacaba"/><file name="Result.php" hash="a8e0b204eedf4b9db7bbf93341e71f0c"/><dir name="Source"><file name="Callbacktypes.php" hash="e4abd034b15f40e934785ce0c1ade5d5"/><file name="Cctype.php" hash="73385a8e1f6acc8c4562d8e2d96128d0"/></dir></dir><file name="NovalnetCc.php" hash="6ac304c784871f20fe5c65146ec6b3a7"/><file name="NovalnetCcpci.php" hash="8578d9175f2f4da91f70ed9ca0de65d0"/><file name="NovalnetElvatpci.php" hash="547c8a282a1056fd3b13793fa7fb3a4b"/><file name="NovalnetElvaustria.php" hash="999dd22f4ca1aac2a5205dd7b53525e1"/><file name="NovalnetElvdepci.php" hash="e0d6d39390f134871b700b24684e1ff9"/><file name="NovalnetElvgerman.php" hash="ecc8669017fea8e03a850ecacbba479a"/><file name="NovalnetInvoice.php" hash="ae1f3f28df4f189427e717d2b93f0ec7"/><file name="NovalnetPciAbstract.php" hash="bc79b37ae17ab487e31b27ad4ba5c719"/><file name="NovalnetPhonepayment.php" hash="803b9e3441e59051141e136e830317a9"/><file name="NovalnetPrepayment.php" hash="dec31bb255dfef101949e242f2b0c800"/><file name="NovalnetSecure.php" hash="5184ac8510d3fef1a954654e4c8f9628"/><file name="Observer.php" hash="9abb1775b80f9e75395b107619028bea"/></dir><dir name="controllers"><file name="InvoiceController.php" hash="9edb4e285fce673a09b0ef20fb4ebf40"/><file name="PciController.php" hash="56134660cc5fa22e8e8a0c96391e0907"/><file name="SecureController.php" hash="179f900f01f60028da23ecd3a30209b2"/></dir><dir name="etc"><file name="config.xml" hash="7d964452cdc649945a94c3664c42f16f"/><file name="system.xml" hash="0a126130c1ab62cfd7bdbadbd9a0200f"/></dir><dir name="sql"><dir name="novalnet_setup"><file name="mysql4-install-1.0.0.php" hash="32990c8b75f5da216c8751d0644e4680"/></dir></dir></dir></dir></dir><dir name="Novalnet"><dir><dir name="NovalnetPaypal"><dir name="Block"><dir name="Form"><file name="Novalnetpaypal.php" hash="de7ea13bc68dede626abb236a47f4953"/></dir><dir name="Info"><file name="Novalnetpaypal.php" hash="aa6a20a2ca7837d184a4d7e377a24335"/></dir><file name="Infobox.php" hash="73e6c1d32c25651fcaa903c62881589a"/><file name="Novalnetpaypal.php" hash="68493bb80d80b2364e1d898f91224233"/><file name="Novalnetpaypalerrornotice.php" hash="f6fca10039b3d640b5580bcd02f2fefe"/><file name="Novalnetpaypalnotice.php" hash="5202b936e310cc19d7fccc9ada75079a"/></dir><dir name="Helper"><file name="Data.php" hash="8e7e13e72a0295189736978c5399d773"/></dir><dir name="Model"><dir name="Convert"><file name="Order.php" hash="4282bb92fd050f2ca2331d94ac7a4849"/><file name="Quote.php" hash="cc53aa00e0a463f6235c56e6a6e36028"/></dir><dir name="Mysql4"><dir name="NovalnetPaypal"><file name="Collection.php" hash="9b50213a65358b67df8086208d2ed372"/></dir><file name="Novalnetpaypal.php" hash="b2cffababa7331c0b4aa03e140b3b8ce"/><file name="Setup.php" hash="bf62e4eafd28dbbcd3f82007de645fd2"/></dir><file name="Novalnetpaypal.php" hash="8158e19a1191f02f23f12aa73ea58cca"/></dir><dir name="controllers"><file name="NovalnetpaypalController.php" hash="687cf1206d40359e6e525faac6d44dab"/></dir><dir name="etc"><file name="config.xml" hash="87a3f4a07e722dfdfdcbdc3ff445cbc0"/><file name="system.xml" hash="eef9eea1a5fa2293a8ac037983faffc3"/></dir><dir name="sql"><dir name="novalnetpaypal_setup"><file name="mysql4-install-1.0.0.php" hash="289f0b2b374ac83c8c5b4f58340e62aa"/></dir></dir></dir><dir name="Sofortueberweisung"><dir name="Block"><dir name="Form"><file name="Sofortueberweisung.php" hash="9620b256d5fe3f8be79921c0039b0a05"/></dir><dir name="Info"><file name="Sofortueberweisung.php" hash="d4da3d969166fc7463ba6058310a9740"/></dir><file name="Sofortueberweisung.php" hash="a1008bd242a9f0e8223a7c445fbcd533"/></dir><dir name="Helper"><file name="Data.php" hash="57df7bd9fcd4cb3696d7efd051208cec"/></dir><dir name="Model"><dir name="Convert"><file name="Order.php" hash="a918b59093e0689b4a53b2b05d995ddf"/><file name="Quote.php" hash="5f81c5a7758346c3129e338247bd3bec"/></dir><dir name="Data"><dir name="Form"><dir name="Element"><file name="Link.php" hash="cae04aa06b48555f5798f81e71975259"/></dir></dir></dir><dir name="Mysql4"><file name="Setup.php" hash="563fbfc017ce9ffab25e3e749fbf3b80"/><dir name="Sofortueberweisung"><file name="Collection.php" hash="da19275e5c48467101e221fd48f58c50"/></dir><file name="Sofortueberweisung.php" hash="640114f57c27b9a1caeffaf6c4d041ef"/></dir><file name="Sofortueberweisung.php" hash="316184c88cb96dd0ba0befd716a94736"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="SofortueberweisungController.php" hash="41cea197ffa498ec5becba85116c365a"/></dir><file name="PcsofortueberweisungController.php" hash="4670ef27f56f29207165fcaa8da80688"/><file name="SofortueberweisungController.php" hash="05f52083a238d1c2dbcf47d8907c1ede"/></dir><dir name="etc"><file name="config.xml" hash="c933bab41794770922b26d56ca64d820"/><file name="system.xml" hash="b98075bdb3ed43665a512bd76a167836"/></dir><dir name="sql"><dir name="sofortueberweisung_setup"><file name="mysql4-install-1.0.0.php" hash="941f70d07d3e2342e98de594162453d5"/></dir></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir><dir name="cc"><file name="form.phtml" hash="55b93ac6daf4cd141bda95be7c876636"/><file name="info.phtml" hash="96b44ace09209376fb6f2649e39e4b53"/></dir><dir name="elvaustria"><file name="form.phtml" hash="b3e41127bade8412655d2eae20d7993e"/><file name="info.phtml" hash="6aefe97ee24d093d43c9e42d12294367"/></dir><dir name="elvgerman"><file name="form.phtml" hash="11af6ce01317e9a76a01f4d71332b03d"/><file name="info.phtml" hash="e7ef9efd9fef8fb497b2f0db06dcc131"/></dir><dir name="invoice"><file name="form.phtml" hash="2648529fd204a27dc4f7f25fa2cd5fb2"/><file name="info.phtml" hash="cfc62c76287fb274401056d35466ba4e"/></dir><dir name="pci"><file name="form.phtml" hash="7ea7ca805550fa8984f25582cbcd9f5d"/><file name="info.phtml" hash="f1e33b5091c7a3a239d2c1dd4d7b878e"/></dir><dir name="phonepayment"><file name="form.phtml" hash="fd28693300a828307e953445c91dee10"/><file name="info.phtml" hash="05ea5a9244a079b5066aa35178d8e170"/></dir><dir name="prepayment"><file name="form.phtml" hash="031bc41e08b0fd0a8e08d9d447bc3395"/><file name="info.phtml" hash="05ea5a9244a079b5066aa35178d8e170"/></dir><dir name="secure"><file name="form.phtml" hash="9d2973e37a011b724853837d0abbc5d9"/><file name="info.phtml" hash="309ddfdb95ea18fd8796f4886d25c18a"/></dir></dir></dir><dir name="novalnetpaypal"><dir><dir name="form"><file name="novalnetpaypal.phtml" hash="00c5cede3befa08ab40cd474c73c3169"/></dir><dir name="info"><file name="novalnetpaypal.phtml" hash="823248576e75f4401064180183a61ebd"/><dir name="pdf"><file name="novalnetpaypal.phtml" hash="4b83ecc1e92715ddee12087c77e62fdc"/></dir></dir></dir></dir><dir name="novalnetsofortueberweisung"><dir><dir name="form"><file name="sofortueberweisung.phtml" hash="a8698665bb3f30cc713c39f8be56f643"/></dir><dir name="info"><dir name="pdf"><file name="paycode.phtml" hash="60695cf5ed91dc1c2476ecc87c9976bd"/><file name="sofortueberweisung.phtml" hash="931238aeea2e2645eae61b2579f40417"/></dir><file name="sofortueberweisung.phtml" hash="23d0e7a7321dcf63b5fd42cf5b0ce72b"/></dir></dir></dir><dir name="payment"><dir name="info"><dir name="pdf"><file name="cc.phtml" hash="a51468ac8d36a15fd8ff476cd1067e93"/><file name="pci.phtml" hash="975007b7c3f7dceb66feb4147852a712"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="novalnet.xml" hash="9719cc5bc7407947b6e9d3bc1a2e482f"/><file name="sofortueberweisung.xml" hash="5f85ce99d53d90e542e94c144c920ebf"/></dir><dir name="template"><dir name="novalnet"><dir><dir name="cc"><file name="form.phtml" hash="712c375605f065970478ca80458be57c"/><file name="info.phtml" hash="640dc12dbf88a8ac313a3d97c1219c6d"/><file name="pciiframe.phtml" hash="777bd7163dcac6a0526ad1e2ac5d93af"/></dir><dir name="elvaustria"><file name="form.phtml" hash="e0ca224a357cef25bc44921304ea7020"/><file name="info.phtml" hash="67d1a6da1df2da3bbe101105b032d6a8"/></dir><dir name="elvgerman"><file name="form.phtml" hash="03f47c34d50ac3ea0fc8b078db54e7e3"/><file name="info.phtml" hash="67d1a6da1df2da3bbe101105b032d6a8"/></dir><dir name="invoice"><file name="form.phtml" hash="9d668db5a29678610e43246ea150a865"/><file name="info.phtml" hash="be33cbf32f1d1f14209198e2377df3da"/></dir><dir name="pci"><file name="form.phtml" hash="d7dc16d3372626e080ea3ac118707d22"/><file name="info.phtml" hash="005c83ddb2629f03e4491ee4ae5d1a5a"/></dir><dir name="phonepayment"><file name="form.phtml" hash="6c9886f70020bdf314ff82f6b9b10332"/><file name="info.phtml" hash="20d616ec133984652b8d83474c72b4c8"/></dir><dir name="prepayment"><file name="form.phtml" hash="3848984ddb41eb3b7501c2bacc63b4f1"/><file name="info.phtml" hash="832cda3dd4b0356f61042ae6ccc1ee16"/></dir><dir name="secure"><file name="form.phtml" hash="bc9b360f579e763d017847b8d4b5e8da"/><file name="info.phtml" hash="e889e5d66ccbb53362560808b2ce1923"/></dir></dir></dir><dir name="novalnetpaypal"><file name="errornotice.phtml" hash="a9862596ff313bb129b122fee07791b1"/><dir><dir name="form"><file name="novalnetpaypal.phtml" hash="27efab2198d78639a4333182c2d6c0cf"/></dir><dir name="info"><file name="novalnetpaypal.phtml" hash="e45f12fae53a4d70c074ce12654aa3ce"/></dir></dir><file name="infobox.phtml" hash="7fb6159ded397e11926f82b71c6120ee"/><file name="notice.phtml" hash="a1d4bc5dca8fe79c373d5d9321ed8ebf"/></dir><dir name="novalnetsofortueberweisung"><dir><dir name="form"><file name="sofortueberweisung.phtml" hash="ef133368aed60dce6c893af3389de076"/></dir><dir name="info"><file name="sofortueberweisung.phtml" hash="4299026d2f3ef622e1199a0b1f8660d4"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Novalnet.xml" hash="71217c898352b41ed08facc218335405"/><file name="Novalnet_NovalnetPaypal.xml" hash="a1d656cde7b9ac1c2314016b126447fd"/><file name="Novalnet_Sofortueberweisung.xml" hash="a765244a198aaf5f70912e2a9c2423b8"/></dir></target><target name="magelocale"><dir name="de_AT"><file name="Mage_Novalnet.csv" hash="e7e69a72b493d62ec75e0fcc9797a1f1"/><file name="Novalnet_NovalnetPaypal.csv" hash="dab6998f1267704cc0a89d553ee0e2a9"/><file name="Novalnet_Sofortueberweisung.csv" hash="d887fca76932a4020fa0aa16a9c8b19c"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="de_CH"><file name="Mage_Novalnet.csv" hash="e7e69a72b493d62ec75e0fcc9797a1f1"/><file name="Novalnet_NovalnetPaypal.csv" hash="dab6998f1267704cc0a89d553ee0e2a9"/><file name="Novalnet_Sofortueberweisung.csv" hash="d887fca76932a4020fa0aa16a9c8b19c"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="de_DE"><file name="Mage_Novalnet.csv" hash="e7e69a72b493d62ec75e0fcc9797a1f1"/><file name="Novalnet_NovalnetPaypal.csv" hash="dab6998f1267704cc0a89d553ee0e2a9"/><file name="Novalnet_Sofortueberweisung.csv" hash="d887fca76932a4020fa0aa16a9c8b19c"/><dir><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></dir><dir name="en_US"><file name="Mage_Novalnet.csv" hash="065c5b5ced6f0ff06cdb43eebe4febfa"/><file name="Novalnet_NovalnetPaypal.csv" hash="4a41fdec76effdc66ae2557af903940a"/><file name="Novalnet_Sofortueberweisung.csv" hash="993bd7accc64c64da5843b34fbb46e75"/><dir name="template"><dir name="email"><dir name="novalnet"><file name="novalnet_callback_email.html" hash="e05460c3973cdb9845c15e8639b353b4"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="novalnet"><file name="AE_Logo.png" hash="ed3b558031a1f03e1bd536ecf1233e0e"/><file name="ELV_Logo.png" hash="b265493a083f03e4da7d24c23cc55b67"/><file name="MC_Logo.png" hash="cd17acdae3de28aeff7da7952d2ef802"/><file name="NN_Logo.png" hash="e17794ee0b984fd6e1ec2b884da1a29b"/><file name="NN_Logo_T.png" hash="4d442efcb94c9fee7749022478a9d1f3"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><dir name="novalnet"><file name="AE_Logo.png" hash="ed3b558031a1f03e1bd536ecf1233e0e"/><file name="ELV_Logo.png" hash="b265493a083f03e4da7d24c23cc55b67"/><file name="MC_Logo.png" hash="cd17acdae3de28aeff7da7952d2ef802"/><file name="NN_Logo.png" hash="e17794ee0b984fd6e1ec2b884da1a29b"/><file name="NN_Logo_T.png" hash="4d442efcb94c9fee7749022478a9d1f3"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/><dir><dir name="novalnetpaypal"><file name="lockbox_150x47.gif" hash="3b5f83843dc7f4a8bbbbd5fed4c0f16e"/></dir><dir name="sofortueberweisung"><file name="Sofort_Logo_t.jpg" hash="3b88302d88393b582c1cccd152e267bc"/></dir></dir></dir></dir><dir name="js"><file name="novalnet.js" hash="441e691f60878a015849ec52131367df"/></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="callback_novalnet2magento.php" hash="9ab398c1c4d02308c44e33960c181c25"/></dir></target></contents>
21
  <compatible/>
22
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
23
  </package>
skin/adminhtml/{base → default}/default/images/novalnet/AE_Logo.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/ELV_Logo.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/MC_Logo.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/NN_Logo.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/NN_Logo_T.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/VI_Logo.png RENAMED
File without changes
skin/adminhtml/{base → default}/default/images/novalnet/acdc_info.png RENAMED
File without changes
skin/frontend/default/default/js/novalnet.js CHANGED
@@ -825,7 +825,7 @@ Novalnet.prototype = {
825
  save: function(){
826
 
827
 
828
- document.getElementById('placeorder_button').style.display='none';
829
  document.getElementById('review-buttons-container').style.display='block';
830
 
831
  if (checkout.loadWaiting!=false) return;
@@ -869,8 +869,7 @@ Novalnet.prototype = {
869
  var paymentmethod =this.paymentmethod;
870
  this.isSuccess = true;
871
  if(paymentmethod=='novalnetCc')
872
- {
873
-
874
  if(document.getElementById('magentoversion').value>='1.5')
875
  {
876
  document.getElementById('review-buttons-container').style.display='none';
@@ -882,8 +881,8 @@ Novalnet.prototype = {
882
  document.getElementById('nn_iframe').style.display='block';
883
  }else
884
  {
885
- location.href = response.redirect;
886
- return;
887
  }
888
  }
889
  if (response.success) {
825
  save: function(){
826
 
827
 
828
+ //document.getElementById('placeorder_button').style.display='none';
829
  document.getElementById('review-buttons-container').style.display='block';
830
 
831
  if (checkout.loadWaiting!=false) return;
869
  var paymentmethod =this.paymentmethod;
870
  this.isSuccess = true;
871
  if(paymentmethod=='novalnetCc')
872
+ {
 
873
  if(document.getElementById('magentoversion').value>='1.5')
874
  {
875
  document.getElementById('review-buttons-container').style.display='none';
881
  document.getElementById('nn_iframe').style.display='block';
882
  }else
883
  {
884
+ location.href = response.redirect;
885
+ return;
886
  }
887
  }
888
  if (response.success) {