Novalnet - Version 1.2.4

Version Notes

Dies ist eine Beta-Version.
Neu: Sofortüberweisung ist nun implementiert und kann getestet werden. Für die Nutzung ist das Eintragen eines Passwortes im Magento-Adminbereich Voraussetzung. Das Passwort können Sie im Admintool auf admin.novalnet.de unter Stammdaten -> Paymentzugriffsschluessel einsehen.

This is a beta release.
What's new: Instant bank transfer or online transfer is now implemented and can be tested. You have to enter a password in the Magento's admin area before starting. You cann get the password in your admin tool at admin.novalnet.de: Stammdaten -> Paymentzugriffsschluessel.

Download this release

Release Info

Developer Magento Core Team
Extension Novalnet
Version 1.2.4
Comparing to
See all releases


Code changes from version 1.2.3 to 1.2.4

app/code/community/Mage/Novalnet/Model/NovalnetElvgerman.php CHANGED
@@ -101,12 +101,12 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
101
  * authorize, capture and void in Mage_Paygate_Model_Authorizenet
102
  */
103
  public function authorize(Varien_Object $payment, $amount)
104
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
105
 
106
  return $this;
107
  }
108
  public function capture(Varien_Object $payment, $amount)
109
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
110
  $error = false;
111
  $payment->setAmount($amount);
112
 
@@ -152,12 +152,12 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
152
  return $this;
153
  }
154
  public function refund(Varien_Object $payment, $amount)
155
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
156
  return $this;
157
  }
158
 
159
  public function void(Varien_Object $payment)
160
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
161
  return $this;
162
  }
163
  /**
@@ -168,14 +168,14 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
168
  * @return unknown
169
  */
170
  protected function _saveObject (Varien_Object $payment)
171
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
172
  $order = $payment->getOrder();
173
  if (!empty($order)) {
174
  $billing = $order->getBillingAddress();
175
  }
176
  }
177
  protected function _buildRequest(Varien_Object $payment)
178
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
179
  $order = $payment->getOrder();
180
 
181
  $request = Mage::getModel('novalnet/novalnet_request');
@@ -196,14 +196,6 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
196
  if (!empty($order)) {
197
  $request->setinput1($order->getIncrementId());
198
  $billing = $order->getBillingAddress();
199
- /*$street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
200
- if (!isset($street[1])){$street[1]='';}
201
- if (!isset($street[2])){$street[2]='';}
202
- if (!$street[0]){$street[0] = $street[1].$street[2];}
203
- if (!$street[0])
204
- {
205
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
206
- }*/
207
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
208
  if (!empty($billing)) {
209
  $request->setfirst_name($billing->getFirstname())
@@ -234,10 +226,7 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
234
  }
235
 
236
  protected function _postRequest(Varien_Object $request)
237
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
238
- $this->debug2($request, 'magento_postRequest_request.txt');
239
- $this->debug2($_REQUEST, 'magento_postRequest__REQUEST.txt');
240
- $this->debug2($_SESSION, 'magento_postRequest__SESSION.txt');
241
  $result = Mage::getModel('novalnet/novalnet_result');
242
 
243
  $client = new Varien_Http_Client();
@@ -298,7 +287,7 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
298
 
299
 
300
  public function assignData($data)
301
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
302
  if (!($data instanceof Varien_Object)) {
303
  $data = new Varien_Object($data);
304
  }
@@ -319,7 +308,7 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
319
  * @return Mage_Sales_Model_Quote
320
  */
321
  public function getQuote()
322
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
323
  if (empty($this->_quote)) {
324
  $this->_quote = $this->getCheckout()->getQuote();
325
  }
@@ -331,7 +320,7 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
331
  * @return Mage_Sales_Model_Order
332
  */
333
  public function getCheckout()
334
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
335
  if (empty($this->_checkout)) {
336
  //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
337
  $this->_checkout = Mage::getSingleton('checkout/session');
@@ -340,12 +329,12 @@ class Mage_Novalnet_Model_NovalnetElvgerman extends Mage_Payment_Model_Method_Ab
340
  }
341
 
342
  public function getTitle()
343
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
344
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
345
  }
346
 
347
  public function validate()
