BBSNetAxept_Norway - Version 1.6.1

Version Notes

This extension uses the BBS Netaxept API.

Download this release

Release Info

Developer Magento Core Team
Extension BBSNetAxept_Norway
Version 1.6.1
Comparing to
See all releases


Code changes from version 1.5.6 to 1.6.1

app/code/community/Trollweb/BBSNetAxept/Block/PaymentInfo.php CHANGED
@@ -24,9 +24,23 @@ class Trollweb_BBSNetAxept_Block_PaymentInfo extends Mage_Payment_Block_Info
24
  parent::_construct();
25
  $this->setTemplate('bbsnetaxept/paymentinfo.phtml');
26
  }
27
-
28
  protected function getLogo()
29
  {
30
- return $this->getMethod()->getLogoUrl();
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  }
 
32
  }
24
  parent::_construct();
25
  $this->setTemplate('bbsnetaxept/paymentinfo.phtml');
26
  }
27
+
28
  protected function getLogo()
29
  {
30
+ return $this->getMethod()->getLogoUrl();
31
+ }
32
+
33
+ protected function _prepareSpecificInformation($transport = null)
34
+ {
35
+ $transport = parent::_prepareSpecificInformation($transport);
36
+ $payment = $this->getInfo();
37
+ $bbsInfo = Mage::getModel('bbsnetaxept/info');
38
+ if (!$this->getIsSecureMode()) {
39
+ $info = $bbsInfo->getPaymentInfo($payment);
40
+ } else {
41
+ $info = $bbsInfo->getPublicPaymentInfo($payment);
42
+ }
43
+ return $transport->addData($info);
44
  }
45
+
46
  }
