Novalnet - Version 1.3.6

Version Notes

1.3.6 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 1.3.6
Comparing to
See all releases


Code changes from version 1.3.5 to 1.3.6

app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php CHANGED
@@ -129,6 +129,8 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
129
  return $this->_checkNnAuthData() && parent::isAvailable();
130
  }
131
 
 
 
132
  private function _checkNnAuthData() {
133
  return strlen($this->getConfigData('merchant_id'))
134
  && strlen($this->getConfigData('auth_code'))
@@ -330,6 +332,8 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
330
 
331
  public function validate() {
332
 
 
 
333
  if(!$this->_isPlaceOrder()){
334
  parent::validate();
335
  $this->_validateCallbackSession();
@@ -342,38 +346,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
342
  Mage::throwException(Mage::helper('novalnet')->__('This is not a valid pin code.'));
343
  }
344
  }
345
- $session = Mage::getSingleton('checkout/session');
346
- if(!$this->isCallbackTypeCall() && !$session->getInvoiceReqData())
347
- {
348
- $request = $this->_buildRequest(self::POST_NORMAL);
349
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
350
- $magento_version=Mage::getVersion();
351
- if($magento_version<'1.4.1.0'){
352
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_order` ORDER BY `entity_id` DESC LIMIT 1");
353
- }else{
354
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
355
- }
356
- if(!$order_id_data){
357
- $last_main_order_id = '100000000';
358
- $inputval1 = $last_main_order_id;
359
- }else{
360
- $last_main_order_id = $order_id_data['0']['increment_id'];
361
- $inputval1 = $last_main_order_id;
362
- }
363
-
364
- $inputval1 = $inputval1+1;
365
- $request->setOrderNo($inputval1)
366
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
367
- ->setInputval1($inputval1);
368
- $response = $this->_postRequest($request, self::POST_NORMAL);
369
- Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
370
- Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->_getNote($response));
371
- if($response->getStatus()!='100'){
372
- $text = Mage::helper('novalnet')->__($response->getstatus_desc());
373
- Mage::throwException($text);
374
- }
375
- return $this;
376
- }
377
 
378
  // Call for pin generation
379
  if( $this->isCallbackTypeCall() && !$this->_isPlaceOrder() && $this->getCallbackConfigData()!=3) {
@@ -388,14 +360,33 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
388
  $this->_generateCallbackPin();
389
  }
390
 
391
- }else if($this->getCallbackConfigData()==3){
392
  if(!$this->_getMethodSession()->getNnCallbackTid()) {
393
  $this->_generateCallbackEmail();
394
  }
395
  }
396
 
397
- $this->_validateCallbackProcess();
398
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
399
  return $this;
400
  }
401
 
@@ -414,21 +405,7 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
414
 
415
  private function _generateCallbackPin() {
416
  $request = $this->_buildRequest(self::POST_CALLBACK);
417
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
418
- $magento_version=Mage::getVersion();
419
- if($magento_version<'1.4.1.0'){
420
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_order` ORDER BY `entity_id` DESC LIMIT 1");
421
- }else{
422
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
423
- }
424
- if(!$order_id_data){
425
- $last_main_order_id = '100000000';
426
- $inputval1 = $last_main_order_id;
427
- }else{
428
- $last_main_order_id = $order_id_data['0']['increment_id'];
429
- $inputval1 = $last_main_order_id;
430
- }
431
- $inputval1 = $inputval1+1;
432
  $request->setOrderNo($inputval1)
433
  ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
434
  ->setInputval1($inputval1);
@@ -457,21 +434,7 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
457
 
458
  private function _generateCallbackEmail() {
459
  $request = $this->_buildRequest(self::POST_CALLBACK);
460
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
461
- $magento_version=Mage::getVersion();
462
- if($magento_version<'1.4.1.0'){
463
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_order` ORDER BY `entity_id` DESC LIMIT 1");
464
- }else{
465
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
466
- }
467
- if(!$order_id_data){
468
- $last_main_order_id = '100000000';
469
- $inputval1 = $last_main_order_id;
470
- }else{
471
- $last_main_order_id = $order_id_data['0']['increment_id'];
472
- $inputval1 = $last_main_order_id;
473
- }
474
- $inputval1 = $inputval1+1;
475
  $request->setOrderNo($inputval1)
476
  ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
477
  ->setInputval1($inputval1);
@@ -671,6 +634,31 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
671
  }
672
  }
673
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
674
  public function getOrderPlaceRedirectUrl()
675
  {
676
  $this->_unsetMethodSession();
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'))
332
 
333
  public function validate() {
334
 
335
+ $session = Mage::getSingleton('checkout/session');
336
+
337
  if(!$this->_isPlaceOrder()){
338
  parent::validate();
339
  $this->_validateCallbackSession();
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) {
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
+ $text = Mage::helper('novalnet')->__($response->getstatus_desc());
384
+ Mage::throwException($text);
385
+ }
386
+ return $this;
387
+ }
388
+ $this->_validateCallbackProcess();
389
+ }
390
  return $this;
391
  }
392
 
405
 
406
  private function _generateCallbackPin() {
407
  $request = $this->_buildRequest(self::POST_CALLBACK);
408
+ $inputval1 = $this->_getIncrementId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  $request->setOrderNo($inputval1)
410
  ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
411
  ->setInputval1($inputval1);
434
 
435
  private function _generateCallbackEmail() {
436
  $request = $this->_buildRequest(self::POST_CALLBACK);
437
+ $inputval1 = $this->_getIncrementId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  $request->setOrderNo($inputval1)
439
  ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
440
  ->setInputval1($inputval1);
634
  }
635
  }
636
 
637
+ private function _getIncrementId() {
638
+
639
+ $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
640
+ $magento_version=Mage::getVersion();
641
+ if($magento_version<'1.4.1.0'){
642
+ $tableSalesOrder = Mage::getSingleton('core/resource')->getTableName('sales_order');
643
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesOrder."` ORDER BY `entity_id` DESC LIMIT 1");
644
+ }else{
645
+ $tableSalesFlatOrder = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
646
+ $result = $dbc_collect_order->query("SELECT `increment_id` FROM `".$tableSalesFlatOrder."` ORDER BY `entity_id` DESC LIMIT 1");
647
+ }
648
+
649
+ $result_data = $result->fetch(PDO::FETCH_ASSOC);
650
+ $order_id_data = $result_data['increment_id'];
651
+ if(!$order_id_data){
652
+ $last_main_order_id = '100000000';
653
+ $inputval1 = $last_main_order_id;
654
+ }else{
655
+ $last_main_order_id = $order_id_data;
656
+ $inputval1 = $last_main_order_id;
657
+ }
658
+ $IncrementId = $inputval1+1;
659
+ return $IncrementId;
660
+ }
661
+
662
  public function getOrderPlaceRedirectUrl()
663
  {
664
  $this->_unsetMethodSession();
app/code/community/Mage/Novalnet/Model/NovalnetPciAbstract.php CHANGED
@@ -141,7 +141,9 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
141
  ->load();
142
  if (count($orders) < $minOrderCount) {
143
  return false;
144
- }
 
 
145
  return parent::isAvailable();
146
  }
147
 
@@ -213,7 +215,7 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
213
  ->setCity($billing->getCity())
214
  ->setZip($billing->getPostcode())
215
  ->setCountryCode($billing->getCountry())
216
- ->setLang($billing->getLang())
217
  ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
218
  ->setTel($billing->getTelephone())
219
  ->setFax($billing->getFax());
@@ -228,6 +230,7 @@ class Mage_Novalnet_Model_NovalnetPciAbstract extends Mage_Payment_Model_Method_
228
  ->setErrorReturnUrl($this->getReturnURL())
229
  ->setErrorReturnMethod('POST')
230
  ->setInput1('order_id')
 
231
  ->setImplementation('PHP_PCI')
232
  ->setInputval1($order->getRealOrderId());
233
  return $this;
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
 
215
  ->setCity($billing->getCity())
216
  ->setZip($billing->getPostcode())
217
  ->setCountryCode($billing->getCountry())
218
+ ->setLang(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2))
219
  ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
220
  ->setTel($billing->getTelephone())
221
  ->setFax($billing->getFax());
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;
app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php CHANGED
@@ -237,6 +237,7 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
237
  ->setgender('u')
238
  ->setemail($order->getCustomerEmail())
239
  ->setInput1('order_id')
 
240
  ->setInputval1($this->_getOrderId())
241
  ->setsearch_in_street(1);
242
  }
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
  }