348
- {$this->debug2(__FUNCTION__, 'magento_func_calls.txt');
349
  parent::validate();
350
  $info = $this->getInfoInstance();
351
  $nnAccountNumber = $info->getNnAccountNumber();
101
  * authorize, capture and void in Mage_Paygate_Model_Authorizenet
102
  */
103
  public function authorize(Varien_Object $payment, $amount)
104
+ {
105
 
106
  return $this;
107
  }
108
  public function capture(Varien_Object $payment, $amount)
109
+ {
110
  $error = false;
111
  $payment->setAmount($amount);
112
 
152
  return $this;
153
  }
154
  public function refund(Varien_Object $payment, $amount)
155
+ {
156
  return $this;
157
  }
158
 
159
  public function void(Varien_Object $payment)
160
+ {
161
  return $this;
162
  }
163
  /**
168
  * @return unknown
169
  */
170
  protected function _saveObject (Varien_Object $payment)
171
+ {
172
  $order = $payment->getOrder();
173
  if (!empty($order)) {
174
  $billing = $order->getBillingAddress();
175
  }
176
  }
177
  protected function _buildRequest(Varien_Object $payment)
178
+ {
179
  $order = $payment->getOrder();
180
 
181
  $request = Mage::getModel('novalnet/novalnet_request');
196
  if (!empty($order)) {
197
  $request->setinput1($order->getIncrementId());
198
  $billing = $order->getBillingAddress();
 
 
 
 
 
 
 
 
199
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
200
  if (!empty($billing)) {
201
  $request->setfirst_name($billing->getFirstname())
226
  }
227
 
228
  protected function _postRequest(Varien_Object $request)
229
+ {
 
 
 
230
  $result = Mage::getModel('novalnet/novalnet_result');
231
 
232
  $client = new Varien_Http_Client();
287
 
288
 
289
  public function assignData($data)
290
+ {
291
  if (!($data instanceof Varien_Object)) {
292
  $data = new Varien_Object($data);
293
  }
308
  * @return Mage_Sales_Model_Quote
309
  */
310
  public function getQuote()
311
+ {
312
  if (empty($this->_quote)) {
313
  $this->_quote = $this->getCheckout()->getQuote();
314
  }
320
  * @return Mage_Sales_Model_Order
321
  */
322
  public function getCheckout()
323
+ {
324
  if (empty($this->_checkout)) {
325
  //$this->_checkout = Mage::getSingleton('checkout/type_multishipping');
326
  $this->_checkout = Mage::getSingleton('checkout/session');
329
  }
330
 
331
  public function getTitle()
332
+ {
333
  return Mage::helper('novalnet')->__($this->getConfigData('title'));
334
  }
335
 
336
  public function validate()
337
+ {
338
  parent::validate();
339
  $info = $this->getInfoInstance();
340
  $nnAccountNumber = $info->getNnAccountNumber();
app/code/community/Mage/Novalnet/Model/NovalnetInstantbanktransfer.php CHANGED
@@ -34,6 +34,7 @@ class Mage_Novalnet_Model_NovalnetInstantbanktransfer extends Mage_Payment_Model
34
  const RESPONSE_DELIM_CHAR = '&';
35
  const RESPONSE_CODE_APPROVED = 100;
36
  const KEY = 33;
 
37
 
38
  private $_debug = false; #todo: set to false for live system
39
  /**
@@ -163,6 +164,8 @@ class Mage_Novalnet_Model_NovalnetInstantbanktransfer extends Mage_Payment_Model
163
 
164
  public function getFormFields()
165
  {
 
 
166
  $billing = $this->getOrder()->getBillingAddress();
167
  $payment = $this->getOrder()->getPayment();
168
  $fieldsArr = array();
@@ -170,34 +173,45 @@ class Mage_Novalnet_Model_NovalnetInstantbanktransfer extends Mage_Payment_Model
170
  $paymentInfo = $this->getInfoInstance();
171
  $order = $this->getOrder();
172
 
173
- $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
174
- $fieldsArr['auth_code'] = $this->getConfigData('auth_code');
175
- $fieldsArr['key'] = self::KEY;
176
- $fieldsArr['product'] = $this->getConfigData('product_id');
177
- $fieldsArr['tariff'] = $this->getConfigData('tariff_id');
178
- $fieldsArr['amount'] = ($order->getBaseGrandTotal()*100);
179
-
180
- $fieldsArr['currency'] = $order->getOrderCurrencyCode();
 
 
 
 
 
 
 
 
 
 
181
  $fieldsArr['first_name'] = $billing->getFirstname();
182
- $fieldsArr['last_name'] = $billing->getLastname();
183
- $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
184
- $fieldsArr['street'] = $billing->getStreet(1);
185
- $fieldsArr['search_in_street'] = 1;
186
- $fieldsArr['city'] = $billing->getCity();
187
- $fieldsArr['zip'] = $billing->getPostcode();
188
- $fieldsArr['country_code'] = $billing->getCountry();
189
- $fieldsArr['lang'] = $billing->getLang();
190
- $fieldsArr['remote_ip'] = $this->getRealIpAddr();
191
- $fieldsArr['tel'] = $billing->getTelephone();
192
- $fieldsArr['fax'] = $billing->getFax();
193
- $fieldsArr['birth_date'] = $order->getRemoteIp();
194
- $fieldsArr['session'] = session_id();
195
- $fieldsArr['return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));#orig
196
- $fieldsArr['return_method'] = 'POST';
197
- $fieldsArr['error_return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));#orig.
198
  $fieldsArr['error_return_method'] = 'POST';
199
- $fieldsArr['input1'] = 'order_id';
200
- $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
 
201
 
202
  #on Clicking onto <Weiter> after choice of payment type
203
  /*
@@ -280,4 +294,66 @@ class Mage_Novalnet_Model_NovalnetInstantbanktransfer extends Mage_Payment_Model
280
  fwrite($fh, "<hr />\n");
281
  fclose($fh);
282
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  }
34
  const RESPONSE_DELIM_CHAR = '&';
35
  const RESPONSE_CODE_APPROVED = 100;
36
  const KEY = 33;
37
+ var $password;
38
 
39
  private $_debug = false; #todo: set to false for live system
40
  /**
164
 
165
  public function getFormFields()
166
  {
167
+ $this->password = $this->getConfigData('password');
168
+ $_SESSION['mima'] = $this->password;
169
  $billing = $this->getOrder()->getBillingAddress();
170
  $payment = $this->getOrder()->getPayment();
171
  $fieldsArr = array();
173
  $paymentInfo = $this->getInfoInstance();
174
  $order = $this->getOrder();
175
 
176
+ $fieldsArr['key'] = self::KEY;
177
+ $fieldsArr['vendor'] = $this->getConfigData('merchant_id');
178
+ $fieldsArr['auth_code'] = $this->encode($this->getConfigData('auth_code'), $this->password);
179
+ $fieldsArr['product'] = $this->encode($this->getConfigData('product_id'), $this->password);
180
+ $fieldsArr['tariff'] = $this->encode($this->getConfigData('tariff_id'), $this->password);
181
+ $fieldsArr['amount'] = $this->encode(($order->getBaseGrandTotal()*100), $this->password);
182
+ $fieldsArr['test_mode'] = $this->encode($this->getConfigData('test_mode'), $this->password);
183
+ $fieldsArr['uniqid'] = $this->encode(uniqid(), $this->password);
184
+
185
+ $hParams['auth_code'] = $fieldsArr['auth_code'];
186
+ $hParams['product_id']= $fieldsArr['product'];
187
+ $hParams['tariff'] = $fieldsArr['tariff'];
188
+ $hParams['amount'] = $fieldsArr['amount'];
189
+ $hParams['test_mode'] = $fieldsArr['test_mode'];
190
+ $hParams['uniqid'] = $fieldsArr['uniqid'];
191
+
192
+ $fieldsArr['hash'] = $this->hash($hParams, $this->password);
193
+ $fieldsArr['currency'] = $order->getOrderCurrencyCode();
194
  $fieldsArr['first_name'] = $billing->getFirstname();
195
+ $fieldsArr['last_name'] = $billing->getLastname();
196
+ $fieldsArr['email'] = $this->getOrder()->getCustomerEmail();
197
+ $fieldsArr['street'] = $billing->getStreet(1);
198
+ $fieldsArr['search_in_street'] = 1;
199
+ $fieldsArr['city'] = $billing->getCity();
200
+ $fieldsArr['zip'] = $billing->getPostcode();
201
+ $fieldsArr['country_code'] = $billing->getCountry();
202
+ $fieldsArr['lang'] = $billing->getLang();
203
+ $fieldsArr['remote_ip'] = $this->getRealIpAddr();
204
+ $fieldsArr['tel'] = $billing->getTelephone();
205
+ $fieldsArr['fax'] = $billing->getFax();
206
+ $fieldsArr['birth_date'] = $order->getRemoteIp();
207
+ $fieldsArr['session'] = session_id();
208
+ $fieldsArr['return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));
209
+ $fieldsArr['return_method'] = 'POST';
210
+ $fieldsArr['error_return_url'] = Mage::getUrl('novalnet/instantbanktransfer/success', array('_instantbanktransfer' => true));
211
  $fieldsArr['error_return_method'] = 'POST';
212
+ $fieldsArr['input1'] = 'order_id';
213
+ $fieldsArr['inputval1'] = $paymentInfo->getOrder()->getRealOrderId();
214
+ $fieldsArr['user_variable_0'] = str_replace(array('http://', 'www.'), array('', ''), $_SERVER['SERVER_NAME']);
215
 
216
  #on Clicking onto <Weiter> after choice of payment type
217
  /*
294
  fwrite($fh, "<hr />\n");
295
  fclose($fh);
296
  }
297
+ function encode($data, $key)
298
+ {
299
+ $data = trim($data);
300
+ if ($data == '') return'Error: no data';
301
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
302
+
303
+ try {
304
+ $crc = sprintf('%u', crc32($data));# %u is a must for ccrc32 returns a signed value
305
+ $data = $crc."|".$data;
306
+ $data = bin2hex($data.$key);
307
+ $data = strrev(base64_encode($data));
308
+ }catch (Exception $e){
309
+ echo('Error: '.$e);
310
+ }
311
+ return $data;
312
+ }
313
+ function decode($data, $key)
314
+ {
315
+ $data = trim($data);
316
+ if ($data == '') {return'Error: no data';}
317
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
318
+
319
+ try {
320
+ $data = base64_decode(strrev($data));
321
+ $data = pack("H".strlen($data), $data);
322
+ $data = substr($data, 0, stripos($data, $key));
323
+ $pos = strpos($data, "|");
324
+ if ($pos === false){
325
+ return("Error: CKSum not found!");
326
+ }
327
+ $crc = substr($data, 0, $pos);
328
+ $value = trim(substr($data, $pos+1));
329
+ if ($crc != sprintf('%u', crc32($value))){
330
+ return("Error; CKSum invalid!");
331
+ }
332
+ return $value;
333
+ }catch (Exception $e){
334
+ echo('Error: '.$e);
335
+ }
336
+ }
337
+ function hash($h, $key)#$h contains encoded data
338
+ {
339
+ if (!$h) return'Error: no data';
340
+ if (!function_exists('md5')){return'Error: func n/a';}
341
+ #Mage::throwException(Mage::helper('novalnet')->__("$h[auth_code].$h[product_id].$h[tariff].$h[amount].$h[test_mode].$h[uniqid].strrev($key)").'!');
342
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
343
+ }
344
+ function checkHash($request, $key)
345
+ {
346
+ if (!$request) return false; #'Error: no data';
347
+ $h['auth_code'] = $request['auth_code'];#encoded
348
+ $h['product_id'] = $request['product'];#encoded
349
+ $h['tariff'] = $request['tariff'];#encoded
350
+ $h['amount'] = $request['amount'];#encoded
351
+ $h['test_mode'] = $request['test_mode'];#encoded
352
+ $h['uniqid'] = $request['uniqid'];#encoded
353
+
354
+ if ($request['hash2'] != $this->hash($h, $key)){
355
+ return false;
356
+ }
357
+ return true;
358
+ }
359
  }
app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php CHANGED
@@ -108,7 +108,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
108
  }
109
  public function capture(Varien_Object $payment, $amount)
110
  {
111
- #$this->debug2($payment,'comment.txt');
112
  $error = false;
113
  $payment->setAmount($amount);
114
  $request = $this->_buildRequest($payment);
@@ -161,7 +160,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
161
  */
162
  protected function _saveObject (Varien_Object $payment)
163
  {
164
- #$this->debug2($payment,'comment2.txt');
165
  $order = $payment->getOrder();
166
  if (!empty($order)) {
167
  $billing = $order->getBillingAddress();
@@ -170,7 +168,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
170
  protected function _buildRequest(Varien_Object $payment)
171
  {
172
  $order = $payment->getOrder();
173
- #$this->debug2($order->getCustomerNote(),'customer_note.txt');#$order->setCustomerNote($note);
174
  $due_date_string = $this->getDuedateParam();
175
  $request = Mage::getModel('novalnet/novalnet_request');
176
 
@@ -190,14 +187,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
190
  if (!empty($order)) {
191
  $request->setinput1($order->getIncrementId());
192
  $billing = $order->getBillingAddress();
193
- /*$street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
194
- if (!isset($street[1])){$street[1]='';}
195
- if (!isset($street[2])){$street[2]='';}
196
- if (!$street[0]){$street[0] = $street[1].$street[2];}
197
- if (!$street[0])
198
- {
199
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
200
- }*/
201
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
202
  if (!empty($billing)) {
203
  $request->setfirst_name($billing->getFirstname())
@@ -301,7 +290,6 @@ class Mage_Novalnet_Model_NovalnetInvoice extends Mage_Payment_Model_Method_Abst
301
 
302
  public function assignData($data)
303
  {
304
- #$this->debug2($data,'comment.txt');
305
  if (!($data instanceof Varien_Object)) {
306
  $data = new Varien_Object($data);
307
  }
108
  }
109
  public function capture(Varien_Object $payment, $amount)
110
  {
 
111
  $error = false;
112
  $payment->setAmount($amount);
113
  $request = $this->_buildRequest($payment);
160
  */
161
  protected function _saveObject (Varien_Object $payment)
162
  {
 
163
  $order = $payment->getOrder();
164
  if (!empty($order)) {
165
  $billing = $order->getBillingAddress();
168
  protected function _buildRequest(Varien_Object $payment)
169
  {
170
  $order = $payment->getOrder();
 
171
  $due_date_string = $this->getDuedateParam();
172
  $request = Mage::getModel('novalnet/novalnet_request');
173
 
187
  if (!empty($order)) {
188
  $request->setinput1($order->getIncrementId());
189
  $billing = $order->getBillingAddress();
 
 
 
 
 
 
 
 
190
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
191
  if (!empty($billing)) {
192
  $request->setfirst_name($billing->getFirstname())
290
 
291
  public function assignData($data)
292
  {
 
293
  if (!($data instanceof Varien_Object)) {
294
  $data = new Varien_Object($data);
295
  }
app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php CHANGED
@@ -215,13 +215,6 @@ class Mage_Novalnet_Model_NovalnetPhonepayment extends Mage_Payment_Model_Method
215
 
216
  $billing = $order->getBillingAddress();
217
  $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
218
- /*if (!isset($street[1])){$street[1]='';}
219
- if (!isset($street[2])){$street[2]='';}
220
- if (!$street[0]){$street[0] = $street[1].$street[2];}
221
- if (!$street[0])
222
- {
223
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
224
- }*/
225
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
226
  if (!empty($billing)) {
227
  if (session_is_registered('tid')){
215
 
216
  $billing = $order->getBillingAddress();
217
  $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
 
 
 
 
 
 
 
218
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
219
  if (!empty($billing)) {
220
  if (session_is_registered('tid')){
app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php CHANGED
@@ -187,14 +187,6 @@ class Mage_Novalnet_Model_NovalnetPrepayment extends Mage_Payment_Model_Method_A
187
 
188
  $billing = $order->getBillingAddress();
189
  $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
190
- /*$street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
191
- if (!isset($street[1])){$street[1]='';}
192
- if (!isset($street[2])){$street[2]='';}
193
- if (!$street[0]){$street[0] = $street[1].$street[2];}
194
- if (!$street[0])
195
- {
196
- Mage::throwException(Mage::helper('novalnet')->__('Street missing'));
197
- }*/
198
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
199
  if (!empty($billing)) {
200
  $request->setfirst_name($billing->getFirstname())
187
 
188
  $billing = $order->getBillingAddress();
189
  $street = preg_split("/(\d)/",$billing->getStreet(1),2,PREG_SPLIT_DELIM_CAPTURE);
 
 
 
 
 
 
 
 
190
  if (!$billing->getStreet(1)){Mage::throwException(Mage::helper('novalnet')->__('Street missing'));}
191
  if (!empty($billing)) {
192
  $request->setfirst_name($billing->getFirstname())
app/code/community/Mage/Novalnet/Model/include_all.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * Part of the Paymentmodul of Novalnet AG
17
+ * http://www.novalnet.de
18
+ * If you have found this script usefull a small
19
+ * recommendation as well as a comment on merchant form
20
+ * would be greatly appreciated.
21
+ *
22
+ * @category basic functions
23
+ * @package Mage
24
+ * @copyright Copyright (c) 2009 Novalnet AG
25
+ * @version 1.0.0
26
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
27
+ */
28
+ $aShopSystems = array('oscommerce', 'xtcommerce', 'magento', 'zendcart');
29
+ $aPaymentTypes = array('cc', 'elvgerman', 'elvaustria', 'instantbanktransfer', 'invoice', 'phonepayment', 'prepayment', '3dsecure');
30
+ $aParamRequired4All = array('cgi_url', 'shopystem', 'paymenttype', 'merchant_id', 'auth_code', 'product_id', 'tariff_id');
31
+
32
+
33
+ $hParamRequiredPerPaymenttype['cc'] = array('', '', '', '');
34
+ $hParamOptionalPerPayment['cc'] = array(
35
+ input1, #$order->getIncrementId();#order no.
36
+ first_name,
37
+ last_name,
38
+ street,
39
+ house_no,
40
+ city,
41
+ zip,
42
+ country,
43
+ tel,
44
+ fax,
45
+ remote_ip,
46
+ gender,
47
+ email,
48
+ cc_no,
49
+ cc_exp_month,
50
+ cc_exp_year,
51
+ cc_cvc2,
52
+ cc_holder,
53
+ booking_reference,
54
+ );
55
+
56
+ function checkParamsRequired4All($hParams)
57
+ {
58
+ global $aParamRequired4All, $aShopSystems, $aPaymentTypes, $aMsg;
59
+ foreach ($aParamRequired4All as $paramRequired)
60
+ {
61
+ if (!in_array($paramRequired, array_keys($hParams)))
62
+ {
63
+ $�aMsg[] = $paramRequired;
64
+ }
65
+ }
66
+ }
67
+
68
+ function checkShopSystem($shopsystem)
69
+ {
70
+ global $aParamRequired4All, $aShopSystems, $aMsg;
71
+ if (!in_array($shopsystem, array_keys($aShopSystems)))
72
+ {
73
+ $�aMsg[] = $shopsystem.' unknown';
74
+ }
75
+ }
76
+
77
+ function checkParamsByPaymentType($paymenttype)
78
+ {
79
+ global $aShopSystems, $aPaymentTypes
80
+ }
81
+
82
+ function isPublicIP($value)
83
+ {
84
+ if(!$value || count(explode('.',$value))!=4)
85
+ {
86
+ return false;
87
+ }
88
+ return !preg_match('~^((0|10|172\.16|192\.168|169\.254|255|127\.0)\.)~', $value);
89
+ }
90
+ function getRealIpAddr()
91
+ {
92
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_X_FORWARDED_FOR']))
93
+ {
94
+ return $_SERVER['HTTP_X_FORWARDED_FOR'];
95
+ }
96
+ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and $iplist=explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']))
97
+ {
98
+ if($this->isPublicIP($iplist[0])) return $iplist[0];
99
+ }
100
+ if (isset($_SERVER['HTTP_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_CLIENT_IP']))
101
+ {
102
+ return $_SERVER['HTTP_CLIENT_IP'];
103
+ }
104
+ if (isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']) and $this->isPublicIP($_SERVER['HTTP_X_CLUSTER_CLIENT_IP']))
105
+ {
106
+ return $_SERVER['HTTP_X_CLUSTER_CLIENT_IP'];
107
+ }
108
+ if (isset($_SERVER['HTTP_FORWARDED_FOR']) and $this->isPublicIP($_SERVER['HTTP_FORWARDED_FOR']) )
109
+ {
110
+ return $_SERVER['HTTP_FORWARDED_FOR'];
111
+ }
112
+ return $_SERVER['REMOTE_ADDR'];
113
+ }
114
+
115
+ function debug2($object, $filename)
116
+ {
117
+ if (!$this->debug){return;}
118
+ $fh = fopen("/tmp/$filename", 'a+');
119
+ if (gettype($object) == 'object' or gettype($object) == 'array'){
120
+ fwrite($fh, serialize($object));
121
+ }else{
122
+ fwrite($fh, date('H:i:s').' '.$object);
123
+ }
124
+ fwrite($fh, "<hr />\n");
125
+ fclose($fh);
126
+ }
app/code/community/Mage/Novalnet/controllers/InstantbanktransferController.php CHANGED
@@ -39,6 +39,9 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
39
  $order->loadByIncrementId($session->getLastRealOrderId());
40
  $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet'));
41
  $order->save();
 
 
 
42
 
43
  $this->getResponse()->setBody(
44
  $this->getLayout()
@@ -110,6 +113,14 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
110
  $response = $this->getRequest()->getPost();
111
  //error_log(print_r($response,true),3,'/tmp/magento_response.log');
112
 
 
 
 
 
 
 
 
 
113
  $order = Mage::getModel('sales/order');
114
  $order->loadByIncrementId($response['inputval1']);#order_id;
115
  $payment = $order->getPayment();
@@ -131,6 +142,7 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
131
  $payment->setCcTransId($response['tid']);
132
  $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
133
  $order->save();
 
134
  //}
135
  } else {
136
  $paymentInst->setTransactionId($response['tid']);
@@ -139,8 +151,12 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
139
 
140
  if ($response['status'] == 94)
141
  {
142
- Mage::getSingleton('checkout/session')->addError("Customer abortet payment process");#new
143
- $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer abortet payment process'));
 
 
 
 
144
  }
145
  else
146
  {
@@ -169,23 +185,107 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
169
  fclose($fh);
170
  }
171
 
172
- private function deleteOrder($increment_id)
173
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
175
- #$conn = Mage::getResourceSingleton('core/resource')->getConnection('core_write');
176
- $query = "select entity_id from sales_order_entity where increment_id='$increment_id';";
177
- if ($result = $conn->query($query))
178
- {
179
- if ($rows = $result->fetch(PDO::FETCH_ASSOC))
180
- {
181
- $order_id = $row['entity_id'];
182
- $query = "delete from sales_order_entity where entity_id='$order_id' or parent_id='$order_id';";
183
- $conn->query($query);
184
- }
185
- }
186
- $query = "delete from sales_order where increment_id='$increment_id';";
187
  $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
188
- $conn->query($query);
 
189
  }
 
190
  }
191
  ?>
39
  $order->loadByIncrementId($session->getLastRealOrderId());
40
  $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet'));
41
  $order->save();
42
+ #todo: update order status to open
43
+ $_SESSION['status_zh'] = $order->getStatus();
44
+ $this->setOrderStatus($session->getLastRealOrderId(), 'pending');
45
 
46
  $this->getResponse()->setBody(
47
  $this->getLayout()
113
  $response = $this->getRequest()->getPost();
114
  //error_log(print_r($response,true),3,'/tmp/magento_response.log');
115
 
116
+ if ($response['status'] == 100){
117
+ $response['status'] = $this->checkParams($response);
118
+ $response['amount'] = $this->decode($response['amount'], $_SESSION['mima']);
119
+ if (preg_match('/\D/', $response['amount'], $aMatch)){
120
+ $response['status'] = '93'; #decode amount failed
121
+ }
122
+ }
123
+
124
  $order = Mage::getModel('sales/order');
125
  $order->loadByIncrementId($response['inputval1']);#order_id;
126
  $payment = $order->getPayment();
142
  $payment->setCcTransId($response['tid']);
143
  $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
144
  $order->save();
145
+ $this->setOrderStatus($response['inputval1'], $_SESSION['status_zh']);#new
146
  //}
147
  } else {
148
  $paymentInst->setTransactionId($response['tid']);
151
 
152
  if ($response['status'] == 94)
153
  {
154
+ Mage::getSingleton('checkout/session')->addError("Customer aborted payment process");#new
155
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer aborted payment process'));
156
+ }elseif ($response['status'] >= 90 or $response['status'] <= 93) {#check encoded params failure
157
+ Mage::getSingleton('checkout/session')->addError("Check encoded params failure");#new
158
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Check encoded params failure'));
159
+ $response['status_text'] = 'Check encoded params failure';
160
  }
161
  else
162
  {
185
  fclose($fh);
186
  }
187
 
188
+ private function deleteOrder($increment_id)
189
+ {
190
+ $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
191
+ #$conn = Mage::getResourceSingleton('core/resource')->getConnection('core_write');
192
+ $query = "select entity_id from sales_order_entity where increment_id='$increment_id';";
193
+ if ($result = $conn->query($query))
194
+ {
195
+ if ($rows = $result->fetch(PDO::FETCH_ASSOC))
196
+ {
197
+ $order_id = $row['entity_id'];
198
+ $query = "delete from sales_order_entity where entity_id='$order_id' or parent_id='$order_id';";
199
+ $conn->query($query);
200
+ }
201
+ }
202
+ $query = "delete from sales_order where increment_id='$increment_id';";
203
+ $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
204
+ $conn->query($query);
205
+ }
206
+
207
+ private function checkParams($response){
208
+ $status = 90;
209
+
210
+ if (!$response['hash2']){
211
+ return'90';
212
+ }
213
+ if (!$this->checkHash($response, $_SESSION['mima'])){
214
+ return'91';
215
+ }
216
+ if (!preg_match('/\D/', $response['amount'], $aMatch)){
217
+ return'92';
218
+ }
219
+ return'100';
220
+ }
221
+ function hash($h, $key)#$h contains encoded data
222
+ {
223
+ if (!$h) return'Error: no data';
224
+ if (!function_exists('md5')){return'Error: func n/a';}
225
+ return md5($h['auth_code'].$h['product_id'].$h['tariff'].$h['amount'].$h['test_mode'].$h['uniqid'].strrev($key));
226
+ }
227
+ function checkHash($request, $key)
228
+ {
229
+ if (!$request) return false; #'Error: no data';
230
+ $h['auth_code'] = $request['auth_code'];#encoded
231
+ $h['product_id'] = $request['product'];#encoded
232
+ $h['tariff'] = $request['tariff'];#encoded
233
+ $h['amount'] = $request['amount'];#encoded
234
+ $h['test_mode'] = $request['test_mode'];#encoded
235
+ $h['uniqid'] = $request['uniqid'];#encoded
236
+
237
+ if ($request['hash2'] != $this->hash($h, $key)){
238
+ return false;
239
+ }
240
+ return true;
241
+ }
242
+ function decode($data, $key)
243
+ {
244
+ $data = trim($data);
245
+ if ($data == '') {return'Error: no data';}
246
+ if (!function_exists('base64_decode') or !function_exists('pack') or !function_exists('crc32')){return'Error: func n/a';}
247
+
248
+ try {
249
+ $data = base64_decode(strrev($data));
250
+ $data = pack("H".strlen($data), $data);
251
+ $data = substr($data, 0, stripos($data, $key));
252
+ $pos = strpos($data, "|");
253
+ if ($pos === false){
254
+ return("Error: CKSum not found!");
255
+ }
256
+ $crc = substr($data, 0, $pos);
257
+ $value = trim(substr($data, $pos+1));
258
+ if ($crc != sprintf('%u', crc32($value))){
259
+ return("Error; CKSum invalid!");
260
+ }
261
+ return $value;
262
+ }catch (Exception $e){
263
+ echo('Error: '.$e);
264
+ }
265
+ }
266
+ function setOrderStatus($orderId, $status){
267
+ #$status = 'pending';
268
+ $sql = "select * from sales_order_entity_varchar where entity_id in ( select entity_id from sales_order_entity where parent_id = (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and entity_type_id = 17 /*sales_order_history*/ order by updated_at desc) and attribute_id = 559 /*status*/;";
269
+ #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
270
+ $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
271
+ if ($aAll){
272
+ foreach($aAll as $h){#set sales_order_history status to open
273
+ $sql = "update sales_order_entity_varchar set value = '$status' where value_id = '".$h['value_id']."'";
274
  $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
275
+ $conn->query($sql);
276
+ }
277
+ }
278
+
279
+ $sql = "select * from sales_order_varchar where entity_id in (SELECT entity_id FROM `sales_order` WHERE increment_id = '$orderId') and (attribute_id = 215 /*status*/)";#or attribute_id = 553 /*state*/
280
+ #$this->debug2($sql, $filename='ibt_sql.txt', $debug = true);
281
+ $aAll = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql);
282
+ if ($aAll){
283
+ foreach($aAll as $h){#set sales_order_status to open
284
+ $sql = "update sales_order_varchar set value = '$status' where value_id = '".$h['value_id']."'";
 
 
285
  $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
286
+ $conn->query($sql);
287
+ }
288
  }
289
+ }
290
  }
291
  ?>
app/code/community/Mage/Novalnet/controllers/InstantbanktransferController_orig.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ protected function _expireAjax()
5
+ {
6
+ if (!$this->getCheckout()->getQuote()->hasItems()) {
7
+ $this->getResponse()->setHeader('HTTP/1.1','403 Session Expired');
8
+ exit;
9
+ }
10
+ }
11
+
12
+ /**
13
+ * Redirect Block
14
+ * need to be redeclared
15
+ */
16
+ protected $_redirectBlockType = 'novalnet/instantbanktransfer_redirect';#instantbanktransfer_redirect = block/instantbanktransfer/redirect.php
17
+
18
+ /**
19
+ * Get singleton of Checkout Session Model
20
+ *
21
+ * @return Mage_Checkout_Model_Session
22
+ */
23
+ public function getCheckout()
24
+ {
25
+ return Mage::getSingleton('checkout/session');
26
+ }
27
+
28
+ /**
29
+ * when customer select novalnet payment method
30
+ */
31
+ public function redirectAction()
32
+ {
33
+ $session = $this->getCheckout();
34
+ $session->setNovalnetQuoteId($session->getQuoteId());
35
+ $session->setNovalnetRealOrderId($session->getLastRealOrderId());
36
+
37
+ $order = Mage::getModel('sales/order');
38
+ $order->loadByIncrementId($session->getLastRealOrderId());
39
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was redirected to Novalnet.'));
40
+ $order->save();
41
+
42
+ $this->getResponse()->setBody(
43
+ $this->getLayout()
44
+ ->createBlock($this->_redirectBlockType)
45
+ ->setOrder($order)
46
+ ->toHtml()
47
+ );
48
+
49
+ $session->unsQuoteId();
50
+ }
51
+
52
+ /**
53
+ * novalnet returns POST variables to this action
54
+ */
55
+ public function successAction()
56
+ {
57
+ $status = $this->_checkReturnedPost();
58
+
59
+ $session = $this->getCheckout();
60
+
61
+ $session->unsNovalnetRealOrderId();
62
+ $session->setQuoteId($session->getNovalnetQuoteId(true));
63
+ $session->getQuote()->setIsActive(false)->save();
64
+
65
+ $order = Mage::getModel('sales/order');
66
+ $order->load($this->getCheckout()->getLastOrderId());
67
+ if($order->getId()) {
68
+ $order->sendNewOrderEmail();
69
+ }
70
+
71
+ if ($status) {
72
+ $this->_redirect('checkout/onepage/success');
73
+ } else {
74
+ $this->_redirect('*/*/failure');
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Display failure page if error
80
+ *
81
+ */
82
+ public function failureAction()
83
+ {
84
+ if (!$this->getCheckout()->getNovalnetErrorMessage()) {
85
+ $this->norouteAction();
86
+ return;
87
+ }
88
+
89
+ $this->getCheckout()->clear();
90
+
91
+ $this->loadLayout();
92
+ $this->renderLayout();
93
+ }
94
+
95
+ /**
96
+ * Checking POST variables.
97
+ * Creating invoice if payment was successfull or cancel order if payment was declined
98
+ */
99
+ protected function _checkReturnedPost()
100
+ {
101
+ if (!$this->getRequest()->isPost()) {
102
+ $this->norouteAction();
103
+ return;
104
+ }
105
+ $status = true;
106
+ $response = $this->getRequest()->getPost();
107
+ //error_log(print_r($response,true),3,'/tmp/magento_response.log');
108
+
109
+ $order = Mage::getModel('sales/order');
110
+ $order->loadByIncrementId($response['inputval1']);
111
+ $payment = $order->getPayment();
112
+ $paymentInst = $payment->getMethodInstance();
113
+
114
+ $paymentInst->setResponse($response);
115
+
116
+ if ($response['status'] == 100 ) {
117
+
118
+ // if ($order->canInvoice()) {
119
+ $invoice = $order->prepareInvoice();
120
+ $invoice->register()->capture();
121
+ Mage::getModel('core/resource_transaction')
122
+ ->addObject($invoice)
123
+ ->addObject($invoice->getOrder())
124
+ ->save();
125
+
126
+ $paymentInst->setTransactionId($response['tid']);
127
+ $payment->setLastTransId($response['tid']);
128
+ $payment->setCcTransId($response['tid']);
129
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer successfully returned from Novalnet'));
130
+ //}
131
+ } else {
132
+ $paymentInst->setTransactionId($response['tid']);
133
+ $payment->setLastTransId($response['tid']);
134
+ $payment->setCcTransId($response['tid']);
135
+ $order->cancel();
136
+ $order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer was rejected by Novalnet'));
137
+ $status = false;
138
+ $this->getCheckout()->setNovalnetErrorMessage($response['status_text']);
139
+ }
140
+
141
+ $order->save();
142
+
143
+ return $status;
144
+ }
145
+ }
146
+ ?>
app/code/community/Mage/Novalnet/controllers/SecureController.php CHANGED
@@ -13,7 +13,7 @@ class Mage_Novalnet_SecureController extends Mage_Core_Controller_Front_Action
13
  * Redirect Block
14
  * need to be redeclared
15
  */
16
- protected $_redirectBlockType = 'novalnet/secure_redirect';
17
 
18
  /**
19
  * Get singleton of Checkout Session Model
13
  * Redirect Block
14
  * need to be redeclared
15
  */
16
+ protected $_redirectBlockType = 'novalnet/secure_redirect';#secure_redirect = block/secure/redirect.php
17
 
18
  /**
19
  * Get singleton of Checkout Session Model
app/code/community/Mage/Novalnet/etc/system.xml CHANGED
@@ -749,6 +749,23 @@
749
  <show_in_website>1</show_in_website>
750
  <show_in_store>0</show_in_store>
751
  </comment>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
752
  </fields>
753
  </novalnetInstantbanktransfer>
754
  </groups>
749
  <show_in_website>1</show_in_website>
750
  <show_in_store>0</show_in_store>
751
  </comment>
752
+ <test_mode translate="label">
753
+ <label>Test Mode</label>
754
+ <frontend_type>select</frontend_type>
755
+ <source_model>adminhtml/system_config_source_yesno</source_model>
756
+ <sort_order>15</sort_order>
757
+ <show_in_default>1</show_in_default>
758
+ <show_in_website>1</show_in_website>
759
+ <show_in_store>0</show_in_store>
760
+ </test_mode>
761
+ <password translate="label">
762
+ <label>Password</label>
763
+ <frontend_type>text</frontend_type>
764
+ <sort_order>16</sort_order>
765
+ <show_in_default>1</show_in_default>
766
+ <show_in_website>1</show_in_website>
767
+ <show_in_store>0</show_in_store>
768
+ </password>
769
  </fields>
770
  </novalnetInstantbanktransfer>
771
  </groups>
app/design/adminhtml/default/default/template/novalnet/cc/form.phtml CHANGED
@@ -131,4 +131,4 @@ if (isset($_SESSION['adminhtml_quote']["customer_id"]))
131
  }
132
  }
133
  <?php #if (!$allowed){echo"hideMe('$_code')"; }?>
134
- </script>
131
  }
132
  }
133
  <?php #if (!$allowed){echo"hideMe('$_code')"; }?>
134
+ </script>
app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/form.phtml CHANGED
@@ -106,7 +106,7 @@ if (isset($_SESSION['adminhtml_quote']["customer_id"]))
106
  </li>
107
  <?php endif; ?>
108
  <li>
109
- <?php echo $this->__('The amount will be booked immediately from your credit card <BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
110
  </li>
111
  </ul>
112
  </fieldset>
@@ -124,4 +124,4 @@ if (isset($_SESSION['adminhtml_quote']["customer_id"]))
124
  }
125
  }
126
  <?php if (!$allowed){echo"hideMe('$_code')"; }?>
127
- </script>
106
  </li>
107
  <?php endif; ?>
108
  <li>
109
+ <?php echo $this->__('The amount will be booked from your credit card<BR>with <B>%s</B> note.',$this->getMethod()->getBookingReference());?>
110
  </li>
111
  </ul>
112
  </fieldset>
124
  }
125
  }
126
  <?php if (!$allowed){echo"hideMe('$_code')"; }?>
127
+ </script>
app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/info.phtml CHANGED
@@ -26,10 +26,7 @@
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
- <?php echo $this->__('Name on the Card: %s', $this->htmlEscape($this->getInfo()->getCcOwner())) ?><br />
30
- <?php echo $this->__('Credit Card Type: %s', $this->htmlEscape($this->getCcTypeName())) ?><br />
31
- <?php echo $this->__('Credit Card Number: xxxx-%s', $this->htmlEscape($this->getInfo()->getCcLast4())) ?><br />
32
- <?php echo $this->__('Expiration Date: %s/%s', $this->htmlEscape($this->getCcExpMonth()), $this->htmlEscape($this->getInfo()->getCcExpYear())) ?><br />
33
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
34
  <?php else: ?>
35
 
26
  */
27
  ?>
28
  <?php if($_info = $this->getInfo()): ?>
29
+ <?php echo $this->__('Method').': '.$this->__($this->htmlEscape($this->getPaymentMethod())) ?><br />
 
 
 
30
  <?php if ($_info->getLastTransId()!="") echo $this->__('TID: %s', $this->htmlEscape($_info->getLastTransId())) ?><br />
31
  <?php else: ?>
32
 
app/locale/de_AT/Mage_Novalnet.csv CHANGED
@@ -104,5 +104,6 @@
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer abortet payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
 
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
+ "Password","Passwort"
app/locale/de_CH/Mage_Novalnet.csv CHANGED
@@ -104,5 +104,6 @@
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer abortet payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
 
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
+ "Password","Passwort"
app/locale/de_DE/Mage_Novalnet.csv CHANGED
@@ -104,5 +104,6 @@
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
- "Customer abortet payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
- "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
 
104
  "Instant Bank Transfer","Sofortüberweisung"
105
  "Customer successfully returned from Novalnet","Besteller von Novalnet erfolgreich zurückgeleitet"
106
  "Customer was redirected to Novalnet","Besteller zu Novalnet umgeleitet"
107
+ "Customer aborted payment process","Besteller hat den Bezahlvorgang abgebrochen"
108
+ "Customer was rejected by Novalnet","Besteller von Novalnet abgelehnt"
109
+ "Password","Passwort"
app/locale/en_US/Mage_Novalnet.csv CHANGED
@@ -101,5 +101,6 @@
101
  "Instant Bank Transfer","Instant Bank Transfer"
102
  "Customer successfully returned from Novalnet","Customer successfully returned from Novalnet"
103
  "Customer was redirected to Novalnet","Customer was redirected to Novalnet"
104
- "Customer abortet payment process","Customer abortet payment process"
105
  "Customer was rejected by Novalnet","Customer was rejected by Novalnet"
 
101
  "Instant Bank Transfer","Instant Bank Transfer"
102
  "Customer successfully returned from Novalnet","Customer successfully returned from Novalnet"
103
  "Customer was redirected to Novalnet","Customer was redirected to Novalnet"
104
+ "Customer aborted payment process","Customer aborted payment process"
105
  "Customer was rejected by Novalnet","Customer was rejected by Novalnet"
106
+ "Password","Password"
package.xml CHANGED
@@ -1,20 +1,22 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Novalnet</name>
4
- <version>1.2.3</version>
5
- <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (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>Textanpassung:
 
12
 
13
- Bei Hinweis f&#xFC;r die Kreditkartenzahlung ist das Wort 'sofort/immediately' hinzugef&#xFC;gt worden.</notes>
 
14
  <authors><author><name>Dixon Rajdaniel</name><user>auto-converted</user><email>dr@novalnet.de</email></author></authors>
15
- <date>2009-12-16</date>
16
- <time>15:49:11</time>
17
- <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir name="cc"><file name="form.phtml" hash="8bd0c41a5e5f7dc32a0f36a32f54ef1b"/><file name="info.phtml" hash="cec3097648d7f53a2ce898c3ef0fdfd4"/></dir><dir name="elvaustria"><file name="form.phtml" hash="91dad9be6ecd4a19ec3e016684b76d71"/><file name="info.phtml" hash="5f1138c9af0f954851f173830cbd6f05"/></dir><dir name="elvgerman"><file name="form.phtml" hash="b4af054ac7786a541f6784ca786f3d99"/><file name="info.phtml" hash="5f1138c9af0f954851f173830cbd6f05"/></dir><dir name="instantbanktransfer"><file name="form.phtml" hash="205d620e3ef30e80a82bd10b17462a03"/><file name="info.phtml" hash="cec3097648d7f53a2ce898c3ef0fdfd4"/></dir><dir name="invoice"><file name="form.phtml" hash="2dcea7005b16c665e523ecd362c5dd03"/><file name="info.phtml" hash="995bdbdb29181b0e68ab72e97c54ed77"/></dir><dir name="phonepayment"><file name="form.phtml" hash="715e3cfbda4eb427ad53bc0eff82f271"/><file name="info.phtml" hash="f905f359e8bafa12d31b65ce6c710743"/></dir><dir name="prepayment"><file name="form.phtml" hash="63fa5a47af9d203d1b72502b3fd958fb"/><file name="info.phtml" hash="f905f359e8bafa12d31b65ce6c710743"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir name="cc"><file name="form.phtml" hash="b87bf1e82c96b17c01fca88dd4578b7e"/><file name="info.phtml" hash="c606874c228dc547b5ee058169c0536d"/></dir><dir name="elvaustria"><file name="form.phtml" hash="9d12f579603f8e766f8e28d47f802645"/><file name="info.phtml" hash="df166d57f6680b5945706ebeb88c28e0"/></dir><dir name="elvgerman"><file name="form.phtml" hash="36ab89d337d702706a8aa0868dba7d84"/><file name="info.phtml" hash="df166d57f6680b5945706ebeb88c28e0"/></dir><dir name="instantbanktransfer"><file name="failure.phtml" hash="d33ccb69a08a2195df3586bf36dc9d85"/><file name="form.phtml" hash="079a89a4ad8957ea675e6222dd6140ad"/><file name="info.phtml" hash="dc0e26c00ce9abd340e32e5f99c03fc4"/></dir><dir name="invoice"><file name="form.phtml" hash="7ea6e3ce7efb3d00f19cb158edb22ba9"/><file name="info.phtml" hash="f8d4c1a6d3f9fb3d8278e7fa82d661b8"/></dir><dir name="phonepayment"><file name="form.phtml" hash="f3c57e4b7b96f97bf660a38b851cc65b"/><file name="info.phtml" hash="6a50f5400b1c9b38629ea9314a08d3b1"/></dir><dir name="prepayment"><file name="form.phtml" hash="2b85410c616f40694eceb0a4ec9d3e77"/><file name="info.phtml" hash="6a50f5400b1c9b38629ea9314a08d3b1"/></dir><dir name="secure"><file name="failure.phtml" hash="d33ccb69a08a2195df3586bf36dc9d85"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_AT"><file name="Mage_Novalnet.csv" hash="512b48c420eb8798ec562cea992cb8c9"/></dir><dir name="de_CH"><file name="Mage_Novalnet.csv" hash="512b48c420eb8798ec562cea992cb8c9"/></dir><dir name="de_DE"><file name="Mage_Novalnet.csv" hash="512b48c420eb8798ec562cea992cb8c9"/></dir><dir name="en_US"><file name="Mage_Novalnet.csv" hash="2f7b377f1026fbfd76e4cf59aea8a196"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><dir name="novalnet"><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/><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="Sofort_Logo_t.jpg" hash="3b88302d88393b582c1cccd152e267bc"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Mage"><dir name="Novalnet"><dir name="Block"><dir name="Cc"><file name="Form.php" hash="d85d4f5f3cfc19abee8a3b9388de7fe7"/><file name="Info.php" hash="c96a58aa8542b8cbe375650206b40cd8"/></dir><dir name="Elvaustria"><file name="Form.php" hash="deaa6cef24778a8267f269852d295ea8"/><file name="Info.php" hash="d3b662ae5a3b5c795ebb8a1b2e3ab62c"/></dir><dir name="Elvgerman"><file name="Form.php" hash="d50a54a153cb9f72f257ed217ea6f7ab"/><file name="Info.php" hash="4517cd593bfdb4e02a84cc11259ab3ee"/></dir><dir name="Instantbanktransfer"><file name="Failure.php" hash="eff4ad5092570e0a6aac5560aa1466a4"/><file name="Form.php" hash="479141cd4ebf61820c702e3032796c44"/><file name="Info.php" hash="9ba8ff30244f48409aadb4671b7dd02f"/><file name="Redirect.php" hash="a877cfb3bda97ce9014f0e9d5ca8e001"/></dir><dir name="Invoice"><file name="Form.php" hash="09416dc8b843b8edbec01a2a5ae3b96c"/><file name="Info.php" hash="5525c9ae3534663b5d5da0a326c9c2fa"/></dir><dir name="Phonepayment"><file name="Form.php" hash="f7cbfe3fe0cf97ae69108ad5d4e9cf82"/><file name="Info.php" hash="1d3542d6eba2396d2ac2908b3932a181"/></dir><dir name="Prepayment"><file name="Form.php" hash="2742a76acca7614d9dcfd0ec130c7334"/><file name="Info.php" hash="9cab5ed40e74dca7fdc76b819ee11de6"/></dir><dir name="Secure"><file name="Failure.php" hash="38cdb224914c9551cbdb0b884b808a33"/><file name="Redirect.php" hash="e94a51bd54e4aa17803ec240e8f1a25d"/></dir></dir><dir name="controllers"><file name="InstantbanktransferController.php" hash="5c7ccf87e3adca8178cb6865419d0e32"/><file name="SecureController.php" hash="740aa237bf2578a1f07820c4f0eb56c5"/></dir><dir name="etc"><file name="config.xml" hash="3885351b7c88a2ba997aa50fae6f2ea8"/><file name="system.xml" hash="8507bb5508652bae137a5b68f0363108"/></dir><dir name="Helper"><file name="Data.php" hash="5cd27f9fbb7e3b7083c3d80c8354a5d3"/></dir><dir name="Model"><dir name="Mysql4"><file name="Setup.php" hash="bda93bd1825c67b2eac9943ec42076f1"/></dir><dir name="Novalnet"><dir name="Source"><file name="Cctype.php" hash="e886ba7736877e589abfd6f7343f98d4"/></dir><file name="Request.php" hash="87fd92d8890377ab2e3fb1dc2c1790bf"/><file name="Result.php" hash="fa36462e819f3581e27d50b201d9fb99"/></dir><file name="NovalnetCc.php" hash="25d146988e6c04e59b980bf38f0fabb6"/><file name="NovalnetElvaustria.php" hash="af5bbccaf0f3d81058955b7608d843e9"/><file name="NovalnetElvgerman.php" hash="c1358e31c6b74d4deffb91004257cfd5"/><file name="NovalnetInstantbanktransfer.php" hash="aa0628eef1d1762b783b2aa057ad8313"/><file name="NovalnetInvoice.php" hash="393070ca3a37def33533a01daab1c484"/><file name="NovalnetPhonepayment.php" hash="5f4349aadf003350b07d76342a4c4186"/><file name="NovalnetPrepayment.php" hash="3d8ddd15cae754b7d1f614e6602c43eb"/><file name="NovalnetSecure.php" hash="d929538867236421c3afb6918e6c2607"/></dir><dir name="sql"><dir name="novalnet_setup"><file name="mysql4-install-1.0.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.3-1.1.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.2-1.1.3.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.9-1.2.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Novalnet.xml" hash="752f2f1df5ae673d9deafdaa6f021b32"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies/>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Novalnet</name>
4
+ <version>1.2.4</version>
5
+ <stability>beta</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (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>Dies ist eine Beta-Version.
12
+ Neu: Sofort&#xFC;berweisung ist nun implementiert und kann getestet werden. F&#xFC;r die Nutzung ist das Eintragen eines Passwortes im Magento-Adminbereich Voraussetzung. Das Passwort k&#xF6;nnen Sie im Admintool auf admin.novalnet.de unter Stammdaten -&gt; Paymentzugriffsschluessel einsehen.
13
 
14
+ This is a beta release.
15
+ What's new: Instant bank transfer or online transfer is now implemented and can be tested. You have to enter a password in the Magento's admin area before starting. You cann get the password in your admin tool at admin.novalnet.de: Stammdaten -&gt; Paymentzugriffsschluessel.</notes>
16
  <authors><author><name>Dixon Rajdaniel</name><user>auto-converted</user><email>dr@novalnet.de</email></author></authors>
17
+ <date>2010-01-26</date>
18
+ <time>17:17:23</time>
19
+ <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir name="cc"><file name="form.phtml" hash="196838e8d027b2bf46c052d606e4e7c6"/><file name="info.phtml" hash="cec3097648d7f53a2ce898c3ef0fdfd4"/></dir><dir name="elvaustria"><file name="form.phtml" hash="91dad9be6ecd4a19ec3e016684b76d71"/><file name="info.phtml" hash="5f1138c9af0f954851f173830cbd6f05"/></dir><dir name="elvgerman"><file name="form.phtml" hash="b4af054ac7786a541f6784ca786f3d99"/><file name="info.phtml" hash="5f1138c9af0f954851f173830cbd6f05"/></dir><dir name="instantbanktransfer"><file name="form.phtml" hash="27dce7378209ee7ee839fde490b38815"/><file name="info.phtml" hash="1735a3fec2b6f55a317161a6b6695114"/></dir><dir name="invoice"><file name="form.phtml" hash="2dcea7005b16c665e523ecd362c5dd03"/><file name="info.phtml" hash="995bdbdb29181b0e68ab72e97c54ed77"/></dir><dir name="phonepayment"><file name="form.phtml" hash="715e3cfbda4eb427ad53bc0eff82f271"/><file name="info.phtml" hash="f905f359e8bafa12d31b65ce6c710743"/></dir><dir name="prepayment"><file name="form.phtml" hash="63fa5a47af9d203d1b72502b3fd958fb"/><file name="info.phtml" hash="f905f359e8bafa12d31b65ce6c710743"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="novalnet"><dir name="cc"><file name="form.phtml" hash="b87bf1e82c96b17c01fca88dd4578b7e"/><file name="info.phtml" hash="c606874c228dc547b5ee058169c0536d"/></dir><dir name="elvaustria"><file name="form.phtml" hash="9d12f579603f8e766f8e28d47f802645"/><file name="info.phtml" hash="df166d57f6680b5945706ebeb88c28e0"/></dir><dir name="elvgerman"><file name="form.phtml" hash="36ab89d337d702706a8aa0868dba7d84"/><file name="info.phtml" hash="df166d57f6680b5945706ebeb88c28e0"/></dir><dir name="instantbanktransfer"><file name="failure.phtml" hash="d33ccb69a08a2195df3586bf36dc9d85"/><file name="form.phtml" hash="079a89a4ad8957ea675e6222dd6140ad"/><file name="info.phtml" hash="dc0e26c00ce9abd340e32e5f99c03fc4"/></dir><dir name="invoice"><file name="form.phtml" hash="7ea6e3ce7efb3d00f19cb158edb22ba9"/><file name="info.phtml" hash="f8d4c1a6d3f9fb3d8278e7fa82d661b8"/></dir><dir name="phonepayment"><file name="form.phtml" hash="f3c57e4b7b96f97bf660a38b851cc65b"/><file name="info.phtml" hash="6a50f5400b1c9b38629ea9314a08d3b1"/></dir><dir name="prepayment"><file name="form.phtml" hash="2b85410c616f40694eceb0a4ec9d3e77"/><file name="info.phtml" hash="6a50f5400b1c9b38629ea9314a08d3b1"/></dir><dir name="secure"><file name="failure.phtml" hash="d33ccb69a08a2195df3586bf36dc9d85"/></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_AT"><file name="Mage_Novalnet.csv" hash="702ea76034676bd89d684f2702570575"/></dir><dir name="de_CH"><file name="Mage_Novalnet.csv" hash="702ea76034676bd89d684f2702570575"/></dir><dir name="de_DE"><file name="Mage_Novalnet.csv" hash="702ea76034676bd89d684f2702570575"/></dir><dir name="en_US"><file name="Mage_Novalnet.csv" hash="1ab815b986f34a08deb5aa7cc36ec601"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="images"><dir name="novalnet"><file name="acdc_info.png" hash="fa69e3f3098c4f85d9d3c796d82bdf0a"/><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="Sofort_Logo_t.jpg" hash="3b88302d88393b582c1cccd152e267bc"/><file name="VI_Logo.png" hash="5e963373aa1db58369730238cf311548"/></dir></dir></dir></dir></dir></target><target name="magecommunity"><dir name="Mage"><dir name="Novalnet"><dir name="Block"><dir name="Cc"><file name="Form.php" hash="d85d4f5f3cfc19abee8a3b9388de7fe7"/><file name="Info.php" hash="c96a58aa8542b8cbe375650206b40cd8"/></dir><dir name="Elvaustria"><file name="Form.php" hash="deaa6cef24778a8267f269852d295ea8"/><file name="Info.php" hash="d3b662ae5a3b5c795ebb8a1b2e3ab62c"/></dir><dir name="Elvgerman"><file name="Form.php" hash="d50a54a153cb9f72f257ed217ea6f7ab"/><file name="Info.php" hash="4517cd593bfdb4e02a84cc11259ab3ee"/></dir><dir name="Instantbanktransfer"><file name="Failure.php" hash="eff4ad5092570e0a6aac5560aa1466a4"/><file name="Form.php" hash="479141cd4ebf61820c702e3032796c44"/><file name="Info.php" hash="9ba8ff30244f48409aadb4671b7dd02f"/><file name="Redirect.php" hash="a877cfb3bda97ce9014f0e9d5ca8e001"/></dir><dir name="Invoice"><file name="Form.php" hash="09416dc8b843b8edbec01a2a5ae3b96c"/><file name="Info.php" hash="5525c9ae3534663b5d5da0a326c9c2fa"/></dir><dir name="Phonepayment"><file name="Form.php" hash="f7cbfe3fe0cf97ae69108ad5d4e9cf82"/><file name="Info.php" hash="1d3542d6eba2396d2ac2908b3932a181"/></dir><dir name="Prepayment"><file name="Form.php" hash="2742a76acca7614d9dcfd0ec130c7334"/><file name="Info.php" hash="9cab5ed40e74dca7fdc76b819ee11de6"/></dir><dir name="Secure"><file name="Failure.php" hash="38cdb224914c9551cbdb0b884b808a33"/><file name="Redirect.php" hash="e94a51bd54e4aa17803ec240e8f1a25d"/></dir></dir><dir name="controllers"><file name="InstantbanktransferController.php" hash="d37080ee0a7a0fdb3f2079fabc7e39ce"/><file name="InstantbanktransferController_orig.php" hash="513e95d803149b253c41374d59ced219"/><file name="SecureController.php" hash="25a88a7b3b38bb3306048d7f6c49f220"/></dir><dir name="etc"><file name="config.xml" hash="3885351b7c88a2ba997aa50fae6f2ea8"/><file name="system.xml" hash="81e86ae4c16e4b4a6adac44e52a67429"/></dir><dir name="Helper"><file name="Data.php" hash="5cd27f9fbb7e3b7083c3d80c8354a5d3"/></dir><dir name="Model"><file name="include_all.php" hash="bd2d91378b834650e3bff5afebd58236"/><file name="NovalnetCc.php" hash="25d146988e6c04e59b980bf38f0fabb6"/><file name="NovalnetElvaustria.php" hash="af5bbccaf0f3d81058955b7608d843e9"/><file name="NovalnetElvgerman.php" hash="319a1b433fdfefbac5100402d155accf"/><file name="NovalnetInstantbanktransfer.php" hash="3ca4b8657c74831b33533824d343087e"/><file name="NovalnetInvoice.php" hash="3d6a270b2b3d3cf7465c63b0b8961ff5"/><file name="NovalnetPhonepayment.php" hash="ed69de03976d4d32f1acc6476a514fac"/><file name="NovalnetPrepayment.php" hash="44011849d5f5b21bd364c4ba0b29b73b"/><file name="NovalnetSecure.php" hash="d929538867236421c3afb6918e6c2607"/><dir name="Mysql4"><file name="Setup.php" hash="bda93bd1825c67b2eac9943ec42076f1"/></dir><dir name="Novalnet"><file name="Request.php" hash="87fd92d8890377ab2e3fb1dc2c1790bf"/><file name="Result.php" hash="fa36462e819f3581e27d50b201d9fb99"/><dir name="Source"><file name="Cctype.php" hash="e886ba7736877e589abfd6f7343f98d4"/></dir></dir></dir><dir name="sql"><dir name="novalnet_setup"><file name="mysql4-install-1.0.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.1-1.0.2.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.2-1.0.3.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.0.3-1.1.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.1-1.1.2.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.2-1.1.3.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.1.9-1.2.0.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/><file name="mysql4-upgrade-1.2.0-1.2.1.php" hash="d15297ab95ca0b76038e32a4ad9fff79"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Mage_Novalnet.xml" hash="752f2f1df5ae673d9deafdaa6f021b32"/></dir></target></contents>
20
  <compatible/>
21
  <dependencies/>
22
  </package>