app/code/community/Trollweb/BBSNetAxept/Model/Api/Bbs.php CHANGED
@@ -1,369 +1,203 @@
1
- <?php
2
- /**
3
- * BBS NetAxept, Norge
4
- *
5
- * LICENSE AND USAGE INFORMATION
6
- * It is NOT allowed to modify, copy or re-sell this file or any
7
- * part of it. Please contact us by email at post@trollweb.no or
8
- * visit us at www.trollweb.no/bbs if you have any questions about this.
9
- * Trollweb is not responsible for any problems caused by this file.
10
- *
11
- * Visit us at http://www.trollweb.no today!
12
- *
13
- * @category Trollweb
14
- * @package Trollweb_BBSNetAxept
15
- * @copyright Copyright (c) 2009 Trollweb (http://www.trollweb.no)
16
- * @license Single-site License
17
- *
18
- */
19
-
20
-
21
- /**
22
- * BBS Api
23
- */
24
- class Trollweb_BBSNetAxept_Model_Api_Bbs extends Varien_Object
25
- {
26
-
27
- protected $_result;
28
-
29
- /**
30
- * Auth with BBS and return the key.
31
- *
32
- * @param none
33
- * @return array
34
- */
35
- public function getTransKey() {
36
- $result = false;
37
-
38
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getWsdlUrl());
39
-
40
- try {
41
- $request = array("token" => $this->getMerchantToken(),"merchantId" => $this->getMerchantId(), "request" => $this->getRequest());
42
- $soapResult = $bbsClient->Setup($request);
43
- if (preg_match("/VALUE=\"([^\"]+)\"/",$soapResult->SetupResult,$match)) {
44
- $result = $match[1];
45
- }
46
- else {
47
- $this->setError(true);
48
- $this->setErrorMessage('Error parsing soap result.');
49
- }
50
- }
51
- catch (Exception $e) {
52
- $this->setError(true);
53
- $this->setErrorMessage($e->faultstring);
54
- }
55
-
56
- return $result;
57
- }
58
-
59
- /**
60
- * Process the request from BBS.
61
- *
62
- * @param String $BBSTransKey
63
- * @return String TransactionId
64
- */
65
- public function Process($BBSTransKey) {
66
- $this->setError(false);
67
- $result = '__';
68
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getWsdlUrl());
69
-
70
- $params = array(
71
- "merchantId" => $this->getMerchantId(),
72
- "token" => $this->getMerchantToken(),
73
- "transactionString" => $BBSTransKey,
74
- );
75
-
76
- try {
77
- $soapResult = $bbsClient->ProcessSetup($params);
78
-
79
- /*
80
- * -- Result object --
81
- object(stdClass)[58]
82
- public 'ProcessSetupResult' =>
83
- object(stdClass)[64]
84
- public 'AuthenticatedStatus' => string 'N' (length=1)
85
- public 'AuthenticatedWith' => string '3-D Secure' (length=10)
86
- public 'AuthorizationCode' => null
87
- public 'AuthorizationId' => null
88
- public 'ExecutionTime' => string '2008-05-18T17:04:48.578125+02:00' (length=32)
89
- public 'IssuerCountry' => string 'NO' (length=2)
90
- public 'IssuerCountryCode' => string '578' (length=3)
91
- public 'IssuerId' => string '3' (length=1)
92
- public 'MerchantId' => string '200906' (length=6)
93
- public 'ResponseCode' => string 'OK' (length=2)
94
- public 'ResponseSource' => null
95
- public 'ResponseText' => null
96
- public 'SessionId' => string '31' (length=2)
97
- public 'SessionNumber' => null
98
- public 'TransactionId' => string '100000194_483046b1770f3' (length=23)
99
- *
100
- */
101
-
102
- $this->Result()->setAuthenticatedStatus($soapResult->ProcessSetupResult->AuthenticatedStatus);
103
- $this->Result()->setAuthenticatedWith($soapResult->ProcessSetupResult->AuthenticatedWith);
104
- $this->Result()->setAuthorizationCode($soapResult->ProcessSetupResult->AuthorizationCode);
105
- $this->Result()->setAuthorizationId($soapResult->ProcessSetupResult->AuthorizationId);
106
- $this->Result()->setIssuerCountry($soapResult->ProcessSetupResult->IssuerCountry);
107
- $this->Result()->setIssuerCountryCode($soapResult->ProcessSetupResult->IssuerCountryCode);
108
- $this->Result()->setIssuerId($soapResult->ProcessSetupResult->IssuerId);
109
- $this->Result()->setResponseCode($soapResult->ProcessSetupResult->ResponseCode);
110
- $this->Result()->setSessionId($soapResult->ProcessSetupResult->SessionId);
111
- $this->Result()->setTransactionId($soapResult->ProcessSetupResult->TransactionId);
112
-
113
- $result = $soapResult->ProcessSetupResult->TransactionId;
114
- }
115
- catch (Exception $e) {
116
- $this->setError(true);
117
- $this->setErrorMessage($e->faultstring);
118
- $this->setErrorCode(99);
119
-
120
- if (preg_match('/Response code: ([0-9]+)/',$e->faultstring,$match)) {
121
- $this->setErrorCode($match[1]);
122
- }
123
- }
124
-
125
- return $result;
126
- }
127
-
128
- /**
129
- * Process the request from BBS.
130
- *
131
- * @param String $TransactionId
132
- * @return Trollweb_BBSNetAxept_Model_BBSNetterminal_Result
133
- */
134
- public function auth($TransactionId) {
135
-
136
- $result = '__';
137
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getWsdlUrl());
138
- $params = array(
139
- "merchantId" => $this->getMerchantId(),
140
- "token" => $this->getMerchantToken(),
141
- "transactionId" => $TransactionId,
142
- );
143
-
144
- try {
145
- $soapResult = $bbsClient->Auth($params);
146
-
147
- /*
148
- * --- Result Object --
149
- object(stdClass)[64]
150
- public 'AuthResult' =>
151
- object(stdClass)[60]
152
- public 'AuthenticatedStatus' => null
153
- public 'AuthenticatedWith' => null
154
- public 'AuthorizationCode' => null
155
- public 'AuthorizationId' => string '000889' (length=6)
156
- public 'ExecutionTime' => string '2008-05-18T17:04:48.859375+02:00' (length=32)
157
- public 'IssuerCountry' => null
158
- public 'IssuerCountryCode' => null
159
- public 'IssuerId' => string '3' (length=1)
160
- public 'MerchantId' => string '4' (length=1)
161
- public 'ResponseCode' => string 'OK' (length=2)
162
- public 'ResponseSource' => null
163
- public 'ResponseText' => null
164
- public 'SessionId' => null
165
- public 'SessionNumber' => string '837' (length=3)
166
- public 'TransactionId' => string '100000194_483046b1770f3' (length=23)
167
- */
168
-
169
- $this->Result()->setAuthorizationId($soapResult->AuthResult->AuthorizationId);
170
- $this->Result()->setIssuerId($soapResult->AuthResult->IssuerId);
171
- $this->Result()->setResponseCode($soapResult->AuthResult->ResponseCode);
172
- $this->Result()->setSessionNumber($soapResult->AuthResult->SessionNumber);
173
- $this->Result()->setTransactionId($soapResult->AuthResult->TransactionId);
174
- $result = $soapResult->AuthResult->TransactionId;
175
- }
176
- catch (Exception $e) {
177
- $this->setError(true);
178
- $this->setErrorMessage($e->faultstring);
179
- $this->setErrorCode(99);
180
-
181
- if (preg_match('/Response code: ([0-9]+)/',$e->faultstring,$match)) {
182
- $this->setErrorCode($match[1]);
183
- }
184
- }
185
-
186
- return $result;
187
- }
188
-
189
- /**
190
- * Capture from BBS.
191
- *
192
- * @param String $TransactionId, Integer $amount, [String $description]
193
- * @return Trollweb_BBSNetAxept_Model_BBSNetterminal_Result
194
- */
195
- public function capture($TransactionId, $amount, $description='') {
196
- $result = '__';
197
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getWsdlUrl());
198
- $params = array(
199
- "merchantId" => $this->getMerchantId(),
200
- "token" => $this->getMerchantToken(),
201
- "transactionId" => $TransactionId,
202
- "transactionAmount" => $amount,
203
- "description" => $description
204
- );
205
-
206
- try {
207
- $soapResult = $bbsClient->Capture($params);
208
-
209
- /*
210
- * -- Result Object --
211
- object(stdClass)[850]
212
- public 'CaptureResult' =>
213
- object(stdClass)[834]
214
- public 'AuthenticatedStatus' => null
215
- public 'AuthenticatedWith' => null
216
- public 'AuthorizationCode' => null
217
- public 'AuthorizationId' => null
218
- public 'ExecutionTime' => string '2008-06-04T19:40:55.34375+02:00' (length=31)
219
- public 'IssuerCountry' => null
220
- public 'IssuerCountryCode' => null
221
- public 'IssuerId' => string '3' (length=1)
222
- public 'MerchantId' => string '4' (length=1)
223
- public 'ResponseCode' => string 'OK' (length=2)
224
- public 'ResponseSource' => null
225
- public 'ResponseText' => null
226
- public 'SessionId' => null
227
- public 'SessionNumber' => string '837' (length=3)
228
- public 'TransactionId' => string '4846d45c6ea1f' (length=13)
229
- */
230
-
231
- $this->Result()->setIssuerId($soapResult->CaptureResult->IssuerId);
232
- $result = $soapResult->CaptureResult->TransactionId;
233
- }
234
- catch (Exception $e) {
235
- $this->setError(true);
236
- $this->setErrorMessage($e->faultstring);
237
- $this->setErrorCode(99);
238
-
239
- if (preg_match('/Response code: ([0-9]+)/',$e->faultstring,$match)) {
240
- $this->setErrorCode($match[1]);
241
- }
242
- }
243
-
244
- return $result;
245
- }
246
-
247
- /**
248
- * Refund with BBS.
249
- *
250
- * @param String $TransactionId, Integer $amount, [String $description]
251
- * @return Trollweb_BBSNetAxept_Model_BBSNetterminal_Result
252
- */
253
- public function refund($TransactionId, $amount, $description='') {
254
-
255
- $result = '__';
256
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getWsdlUrl());
257
- $params = array(
258
- "merchantId" => $this->getMerchantId(),
259
- "token" => $this->getMerchantToken(),
260
- "transactionId" => $TransactionId,
261
- "transactionAmount" => $amount,
262
- "description" => $description
263
- );
264
-
265
- try {
266
- $soapResult = $bbsClient->Credit($params);
267
-
268
- $result = $soapResult->CreditResult->TransactionId;
269
- }
270
- catch (Exception $e) {
271
- $this->setError(true);
272
- $this->setErrorMessage($e->faultstring);
273
- $this->setErrorCode(99);
274
-
275
- if (preg_match('/Response code: ([0-9]+)/',$e->faultstring,$match)) {
276
- $this->setErrorCode($match[1]);
277
- }
278
- }
279
-
280
- return $result;
281
- }
282
-
283
- /**
284
- * Check BBS Transaction
285
- *
286
- * @param String $TransactionId
287
- * @return Trollweb_BBSNetAxept_Model_BBSNetterminal_Result
288
- */
289
- public function checkStatus($TransactionId) {
290
-
291
- $result = false;
292
- $bbsClient = new Trollweb_BBSNetAxept_Model_Api_SoapClient($this->getQueryWsdlUrl());
293
- $params = array(
294
- "merchantId" => $this->getMerchantId(),
295
- "token" => $this->getMerchantToken(),
296
- "transactionId" => trim($TransactionId),
297
- );
298
-
299
- try {
300
- $soapResult = $bbsClient->Query($params);
301
- if (is_object($soapResult->QueryResult)) {
302
- $result = $soapResult->QueryResult->Summary->Authorized;
303
- }
304
- }
305
- catch (Exception $e) {
306
- $this->setError(true);
307
- $this->setErrorMessage($e->faultstring);
308
- $this->setErrorCode(99);
309
- $result = false;
310
- }
311
-
312
- return $result;
313
- }
314
-
315
- public function Result() {
316
- if (!is_object($this->_result)) {
317
- $this->_result = new Trollweb_BBSNetAxept_Model_BBSNetterminal_Result;
318
- }
319
-
320
- return $this->_result;
321
- }
322
-
323
- public function validate() {
324
- $regcode = $this->getRegCode();
325
- $carray = explode(".",$_SERVER[base64_decode('U0VSVkVSX05BTUU=')]);
326
- $d = strtolower($carray[count($carray)-2]);
327
-
328
- return ($this->magic(${base64_decode("ZA==")},$regcode,$d) == ${base64_decode('cmVnY29kZQ==')});
329
- }
330
-
331
- private function getRequest() {
332
-
333
- // Set default norwegian language
334
- if ($this->getLanguage() == false)
335
- $this->setLanguage('no_NO');
336
-
337
-
338
- $request = new Trollweb_BBSNetAxept_Model_Api_BbsRequest(
339
- $this->getAmount(),
340
- $this->getcurrencyCode(),
341
- $this->getOrderDescription(),
342
- $this->getOrderNumber(),
343
- Mage::getUrl('bbsnetaxept/return/check',array('_secure' => true, '_query' => false, '_nosid' => true)),
344
- ($this->getInternalGUI() ? 'M' : 'B'),
345
- $this->getSessionId(),
346
- $this->getTransactionId()
347
- );
348
-
349
- $request->Language = $this->getLanguage();
350
- $request->CustomerEmail = $this->getCustomerEmail();
351
- $request->CustomerPhoneNumber = $this->getCustomerPhoneNumber();
352
-
353
- return $request;
354
-
355
- }
356
-
357
- private function magic($secret,$regcode,$domain) {
358
- if ($secret == false) {
359
- $secret = $_SERVER[base64_decode('VU5JUVVFX0lE')];
360
- }
361
- $key = $secret.$regcode.$domain;
362
- $offset = 0;
363
- $privkey = rand(1,strlen($domain));
364
- $offset = (strlen($key)*32)-(strlen($key)*64)+$privkey-$offset+(strlen($key)*32);
365
- $f = base64_decode("bWQ1");
366
- return $f(base64_encode(strtolower(substr($secret,0,strlen($domain) % $offset).substr($domain,(strlen($secret) % $offset))).base64_decode("dHJvbGx3ZWJfYmJz")));
367
- }
368
- }
369
-
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Trollweb/BBSNetAxept/Model/Cron.php CHANGED
@@ -29,16 +29,40 @@ class Trollweb_BBSNetAxept_Model_Cron
29
 
