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 +12 -23
- app/code/community/Mage/Novalnet/Model/NovalnetInstantbanktransfer.php +102 -26
- app/code/community/Mage/Novalnet/Model/NovalnetInvoice.php +0 -12
- app/code/community/Mage/Novalnet/Model/NovalnetPhonepayment.php +0 -7
- app/code/community/Mage/Novalnet/Model/NovalnetPrepayment.php +0 -8
- app/code/community/Mage/Novalnet/Model/include_all.php +126 -0
- app/code/community/Mage/Novalnet/controllers/InstantbanktransferController.php +117 -17
- app/code/community/Mage/Novalnet/controllers/InstantbanktransferController_orig.php +146 -0
- app/code/community/Mage/Novalnet/controllers/SecureController.php +1 -1
- app/code/community/Mage/Novalnet/etc/system.xml +17 -0
- app/design/adminhtml/default/default/template/novalnet/cc/form.phtml +1 -1
- app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/form.phtml +2 -2
- app/design/adminhtml/default/default/template/novalnet/instantbanktransfer/info.phtml +1 -4
- app/locale/de_AT/Mage_Novalnet.csv +3 -2
- app/locale/de_CH/Mage_Novalnet.csv +3 -2
- app/locale/de_DE/Mage_Novalnet.csv +3 -2
- app/locale/en_US/Mage_Novalnet.csv +2 -1
- package.xml +9 -7
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 |
-
{
|
105 |
|
106 |
return $this;
|
107 |
}
|
108 |
public function capture(Varien_Object $payment, $amount)
|
109 |
-
{
|
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 |
-
{
|
156 |
return $this;
|
157 |
}
|
158 |
|
159 |
public function void(Varien_Object $payment)
|
160 |
-
{
|
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 |
-
{
|
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,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 |
-
{
|
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 |
-
{
|
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 |
-
{
|
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 |
-
{
|
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 |
-
{
|
344 |
return Mage::helper('novalnet')->__($this->getConfigData('title'));
|
345 |
}
|
346 |
|
347 |
public function validate()
|
348 |
-
{
|
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['
|
174 |
-
$fieldsArr['
|
175 |
-
$fieldsArr['
|
176 |
-
$fieldsArr['product']
|
177 |
-
$fieldsArr['tariff']
|
178 |
-
$fieldsArr['amount']
|
179 |
-
|
180 |
-
$fieldsArr['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
$fieldsArr['first_name'] = $billing->getFirstname();
|
182 |
-
$fieldsArr['last_name']
|
183 |
-
$fieldsArr['email']
|
184 |
-
$fieldsArr['street']
|
185 |
-
$fieldsArr['search_in_street']
|
186 |
-
$fieldsArr['city']
|
187 |
-
$fieldsArr['zip']
|
188 |
-
$fieldsArr['country_code']
|
189 |
-
$fieldsArr['lang']
|
190 |
-
$fieldsArr['remote_ip']
|
191 |
-
$fieldsArr['tel']
|
192 |
-
$fieldsArr['fax']
|
193 |
-
$fieldsArr['birth_date']
|
194 |
-
$fieldsArr['session']
|
195 |
-
$fieldsArr['return_url']
|
196 |
-
$fieldsArr['return_method']
|
197 |
-
$fieldsArr['error_return_url']
|
198 |
$fieldsArr['error_return_method'] = 'POST';
|
199 |
-
$fieldsArr['input1']
|
200 |
-
$fieldsArr['inputval1']
|
|
|
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
|
143 |
-
$order->addStatusToHistory($order->getStatus(), Mage::helper('novalnet')->__('Customer
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
else
|
146 |
{
|
@@ -169,23 +185,107 @@ class Mage_Novalnet_InstantbanktransferController extends Mage_Core_Controller_F
|
|
169 |
fclose($fh);
|
170 |
}
|
171 |
|
172 |
-
|
173 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
$conn = Mage::getSingleton('core/resource')->getConnection('core_write');
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
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($
|
|
|
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
|
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->__('
|
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
|
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
|
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
|
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
|
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.
|
5 |
-
<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>
|
|
|
12 |
|
13 |
-
|
|
|
14 |
<authors><author><name>Dixon Rajdaniel</name><user>auto-converted</user><email>dr@novalnet.de</email></author></authors>
|
15 |
-
<date>
|
16 |
-
<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="
|
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ü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.
|
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 -> 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>
|