app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php CHANGED
@@ -157,35 +157,18 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
157
  ->load();
158
  if (count($orders) < $minOrderCount) {
159
  return false;
160
- }
 
 
161
  return parent::isAvailable();
162
- }
163
 
164
  public function validate() {
165
 
166
  $session = Mage::getSingleton('checkout/session');
167
- if(!$session->getInvoiceReqData())
168
  {
169
  $request = $this->_buildNoInvoiceRequest();
170
- $dbc_collect_order = Mage::getSingleton('core/resource')->getConnection('core_read');
171
- $magento_version=Mage::getVersion();
172
- if($magento_version<'1.4.1.0'){
173
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_order` ORDER BY `entity_id` DESC LIMIT 1");
174
- }else{
175
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
176
- }
177
- if(!$order_id_data){
178
- $last_main_order_id = '100000000';
179
- $inputval1 = $last_main_order_id;
180
- }else{
181
- $last_main_order_id = $order_id_data['0']['increment_id'];
182
- $inputval1 = $last_main_order_id;
183
- }
184
-
185
- $inputval1 = $inputval1+1;
186
- $request->setOrderNo($inputval1)
187
- ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $inputval1)
188
- ->setInputval1($inputval1);
189
  $response = $this->_postRequest($request);
190
  Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
191
  Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->getNote($response));
@@ -226,6 +209,7 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
226
  ->setInputval1($this->_getOrderId())
227
  ->setInvoiceType(self::PAYMENT_METHOD)
228
  ->setDueDate($dueDate)
 
229
  ;
230
 
231
  return $request;
@@ -283,7 +267,7 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
283
  $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR</b><br />";
284
  $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
285
  $note .= $helper->__('Only for foreign transfers') . ":<br />";
286
- $note .= "IBAN: <b>" . $result->getInvoiceIban() . "</b>";
287
  $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . "</b><br />";
288
  return $note;
289
  }
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();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  $response = $this->_postRequest($request);
173
  Mage::getSingleton('checkout/session')->setInvoiceReqData($response);
174
  Mage::getSingleton('checkout/session')->setInvoiceReqDataNote($this->getNote($response));
209
  ->setInputval1($this->_getOrderId())
210
  ->setInvoiceType(self::PAYMENT_METHOD)
211
  ->setDueDate($dueDate)
212
+ ->setInvoiceRef('BNR-'.$this->getConfigData('product_id').'-'. $this->_getOrderId())
213
  ;
214
 
215
  return $request;
267
  $note .= $helper->__('Amount') . ":<b>" . str_replace('.', ',', $result->getAmount()) . " EUR</b><br />";
268
  $note .= $helper->__('Reference') . ":<b>TID " . $result->getTid() . "</b><br />";
269
  $note .= $helper->__('Only for foreign transfers') . ":<br />";
270
+ $note .= "IBAN: <b>" . $result->getInvoiceIban() . "</b><br />";
271
  $note .= "SWIFT/BIC: <b>" . $result->getInvoiceBic() . "</b><br />";
272
  return $note;
273
  }
app/code/community/Mage/Novalnet/Model/NovalnetSecure.php CHANGED
@@ -132,7 +132,9 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
132
  ->load();
133
  if (count($orders) < $minOrderCount) {
134
  return false;
135
- }
 
 
136
  return parent::isAvailable();
137
  }
138
 
@@ -183,7 +185,7 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
183
  ->setCity($billing->getCity())
184
  ->setZip($billing->getPostcode())
185
  ->setCountryCode($billing->getCountry())
186
- ->setLang($billing->getLang())
187
  ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
188
  ->setTel($billing->getTelephone())
189
  ->setFax($billing->getFax())
@@ -198,6 +200,7 @@ class Mage_Novalnet_Model_NovalnetSecure extends Mage_Payment_Model_Method_Cc
198
  ->setErrorReturnUrl(Mage::getUrl('novalnet/secure/success', array('_secure' => true)))
199
  ->setErrorReturnMethod('POST')
200
  ->setOrderId($order->getRealOrderId())
 
201
  ->setInput1('order_id')
202
  ->setInputval1($order->getRealOrderId());
203
 
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
 
185
  ->setCity($billing->getCity())
186
  ->setZip($billing->getPostcode())
187
  ->setCountryCode($billing->getCountry())
188
+ ->setLang(substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2))
189
  ->setRemoteIp(Mage::helper('novalnet')->getRealIpAddr())
190
  ->setTel($billing->getTelephone())
191
  ->setFax($billing->getFax())
200
  ->setErrorReturnUrl(Mage::getUrl('novalnet/secure/success', array('_secure' => true)))
201
  ->setErrorReturnMethod('POST')
202
  ->setOrderId($order->getRealOrderId())
203
+ ->setOrderNo($order->getRealOrderId())
204
  ->setInput1('order_id')
205
  ->setInputval1($order->getRealOrderId());
206
 
app/code/community/Mage/Novalnet/Model/Observer.php CHANGED
@@ -84,7 +84,26 @@ class Mage_Novalnet_Model_Observer extends Mage_Payment_Model_Method_Abstract
84
 
85
  }
86
 
87
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
 
89
  }
90
 
84
 
85
  }
86
 
87
+ /*
88
+ * To Set the Order Status for CCiframe during redirection .
89
+ *
90
+ */
91
+
92
+ public function SaveOrderStatus ()
93
+ {
94
+ $paymentmethod=Mage::getSingleton('checkout/session')->getQuote()->getPayment()->getMethodInstance()->getCode();
95
+ if($paymentmethod == 'novalnetCc')
96
+ {
97
+ $orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
98
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
99
+ $order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT)
100
+ ->addStatusToHistory(
101
+ Mage_Sales_Model_Order::STATE_HOLDED,
102
+ Mage::helper('novalnet')->__('Customer was redirected to Novalnet'),
103
+ true
104
+ )->save();
105
+ }
106
+ }
107
 
108
  }
109
 
app/code/community/Mage/Novalnet/controllers/InvoiceController.php CHANGED
@@ -25,11 +25,11 @@ class Mage_Novalnet_InvoiceController extends Mage_Core_Controller_Front_Action
25
  ->load($session->getQuoteId())
26
  ->getPayment()
27
  ->setNnComments($resultnote)
28
- ->setNnTestorder(1)
29
  ->save();
30
  }
31
 
32
- $this->saveInvoice($order); // To generate Order Invoice
33
 
34
  $session->unsInvoiceReqData()
35
  ->unsInvoiceReqDataNote();
25
  ->load($session->getQuoteId())
26
  ->getPayment()
27
  ->setNnComments($resultnote)
28
+ ->setNnTestorder($resultdata->getTestMode())
29
  ->save();
30
  }
31
 
32
+ //$this->saveInvoice($order); // To generate Order Invoice
33
 
34
  $session->unsInvoiceReqData()
35
  ->unsInvoiceReqDataNote();
app/code/community/Mage/Novalnet/etc/config.xml CHANGED
@@ -1,7 +1,17 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
3
  <global>
4
- <!-- declare model group for new module -->
 
 
 
 
 
 
 
 
 
 
5
  <models>
6
  <!-- model group alias to be used in Mage::getModel('newmodule/...') -->
7
  <novalnet>
@@ -104,7 +114,16 @@
104
  <method>getFormData</method>
105
  </Mage_Novalnet_Model_Observer>
106
  </observers>
107
- </controller_action_predispatch_checkout_onepage_index>
 
 
 
 
 
 
 
 
 
108
  </events>
109
  <layout>
110
  <updates>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <config>
3
  <global>
4
+ <template>
5
+ <email>
6
+ <novalnet_callback_email_template module="Mage_Novalnet">
7
+ <label>Novalnet Callback Email</label>
8
+ <file>novalnet/novalnet_callback_email.html</file>
9
+ <type>html</type>
10
+ </novalnet_callback_email_template>
11
+ </email>
12
+ </template>
13
+
14
+ <!-- declare model group for new module -->
15
  <models>
16
  <!-- model group alias to be used in Mage::getModel('newmodule/...') -->
17
  <novalnet>
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>
app/code/community/Mage/Novalnet/etc/system.xml CHANGED
@@ -129,7 +129,7 @@
129
  <show_in_store>0</show_in_store>
130
  </callback>
131
  <callback_minimum_amount>
132
- <label>Minimum Amout For Callback</label>
133
  <frontend_type>text</frontend_type>
134
  <sort_order>13</sort_order>
135
  <show_in_default>1</show_in_default>
@@ -333,7 +333,7 @@
333
  <show_in_store>0</show_in_store>
334
  </callback>
335
  <callback_minimum_amount>
336
- <label>Minimum Amout For Callback</label>
337
  <frontend_type>text</frontend_type>
338
  <sort_order>12</sort_order>
339
  <show_in_default>1</show_in_default>
@@ -1047,7 +1047,7 @@
1047
  <show_in_store>0</show_in_store>
1048
  </callback>
1049
  <callback_minimum_amount>
1050
- <label>Minimum Amout For Callback</label>
1051
  <frontend_type>text</frontend_type>
1052
  <sort_order>9</sort_order>
1053
  <show_in_default>1</show_in_default>
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>
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>
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>
app/code/community/Novalnet/NovalnetPaypal/Model/Novalnetpaypal.php CHANGED
@@ -108,7 +108,9 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
108
  ->load();
109
  if (count($orders) < $minOrderCount) {
110
  return false;
111
- }
 
 
112
  return parent::isAvailable();
113
  }
114
 
@@ -161,7 +163,7 @@ class Novalnet_NovalnetPaypal_Model_NovalnetPaypal extends Mage_Payment_Model_Me
161
  $fieldsArr['city'] = $billing->getCity();
162
  $fieldsArr['zip'] = $billing->getPostcode();
163
  $fieldsArr['country_code'] = $billing->getCountry();
164
- $fieldsArr['lang'] = $billing->getLang();
165
  $fieldsArr['remote_ip'] = $this->getRealIpAddr();
166
  $fieldsArr['tel'] = $billing->getTelephone();
167
  $fieldsArr['fax'] = $billing->getFax();
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
 
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();
app/code/community/Novalnet/Sofortueberweisung/Model/Sofortueberweisung.php CHANGED
@@ -101,7 +101,9 @@ class Novalnet_Sofortueberweisung_Model_Sofortueberweisung extends Mage_Payment_
101
  ->load();
102
  if (count($orders) < $minOrderCount) {
103
  return false;
104
- }
 
 
105
  return parent::isAvailable();
106
  }
107
 
@@ -172,7 +174,7 @@ class Novalnet_Sofortueberweisung_Model_Sofortueberweisung extends Mage_Payment_
172
  $fieldsArr['city'] = $billing->getCity();
173
  $fieldsArr['zip'] = $billing->getPostcode();
174
  $fieldsArr['country_code'] = $billing->getCountry();
175
- $fieldsArr['lang'] = $billing->getLang();
176
  $fieldsArr['remote_ip'] = $this->getRealIpAddr();
177
  $fieldsArr['tel'] = $billing->getTelephone();
178
  $fieldsArr['fax'] = $billing->getFax();
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
 
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();
app/design/frontend/default/default/template/novalnet/cc/pciiframe.phtml CHANGED
@@ -154,19 +154,24 @@ else
154
  $input1 = 'order_id';
155
  $Implementation = 'PHP_PCI';
156
  $sessionid = $datavalue->getNnDataValue()->getSessionId();
157
- $lang = $datavalue->getNnDataValue()->getLang();
158
  $remoteip = $datavalue->getNnDataValue()->getRemoteIp();
159
 
160
  $magento_version=Mage::getVersion();
161
- if($magento_version<'1.4.1.0')
162
- {
163
-
164
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_order` ORDER BY `entity_id` DESC LIMIT 1");
 
 
 
 
 
165
  $billingadd = Mage::getModel('checkout/session')->getQuote()->getBillingAddress();
166
 
167
  $firstname = $billingadd->getFirstname();
168
  $lastname = $billingadd->getLastname();
169
- $email = $get_user_email;
170
  $street = $billingadd->getData('street');
171
  $SearchInStreet = '1';
172
  $city = $billingadd->getCity();
@@ -175,26 +180,6 @@ else
175
  $telephone = $billingadd->getTelephone();
176
  $fax = $billingadd->getFax();
177
 
178
- }
179
- else
180
- {
181
-
182
- $items_collect_order = $dbc_collect_order->fetchAll("SELECT * FROM `sales_flat_quote_address` WHERE email='".$get_user_email."' and address_type='shipping' ORDER BY `address_id` DESC LIMIT 1");
183
- $order_id_data = $dbc_collect_order->fetchAll("SELECT `increment_id` FROM `sales_flat_order` ORDER BY `entity_id` DESC LIMIT 1");
184
-
185
- $firstname = $items_collect_order['0']['firstname'];
186
- $lastname = $items_collect_order['0']['lastname'];
187
- $email = $get_user_email;
188
- $street = $items_collect_order['0']['street'];
189
- $SearchInStreet = '1';
190
- $city = $items_collect_order['0']['city'];
191
- $postcode = $items_collect_order['0']['postcode'];
192
- $countryid = $items_collect_order['0']['country_id'];
193
- $telephone = $items_collect_order['0']['telephone'];
194
- $fax = $items_collect_order['0']['fax'];
195
-
196
- }
197
-
198
  if(!$order_id_data)
199
  {
200
  $last_main_order_id = '100000000';
@@ -202,7 +187,7 @@ else
202
  }
203
  else
204
  {
205
- $last_main_order_id = $order_id_data['0']['increment_id'];
206
  $inputval1 = $last_main_order_id+1;
207
  }
208
 
@@ -232,6 +217,7 @@ else
232
  ->setReturnMethod($returnmethod)
233
  ->setErrorReturnUrl($errorreturnURL)
234
  ->setErrorReturnMethod($errorreturnmethod)
 
235
  ->setInput1($input1)
236
  ->setImplementation($Implementation)
237
  ->setInputval1($inputval1);
@@ -243,7 +229,6 @@ else
243
  $session=Mage::getSingleton('checkout/session')->setNovalnetRealOrderId($inputval1);
244
  $session=Mage::getSingleton('checkout/session')->setOrderId($inputval1);
245
  $session=Mage::getSingleton('checkout/session')->setPassword($password);
246
- $session=Mage::getSingleton('checkout/session')->setOrderStatus($order_status);
247
  $session=Mage::getSingleton('checkout/session')->setCreateInvoice($createinvoice);
248
  $session=Mage::getSingleton('checkout/session')->setNovalnetQuoteId($session->getQuoteId());
249
 
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();
180
  $telephone = $billingadd->getTelephone();
181
  $fax = $billingadd->getFax();
182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  if(!$order_id_data)
184
  {
185
  $last_main_order_id = '100000000';
187
  }
188
  else
189
  {
190
+ $last_main_order_id = $order_id_data;
191
  $inputval1 = $last_main_order_id+1;
192
  }
193
 
217
  ->setReturnMethod($returnmethod)
218
  ->setErrorReturnUrl($errorreturnURL)
219
  ->setErrorReturnMethod($errorreturnmethod)
220
+ ->setOrderNo($inputval1)
221
  ->setInput1($input1)
222
  ->setImplementation($Implementation)
223
  ->setInputval1($inputval1);
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
 
app/design/frontend/default/default/template/sofortueberweisung/form/sofortueberweisung.phtml CHANGED
@@ -5,8 +5,12 @@
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
-
9
  </a>
 
 
 
 
 
10
  </div>
11
 
12
  <div class="clear"></div>
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/locale/de_AT/Mage_Novalnet.csv CHANGED
@@ -129,4 +129,5 @@ Please transfer the invoice amount with the following information to our payment
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"
 
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"
app/locale/de_AT/template/email/novalnet/novalnet_callback_email.html ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--@subject Novalnet Callback Email@-->
2
+ <!--@vars
3
+ {
4
+ "var toName" :"Receiver Name",
5
+ "var toEmail" :"Receiver Email",
6
+ "var fromName" :"Sender Name",
7
+ "var fromEmail":"Sender Email",
8
+ "var subject" :"Mail Subject",
9
+ "var body" :"Mail Body"
10
+ }
11
+ @-->
12
+
13
+ Dear Mr./Ms./Mrs. {{var toName}}
14
+
15
+ This email is sent to you (Recipient E-mail: {{var toEmail}}) by {{var fromName}} from {{var fromEmail}}
16
+
17
+
18
+ Subject: {{var subject}}
19
+
20
+ Body: {{var body}}
21
+
22
+ Regards,
23
+ Novalnet Team
app/locale/de_CH/Mage_Novalnet.csv CHANGED
@@ -129,4 +129,5 @@ Please transfer the invoice amount with the following information to our payment
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"
 
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"
app/locale/de_CH/template/email/novalnet/novalnet_callback_email.html ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--@subject Novalnet Callback Email@-->
2
+ <!--@vars
3
+ {
4
+ "var toName" :"Receiver Name",
5
+ "var toEmail" :"Receiver Email",
6
+ "var fromName" :"Sender Name",
7
+ "var fromEmail":"Sender Email",
8
+ "var subject" :"Mail Subject",
9
+ "var body" :"Mail Body"
10
+ }
11
+ @-->
12
+
13
+ Dear Mr./Ms./Mrs. {{var toName}}
14
+
15
+ This email is sent to you (Recipient E-mail: {{var toEmail}}) by {{var fromName}} from {{var fromEmail}}
16
+
17
+
18
+ Subject: {{var subject}}
19
+
20
+ Body: {{var body}}
21
+
22
+ Regards,
23
+ Novalnet Team
app/locale/de_DE/Mage_Novalnet.csv CHANGED
@@ -129,4 +129,5 @@ Please transfer the invoice amount with the following information to our payment
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"
 
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"
app/locale/de_DE/template/email/novalnet/novalnet_callback_email.html ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--@subject Novalnet Callback Email@-->
2
+ <!--@vars
3
+ {
4
+ "var toName" :"Receiver Name",
5
+ "var toEmail" :"Receiver Email",
6
+ "var fromName" :"Sender Name",
7
+ "var fromEmail":"Sender Email",
8
+ "var subject" :"Mail Subject",
9
+ "var body" :"Mail Body"
10
+ }
11
+ @-->
12
+
13
+ Dear Mr./Ms./Mrs. {{var toName}}
14
+
15
+ This email is sent to you (Recipient E-mail: {{var toEmail}}) by {{var fromName}} from {{var fromEmail}}
16
+
17
+
18
+ Subject: {{var subject}}
19
+
20
+ Body: {{var body}}
21
+
22
+ Regards,
23
+ Novalnet Team
app/locale/en_US/Mage_Novalnet.csv CHANGED
@@ -126,4 +126,5 @@ 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"
 
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"
app/locale/en_US/template/email/novalnet/novalnet_callback_email.html ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--@subject Novalnet Callback Email@-->
2
+ <!--@vars
3
+ {
4
+ "var toName" :"Receiver Name",
5
+ "var toEmail" :"Receiver Email",
6
+ "var fromName" :"Sender Name",
7
+ "var fromEmail":"Sender Email",
8
+ "var subject" :"Mail Subject",
9
+ "var body" :"Mail Body"
10
+ }
11
+ @-->
12
+
13
+ Dear Mr./Ms./Mrs. {{var toName}}
14
+
15
+ This email is sent to you (Recipient E-mail: {{var toEmail}}) by {{var fromName}} from {{var fromEmail}}
16
+
17
+
18
+ Subject: {{var subject}}
19
+
20
+ Body: {{var body}}
21
+
22
+ Regards,
23
+ Novalnet Team
callback_novalnet2magento.php CHANGED
@@ -1,255 +1,435 @@
1
  <?php
2
- #########################################################
3
- # #
4
- # This script is used for real time capturing of #
5
- # parameters passed from Novalnet AG after Payment #
6
- # processing of customers. #
7
- # #
8
- # Copyright (c) 2008 Novalnet AG #
9
- # #
10
- # This script is only free to the use for Merchants of #
11
- # Novalnet AG #
12
- # #
13
- # If you have found this script useful a small #
14
- # recommendation as well as a comment on merchant form #
15
- # would be greatly appreciated. #
16
- # #
17
- # Version : 1.0 2009-08-27 #
18
- # #
19
- # Please contact sales@novalnet.de for enquiry or info #
20
- # #
21
- # ABSTRACT: This script is called from Novalnet, as #
22
- # soon as a payment done for payment methods, e.g. #
23
- # Prepayment, Invoice. An Email will be sent if an #
24
- # error occurs #
25
- # #
26
- # PARAMETERS passed over to this script: #
27
- # $_REQUEST['reference'] (reference = order no. #
28
- # $_REQUEST['vendor_id'] #
29
- # $_REQUEST['product_id'] #
30
- # $_REQUEST['tid'] #
31
- # #
32
- # NOTICE: #
33
- # 1. This script must be placed in basic Magento folder#
34
- # to avoid rewrite rules (mod_rewrite) #
35
- # 2. You have to adapt the value of all the variables #
36
- # commented with 'adapt here, if nesseccary' #
37
- # 3. Set $test to false for live system #
38
- #
39
- # 4. For testing sent param order no. and tid on url #
40
- # after filling necessary param in the script #
41
- #
42
- # ex.: http://magento.novalnet-solutions.com/callback_novalnet2magento.php?tid=12496500001511404&reference=100000097
43
- # #
44
- # 5. Types of Status: #
45
- # #
46
- # 1. pending #
47
- # 2. processing #
48
- # 3. holded #
49
- # 4. complete #
50
- # 5. canceled #
51
- # #
52
- #########################################################
53
 
54
  require_once 'app/Mage.php';
55
- Mage::app('default');
56
-
57
- $aryParams = array_merge($_POST, $_GET);
58
-
59
- # looping through the array and passing the parameters and values as variables
60
- foreach($aryParams as $blub => $value)
61
- {
62
- if($value != "")
63
- {
64
- $blub = remove_string($blub);
65
- $value = remove_string($value);
66
- $$blub = $value;
67
- $aryCaptureParams[$blub] = $value;
68
- }
69
- }
70
- #var_dump($aryCaptureParams);
71
-
72
- if(!isset($aryCaptureParams['reference'])) {$aryCaptureParams['reference']='';}
73
- if(!isset($aryCaptureParams['tid'])) {$aryCaptureParams['tid']='';}
74
- ### NOVALNET DATA ###
75
- $ip_allowed = '127.0.0.1'; ## NOVALNET IP, fix
76
-
77
- $aryVendor = array();
78
- #### YOUR VENDOR DATA, SHOULD BE CHANGED BEFORE SETTING THE SCRIPT TO LIVE MODUS ####
79
- $aryVendor['id'] = 4;
80
- $aryVendor['authcode'] = "JyEtHUjjbHNJwVztW6JrafIMHQvici"; ### your vendor authcode at Novalnet
81
- $aryVendor['product_id'] = 13; #Your Product ID at Novalnet
82
- $aryVendor['tariff_id'] = 127; #Your Tariff ID at Novalnet
83
- $aryVendor['payment_type'] = 27; #Your Payment ID at Novalnet
84
- #Direct debit DE: payment type=2 OR Direct debit AT: Payment type=8 OR Creditcard payment type=6 OR INVOICE_START payment type=27 OR Prepayment payment type=2
85
- $aryVendor['invoice_type'] = 'invoice'; #the value should be either 'prepayment' or 'invoice'. Its a must field required only Prepayment or Invoice_start Payment
86
- $aryVendor['lang'] = 'DE'; #language iso code of the novalnet response (EN or DE)
87
- $aryVendor['currency'] = 'EUR'; #currency code
88
- $aryVendor['tid'] = ''; #The TID number for changing the status of the tid (to book or to cancel the tid) (Only for use of changing the status of the tid)
89
- $status_code = '100'; #novalnet status code:100=success OR 103=cancel the booking (Only for use of changing the status of the tid)
90
- $nn_amount = ''; #amount on which the subscription started. Amount is allowed only in cent format. for example: 500 = 5 Euro (Only for use of subscription Cancellation)
91
- $aryVendor['subs_start_tid'] = '123456789012234567890'; #The TID number on which the subscription started (Only for use of subscription Cancellation)
92
- $aryVendor['cancel_reason'] = "Vom Haendler gewuenscht bzw. durchgefuehrt"; ### Cancellation Reason, default: cancelled through vendor (Only for use of subscription Cancellation)
93
- #$aryCaptureParams['reference'] = 500000401; #a real order no on your shop
94
-
95
- #$data = change_tid_status($aryVendor, $status_code); #call this function for changing the status of the tid (to book or to cancel the tid)
96
- #$data = CancelSubscription($aryVendor, $nn_amount); #call this function for cancelling an exisiting subscription at novalnet
97
-
98
- ### BASIC AND CONFIGURATION DATA ###
99
- $test = true; #todo: set to false for live systm
100
- $today = date("d.m.Y");
101
- $caller_ip = '127.0.0.1';
102
-
103
-
104
- $aryCaptureParams['reference']=$aryCaptureParams['reference'];
105
- $aryCaptureParams['tid']=$aryCaptureParams['tid'];
106
-
107
- ### Email Data ###
108
- $comments = "Bestellstatus aenderung: Gutschrifteingang bei Novalnet am $today"; #The comment to be entered on order history table
109
- $from = 'test@novalnet.de'; # email from which the notice email to be sent to technic; adapt here, if nesseccary
110
- $reply_to = 'test@novalnet.de'; # email where the reply to notice email to be sent; adapt here, if nesseccary
111
- $email = 'test@novalnet.de'; # email adress where the notice email to be sent; adapt here, if nesseccary
112
- $copy_to = 'test@novalnet.de'; # copy email where the notice email to be sent; adapt here, if nesseccary order leer lassen
113
- $subject = 'FEHLER beim Aufruf Magento-Novalnet-Schnittstelle'; # subject of the email
114
-
115
-
116
- if($caller_ip == $ip_allowed && $aryCaptureParams['reference'] && $aryCaptureParams['tid'] && $aryVendor['id'])
117
- {
118
-
119
- $body = "Sehr geehrte Damen und Herren,\n\nfolgender Aufruf der Status Aenderung fuer Bestellungnummer '".$aryCaptureParams['reference']."' konnte nicht erfolgreich bearbeitet werden!\n\nBei Fragen wenden Sie sich bitte an Novalnet\n\ncaller_ip = $caller_ip\n\nnovalnet/vendor_script.php"; # body of the email
120
-
121
- // Magento's order id
122
- $orderIncrementId = $aryCaptureParams['reference']; // Set Order_id to the variable '$orderIncrementId'.
123
- $status = "processing"; // Set the Required Status -- Types of Status Mentioned at top
124
- $comment = "The Payment has successfully made"; // Please Enter your comments for the order.
125
- $notify = "FALSE"; //Set "TRUE" if you wish to send a mail to customer about order complete.
126
-
127
-
128
- $getinvoiceid_using_orderid = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId)->getInvoiceCollection()->getData(); // Get invoice_id from order_id
129
- $invoiceid = $getinvoiceid_using_orderid['0']['increment_id']; // Assign Invoice_id to '$invoiceid'
130
-
131
- // Capture Invoice -- After Capture the Status changed to Paid.
132
- $invoice_capture = Mage::getModel('sales/order_invoice_api')->capture($invoiceid);
133
-
134
- // Change the Order Status.
135
- $completeorder = new Mage_Sales_Model_Order_Api();
136
- $completeorder->addComment($orderIncrementId, $status, $comment, $notify);
137
-
138
- echo "-----------------------STATUS UPDATED OK-------------------------";
139
- }
140
- else
141
- {
142
- print "Empty value\r\n";
143
- ### ERRONEOUS CALL, SO SEND EMAIL TO TECHNIC
144
- if($from)
145
- {
146
- header('Content-Type: text/html; charset=iso-8859-1');
147
- $headers = 'From: ' . $from . "\r\n";
148
- if($reply_to)$headers .= 'Reply-To: ' . $reply_to . "\r\n";
149
- else $headers .= 'Reply-To: ' . $from . "\r\n";
150
- if($copy_to)$headers .= 'Cc: ' . $copy_to . "\r\n";
151
-
152
- // calling the standard PHP Mail function
153
- $mailOk = mail($email, $subject, $body, $headers);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  }
155
  }
 
156
 
157
- if ($test){
158
- echo"------------Fertig------------------\n";
159
- }
160
-
161
- ### Function to Cancel a subscription ###
162
- function CancelSubscription($aryVendor, $amount)
163
- {
164
- $url = 'https://payport.novalnet.de/paygate.jsp';
165
- $urlparam = 'vendor='.$aryVendor['id'].'&auth_code='.$aryVendor['authcode'].'&product='.$aryVendor['product_id'].'&tariff='.$aryVendor['tariff_id'];
166
- $urlparam .= '&payment_type='.$aryVendor['payment_type'].'&tid='.$aryVendor['subs_start_tid'].'&cancel_reason='.$aryVendor['cancel_reason'];
167
- $urlparam .= "&amount=$amount&cancel_sub=1";
168
-
169
- list($errno, $errmsg, $data) = perform_https_request($url, $urlparam, '', 0);
170
 
171
- return $data;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  }
173
-
174
- ####################################################################################################
175
- ### change the status of the tid (to book or to cancel the tid of products which are on hold) ###
176
- ### tid_on_hold means that you decide when the transactions should be either booked or canceled ###
177
- ### only $status=100 or $status=103 are allowed ###
178
- ### status=100 means that the transaction with the $tid should be booked. ###
179
- ### status=103 means that we cancel the transaction with the $tid. ###
180
- ### please contact Novalnet for further details ###
181
- ####################################################################################################
182
-
183
- function change_tid_status($aryVendor, $status)
184
- {
185
- $url = 'https://payport.novalnet.de/paygate.jsp';
186
- $urlparam = 'vendor='.$aryVendor['id'].'&auth_code='.$aryVendor['authcode'].'&product='.$aryVendor['product_id'].'&tariff='.$aryVendor['tariff_id'];
187
- $urlparam .= '&key='.$aryVendor['payment_type'].'&tid='.$aryVendor['tid']."&status=$status";
188
-
189
- list($errno, $errmsg, $data) = $this->perform_https_request($url, $urlparam, '', 0);
190
-
191
- return $data;
192
  }
 
193
 
194
- ### Realtime accesspoint for communication to the Novalnet paygate ###
195
- function perform_https_request($nn_url, $urlparam, $type, $debug)
196
- {
197
- if($debug) print "<BR>perform_https_request: $nn_url<BR>\n\r\n";
198
- if($debug) print "perform_https_request: $urlparam<BR>\n\r\n";
199
-
200
- ## some prerquisites for the connection
201
- $ch = curl_init($nn_url);
202
- if($type=='xml')curl_setopt($ch, CURLOPT_HTTPHEADER,array("Content-Type: application/xml; charset=utf-8"));
203
- curl_setopt($ch, CURLOPT_POST, 1); // a non-zero parameter tells the library to do a regular HTTP post.
204
- curl_setopt($ch, CURLOPT_POSTFIELDS, $urlparam); // add POST fields
205
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); // don't allow redirects
206
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // decomment it if you want to have effective ssl checking
207
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // decomment it if you want to have effective ssl checking
208
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return into a variable
209
- curl_setopt($ch, CURLOPT_TIMEOUT, 240); // maximum time, in seconds, that you'll allow the CURL functions to take
210
-
211
- ## establish connection
212
- $data = curl_exec($ch);
213
-
214
- ## determine if there were some problems on cURL execution
215
- $errno = curl_errno($ch);
216
- $errmsg = curl_error($ch);
217
-
218
- ###bug fix for PHP 4.1.0/4.1.2 (curl_errno() returns high negative value in case of successful termination)
219
- if($errno < 0) $errno = 0;
220
- ##bug fix for PHP 4.1.0/4.1.2
221
-
222
- if($debug)
223
- {
224
- print_r(curl_getinfo($ch));
225
- echo "\n<BR><BR>\n\n\nperform_https_request: cURL error number:" . $errno . "\n<BR>\n\n";
226
- echo "\n\n\nperform_https_request: cURL error:" . $errmsg . "\n<BR>\n\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
 
 
 
 
 
228
 
229
- #close connection
230
- curl_close($ch);
231
-
232
- ## read and return data from novalnet paygate
233
- if($debug) print "<BR>\n\n" . $data . "\n<BR>\n\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
 
235
- return array ($errno, $errmsg, $data);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }
237
 
238
- function isPublicIP($value)
239
- {
240
- if(!$value || count(explode('.',$value))!=4) return false;
241
- return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
242
- }
243
 
 
 
 
 
 
 
 
244
 
245
- ###########################################
246
- # Function to remove unwanted string
247
- ###########################################
248
- function remove_string($string)
249
- {
250
- $toReplaced = array("'", '"', '^', '`');
251
- $replacement = array('', '', '', '');
252
- $string = str_replace($toReplaced, $replacement, $string);
253
- return $string;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
255
  ?>
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
  ?>
package.xml CHANGED
@@ -1,23 +1,23 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Novalnet</name>
4
- <version>1.3.5</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.5 is now loaded with Iframe functionality&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;#xE4;hrung fix als &amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;apos; &amp;amp;amp;amp;amp;#xFC;bergeben.&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;#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;apos;EUR&amp;amp;amp;amp;amp;amp;apos; for payment modules &amp;amp;amp;amp;amp;amp;apos;Direct Debit German&amp;amp;amp;amp;amp;amp;apos;, &amp;amp;amp;amp;amp;amp;apos;Direct Debit Austria&amp;amp;amp;amp;amp;amp;apos; and &amp;amp;amp;amp;amp;amp;apos;Credir Card&amp;amp;amp;amp;amp;amp;apos;.Allgemeine Bemerkung:Die Cache-Ordner var/cache und var/session m&amp;amp;amp;amp;amp;#xFC;ssen wie immer nach Aktualisierungen geleert werden.&amp;amp;amp;amp;#xD;&amp;amp;amp;#xD;&amp;amp;#xD;&amp;#xD;&#xD;
15
- &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-03-15</date>
19
- <time>13:39:44</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="41b75076b29e72426cbdb10555e14e2a"/><file name="NovalnetPciAbstract.php" hash="f8234b39c3e01e66e16bcbe3e5a06b50"/><file name="NovalnetPhonepayment.php" hash="796f0930567080777de8aff10859b64c"/><file name="NovalnetPrepayment.php" hash="482970036a7fb9290570dc6b73c2ddf1"/><file name="NovalnetSecure.php" hash="44713bc1c43d1c983279ffde8e38e079"/><file name="Observer.php" hash="6e7bc4f2d961fd65afbb36cd0a3f980f"/></dir><dir name="controllers"><file name="InvoiceController.php" hash="b831a0c39a6a403bf9887949cee858ab"/><file name="PciController.php" hash="4acaa9ab410bc0a6c4ab42ee23c3f2a1"/><file name="SecureController.php" hash="5104b240ae9ccb066b2b83671a1e587b"/></dir><dir name="etc"><file name="config.xml" hash="2162c4c801c1847eefd14fdf34b3c838"/><file name="system.xml" hash="b6dffd431a22dc4126b07e849f67c82f"/></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="d3d0f8a7a8c457e2bbb3d51b217aadd9"/></dir><dir name="controllers"><file name="NovalnetpaypalController.php" hash="6f6860f51788569f59b8ef146d5d2fb0"/></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="301a12e56c3a719d3f76787e89fe3bce"/><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="a21b64dca076b3fda06df59fe97ed8d2"/></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="f2b3889886630d613661505bcf676e73"/></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="276d1e2d45503f3bbc9e1be749e47a40"/></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="641da275a2889b01673a8d0767e878d7"/><file name="Novalnet_NovalnetPaypal.csv" hash="030a8ca38d69752ed1badae6121e64d2"/><file name="Novalnet_Sofortueberweisung.csv" hash="54b8e28b89c34119cad663cee3c88814"/></dir><dir name="de_CH"><file name="Mage_Novalnet.csv" hash="641da275a2889b01673a8d0767e878d7"/><file name="Novalnet_NovalnetPaypal.csv" hash="030a8ca38d69752ed1badae6121e64d2"/><file name="Novalnet_Sofortueberweisung.csv" hash="54b8e28b89c34119cad663cee3c88814"/></dir><dir name="de_DE"><file name="Mage_Novalnet.csv" hash="641da275a2889b01673a8d0767e878d7"/><file name="Novalnet_NovalnetPaypal.csv" hash="030a8ca38d69752ed1badae6121e64d2"/><file name="Novalnet_Sofortueberweisung.csv" hash="54b8e28b89c34119cad663cee3c88814"/></dir><dir name="en_US"><file name="Mage_Novalnet.csv" hash="13b0fbb6dccb2a3c008515f8e4658987"/><file name="Novalnet_NovalnetPaypal.csv" hash="8f9768ff6e0bfa65fd7346a07ff454a7"/><file name="Novalnet_Sofortueberweisung.csv" hash="674c8e4ef54f090544cf947ff0368efe"/></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="9da764130d7396e34e2f6b6aacec0e7d"/></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>1.3.6</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.6 is now loaded with Iframe functionality&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;#xE4;hrung fix als &amp;amp;amp;amp;amp;amp;amp;apos;EUR&amp;amp;amp;amp;amp;amp;amp;apos; &amp;amp;amp;amp;amp;amp;#xFC;bergeben.&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;#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;apos;EUR&amp;amp;amp;amp;amp;amp;amp;apos; for payment modules &amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit German&amp;amp;amp;amp;amp;amp;amp;apos;, &amp;amp;amp;amp;amp;amp;amp;apos;Direct Debit Austria&amp;amp;amp;amp;amp;amp;amp;apos; and &amp;amp;amp;amp;amp;amp;amp;apos;Credir Card&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;#xFC;ssen wie immer nach Aktualisierungen geleert werden.&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;#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-04</date>
19
+ <time>13:08:26</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="fbb7b9b11f45db6701eba40466c2ccca"/><file name="NovalnetPciAbstract.php" hash="cf7b4a1a5b6b439369f612e5883362cb"/><file name="NovalnetPhonepayment.php" hash="1c33641f7ce92101f4271bb7c785b1d9"/><file name="NovalnetPrepayment.php" hash="5e755a365b41fc1e304bcf1310ef2c75"/><file name="NovalnetSecure.php" hash="ccdb0f9c9aae348fb337026ddfab3769"/><file name="Observer.php" hash="3a112b074ed8cafaddf33980c6e0cb89"/></dir><dir name="controllers"><file name="InvoiceController.php" hash="970efd8140f8068588a29ac5e2161592"/><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="6f6860f51788569f59b8ef146d5d2fb0"/></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="a21b64dca076b3fda06df59fe97ed8d2"/></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="9f93cc2166e274bc8875594a7c379d74"/></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="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="en_US"><file name="Mage_Novalnet.csv" hash="3a9ae2dbf1b92a133141528ec2704eb0"/><file name="Novalnet_NovalnetPaypal.csv" hash="8f9768ff6e0bfa65fd7346a07ff454a7"/><file name="Novalnet_Sofortueberweisung.csv" hash="674c8e4ef54f090544cf947ff0368efe"/><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>