30
  foreach ($collection as $key => $order) {
31
  $bbs = Mage::getModel('bbsnetaxept/withGUI')->getApi();
32
- // Cancel all orders older than X minutes. (change in config)
33
  $timeout = $order->getPayment()->getMethodInstance()->getPendingTimeout();
34
- if (($timeout > 0) and (strtotime($order->getUpdatedAt())+($timeout*60) < time()))
 
35
  {
36
- $transid = $order->getPayment()->getBbsTransactionId()."\n";
37
- if ($bbs->checkStatus($transid) == false) {
 
 
38
  $order->cancel()->save();
39
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
41
  }
42
 
43
  }
44
- }
29
 
30
  foreach ($collection as $key => $order) {
31
  $bbs = Mage::getModel('bbsnetaxept/withGUI')->getApi();
32
+ // Cancel all orders older than X minutes. (change in admin)
33
  $timeout = $order->getPayment()->getMethodInstance()->getPendingTimeout();
34
+
35
+ if (($timeout > 0) and (strtotime($order->getUpdatedAt())+($timeout*60) < time()))
36
  {
37
+ $transid = $order->getPayment()->getAdditionalInformation(Trollweb_BBSNetAxept_Model_WithGUI::TRANSACTION_ID);
38
+ $status = $bbs->checkStatus($transid);
39
+ if ($status == false) {
40
+ $bbs->doLog('Order number '.$order->getIncrementId().' is automatic canceled due to missing payment (Timeout: '.$timeout.')',true);
41
  $order->cancel()->save();
42
  }
43
+ else {
44
+
45
+ // If marked as captured in BBS, lets try to find the correct invoice and mark it as captured here aswell.
46
+ $captured = $bbs->getAmountCaptured();
47
+ if ($captured > 0) {
48
+ if ($order->hasInvoices()) {
49
+
50
+ foreach ($order->getInvoiceCollection() as $id => $invoice) {
51
+ $amount = $invoice->getGrandTotal();
52
+ if ($invoice->canCapture() and ($amount*100 == $captured)) {
53
+ $bbs->doLog('Invoice number '.$invoice->getIncrementId().' was marked as captured on BBS and is automaticly marked as paied in magento. (Amount: '.$amount.')',true);
54
+ $invoice->setIsPaid(true);
55
+ $invoice->pay()->save();
56
+ $message = Mage::helper('bbsnetaxept')->__('Registered notification about captured amount of %s.', $amount);
57
+ $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, $message);
58
+ $order->save();
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
  }
65
  }
66
 
67
  }
68
+ }
app/code/community/Trollweb/BBSNetAxept/Model/Info.php ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * BBS NetAxept, Norge
4
+ *
5
+ * LICENSE AND USAGE INFORMATION
6
+ * It is NOT allowed to modify, copy or re-sell this file or any
7
+ * part of it. Please contact us by email at post@trollweb.no or
8
+ * visit us at www.trollweb.no/bbs if you have any questions about this.
9
+ * Trollweb is not responsible for any problems caused by this file.
10
+ *
11
+ * Visit us at http://www.trollweb.no today!
12
+ *
13
+ * @category Trollweb
14
+ * @package Trollweb_BBSNetAxept
15
+ * @copyright Copyright (c) 2009 Trollweb (http://www.trollweb.no)
16
+ * @license Single-site License
17
+ *
18
+ */
19
+
20
+ class Trollweb_BBSNetAxept_Model_Info
21
+ {
22
+ protected $_publicMap = array();
23
+
24
+ protected $_secureMap = array('transaction_id',
25
+ 'authorization_id',
26
+ 'authenticated_status',
27
+ 'authenticated_with',
28
+ 'issuer_id',
29
+ 'issuer_country'
30
+ );
31
+
32
+ public function getPublicPaymentInfo($payment) {
33
+ return $this->_makeMap($this->_publicMap,$payment);
34
+ }
35
+
36
+ public function getPaymentInfo($payment) {
37
+ return $this->_makeMap($this->_secureMap,$payment);
38
+ }
39
+
40
+ protected function _makeMap($map,$payment) {
41
+ $result = array();
42
+ foreach ($map as $key) {
43
+ $result[$this->_getLabel($key)] = $this->_getValue($key,$payment);
44
+ }
45
+
46
+ return $result;
47
+ }
48
+
49
+ protected function _getLabel($key) {
50
+ switch ($key) {
51
+ case 'transaction_id':
52
+ return Mage::helper('bbsnetaxept')->__('Transaction id');
53
+ case 'authorization_id':
54
+ return Mage::helper('bbsnetaxept')->__('Authorization id');
55
+ case 'authenticated_status':
56
+ return Mage::helper('bbsnetaxept')->__('Authenticated status');
57
+ case 'authenticated_with':
58
+ return Mage::helper('bbsnetaxept')->__('Authenticated with');
59
+ case 'issuer_id':
60
+ return Mage::helper('bbsnetaxept')->__('Issuer');
61
+ case 'issuer_country':
62
+ return Mage::helper('bbsnetaxept')->__('Issuer country');
63
+ }
64
+ }
65
+
66
+ protected function _getValue($key,$payment) {
67
+ $value = $payment->getAdditionalInformation('bbs_'.$key);
68
+ if ($value == null) {
69
+ switch ($key) {
70
+ case 'transaction_id':
71
+ $value = $payment->getBbsTransactionId();
72
+ break;
73
+ case 'authorization_id':
74
+ $value = $payment->getBbsAuthorizationId();
75
+ break;
76
+ case 'authenticated_status':
77
+ $value = $payment->getBbsAuthenticatedStatus();
78
+ break;
79
+ case 'authenticated_with':
80
+ $value = $payment->getBbsAuthenticatedWith();
81
+ break;
82
+ case 'issuer_id':
83
+ $value = $payment->getBbsIssuerId();
84
+ break;
85
+ case 'issuer_country':
86
+ $value = $payment->getBbsIssuerCountry();
87
+ break;
88
+ }
89
+
90
+ if (!$value) {
91
+ $value = '';
92
+ }
93
+ }
94
+
95
+ return $value;
96
+ }
97
+
98
+ }
app/code/community/Trollweb/BBSNetAxept/Model/WithGUI.php CHANGED
@@ -1,459 +1,296 @@
1
- <?php
2
- /**
3
- * BBS NetAxept, Norge
4
- *
5
- * LICENSE AND USAGE INFORMATION
6
- * It is NOT allowed to modify, copy or re-sell this file or any
7
- * part of it. Please contact us by email at post@trollweb.no or
8
- * visit us at www.trollweb.no/bbs if you have any questions about this.
9
- * Trollweb is not responsible for any problems caused by this file.
10
- *
11
- * Visit us at http://www.trollweb.no today!
12
- *
13
- * @category Trollweb
14
- * @package Trollweb_BBSNetAxept
15
- * @copyright Copyright (c) 2009 Trollweb (http://www.trollweb.no)
16
- * @license Single-site License
17
- *
18
- */
19
-
20
-
21
- /**
22
- * Our test CC module adapter
23
- */
24
- class Trollweb_BBSNetAxept_Model_WithGUI extends Mage_Payment_Model_Method_Abstract
25
- {
26
- protected $_code = 'bbsnetaxept_withgui';
27
- protected $_formBlockType = 'bbsnetaxept/form';
28
- protected $_infoBlockType = 'bbsnetaxept/paymentInfo';
29
- protected $_allowCurrencyCode = array('NOK', 'SEK', 'USD', 'EUR');
30
-
31
-
32
- //* Options *//
33
- protected $_isGateway = true;
34
- protected $_canAuthorize = true;
35
- protected $_canCapture = true;
36
- protected $_canCapturePartial = false;
37
- protected $_canRefund = true;
38
- protected $_canRefundInvoicePartial = true;
39
- protected $_canVoid = false;
40
- protected $_canUseInternal = true;
41
- protected $_canUseCheckout = true;
42
- protected $_canUseForMultishipping = false;
43
- protected $_canSaveCc = false;
44
-
45
- // PROD URL
46
- const WSDL_URL_TEST = 'https://epayment-test.bbs.no/service.svc?wsdl';
47
- const QWSDL_URL_TEST = 'https://epayment-test.bbs.no/TokenQuery.svc?wsdl';
48
- const GW_URL_TEST = 'https://epayment-test.bbs.no/terminal/default.aspx';
49
-
50
- // TEST URL
51
- const WSDL_URL_PROD = 'https://epayment.bbs.no/service.svc?wsdl';
52
- const QWSDL_URL_PROD = 'https://epayment.bbs.no/TokenQuery.svc?wsdl';
53
- const GW_URL_PROD = 'https://epayment.bbs.no/terminal/default.aspx';
54
-
55
- /**
56
- * Get checkout session namespace
57
- *
58
- * @return Mage_Checkout_Model_Session
59
- */
60
- public function getCheckout()
61
- {
62
- return Mage::getSingleton('checkout/session');
63
- }
64
-
65
- /**
66
- * Get current quote
67
- *
68
- * @return Mage_Sales_Model_Quote
69
- */
70
- public function getQuote()
71
- {
72
- return $this->getCheckout()->getQuote();
73
- }
74
-
75
- /**
76
- * Assign data to info model instance
77
- *
78
- * @param mixed $data
79
- * @return Mage_Payment_Model_Info
80
- */
81
- public function assignData($data)
82
- {
83
- if (!($data instanceof Varien_Object)) {
84
- $data = new Varien_Object($data);
85
- }
86
-
87
- $info = $this->getInfoInstance();
88
- $info->setCcType($data->getCcType())
89
- ->setCcOwner($data->getCcOwner())
90
- ->setCcLast4(substr($data->getCcNumber(), -4))
91
- ->setCcNumber($data->getCcNumber())
92
- ->setCcCid($data->getCcCid())
93
- ->setCcExpMonth($data->getCcExpMonth())
94
- ->setCcExpYear($data->getCcExpYear());
95
- return $this;
96
- }
97
-
98
-
99
- public function isAvailable($quote=null)
100
- {
101
- if ($this->getConfigData('use_gui') == 1) {
102
- $this->_formBlockType = 'bbsnetaxept/form';
103
- $this->_infoBlockType = 'bbsnetaxept/paymentInfo';
104
-
105
- }
106
- else {
107
- $this->_formBlockType = 'payment/form_cc';
108
- $this->_infoBlockType = 'payment/info_cc';
109
-
110
- }
111
- return true;
112
- }
113
-
114
-
115
- /**
116
- * Using internal pages for input payment data
117
- *
118
- * @return bool
119
- */
120
- public function canUseInternal()
121
- {
122
- return $this->_canUseInternal;
123
- }
124
-
125
- /**
126
- * Using for multiple shipping address
127
- *
128
- * @return bool
129
- */
130
- public function canUseForMultishipping()
131
- {
132
- return $this->_canUseForMultishipping;
133
- }
134
-
135
- /*validate the currency code is avaialable to use for paypal or not*/
136
- public function validate()
137
- {
138
- parent::validate();
139
- $info = $this->getInfoInstance();
140
- if ($info instanceof Mage_Sales_Model_Order_Payment) {
141
- $currency_code = $info->getOrder()->getBaseCurrencyCode();
142
- } else {
143
- $currency_code = $info->getQuote()->getBaseCurrencyCode();
144
- }
145
-
146
- if (!in_array($currency_code,$this->_allowCurrencyCode)) {
147
- Mage::throwException(Mage::helper('bbsnetaxept')->__('Selected currency code ('.$currency_code.') is not compatible with BBS NetAxept'));
148
- }
149
- elseif (!$this->getApi()->setRegCode($this->getConfigData('regcode'))->validate()) {
150
- Mage::throwException(Mage::helper('bbsnetaxept')->__('This is an unregisted version of BBS NetAxept. Please go to your admin page in Magento and aquire your free registration code. See www.trollweb.no/bbs for details'));
151
- }
152
-
153
- return $this;
154
- }
155
-
156
- public function onOrderValidate(Mage_Sales_Model_Order_Payment $payment)
157
- {
158
- return $this;
159
- }
160
-
161
- public function onInvoiceCreate(Mage_Sales_Model_Invoice_Payment $payment)
162
- {
163
-
164
- }
165
-
166
- public function getBBSTransKey()
167
- {
168
-
169
- $order = Mage::getModel('sales/order');
170
- $order->load(Mage::getSingleton('checkout/session')->getLastOrderId());
171
- if ($order->getPayment()->getStatus() != self::STATUS_APPROVED) {
172
-
173
- $this->getCheckout()->setBBSTransactionId(uniqid());
174
- $order->getPayment()->setBbsTransactionId($this->getCheckout()->getBBSTransactionId());
175
-
176
- $transKey = $this->getApi()->
177
- setCurrencyCode($order->getOrderCurrencyCode())->
178
- setTransactionId($this->getCheckout()->getBBSTransactionId())->
179
- setAmount(sprintf("%0.0f",$order->getGrandTotal()*100))->
180
- setOrderNumber($this->getCheckout()->getLastRealOrderId())->
181
- setOrderDescription(date("d.m.Y")." - Order ".$this->getCheckout()->getLastRealOrderId())->
182
- setCustomerEmail($this->getQuote()->getCustomerEmail())->
183
- setCustomerPhoneNumber($this->getQuote()->getBillingAddress()->getTelephone())->
184
- setSessionId($this->getCheckout()->getQuoteId())->
185
- setInternalGUI($this->useInternalGUI())->
186
- getTransKey();
187
-
188
- if ($transKey == false) {
189
- Mage::throwException(Mage::helper('bbsnetaxept')->__('Error receiving key from BBS: '.$this->getApi()->getErrorMessage()));
190
- }
191
- else {
192
- $this->getCheckout()->setBBSTransKey($transKey);
193
- if ($this->useInternalGUI()) {
194
- $info = $this->getInfoInstance();
195
- if (!($info instanceof Varien_Object)) {
196
- $info = new Varien_Object($info);
197
- }
198
- $this->getCheckout()->setCardInfo($info);
199
- }
200
- $order->addStatusToHistory('pending_bbs',Mage::helper('bbsnetaxept')->__('Redirected to BBS Payment'),false);
201
- $order->save();
202
- }
203
- }
204
-
205
- return $this->getCheckout()->getBBSTransKey();
206
- }
207
-
208
- public function getOrderPlaceRedirectUrl()
209
- {
210
- return Mage::getUrl('bbsnetaxept/return/redirect', array('_secure' => true));
211
- }
212
-
213
- public function getBBSUrl()
214
- {
215
- if ($this->getConfigData('test_mode')) {
216
- return Trollweb_BBSNetAxept_Model_WithGUI::GW_URL_TEST;
217
- }
218
- else {
219
- return Trollweb_BBSNetAxept_Model_WithGUI::GW_URL_PROD;
220
- }
221
- }
222
-
223
- public function getPendingTimeout()
224
- {
225
- return $this->getConfigData('pending_minutes');
226
- }
227
-
228
- public function useInternalGUI()
229
- {
230
- return ($this->getConfigData('use_gui') ? false : true);
231
- }
232
-
233
- public function getCCDate()
234
- {
235
- $info = $this->getInfoInstance();
236
- return $info;
237
- }
238
-
239
- /**
240
- * Get BBS API Model
241
- *
242
- * @return Trollweb_BBSNetAxept_Model_Api_Bbs
243
- */
244
- public function getApi()
245
- {
246
- $bbsClient = Mage::getSingleton('bbsnetaxept/api_bbs');
247
-
248
- // Merchant ID
249
- $bbsClient->setMerchantId($this->getConfigData('merchant_id'))->setLanguage($this->getConfigData('gui_language'));
250
- if ($this->getConfigData('test_mode')) {
251
- $bbsClient->
252
- setMerchantToken($this->getConfigData('merchant_test_token'))->
253
- setWsdlUrl(Trollweb_BBSNetAxept_Model_WithGUI::WSDL_URL_TEST)->
254
- setQueryWsdlUrl(Trollweb_BBSNetAxept_Model_WithGUI::QWSDL_URL_TEST);
255
- }
256
- else {
257
- $bbsClient->
258
- setMerchantToken($this->getConfigData('merchant_token'))->
259
- setWsdlUrl(Trollweb_BBSNetAxept_Model_WithGUI::WSDL_URL_PROD)->
260
- setQueryWsdlUrl(Trollweb_BBSNetAxept_Model_WithGUI::QWSDL_URL_PROD);
261
- }
262
- return $bbsClient;
263
- }
264
-
265
- /**
266
- * Check the result from the BBS NetAxept
267
- *
268
- * @param none
269
- * @return bool
270
- */
271
- public function checkResult($bbskey) {
272
- $isOK = false;
273
-
274
- // Load order.
275
- $order = Mage::getModel('sales/order');
276
- $order->load(Mage::getSingleton('checkout/session')->getLastOrderId());
277
-
278
- if ($this->getApi()->Process($bbskey) == $this->getCheckout()->getBBSTransactionId()) {
279
-
280
- if ($this->getApi()->Auth($this->getApi()->Result()->getTransactionId()) == $this->getCheckout()->getBBSTransactionId()) {
281
-
282
-
283
- $this->getCheckout()->getQuote()->setIsActive(false)->save();
284
-
285
- $order->getPayment()->setBbsTransactionId($this->getCheckout()->getBBSTransactionId())->
286
- setBbsAuthenticatedStatus($this->getApi()->Result()->getAuthenticatedStatus())->
287
- setBbsAuthenticatedWith($this->getApi()->Result()->getAuthenticatedWith())->
288
- setBbsIssuerCountry($this->getApi()->Result()->getIssuerCountry())->
289
- setBbsIssuerId($this->getApi()->Result()->getIssuerId())->
290
- setBbsAuthorizationId($this->getApi()->Result()->getAuthorizationId())->
291
- setBbsSessionNumber($this->getApi()->Result()->getSessionNumber());
292
-
293
- if ($this->getApi()->Result()->getResponseCode() == "OK") {
294
- $order->getPayment()->setStatus(self::STATUS_APPROVED);
295
- //Set new orderstatus
296
- $newOrderStatus = $this->getConfigData('auth_order_status');
297
- if (empty($newOrderStatus)) {
298
- $newOrderStatus = $order->getStatus();
299
- }
300
- $order->addStatusToHistory($newOrderStatus,'BBS Authorization successful',true);
301
-
302
- /**
303
- * send confirmation email to customer
304
- */
305
- if($order->getId()){
306
- $order->sendNewOrderEmail();
307
- }
308
-
309
- $isOK = true;
310
- }
311
-
312
-
313
- $order->save();
314
- if ($this->getConfigData('payment_action') == 'sale') {
315
- $invoice = $order->prepareInvoice();
316
- $invoice->register()->capture();
317
- Mage::getModel('core/resource_transaction')
318
- ->addObject($invoice)
319
- ->addObject($invoice->getOrder())
320
- ->save();
321
- }
322
- }
323
- else {
324
- $order->getPayment()->setBbsAuthenticatedStatus('Error')->setBbsAuthenticatedWith($this->getApi()->getErrorMessage());
325
- $order->cancel()->save();
326
- $this->getCheckout()->addError($this->getErrorMessage($this->getApi()->getErrorCode()).' ('.$this->getApi()->getErrorCode().') (auth)');
327
- }
328
- }
329
- else {
330
- $order->getPayment()->setBbsAuthenticatedStatus('Error')->setBbsAuthenticatedWith($this->getApi()->getErrorMessage());
331
- $order->cancel()->save();
332
- $this->getCheckout()->addError($this->getErrorMessage($this->getApi()->getErrorCode()).' ('.$this->getApi()->getErrorCode().') (proc)');
333
- }
334
-
335
-
336
- return $isOK;
337
- }
338
-
339
-
340
- public function capture(Varien_Object $payment, $amount) {
341
- $error = false;
342
-
343
- if (!$payment->getBbsTransactionId()) {
344
- Mage::throwException(Mage::helper('bbsnetaxept')->__('Could not find transaction id.'));
345
- }
346
-
347
- $order = $payment->getOrder();
348
-
349
- $InvoiceId = ($order->getIncrementId() ? $order->getIncrementId() : 'Unknown');
350
-
351
- $bbs_amount = sprintf("%0.0f",$amount*100);
352
- if ($this->getApi()->capture($payment->getBbsTransactionId(),$bbs_amount,$InvoiceId) == $payment->getBbsTransactionId()) {
353
- $payment->setStatus(self::STATUS_APPROVED);
354
- }
355
- else {
356
- $error = Mage::helper('bbsnetaxept')->__('Error capturing the payment: %s', $this->getApi()->getErrorMessage());
357
- }
358
-
359
- if ($error !== false) {
360
- Mage::throwException($error);
361
- }
362
-
363
- return $this;
364
- }
365
-
366
- /**
367
- * refund the amount with transaction id
368
- *
369
- * @access public
370
- * @param string $payment Varien_Object object
371
- * @return Mage_Payment_Model_Abstract
372
- */
373
- public function refund(Varien_Object $payment, $amount)
374
- {
375
- $error = false;
376
-
377
- if (!$payment->getBbsTransactionId()) {
378
- Mage::throwException(Mage::helper('bbsnetaxept')->__('Could not find transaction id.'));
379
- }
380
-
381
-
382
- $order = $payment->getOrder();
383
- $InvoiceId = ($order->getIncrementId() ? $order->getIncrementId() : 'Unknown');
384
-
385
- $bbs_amount = sprintf("%0.0f",$amount*100);
386
- if ($this->getApi()->refund($payment->getBbsTransactionId(),$bbs_amount, $InvoiceId) == $payment->getBbsTransactionId()) {
387
- $payment->setStatus(self::STATUS_SUCCESS);
388
-
389
- }
390
- else {
391
- $error = Mage::helper('bbsnetaxept')->__('Error refunding the payment: %s', $this->getApi()->getErrorMessage());
392
- }
393
-
394
- if ($error !== false) {
395
- Mage::throwException($error);
396
- }
397
-
398
- return $this;
399
- }
400
-
401
- public function getLogoMethods() {
402
- $codes = array(0 => Mage::helper('bbsnetaxept')->__('Ingen logo'),
403
- // 1 => Mage::helper('bbsnetaxept')->__('BBS logo'),
404
- 2 => Mage::helper('bbsnetaxept')->__('BBS Technology logo')
405
- );
406
- return $codes;
407
- }
408
-
409
- public function getLogoUrl() {
410
- $logotype = $this->getConfigData('logo');
411
- switch($logotype) {
412
- case 1:
413
- $url = 'images/bbsnetaxept/logo.png';
414
- break;
415
- case 2:
416
- $url = 'images/bbsnetaxept/technology_logo.png';
417
- break;
418
- case 0:
419
- default:
420
- $url = '';
421
- break;
422
- }
423
- return $url;
424
- }
425
-
426
- public function getRedirectText() {
427
- return $this->getConfigData('redirect_text');
428
- }
429
-
430
-
431
- private function getErrorMessage($errorcode=99) {
432
- switch ($errorcode) {
433
- case '00':
434
- $message = '';
435
- break;
436
- case '17':
437
- $message = Mage::helper('bbsnetaxept')->__('Payment cancelled by user.');
438
- break;
439
- case '99':
440
- default:
441
- $message = Mage::helper('bbsnetaxept')->__('Error processing transaction from BBS. Try again or contact your bank');
442
- break;
443
- }
444
-
445
- return $message;
446
- }
447
-
448
- private function dolog($logline)
449
- {
450
- $logDir = Mage::getBaseDir('log');
451
- $fh = fopen($logDir."/bbsnexaxept.log","a");
452
- if ($fh) {
453
- fwrite($fh,"[".date("d.m.Y h:i:s")."] ".$logline."\n");
454
- fclose($fh);
455
- }
456
- }
457
-
458
-
459
- }
1
+ <?php //003ab
2
+ if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
3
+ ?>
4
+ 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
296
+ 8uKI4bQDtQmzLu49kBWwtUQMhsu8v2S=
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Trollweb/BBSNetAxept/controllers/ReturnController.php CHANGED
@@ -50,7 +50,7 @@ class Trollweb_BBSNetAxept_ReturnController extends Mage_Core_Controller_Front_A
50
  }
51
 
52
  /**
53
- * When a customer cancel payment from paypal.
54
  */
55
  public function checkAction()
56
  {
@@ -58,12 +58,11 @@ class Trollweb_BBSNetAxept_ReturnController extends Mage_Core_Controller_Front_A
58
 
59
  $session = Mage::getSingleton('checkout/session');
60
  $session->setQuoteId($session->getBBSNetterminalStandardQuoteId(true));
61
-
62
  if ($this->getStandard()->checkResult($this->getRequest()->getQuery("BBSePay_transaction"))) {
63
  $redirect = 'checkout/onepage/success';
64
  }
65
-
66
- $this->_redirect($redirect, array('_secure'=>true));
67
  }
68
  }
69
 
50
  }
51
 
52
  /**
53
+ * When a customer returns from BBS Checkout page.
54
  */
55
  public function checkAction()
56
  {
58
 
59
  $session = Mage::getSingleton('checkout/session');
60
  $session->setQuoteId($session->getBBSNetterminalStandardQuoteId(true));
61
+
62
  if ($this->getStandard()->checkResult($this->getRequest()->getQuery("BBSePay_transaction"))) {
63
  $redirect = 'checkout/onepage/success';
64
  }
65
+ $this->_redirect($redirect, array('_secure'=>true));
 
66
  }
67
  }
68
 
app/code/community/Trollweb/BBSNetAxept/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Trollweb_BBSNetAxept>
5
- <version>1.5.6</version>
6
  <depends>
7
  <Mage_Payment />
8
  </depends>
@@ -111,6 +111,7 @@
111
  <logo>0</logo>
112
  <redirect_text>Du vil bli sendt til en sikker side hos BBS for inntasting av kredittkort-detaljene dine når du har fullført bestillingen.</redirect_text>
113
  <pending_minutes>0</pending_minutes>
 
114
 
115
  <model>bbsnetaxept/withGUI</model>
116
  </bbsnetaxept_withgui>
2
  <config>
3
  <modules>
4
  <Trollweb_BBSNetAxept>
5
+ <version>1.6.1</version>
6
  <depends>
7
  <Mage_Payment />
8
  </depends>
111
  <logo>0</logo>
112
  <redirect_text>Du vil bli sendt til en sikker side hos BBS for inntasting av kredittkort-detaljene dine når du har fullført bestillingen.</redirect_text>
113
  <pending_minutes>0</pending_minutes>
114
+ <enable_log>0</enable_log>
115
 
116
  <model>bbsnetaxept/withGUI</model>
117
  </bbsnetaxept_withgui>
app/code/community/Trollweb/BBSNetAxept/etc/system.xml CHANGED
@@ -4,7 +4,7 @@
4
  <payment>
5
  <groups>
6
  <bbsnetaxept_withgui translate="label" module="bbsnetaxept">
7
- <label>BBS Netaxept, versjon 1.5.6</label>
8
  <sort_order>670</sort_order>
9
  <show_in_default>1</show_in_default>
10
  <show_in_website>1</show_in_website>
@@ -228,6 +228,16 @@ Telefon <b>+47 47230804</b> (0900-1800, man-søn)<br />
228
  <show_in_store>1</show_in_store>
229
  <comment><![CDATA[Velg utvalgte land som får lov å velge denne betalingsmetoden. Standard er alle land.]]></comment>
230
  </specificcountry>
 
 
 
 
 
 
 
 
 
 
231
 
232
  <sort_order translate="label">
233
  <label>Sortering av betalingsmetode</label>
4
  <payment>
5
  <groups>
6
  <bbsnetaxept_withgui translate="label" module="bbsnetaxept">
7
+ <label>BBS Netaxept, versjon 1.6.1</label>
8
  <sort_order>670</sort_order>
9
  <show_in_default>1</show_in_default>
10
  <show_in_website>1</show_in_website>
228
  <show_in_store>1</show_in_store>
229
  <comment><![CDATA[Velg utvalgte land som får lov å velge denne betalingsmetoden. Standard er alle land.]]></comment>
230
  </specificcountry>
231
+
232
+ <enable_log translate="label">
233
+ <label>Aktiver logging</label>
234
+ <frontend_type>select</frontend_type>
235
+ <source_model>adminhtml/system_config_source_yesno</source_model>
236
+ <sort_order>99</sort_order>
237
+ <show_in_default>1</show_in_default>
238
+ <show_in_website>0</show_in_website>
239
+ <show_in_store>0</show_in_store>
240
+ </enable_log>
241
 
242
  <sort_order translate="label">
243
  <label>Sortering av betalingsmetode</label>
app/code/community/Trollweb/BBSNetAxept/sql/bbsnetaxept_setup/mysql4-install-0.1.0.php CHANGED
@@ -17,19 +17,10 @@
17
  *
18
  */
19
 
20
-
21
  $installer = $this;
22
 
23
  $installer->startSetup();
24
 
25
- $installer->addAttribute('order_payment', 'bbs_transaction_id', array());
26
- $installer->addAttribute('order_payment', 'bbs_authenticated_status', array());
27
- $installer->addAttribute('order_payment', 'bbs_authenticated_with', array());
28
- $installer->addAttribute('order_payment', 'bbs_issuer_country', array());
29
- $installer->addAttribute('order_payment', 'bbs_issuer_id', array());
30
- $installer->addAttribute('order_payment', 'bbs_authorization_id', array());
31
- $installer->addAttribute('order_payment', 'bbs_session_number', array());
32
-
33
  $installer->doTWregister();
34
 
35
  $installer->endSetup();
17
  *
18
  */
19
 
 
20
  $installer = $this;
21
 
22
  $installer->startSetup();
23
 
 
 
 
 
 
 
 
 
24
  $installer->doTWregister();
25
 
26
  $installer->endSetup();
app/code/community/Trollweb/BBSNetAxept/sql/bbsnetaxept_setup/mysql4-uninstall-0.1.0.php CHANGED
@@ -18,12 +18,3 @@
18
  */
19
 
20
  $installer = $this;
21
-
22
- $installer->removeAttribute('order_payment', 'bbs_transaction_id');
23
- $installer->removeAttribute('order_payment', 'bbs_authenticated_status');
24
- $installer->removeAttribute('order_payment', 'bbs_authenticated_with');
25
- $installer->removeAttribute('order_payment', 'bbs_issuer_country');
26
- $installer->removeAttribute('order_payment', 'bbs_issuer_id');
27
- $installer->removeAttribute('order_payment', 'bbs_authorization_id');
28
- $installer->removeAttribute('order_payment', 'bbs_session_number');
29
-
18
  */
19
 
20
  $installer = $this;
 
 
 
 
 
 
 
 
 
app/design/adminhtml/default/default/template/bbsnetaxept/paymentinfo.phtml CHANGED
@@ -17,10 +17,20 @@
17
  *
18
  */
19
  ?>
20
- <?php echo Mage::helper('payment')->__('Transaction id: %s', $this->htmlEscape($this->getInfo()->getBbsTransactionId())) ?><br/>
21
- <?php echo Mage::helper('payment')->__('Authorization id: %s', $this->htmlEscape($this->getInfo()->getBbsAuthorizationId())) ?><br/>
22
- <?php echo Mage::helper('payment')->__('Authenticated status: %s', $this->htmlEscape($this->getInfo()->getBbsAuthenticatedStatus())) ?><br/>
23
- <?php echo Mage::helper('payment')->__('Authenticated with: %s', $this->htmlEscape($this->getInfo()->getBbsAuthenticatedWith())) ?><br/>
24
- <?php echo Mage::helper('payment')->__('Issuer: %s', $this->htmlEscape($this->getInfo()->getBbsIssuerId())) ?><br/>
25
- <?php echo Mage::helper('payment')->__('Issuer country: %s', $this->htmlEscape($this->getInfo()->getBbsIssuerCountry())) ?><br/>
26
- <?php echo Mage::helper('payment')->__('Payment status: %s', $this->htmlEscape($this->getInfo()->getStatus())) ?><br/>
 
 
 
 
 
 
 
 
 
 
17
  *
18
  */
19
  ?>
20
+
21
+ <p><?php echo $this->htmlEscape($this->getMethod()->getTitle()) ?></p>
22
+
23
+ <?php if ($_specificInfo = $this->getSpecificInformation()):?>
24
+ <table>
25
+ <tbody>
26
+ <?php foreach ($_specificInfo as $_label => $_value):?>
27
+ <tr>
28
+ <th><?php echo $this->escapeHtml($_label)?>:</th>
29
+ <td><?php echo nl2br(implode($this->getValueAsArray($_value, true), "\n"))?></td>
30
+ </tr>
31
+ <?php endforeach; ?>
32
+ </tbody>
33
+ </table>
34
+ <?php endif;?>
35
+
36
+ <?php echo $this->getChildHtml()?>
app/locale/nb_NO/Trollweb_BBSNetaxept.csv CHANGED
@@ -1,3 +1,4 @@
1
  "Pending BBS","Det er ikke registert noe betaling på denne ordren"
2
  "Redirected to BBS Payment","Videresendt til BBS sin betalingsløsning"
3
  "BBS Authorization successful","Ordrebeløpet er reservert av BBS"
 
1
  "Pending BBS","Det er ikke registert noe betaling på denne ordren"
2
  "Redirected to BBS Payment","Videresendt til BBS sin betalingsløsning"
3
  "BBS Authorization successful","Ordrebeløpet er reservert av BBS"
4
+ "Payment status: %s","Betalings status: %s"
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BBSNetAxept_Norway</name>
4
- <version>1.5.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.trollweb.no/bbs">GPL License</license>
7
  <channel>community</channel>
@@ -12,9 +12,9 @@
12
  Please remember that you need to sign up with both BBS and Teller. Sign up forms are available directly in the Magento Admin and Payment Gateways, under the BBS Netaxept Settings.</description>
13
  <notes>This extension uses the BBS Netaxept API.</notes>
14
  <authors><author><name>Trollweb Solutions AS</name><user>auto-converted</user><email>post@trollweb.no</email></author></authors>
15
- <date>2010-05-25</date>
16
- <time>11:48:39</time>
17
- <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bbsnetaxept"><file name="form.phtml" hash="d61295f247bccb512608c1f9dec45876"/><file name="paymentinfo.phtml" hash="4f3b4e6e0d39720429c9b7f6afe87db3"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="bbsnetaxept"><file name="form.phtml" hash="f2c6bb87bb25ddd68a3dddde8ed64f12"/><file name="paymentinfo.phtml" hash="6ec9c7243fdb7c67a9d3de210a56908c"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="bbsnetaxept"><file name="logo.png" hash="17dcefecee14a0231c58dd87b2e0dc5e"/><file name="technology_logo.png" hash="e0b62fb37da9fb8c1ef69390762f066b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Trollweb_BBSNetAxept.xml" hash="f3b2219f86e88ada812f5bde8ae6859c"/></dir></target><target name="magelocale"><dir name="nb_NO"><file name="Trollweb_BBSNetaxept.csv" hash="ac985b5dad2ad1780fbc23d85c0c4849"/></dir></target><target name="magecommunity"><dir name="Trollweb"><dir name="BBSNetAxept"><dir name="Block"><file name="Form.php" hash="2e843f8b372cf86b901604676223e9ff"/><file name="PaymentInfo.php" hash="8c84a5d8a98a05bbc896733e2ca387f1"/><file name="Redirect.php" hash="dedf8e84e45f7d5e217b20704e0b1ac8"/></dir><dir name="controllers"><file name="ReturnController.php" hash="1af5a611e3c8ed282648911911c52de1"/></dir><dir name="etc"><file name="config.xml" hash="00246f63dae5253f95020f8a9cee3489"/><file name="system.xml" hash="e1718c1709aa80972c3e0b245f3d1430"/></dir><dir name="Helper"><file name="Data.php" hash="06e6b25c35fa45f014c51163ccec2e44"/></dir><dir name="Model"><dir name="Api"><file name="Bbs.php" hash="3d6a7e6a6fc4799ea22954c100313d87"/><file name="BbsRequest.php" hash="1d89c8369032ba4ba79c89828770da56"/><file name="SoapClient.php" hash="0bea5c38b2402fe854c092389aae9a21"/></dir><dir name="BBSNetterminal"><file name="Debug.php" hash="4c938bc2a079719a111478c9d24adf77"/><file name="Language.php" hash="8bafa1d208ee1571920eebfdf98a6745"/><file name="PaymentAction.php" hash="60efa6278b77fcd56d28d81e19617ccc"/><file name="Request.php" hash="b9353f6c6ca06349928aa418cf943744"/><file name="Result.php" hash="2faf0b6cc4fb00b00cbec7a48f4dca07"/></dir><dir name="Config"><file name="Logo.php" hash="7a6d09c42821270b85d32a6f9509395b"/></dir><dir name="Entity"><file name="Setup.php" hash="6d17490981f2d9efa48ac7a0f9318a83"/></dir><file name="Cron.php" hash="dc91112fccd625b6a6cb5ca0cad88a03"/><file name="WithGUI.php" hash="82a314561e3508bfdd1bf2a9b00a7e5d"/></dir><dir name="sql"><dir name="bbsnetaxept_setup"><file name="mysql4-install-0.1.0.php" hash="e84d45a9a21b253c0b3cb766079df28b"/><file name="mysql4-uninstall-0.1.0.php" hash="5393aadd53afafee1392949fe6a4511a"/></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies/>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>BBSNetAxept_Norway</name>
4
+ <version>1.6.1</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.trollweb.no/bbs">GPL License</license>
7
  <channel>community</channel>
12
  Please remember that you need to sign up with both BBS and Teller. Sign up forms are available directly in the Magento Admin and Payment Gateways, under the BBS Netaxept Settings.</description>
13
  <notes>This extension uses the BBS Netaxept API.</notes>
14
  <authors><author><name>Trollweb Solutions AS</name><user>auto-converted</user><email>post@trollweb.no</email></author></authors>
15
+ <date>2010-06-29</date>
16
+ <time>18:39:48</time>
17
+ <contents><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="bbsnetaxept"><file name="form.phtml" hash="d61295f247bccb512608c1f9dec45876"/><file name="paymentinfo.phtml" hash="06807ed36bc240dec7b72a45bde8bc99"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="bbsnetaxept"><file name="form.phtml" hash="f2c6bb87bb25ddd68a3dddde8ed64f12"/><file name="paymentinfo.phtml" hash="6ec9c7243fdb7c67a9d3de210a56908c"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="images"><dir name="bbsnetaxept"><file name="logo.png" hash="17dcefecee14a0231c58dd87b2e0dc5e"/><file name="technology_logo.png" hash="e0b62fb37da9fb8c1ef69390762f066b"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Trollweb_BBSNetAxept.xml" hash="f3b2219f86e88ada812f5bde8ae6859c"/></dir></target><target name="magelocale"><dir name="nb_NO"><file name="Trollweb_BBSNetaxept.csv" hash="79492eece606a21d90b5b18956a03b04"/></dir></target><target name="magecommunity"><dir name="Trollweb"><dir name="BBSNetAxept"><dir name="Block"><file name="Form.php" hash="2e843f8b372cf86b901604676223e9ff"/><file name="PaymentInfo.php" hash="fa9a17d60fe0c8927bed84ec7cfbbb98"/><file name="Redirect.php" hash="dedf8e84e45f7d5e217b20704e0b1ac8"/></dir><dir name="controllers"><file name="ReturnController.php" hash="0261e731bc6f842e9e6206ac8649f6ae"/></dir><dir name="etc"><file name="config.xml" hash="1d98e0dbcad863f912afcf7709a5bbba"/><file name="system.xml" hash="174d66ff5d15b5e56fd340ffc5e45c62"/></dir><dir name="Helper"><file name="Data.php" hash="06e6b25c35fa45f014c51163ccec2e44"/></dir><dir name="Model"><dir name="Api"><file name="Bbs.php" hash="5f7f30c10276b8d24f3eec57d1973c2e"/><file name="BbsRequest.php" hash="1d89c8369032ba4ba79c89828770da56"/><file name="SoapClient.php" hash="0bea5c38b2402fe854c092389aae9a21"/></dir><dir name="BBSNetterminal"><file name="Debug.php" hash="4c938bc2a079719a111478c9d24adf77"/><file name="Language.php" hash="8bafa1d208ee1571920eebfdf98a6745"/><file name="PaymentAction.php" hash="60efa6278b77fcd56d28d81e19617ccc"/><file name="Request.php" hash="b9353f6c6ca06349928aa418cf943744"/><file name="Result.php" hash="2faf0b6cc4fb00b00cbec7a48f4dca07"/></dir><dir name="Config"><file name="Logo.php" hash="7a6d09c42821270b85d32a6f9509395b"/></dir><dir name="Entity"><file name="Setup.php" hash="6d17490981f2d9efa48ac7a0f9318a83"/></dir><file name="Cron.php" hash="b8ad260d5df4987fd205865a19c8dd19"/><file name="Info.php" hash="6da79bb08aaad83e5d41f6680bae25e0"/><file name="WithGUI.php" hash="ca83a65f180b542b658a9c7b04bc9bb0"/></dir><dir name="sql"><dir name="bbsnetaxept_setup"><file name="mysql4-install-0.1.0.php" hash="f4fca44c4f8acc3a4c57510ea5b79087"/><file name="mysql4-uninstall-0.1.0.php" hash="8aeaa58e2ce89edb82be3a4e7f3bd68b"/></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies/>
20
  </package>