sisowpayment - Version 4.5.0

Version Notes

Sisow plug and play, processing different payment methods from different countries. No programming, customization or coding needed! Sisow is a collecting payment provider in the Netherlands. Sisow collects the payments and distributes them to the owner of the webshop.

Download this release

Release Info

Developer Magento Core Team
Extension sisowpayment
Version 4.5.0
Comparing to
See all releases


Code changes from version 4.4.2 to 4.5.0

app/code/local/Sisow/Block/Checkout/Onepage/Payment/Methods.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Sisow_Block_Checkout_Onepage_Payment_Methods extends Mage_Checkout_Block_Onepage_Payment_Methods {
4
+
5
+ /**
6
+ * @param Mage_Payment_Model_Method_Abstract $method
7
+ * @return string
8
+ */
9
+ public function getMethodTitle(Mage_Payment_Model_Method_Abstract $method) {
10
+ if ($paymentTitle = Mage::helper('sisow')->getPaymentTitle($method)) {
11
+ return $paymentTitle;
12
+ }
13
+
14
+ return parent::getMethodTitle($method);
15
+ }
16
+
17
+ }
app/code/local/Sisow/Block/Redirect.php CHANGED
@@ -224,7 +224,6 @@ class Sisow_Block_Redirect extends Mage_Core_Block_Abstract
224
  $arg['testmode'] = (Mage::getStoreConfig('payment/sisow_'.$method.'/testmode')) ? 'true' : 'false';
225
 
226
  $base = Mage::getModel('sisow/base');
227
- $base->shopId = Mage::getStoreConfig('sisow_core/shopid');
228
 
229
  if(!is_object($base) || $method == '')
230
  {
224
  $arg['testmode'] = (Mage::getStoreConfig('payment/sisow_'.$method.'/testmode')) ? 'true' : 'false';
225
 
226
  $base = Mage::getModel('sisow/base');
 
227
 
228
  if(!is_object($base) || $method == '')
229
  {
app/code/local/Sisow/Helper/Data.php CHANGED
@@ -1,6 +1,29 @@
1
  <?php
2
  class Sisow_Helper_Data extends Mage_Payment_Helper_Data
3
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  public function GetNewMailConfig($method)
5
  {
6
  $config = Mage::getStoreConfig('payment/'.$method.'/newordermail');
1
  <?php
2
  class Sisow_Helper_Data extends Mage_Payment_Helper_Data
3
  {
4
+ public function getPaymentTitle($method) {
5
+ $return = '';
6
+
7
+ $paymentCode = strtolower($method->getCode());
8
+ $paymentTitle = $method->getTitle();
9
+
10
+ $isShowImg = Mage::getStoreConfig('sisow_core/gatewayimage');
11
+
12
+ if ($isShowImg) {
13
+ $fileWithPath = 'sisow' . DS . 'logo' . DS . $paymentCode . '.' . 'png';
14
+ $iconFileDir = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . $fileWithPath;
15
+ if (file_exists($iconFileDir)) {
16
+ $iconFileUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $fileWithPath;
17
+ $return = '<img src="' . $iconFileUrl . '" id="' . 'sisow_' . $paymentCode . '" title="' . $paymentTitle . '" height="20px" />&nbsp;';
18
+ }
19
+ }
20
+ if ($return == '') {
21
+ //$return = $paymentTitle;
22
+ }
23
+ echo $return;
24
+ //return $return;
25
+ }
26
+
27
  public function GetNewMailConfig($method)
28
  {
29
  $config = Mage::getStoreConfig('payment/'.$method.'/newordermail');
app/code/local/Sisow/Model/Base.php CHANGED
@@ -1,17 +1,18 @@
1
  <?php
 
2
  class Sisow_Model_Base extends Mage_Core_Model_Abstract
3
  {
4
- public static $issuers; // = null;
5
- public static $lastcheck; // = 0;
6
 
7
  private $response;
8
 
9
  // Merchant data
10
  private $merchantId;
11
  private $merchantKey;
 
12
 
13
  // Transaction data
14
- public $shopId;
15
  public $payment; // empty=iDEAL; sofort=DIRECTebanking; mistercash=MisterCash; ...
16
  public $issuerId; // mandatory; sisow bank code
17
  public $purchaseId; // mandatory; max 16 alphanumeric
@@ -27,26 +28,17 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
27
  public $status;
28
  public $timeStamp;
29
  public $consumerAccount;
30
- public $consumerIban;
31
- public $consumerBic;
32
  public $consumerName;
33
  public $consumerCity;
34
- public $active;
 
 
 
 
35
 
36
  // Result/check data
37
  public $trxId;
38
  public $issuerUrl;
39
- public $invoiceNo;
40
- public $documentId;
41
-
42
- // Klarna Factuur/Account
43
- public $pendingKlarna;
44
- public $monthly;
45
- public $pclass;
46
- public $intrestRate;
47
- public $invoiceFee;
48
- public $months;
49
- public $startFee;
50
 
51
  // Error data
52
  public $errorCode;
@@ -59,7 +51,7 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
59
  const statusFailure = "Failure";
60
  const statusOpen = "Open";
61
 
62
- /**
63
  * Init resource model
64
  */
65
  protected function _construct()
@@ -67,13 +59,9 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
67
  //$this->_init('sisow/base');
68
  $this->merchantId = Mage::getStoreConfig('sisow_core/merchantid');
69
  $this->merchantKey = Mage::getStoreConfig('sisow_core/merchantkey');
 
70
  }
71
 
72
- /*public function __construct() { //$merchantid, $merchantkey) {
73
- //$this->merchantId = $merchantid;
74
- //$this->merchantKey = $merchantkey;
75
- }*/
76
-
77
  private function error() {
78
  $this->errorCode = $this->parse("errorcode");
79
  $this->errorMessage = urldecode($this->parse("errormessage"));
@@ -83,7 +71,6 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
83
  if ($xml === false) {
84
  $xml = $this->response;
85
  }
86
-
87
  if (($start = strpos($xml, "<" . $search . ">")) === false) {
88
  return false;
89
  }
@@ -94,9 +81,8 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
94
  return substr($xml, $start, $end - $start);
95
  }
96
 
97
- private function send($method, array $keyvalue = NULL, $return = 1) {
98
  $url = "https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/" . $method;
99
- //$url = "https://www.sisow.nl/SisowPortal/iDeal/RestHandler.ashx/" . $method;
100
  $options = array(
101
  CURLOPT_POST => 1,
102
  CURLOPT_HEADER => 0,
@@ -118,12 +104,11 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
118
  }
119
 
120
  private function getDirectory() {
121
- $diff = 24 * 60 * 60;
122
  if (self::$lastcheck)
123
  $diff = time() - self::$lastcheck;
124
- if ($diff < 24 * 60 * 60)
125
  return 0;
126
- //$this->Report('Magento DirectoryRequest ' . self::$lastcheck);
127
  if (!$this->send("DirectoryRequest"))
128
  return -1;
129
  $search = $this->parse("directory");
@@ -141,7 +126,6 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
141
  }
142
  }
143
  self::$lastcheck = time();
144
- //$this->Report('Magento lastcheck ' . self::$lastcheck);
145
  return 0;
146
  }
147
 
@@ -170,7 +154,7 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
170
  else {
171
  $output = array();
172
  }
173
- foreach (Sisow_Model_Base::$issuers as $k => $v) {
174
  if ($select === true) {
175
  $output .= "<option value=\"" . $k . "\">" . $v . "</option>";
176
  }
@@ -183,36 +167,45 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
183
  }
184
  return 0;
185
  }
186
-
187
- public function Report($message) {
188
- if ($message) {
189
- $arr['message'] = $message;
190
- $this->send('Report', $arr);
191
- }
192
- }
193
 
194
  // TransactionRequest
195
  public function TransactionRequest($keyvalue = NULL) {
196
- if(!isset($this->shopId))
197
- $this->shopId = "";
198
-
199
  $this->trxId = $this->issuerUrl = "";
200
- if (!$this->merchantId)
 
201
  return -1;
202
- if (!$this->merchantKey)
 
 
203
  return -2;
204
- if (!$this->purchaseId)
 
 
205
  return -3;
206
- if ($this->amount < 0.45)
 
 
207
  return -4;
208
- if (!$this->description)
 
 
209
  return -5;
210
- if (!$this->returnUrl)
 
 
211
  return -6;
212
- if (!$this->issuerId && !$this->payment)
 
 
213
  return -7;
 
 
 
 
 
214
  if (!$this->entranceCode)
215
  $this->entranceCode = $this->purchaseId;
 
216
  $pars = array();
217
 
218
  if(strlen($keyvalue['billing_countrycode']) == 2)
@@ -221,9 +214,9 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
221
  $pars["locale"] = $this->setLocale("");
222
 
223
  $pars["merchantid"] = $this->merchantId;
 
224
  $pars["payment"] = $this->payment;
225
  $pars["issuerid"] = $this->issuerId;
226
- $pars["shopid"] = $this->shopId;
227
  $pars["purchaseid"] = $this->purchaseId;
228
  $pars["amount"] = round($this->amount * 100);
229
  $pars["description"] = $this->description;
@@ -232,38 +225,21 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
232
  $pars["cancelurl"] = $this->cancelUrl;
233
  $pars["callbackurl"] = $this->callbackUrl;
234
  $pars["notifyurl"] = $this->notifyUrl;
235
- $pars["sha1"] = sha1($this->purchaseId . $this->entranceCode . round($this->amount * 100) . $this->shopId . $this->merchantId . $this->merchantKey);
 
236
  if ($keyvalue) {
237
  foreach ($keyvalue as $k => $v) {
238
  $pars[$k] = $v;
239
  }
240
  }
241
-
242
- if(array_key_exists('iban', $pars) && !$this->checkIBAN($pars['iban']))
243
- {
244
- $this->errorCode = 'IBAN';
245
- $this->errorMessage = 'Check IBAN';
246
- return -9;
247
- }
248
-
249
  if (!$this->send("TransactionRequest", $pars))
250
  return -8;
251
  $this->trxId = $this->parse("trxid");
 
252
  $this->invoiceNo = $this->parse("invoiceno");
253
  $this->documentId = $this->parse("documentid");
254
- $this->sha = $this->parse("sha1");
255
- $url = $this->parse("issuerurl");
256
-
257
- /*
258
- if($this->sha != sha1($this->trxId . '' . $this->merchantId . $this->merchantKey) )
259
- {
260
- $this->errorMessage = 'Illegal request';
261
- return -9;
262
- }
263
- */
264
-
265
- $this->issuerUrl = urldecode($url);
266
- $this->pendingKlarna = $this->parse("pendingklarna") == "true";
267
  if (!$this->issuerUrl) {
268
  $this->error();
269
  return -9;
@@ -273,9 +249,6 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
273
 
274
  // StatusRequest
275
  public function StatusRequest($trxid = false) {
276
- if(!isset($this->shopId))
277
- $this->shopId = "";
278
-
279
  if ($trxid === false)
280
  $trxid = $this->trxId;
281
  if (!$this->merchantId)
@@ -300,8 +273,6 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
300
  $this->timeStamp = $this->parse("timestamp");
301
  $this->amount = $this->parse("amount") / 100.0;
302
  $this->consumerAccount = $this->parse("consumeraccount");
303
- $this->consumerIban = $this->parse("consumeriban");
304
- $this->consumerBic = $this->parse("consumerbic");
305
  $this->consumerName = $this->parse("consumername");
306
  $this->consumerCity = $this->parse("consumercity");
307
  $this->purchaseId = $this->parse("purchaseid");
@@ -309,6 +280,22 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
309
  $this->entranceCode = $this->parse("entrancecode");
310
  return 0;
311
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
 
313
  // checkMerchant
314
  public function checkMerchant() {
@@ -327,42 +314,6 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
327
  return 0;
328
  }
329
 
330
- // FetchMonthlyRequest
331
- public function FetchMonthlyRequest($amt = false) {
332
- if (!$amt) $amt = round($this->amount * 100);
333
- else $amt = round($amt * 100);
334
- $pars = array();
335
- $pars["merchantid"] = $this->merchantId;
336
- $pars["amount"] = $amt;
337
- $pars["sha1"] = sha1($amt . $this->merchantId . $this->merchantKey);
338
- if (!$this->send("FetchMonthlyRequest", $pars))
339
- return -1;
340
- $this->monthly = $this->parse("monthly");
341
- $this->pclass = $this->parse("pclass");
342
- $this->intrestRate = $this->parse("intrestRate");
343
- $this->invoiceFee = $this->parse("invoiceFee");
344
- $this->months = $this->parse("months");
345
- $this->startFee = $this->parse("startFee");
346
- return $this->monthly;
347
- }
348
-
349
- // RefundRequest
350
- public function RefundRequest($trxid) {
351
- $pars = array();
352
- $pars["merchantid"] = $this->merchantId;
353
- $pars["amount"] = round($this->amount * 100.0);
354
- $pars["trxid"] = $trxid;
355
- $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
356
- if (!$this->send("RefundRequest", $pars))
357
- return -1;
358
- $id = $this->parse("refundid");
359
- if (!$id) {
360
- $this->error();
361
- return -2;
362
- }
363
- return $id;
364
- }
365
-
366
  // InvoiceRequest
367
  public function InvoiceRequest($trxid, $keyvalue = NULL) {
368
  $pars = array();
@@ -377,23 +328,43 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
377
  if (!$this->send("InvoiceRequest", $pars))
378
  return -1;
379
  $this->invoiceNo = $this->parse("invoiceno");
 
 
380
  if (!$this->invoiceNo) {
381
  $this->error();
382
  return -2;
383
  }
 
384
  $this->documentId = $this->parse("documentid");
385
  return 0; //$this->invoiceNo;
386
  }
387
 
 
 
 
 
 
 
 
 
 
 
 
388
  // CreditInvoiceRequest
389
- public function CreditInvoiceRequest($trxid) {
390
  $pars = array();
391
  $pars["merchantid"] = $this->merchantId;
392
  $pars["trxid"] = $trxid;
393
  $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
 
 
 
 
 
394
  if (!$this->send("CreditInvoiceRequest", $pars))
395
  return -1;
396
  $this->invoiceNo = $this->parse("invoiceno");
 
397
  if (!$this->invoiceNo) {
398
  $this->error();
399
  return -2;
@@ -401,42 +372,37 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
401
  $this->documentId = $this->parse("documentid");
402
  return 0; //$this->invoiceNo;
403
  }
404
-
405
- // CancelReservationRequest
406
- public function CancelReservationRequest($trxid) {
407
- $pars = array();
408
- $pars["merchantid"] = $this->merchantId;
409
- $pars["trxid"] = $trxid;
410
- $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
411
- if (!$this->send("CancelReservationRequest", $pars))
412
- return -1;
413
- return 0;
414
- }
415
 
416
- public function GetLink($msg = 'hier', $method = '') {
417
- if (!$method) {
418
- if (!$msg)
419
- $link = 'https://www.sisow.nl/Sisow/Opdrachtgever/download.aspx?merchantid=' .
420
- $this->merchantId . '&doc=' . $this->documentId . '&sha1=' .
421
- sha1($this->documentId . $this->merchantId . $this->merchantKey);
422
- else
423
- $link = '<a href="https://www.sisow.nl/Sisow/Opdrachtgever/download.aspx?merchantid=' .
424
- $this->merchantId . '&doc=' . $this->documentId . '&sha1=' .
425
- sha1($this->documentId . $this->merchantId . $this->merchantKey) . '">' . $msg . '</a>';
426
- return $link;
427
  }
428
- if ($method == 'make') {
 
 
 
 
 
 
 
429
  }
430
- }
431
-
432
- public function getMerchantId()
433
- {
434
- return $this->merchantId;
435
- }
436
-
437
- public function getMerchantKey()
438
- {
439
- return $this->merchantKey;
 
 
 
440
  }
441
 
442
  public function setLocale($countryIso)
@@ -480,47 +446,4 @@ class Sisow_Model_Base extends Mage_Core_Model_Abstract
480
  else
481
  return 'US';
482
  }
483
-
484
- public function checkIBAN($iban)
485
- {
486
- $iban = strtolower($iban);
487
- $Countries = array(
488
- 'al'=>28,'ad'=>24,'at'=>20,'az'=>28,'bh'=>22,'be'=>16,'ba'=>20,'br'=>29,'bg'=>22,'cr'=>21,'hr'=>21,'cy'=>28,'cz'=>24,
489
- 'dk'=>18,'do'=>28,'ee'=>20,'fo'=>18,'fi'=>18,'fr'=>27,'ge'=>22,'de'=>22,'gi'=>23,'gr'=>27,'gl'=>18,'gt'=>28,'hu'=>28,
490
- 'is'=>26,'ie'=>22,'il'=>23,'it'=>27,'jo'=>30,'kz'=>20,'kw'=>30,'lv'=>21,'lb'=>28,'li'=>21,'lt'=>20,'lu'=>20,'mk'=>19,
491
- 'mt'=>31,'mr'=>27,'mu'=>30,'mc'=>27,'md'=>24,'me'=>22,'nl'=>18,'no'=>15,'pk'=>24,'ps'=>29,'pl'=>28,'pt'=>25,'qa'=>29,
492
- 'ro'=>24,'sm'=>27,'sa'=>24,'rs'=>22,'sk'=>24,'si'=>19,'es'=>24,'se'=>24,'ch'=>21,'tn'=>24,'tr'=>26,'ae'=>23,'gb'=>22,'vg'=>24
493
- );
494
- $Chars = array(
495
- 'a'=>10,'b'=>11,'c'=>12,'d'=>13,'e'=>14,'f'=>15,'g'=>16,'h'=>17,'i'=>18,'j'=>19,'k'=>20,'l'=>21,'m'=>22,
496
- 'n'=>23,'o'=>24,'p'=>25,'q'=>26,'r'=>27,'s'=>28,'t'=>29,'u'=>30,'v'=>31,'w'=>32,'x'=>33,'y'=>34,'z'=>35
497
- );
498
-
499
- if (strlen($iban) != $Countries[ substr($iban,0,2) ]) { return false; }
500
-
501
- $MovedChar = substr($iban, 4) . substr($iban,0,4);
502
- $MovedCharArray = str_split($MovedChar);
503
- $NewString = "";
504
-
505
- foreach ($MovedCharArray as $k => $v) {
506
-
507
- if ( !is_numeric($MovedCharArray[$k]) ) {
508
- $MovedCharArray[$k] = $Chars[$MovedCharArray[$k]];
509
- }
510
- $NewString .= $MovedCharArray[$k];
511
- }
512
- if (function_exists("bcmod")) { return bcmod($NewString, '97') == 1; }
513
-
514
- $x = $NewString; $y = "97";
515
- $take = 5; $mod = "";
516
-
517
- do {
518
- $a = (int)$mod . substr($x, 0, $take);
519
- $x = substr($x, $take);
520
- $mod = $a % $y;
521
- }
522
- while (strlen($x));
523
-
524
- return (int)$mod == 1;
525
- }
526
  }
1
  <?php
2
+
3
  class Sisow_Model_Base extends Mage_Core_Model_Abstract
4
  {
5
+ protected static $issuers;
6
+ protected static $lastcheck;
7
 
8
  private $response;
9
 
10
  // Merchant data
11
  private $merchantId;
12
  private $merchantKey;
13
+ private $shopId;
14
 
15
  // Transaction data
 
16
  public $payment; // empty=iDEAL; sofort=DIRECTebanking; mistercash=MisterCash; ...
17
  public $issuerId; // mandatory; sisow bank code
18
  public $purchaseId; // mandatory; max 16 alphanumeric
28
  public $status;
29
  public $timeStamp;
30
  public $consumerAccount;
 
 
31
  public $consumerName;
32
  public $consumerCity;
33
+
34
+ // Invoice data
35
+ public $invoiceNo;
36
+ public $documentId;
37
+ public $documentUrl;
38
 
39
  // Result/check data
40
  public $trxId;
41
  public $issuerUrl;
 
 
 
 
 
 
 
 
 
 
 
42
 
43
  // Error data
44
  public $errorCode;
51
  const statusFailure = "Failure";
52
  const statusOpen = "Open";
53
 
54
+ /**
55
  * Init resource model
56
  */
57
  protected function _construct()
59
  //$this->_init('sisow/base');
60
  $this->merchantId = Mage::getStoreConfig('sisow_core/merchantid');
61
  $this->merchantKey = Mage::getStoreConfig('sisow_core/merchantkey');
62
+ $this->shopId = Mage::getStoreConfig('sisow_core/shopid');
63
  }
64
 
 
 
 
 
 
65
  private function error() {
66
  $this->errorCode = $this->parse("errorcode");
67
  $this->errorMessage = urldecode($this->parse("errormessage"));
71
  if ($xml === false) {
72
  $xml = $this->response;
73
  }
 
74
  if (($start = strpos($xml, "<" . $search . ">")) === false) {
75
  return false;
76
  }
81
  return substr($xml, $start, $end - $start);
82
  }
83
 
84
+ public function send($method, array $keyvalue = NULL, $return = 1) {
85
  $url = "https://www.sisow.nl/Sisow/iDeal/RestHandler.ashx/" . $method;
 
86
  $options = array(
87
  CURLOPT_POST => 1,
88
  CURLOPT_HEADER => 0,
104
  }
105
 
106
  private function getDirectory() {
107
+ $diff = 24 * 60 *60;
108
  if (self::$lastcheck)
109
  $diff = time() - self::$lastcheck;
110
+ if ($diff < 24 *60 *60)
111
  return 0;
 
112
  if (!$this->send("DirectoryRequest"))
113
  return -1;
114
  $search = $this->parse("directory");
126
  }
127
  }
128
  self::$lastcheck = time();
 
129
  return 0;
130
  }
131
 
154
  else {
155
  $output = array();
156
  }
157
+ foreach (self::$issuers as $k => $v) {
158
  if ($select === true) {
159
  $output .= "<option value=\"" . $k . "\">" . $v . "</option>";
160
  }
167
  }
168
  return 0;
169
  }
 
 
 
 
 
 
 
170
 
171
  // TransactionRequest
172
  public function TransactionRequest($keyvalue = NULL) {
 
 
 
173
  $this->trxId = $this->issuerUrl = "";
174
+ if (!$this->merchantId) {
175
+ $this->errorMessage = 'No Merchant ID';
176
  return -1;
177
+ }
178
+ if (!$this->merchantKey) {
179
+ $this->errorMessage = 'No Merchant Key';
180
  return -2;
181
+ }
182
+ if (!$this->purchaseId) {
183
+ $this->errorMessage = 'No purchaseid';
184
  return -3;
185
+ }
186
+ if ($this->amount < 0.45) {
187
+ $this->errorMessage = 'Amount < 0.45';
188
  return -4;
189
+ }
190
+ if (!$this->description) {
191
+ $this->errorMessage = 'No description';
192
  return -5;
193
+ }
194
+ if (!$this->returnUrl) {
195
+ $this->errorMessage = 'No returnurl';
196
  return -6;
197
+ }
198
+ if (!$this->issuerId && !$this->payment) {
199
+ $this->errorMessage = 'No issuerid or no payment method';
200
  return -7;
201
+ }
202
+
203
+ if(!$this->verifyOrder($keyvalue) && ($this->payment == 'focum' || $this->payment == 'klarna' || $this->payment == 'klarnaacc'))
204
+ return -10;
205
+
206
  if (!$this->entranceCode)
207
  $this->entranceCode = $this->purchaseId;
208
+
209
  $pars = array();
210
 
211
  if(strlen($keyvalue['billing_countrycode']) == 2)
214
  $pars["locale"] = $this->setLocale("");
215
 
216
  $pars["merchantid"] = $this->merchantId;
217
+ $pars["shopid"] = $this->shopId;
218
  $pars["payment"] = $this->payment;
219
  $pars["issuerid"] = $this->issuerId;
 
220
  $pars["purchaseid"] = $this->purchaseId;
221
  $pars["amount"] = round($this->amount * 100);
222
  $pars["description"] = $this->description;
225
  $pars["cancelurl"] = $this->cancelUrl;
226
  $pars["callbackurl"] = $this->callbackUrl;
227
  $pars["notifyurl"] = $this->notifyUrl;
228
+
229
+ $pars["sha1"] = sha1($this->purchaseId . $this->entranceCode . round($this->amount * 100) . $this->shopId . $this->merchantId . $this->merchantKey);
230
  if ($keyvalue) {
231
  foreach ($keyvalue as $k => $v) {
232
  $pars[$k] = $v;
233
  }
234
  }
235
+
 
 
 
 
 
 
 
236
  if (!$this->send("TransactionRequest", $pars))
237
  return -8;
238
  $this->trxId = $this->parse("trxid");
239
+ $this->issuerUrl = urldecode($this->parse("issuerurl"));
240
  $this->invoiceNo = $this->parse("invoiceno");
241
  $this->documentId = $this->parse("documentid");
242
+ $this->documentUrl = $this->parse("documenturl");
 
 
 
 
 
 
 
 
 
 
 
 
243
  if (!$this->issuerUrl) {
244
  $this->error();
245
  return -9;
249
 
250
  // StatusRequest
251
  public function StatusRequest($trxid = false) {
 
 
 
252
  if ($trxid === false)
253
  $trxid = $this->trxId;
254
  if (!$this->merchantId)
273
  $this->timeStamp = $this->parse("timestamp");
274
  $this->amount = $this->parse("amount") / 100.0;
275
  $this->consumerAccount = $this->parse("consumeraccount");
 
 
276
  $this->consumerName = $this->parse("consumername");
277
  $this->consumerCity = $this->parse("consumercity");
278
  $this->purchaseId = $this->parse("purchaseid");
280
  $this->entranceCode = $this->parse("entrancecode");
281
  return 0;
282
  }
283
+
284
+ // RefundRequest
285
+ public function RefundRequest($trxid) {
286
+ $pars = array();
287
+ $pars["merchantid"] = $this->merchantId;
288
+ $pars["trxid"] = $trxid;
289
+ $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
290
+ if (!$this->send("RefundRequest", $pars))
291
+ return -1;
292
+ $this->documentId = $this->parse("refundid");
293
+ if (!$this->documentId) {
294
+ $this->error();
295
+ return -2;
296
+ }
297
+ return $this->documentId;
298
+ }
299
 
300
  // checkMerchant
301
  public function checkMerchant() {
314
  return 0;
315
  }
316
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
317
  // InvoiceRequest
318
  public function InvoiceRequest($trxid, $keyvalue = NULL) {
319
  $pars = array();
328
  if (!$this->send("InvoiceRequest", $pars))
329
  return -1;
330
  $this->invoiceNo = $this->parse("invoiceno");
331
+ $this->documentUrl = $this->parse("documenturl");
332
+
333
  if (!$this->invoiceNo) {
334
  $this->error();
335
  return -2;
336
  }
337
+
338
  $this->documentId = $this->parse("documentid");
339
  return 0; //$this->invoiceNo;
340
  }
341
 
342
+ // CancelReservationRequest
343
+ public function CancelReservationRequest($trxid) {
344
+ $pars = array();
345
+ $pars["merchantid"] = $this->merchantId;
346
+ $pars["trxid"] = $trxid;
347
+ $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
348
+ if (!$this->send("CancelReservationRequest", $pars))
349
+ return -1;
350
+ return 0;
351
+ }
352
+
353
  // CreditInvoiceRequest
354
+ public function CreditInvoiceRequest($trxid, $keyvalue = NULL) {
355
  $pars = array();
356
  $pars["merchantid"] = $this->merchantId;
357
  $pars["trxid"] = $trxid;
358
  $pars["sha1"] = sha1($trxid . $this->merchantId . $this->merchantKey);
359
+ if ($keyvalue) {
360
+ foreach ($keyvalue as $k => $v) {
361
+ $pars[$k] = $v;
362
+ }
363
+ }
364
  if (!$this->send("CreditInvoiceRequest", $pars))
365
  return -1;
366
  $this->invoiceNo = $this->parse("invoiceno");
367
+ $this->documentUrl = $this->parse("documenturl");
368
  if (!$this->invoiceNo) {
369
  $this->error();
370
  return -2;
372
  $this->documentId = $this->parse("documentid");
373
  return 0; //$this->invoiceNo;
374
  }
 
 
 
 
 
 
 
 
 
 
 
375
 
376
+ private function verifyOrder($pars)
377
+ {
378
+ if(!array_key_exists('product_total_1', $pars))
379
+ {
380
+ $this->errorCode = "ORDERROWS";
381
+ $this->errorMessage = "No orderrows found";
382
+ return false;
 
 
 
 
383
  }
384
+
385
+ $rowtotal = 0;
386
+
387
+ foreach($pars as $key => $value)
388
+ {
389
+ if (strpos($key,'product_total_') !== false) {
390
+ $rowtotal += $pars[$key];
391
+ }
392
  }
393
+
394
+ $diff = $rowtotal - round(($this->amount * 100.0));
395
+ if($diff < 0)
396
+ $diff = $diff * -1;
397
+
398
+ if($diff > 1)
399
+ {
400
+ $this->errorCode = "ORDERTOTAL";
401
+ $this->errorMessage = "Order total(".($this->amount * 100.0).") don't match RowTotal (".$rowtotal.")";
402
+ return false;
403
+ }
404
+
405
+ return true;
406
  }
407
 
408
  public function setLocale($countryIso)
446
  else
447
  return 'US';
448
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
  }
app/code/local/Sisow/Model/Methods/VvvGiftcard.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Sisow_Model_Methods_VvvGiftcard extends Sisow_Model_Methods_Abstract
3
+ {
4
+ protected $_code = 'sisow_vvv'; //sisow = modulenaam, ideal = paymentcode sisow
5
+ protected $_paymentcode = 'vvv';
6
+
7
+ //blocks for loading templates in checkout
8
+ protected $_formBlockType = 'sisow/paymentmethod_default';
9
+ protected $_infoBlockType = 'sisow/paymentmethod_defaultInfo';
10
+
11
+ protected $_isGateway = true;
12
+ protected $_canUseCheckout = true;
13
+ }
14
+ ?>
app/code/local/Sisow/controllers/CheckoutController.php CHANGED
@@ -101,7 +101,6 @@ class Sisow_CheckoutController extends Mage_Core_Controller_Front_Action
101
  $trxid = (isset($trxid) && $trxid != '') ? $trxid : filter_input(INPUT_GET, 'trxid');
102
 
103
  $base = Mage::getModel('sisow/base');
104
- $base->shopId = Mage::getStoreConfig('sisow_core/shopid');
105
 
106
  if(($ex = $base->StatusRequest($trxid)) < 0)
107
  {
101
  $trxid = (isset($trxid) && $trxid != '') ? $trxid : filter_input(INPUT_GET, 'trxid');
102
 
103
  $base = Mage::getModel('sisow/base');
 
104
 
105
  if(($ex = $base->StatusRequest($trxid)) < 0)
106
  {
app/code/local/Sisow/etc/config.xml CHANGED
@@ -24,6 +24,11 @@
24
  <sisow>
25
  <class>Sisow_Block</class>
26
  </sisow>
 
 
 
 
 
27
  <adminhtml>
28
  <rewrite>
29
  <sales_order_totals>Sisow_Block_Paymentfee_Adminhtml_Sales_Order_Totals</sales_order_totals>
@@ -343,6 +348,15 @@
343
  <allowspecific>1</allowspecific>
344
  <specificcountry>NL</specificcountry>
345
  </sisow_focum>
 
 
 
 
 
 
 
 
 
346
  <sisow_webshop>
347
  <group>sisow</group>
348
  <active>0</active>
24
  <sisow>
25
  <class>Sisow_Block</class>
26
  </sisow>
27
+ <checkout>
28
+ <rewrite>
29
+ <onepage_payment_methods>Sisow_Block_Checkout_Onepage_Payment_Methods</onepage_payment_methods>
30
+ </rewrite>
31
+ </checkout>
32
  <adminhtml>
33
  <rewrite>
34
  <sales_order_totals>Sisow_Block_Paymentfee_Adminhtml_Sales_Order_Totals</sales_order_totals>
348
  <allowspecific>1</allowspecific>
349
  <specificcountry>NL</specificcountry>
350
  </sisow_focum>
351
+ <sisow_vvv>
352
+ <group>sisow</group>
353
+ <active>0</active>
354
+ <model>sisow/methods_VvvGiftcard</model>
355
+ <title>Sisow VVV Giftcard</title>
356
+ <testmode>0</testmode>
357
+ <allowspecific>1</allowspecific>
358
+ <specificcountry>NL</specificcountry>
359
+ </sisow_vvv>
360
  <sisow_webshop>
361
  <group>sisow</group>
362
  <active>0</active>
app/code/local/Sisow/etc/system.xml CHANGED
@@ -65,6 +65,17 @@
65
  <show_in_website>1</show_in_website>
66
  <show_in_store>1</show_in_store>
67
  </new_order_mail>
 
 
 
 
 
 
 
 
 
 
 
68
  <keepcart translate="label">
69
  <label>Keep cart</label>
70
  <comment><![CDATA[Save the cart after a failed transaction.]]></comment>
@@ -2217,7 +2228,7 @@
2217
  </fields>
2218
  </sisow_klarnaacc>
2219
  <sisow_focum translate="label" module="sisow">
2220
- <label>Sisow - Focum AchterafBetalen</label>
2221
  <sort_order>85</sort_order>
2222
  <show_in_default>1</show_in_default>
2223
  <show_in_website>1</show_in_website>
@@ -2360,6 +2371,160 @@
2360
  </payment_fee_label>
2361
  </fields>
2362
  </sisow_focum>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2363
  <sisow_webshop translate="label" module="sisow">
2364
  <label>Sisow Webshop Giftcard</label>
2365
  <sort_order>90</sort_order>
65
  <show_in_website>1</show_in_website>
66
  <show_in_store>1</show_in_store>
67
  </new_order_mail>
68
+ <gatewayimage translate="label,comment">
69
+ <label>Display paymentlogo</label>
70
+ <comment><![CDATA[Display payment method logo on checkout page.]]></comment>
71
+ <frontend_type>select</frontend_type>
72
+ <config_path>sisow_core/gatewayimage</config_path>
73
+ <source_model>adminhtml/system_config_source_yesno</source_model>
74
+ <sort_order>36</sort_order>
75
+ <show_in_default>1</show_in_default>
76
+ <show_in_website>1</show_in_website>
77
+ <show_in_store>1</show_in_store>
78
+ </gatewayimage>
79
  <keepcart translate="label">
80
  <label>Keep cart</label>
81
  <comment><![CDATA[Save the cart after a failed transaction.]]></comment>
2228
  </fields>
2229
  </sisow_klarnaacc>
2230
  <sisow_focum translate="label" module="sisow">
2231
+ <label>Sisow Focum AchterafBetalen</label>
2232
  <sort_order>85</sort_order>
2233
  <show_in_default>1</show_in_default>
2234
  <show_in_website>1</show_in_website>
2371
  </payment_fee_label>
2372
  </fields>
2373
  </sisow_focum>
2374
+ <sisow_vvv translate="label" module="sisow">
2375
+ <label>Sisow VVV Giftcard</label>
2376
+ <sort_order>87</sort_order>
2377
+ <show_in_default>1</show_in_default>
2378
+ <show_in_website>1</show_in_website>
2379
+ <show_in_store>1</show_in_store>
2380
+ <fields>
2381
+ <active translate="label">
2382
+ <label>Enabled</label>
2383
+ <frontend_type>select</frontend_type>
2384
+ <config_path>payment/sisow_vvv/active</config_path>
2385
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2386
+ <sort_order>10</sort_order>
2387
+ <show_in_default>1</show_in_default>
2388
+ <show_in_website>1</show_in_website>
2389
+ <show_in_store>1</show_in_store>
2390
+ </active>
2391
+ <title translate="label">
2392
+ <label>Title</label>
2393
+ <frontend_type>text</frontend_type>
2394
+ <config_path>payment/sisow_vvv/title</config_path>
2395
+ <sort_order>20</sort_order>
2396
+ <show_in_default>1</show_in_default>
2397
+ <show_in_website>1</show_in_website>
2398
+ <show_in_store>1</show_in_store>
2399
+ </title>
2400
+ <prefix translate="label">
2401
+ <label>Prefix</label>
2402
+ <frontend_type>text</frontend_type>
2403
+ <config_path>payment/sisow_vvv/prefix</config_path>
2404
+ <sort_order>30</sort_order>
2405
+ <show_in_default>1</show_in_default>
2406
+ <show_in_website>1</show_in_website>
2407
+ <show_in_store>1</show_in_store>
2408
+ </prefix>
2409
+ <testmode translate="label">
2410
+ <label>Testmode</label>
2411
+ <frontend_type>select</frontend_type>
2412
+ <config_path>payment/sisow_vvv/testmode</config_path>
2413
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2414
+ <sort_order>40</sort_order>
2415
+ <show_in_default>1</show_in_default>
2416
+ <show_in_website>1</show_in_website>
2417
+ <show_in_store>1</show_in_store>
2418
+ </testmode>
2419
+ <sort_order translate="label">
2420
+ <label>Sort order</label>
2421
+ <config_path>payment/sisow_vvv/sort_order</config_path>
2422
+ <frontend_type>text</frontend_type>
2423
+ <sort_order>50</sort_order>
2424
+ <show_in_default>1</show_in_default>
2425
+ <show_in_website>1</show_in_website>
2426
+ <show_in_store>1</show_in_store>
2427
+ </sort_order>
2428
+ <new_order_mail translate="label">
2429
+ <label>New order mail</label>
2430
+ <frontend_type>select</frontend_type>
2431
+ <config_path>payment/sisow_vvv/newordermail</config_path>
2432
+ <source_model>sisow/config_newordermailMethod</source_model>
2433
+ <sort_order>55</sort_order>
2434
+ <show_in_default>1</show_in_default>
2435
+ <show_in_website>1</show_in_website>
2436
+ <show_in_store>1</show_in_store>
2437
+ </new_order_mail>
2438
+ <auto_invoice translate="label">
2439
+ <label>Auto invoice</label>
2440
+ <frontend_type>select</frontend_type>
2441
+ <config_path>payment/sisow_vvv/autoinvoice</config_path>
2442
+ <source_model>sisow/config_autoinvoice</source_model>
2443
+ <sort_order>60</sort_order>
2444
+ <show_in_default>1</show_in_default>
2445
+ <show_in_website>1</show_in_website>
2446
+ <show_in_store>1</show_in_store>
2447
+ </auto_invoice>
2448
+ <min_order_total translate="label">
2449
+ <label>Minimum Order Total</label>
2450
+ <config_path>payment/sisow_vvv/min_order_total</config_path>
2451
+ <frontend_type>text</frontend_type>
2452
+ <sort_order>70</sort_order>
2453
+ <show_in_default>1</show_in_default>
2454
+ <show_in_website>1</show_in_website>
2455
+ <show_in_store>1</show_in_store>
2456
+ </min_order_total>
2457
+ <max_order_total translate="label">
2458
+ <label>Maximum Order Total</label>
2459
+ <config_path>payment/sisow_vvv/max_order_total</config_path>
2460
+ <frontend_type>text</frontend_type>
2461
+ <sort_order>80</sort_order>
2462
+ <show_in_default>1</show_in_default>
2463
+ <show_in_website>1</show_in_website>
2464
+ <show_in_store>1</show_in_store>
2465
+ </max_order_total>
2466
+ <allowspecific translate="label">
2467
+ <label>Payment from Applicable Countries</label>
2468
+ <frontend_type>allowspecific</frontend_type>
2469
+ <config_path>payment/sisow_vvv/allowspecific</config_path>
2470
+ <source_model>adminhtml/system_config_source_payment_allspecificcountries</source_model>
2471
+ <sort_order>90</sort_order>
2472
+ <show_in_default>1</show_in_default>
2473
+ <show_in_website>1</show_in_website>
2474
+ <show_in_store>1</show_in_store>
2475
+ </allowspecific>
2476
+ <specificcountry translate="label">
2477
+ <label>Payment from Specific Country</label>
2478
+ <frontend_type>multiselect</frontend_type>
2479
+ <config_path>payment/sisow_vvv/specificcountry</config_path>
2480
+ <source_model>adminhtml/system_config_source_country</source_model>
2481
+ <sort_order>100</sort_order>
2482
+ <show_in_default>1</show_in_default>
2483
+ <show_in_website>1</show_in_website>
2484
+ <show_in_store>1</show_in_store>
2485
+ </specificcountry>
2486
+ <payment_fee translate="label">
2487
+ <label>Payment fee</label>
2488
+ <config_path>payment/sisow_vvv/payment_fee</config_path>
2489
+ <sort_order>110</sort_order>
2490
+ <show_in_default>1</show_in_default>
2491
+ <show_in_website>1</show_in_website>
2492
+ <show_in_store>1</show_in_store>
2493
+ <comment>Payment fee, positive is amount, negative is percentage or make a comination (eg 1;-3)</comment>
2494
+ </payment_fee>
2495
+ <payment_fee_tax translate="label">
2496
+ <label>Payment fee tax class</label>
2497
+ <frontend_type>select</frontend_type>
2498
+ <config_path>payment/sisow_vvv/payment_fee_tax</config_path>
2499
+ <source_model>adminhtml/system_config_source_shipping_taxclass</source_model>
2500
+ <sort_order>120</sort_order>
2501
+ <show_in_default>1</show_in_default>
2502
+ <show_in_store>1</show_in_store>
2503
+ <show_in_website>1</show_in_website>
2504
+ <comment>The tax class to use to calculate the payment fee tax</comment>
2505
+ </payment_fee_tax>
2506
+ <payment_fee_inc_ex translate="label">
2507
+ <label>Including/Excluding Tax</label>
2508
+ <frontend_type>select</frontend_type>
2509
+ <config_path>payment/sisow_vvv/payment_fee_inc_ex</config_path>
2510
+ <source_model>adminhtml/system_config_source_yesno</source_model>
2511
+ <sort_order>130</sort_order>
2512
+ <show_in_default>1</show_in_default>
2513
+ <show_in_website>1</show_in_website>
2514
+ <show_in_store>1</show_in_store>
2515
+ <comment>Is the entered payment fee value including or exluding tax</comment>
2516
+ </payment_fee_inc_ex>
2517
+ <payment_fee_label translate="label,comment">
2518
+ <label>Payment fee label</label>
2519
+ <config_path>payment/sisow_vvv/payment_fee_label</config_path>
2520
+ <sort_order>140</sort_order>
2521
+ <show_in_default>1</show_in_default>
2522
+ <show_in_website>1</show_in_website>
2523
+ <show_in_store>1</show_in_store>
2524
+ <comment>Payment fee label to show</comment>
2525
+ </payment_fee_label>
2526
+ </fields>
2527
+ </sisow_vvv>
2528
  <sisow_webshop translate="label" module="sisow">
2529
  <label>Sisow Webshop Giftcard</label>
2530
  <sort_order>90</sort_order>
app/design/frontend/base/default/layout/sisow.xml DELETED
@@ -1,16 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <layout version="0.1.0">
3
- <STORE_default>
4
- <reference name="head">
5
- <block type="core/text" name="sisow.giropay">
6
- <action method="setText">
7
- <text>
8
- <![CDATA[<link type="text/css" rel="stylesheet" href="https://bankauswahl.giropay.de/widget/v1/style.css" media="all" />]]>
9
- <![CDATA[<link type="text/css" rel="stylesheet" href="https://bankauswahl.giropay.de/eps/widget/v1/style.css" media="all" />]]>
10
- <![CDATA[<script src="https://www.sisow.nl/Sisow/scripts/giro-eps.js"></script>]]>
11
- </text>
12
- </action>
13
- </block>
14
- </reference>
15
- </STORE_default>
16
- </layout>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/design/frontend/base/default/template/sisow/checkout/eps_form.phtml CHANGED
@@ -18,7 +18,7 @@ j(document).ready(function() {
18
  ?>
19
 
20
 
21
- <img src="https://www.girosolution.de/fileadmin/Downloads/Logos/eps_logo.png" width="60px">
22
 
23
  <label for="eps_widget">Bankleitzahl&nbsp;<span class="required"></span></label>
24
  <div class="input-box">
18
  ?>
19
 
20
 
21
+ <img src="<?php print_r(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'sisow' . DS . 'logo' . DS . 'sisow_eps' . '.' . 'png'); ?>" width="60px">
22
 
23
  <label for="eps_widget">Bankleitzahl&nbsp;<span class="required"></span></label>
24
  <div class="input-box">
app/design/frontend/base/default/template/sisow/checkout/focum_form.phtml CHANGED
@@ -7,7 +7,7 @@ $_code = $this->getMethodCode();
7
 
8
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
9
  <li class="form-alt">
10
- <a href="https://www.achterafbetalen.nl/" target="_blank"><img src="https://www.achterafbetalen.nl/files/logo.png" alt="AchterafBetalen" width="100px"/></a>
11
  <?php
12
  if($_paymentfee['incl'] > 0)
13
  {
7
 
8
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
9
  <li class="form-alt">
10
+ <a href="https://www.achterafbetalen.nl/" target="_blank"><img src="<?php print_r(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'sisow' . DS . 'logo' . DS . 'sisow_focum' . '.' . 'png'); ?>" alt="AchterafBetalen" width="100px"/></a>
11
  <?php
12
  if($_paymentfee['incl'] > 0)
13
  {
app/design/frontend/base/default/template/sisow/checkout/giropay_form.phtml CHANGED
@@ -19,7 +19,7 @@ $_paymentfee = $this->getFee();
19
  echo '<b>'. $this->__(Mage::getStoreConfig('payment/'.$_code.'/payment_fee_label')) .' ' . Mage::app()->getStore()->convertPrice($_paymentfee['incl'], true, true).'</b>';
20
  }
21
  ?>
22
- <img src="https://www.girosolution.de/fileadmin/Downloads/Logos/giropay_200px_color_rgb.png" width="60px">
23
 
24
  <label for="giropay_widget">Bankleitzahl&nbsp;<span class="required"></span></label>
25
  <div class="input-box">
19
  echo '<b>'. $this->__(Mage::getStoreConfig('payment/'.$_code.'/payment_fee_label')) .' ' . Mage::app()->getStore()->convertPrice($_paymentfee['incl'], true, true).'</b>';
20
  }
21
  ?>
22
+ <img src="<?php print_r(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'sisow' . DS . 'logo' . DS . 'sisow_giropay' . '.' . 'png'); ?>" width="60px">
23
 
24
  <label for="giropay_widget">Bankleitzahl&nbsp;<span class="required"></span></label>
25
  <div class="input-box">
app/design/frontend/base/default/template/sisow/checkout/ideal_form.phtml CHANGED
@@ -7,6 +7,7 @@ $_paymentfee = $this->getFee();
7
 
8
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
9
  <li>
 
10
  <label for="<?php echo $_code ?>_issuer" class="required"><em>*</em><?php echo $this->__('Choose your bank'); ?>:</label>
11
  <div class="input-box">
12
  <select id="<?php echo $_code ?>_issuer" name="payment[sisow_issuer]" title="sisow_issuer" class="validate-select required-entry">
7
 
8
  <ul class="form-list" id="payment_form_<?php echo $_code ?>" style="display:none">
9
  <li>
10
+ <img src="<?php print_r(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . 'sisow' . DS . 'logo' . DS . 'sisow_ideal' . '.' . 'png'); ?>" width="60px">
11
  <label for="<?php echo $_code ?>_issuer" class="required"><em>*</em><?php echo $this->__('Choose your bank'); ?>:</label>
12
  <div class="input-box">
13
  <select id="<?php echo $_code ?>_issuer" name="payment[sisow_issuer]" title="sisow_issuer" class="validate-select required-entry">
app/locale/nl_NL/Sisow.csv CHANGED
@@ -43,4 +43,6 @@
43
  "FAQ", "Veelgestelde vragen"
44
  "After order confirmation", "Na bevestigen order"
45
  "After notification, including cancelled order", "Na notificatie, inc mislukte betalingen"
46
- "After notification, excluding cancelled order", "Na notificatie, ex mislukte betalingen"
 
 
43
  "FAQ", "Veelgestelde vragen"
44
  "After order confirmation", "Na bevestigen order"
45
  "After notification, including cancelled order", "Na notificatie, inc mislukte betalingen"
46
+ "After notification, excluding cancelled order", "Na notificatie, ex mislukte betalingen"
47
+ "Display paymentlogo", "Toon logo"
48
+ "Display payment method logo on checkout page.", "Toon logo van de betaalmogelijkheid in de checkout."
media/sisow/logo/sisow_eps.png ADDED
Binary file
media/sisow/logo/sisow_focum.png ADDED
Binary file
media/sisow/logo/sisow_giropay.png ADDED
Binary file
media/sisow/logo/sisow_homepay.png ADDED
Binary file
media/sisow/logo/sisow_ideal.png ADDED
Binary file
media/sisow/logo/sisow_maestro.png ADDED
Binary file
media/sisow/logo/sisow_mastercard.png ADDED
Binary file
media/sisow/logo/sisow_mistercash.png ADDED
Binary file
media/sisow/logo/sisow_paypalec.png ADDED
Binary file
media/sisow/logo/sisow_sofort.png ADDED
Binary file
media/sisow/logo/sisow_visa.png ADDED
Binary file
media/sisow/logo/sisow_vvv.png ADDED
Binary file
media/sisow/logo/sisow_webshop.png ADDED
Binary file
package.xml CHANGED
@@ -1,20 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>sisowpayment</name>
4
- <version>4.4.2</version>
5
  <stability>stable</stability>
6
  <license/>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Update 4.4.2 for Sisow plug-in</summary>
10
- <description>Fix: double overboeking&#xD;
11
- Fix: Notify</description>
12
- <notes>Fix: double overboeking&#xD;
13
- Fix: Notify</notes>
14
  <authors><author><name>Sisow</name><user>auto-converted</user><email>info@sisow.nl</email></author></authors>
15
- <date>2015-09-18</date>
16
- <time>07:07:16</time>
17
- <contents><target name="magelocal"><dir name="Sisow"><dir name="Block"><dir name="Adminhtml"><file name="Notice.php" hash="56154d92843b3c8a205837010405923e"/></dir><dir name="Paymentfee"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="c086b64c05012dc579ee54fb6e50c5a3"/></dir></dir></dir><dir name="Checkout"><file name="Fee.php" hash="c7b7b19d5f2d2c5fbd07f355f8f57f9e"/></dir><dir name="Creditmemo"><file name="Totals.php" hash="ccfaa67f45416ab398ec55ea7356b537"/></dir><dir name="Invoice"><dir name="Totals"><file name="Fee.php" hash="a715f52568aa5f4a42a65437be3d0fb8"/></dir></dir><dir name="Order"><dir name="Totals"><file name="Fee.php" hash="2158794a5836acedc765900403649b16"/></dir></dir></dir><dir name="Paymentmethod"><file name="Creditcard.php" hash="bddf58a2a12dae02e5061b04e68345da"/><file name="Default.php" hash="b1c2947be1e0e731a5aea8757f038018"/><file name="DefaultInfo.php" hash="12bc768b15a910295c911f4790ae936a"/><file name="Eps.php" hash="561dd123d17e0b8b44c8d365d0bc4e00"/><file name="Focum.php" hash="cc242ee202d45176ff1265ca445ec937"/><file name="Giropay.php" hash="712d77e79fcab547ca5544b7e6b2807f"/><file name="Ideal.php" hash="45d11ae70ca002c9c2f10431d65f388e"/><file name="IdealInfo.php" hash="f2be70b33ab781c89a25c4be6f738067"/><file name="Klarna.php" hash="8b529f2c376fd78888b91d8d73339118"/><file name="Klarnaacc.php" hash="2923d73bb1a9b8ad712d7671c6012e37"/><file name="Overboeking.php" hash="87050fba1fb782fce9e02e5c8095ef2e"/></dir><file name="Redirect.php" hash="75670490b74d77327efdf985980ef981"/></dir><dir name="Helper"><file name="Data.php" hash="42c4a6fdcc9e0c827829f54144775fb6"/><file name="Paymentfee.php" hash="44f51f6166d85f0d6df2348c094ba0aa"/></dir><dir name="Model"><dir name="Config"><file name="Autoinvoice.php" hash="d4edbab951b4b16e8ccab660bbee8fda"/><file name="GeneralAutoinvoice.php" hash="603d830548bf012631fa0e0f00738802"/><file name="Newordermail.php" hash="b0225e1243442e4c1df1ea4eaab72c5c"/><file name="NewordermailMethod.php" hash="41813afa9531be21163c6a4c1550b759"/></dir><dir name="Methods"><file name="Abstract.php" hash="c9019e661566e87877031a14d2681cc4"/><file name="Ebill.php" hash="b4e00783ca4854a4a13e2f4ed78e0e77"/><file name="Eps.php" hash="2e167aa5f5de19e61372b82eefc43c40"/><file name="Focum.php" hash="8802d0c495c6188340391d0d6f5faa0c"/><file name="Giropay.php" hash="e9c83931c3d1491ff14d12288c4f6348"/><file name="Homepay.php" hash="03a60fca9ff4738f97926997935ed504"/><file name="Ideal.php" hash="26275c27874cd4e1eb32b7d59540c65e"/><file name="Klarna.php" hash="46a92a6a29e51e2e152389475e77d025"/><file name="Klarnaacc.php" hash="6905ba077eab559fe4d24a864e0ed416"/><file name="Maestro.php" hash="7372b9babeb8e60e6e7de39a6a249747"/><file name="Mastercard.php" hash="f09053c2dd9581aa094063254178207f"/><file name="Mistercash.php" hash="f56cfae23c74791432cef1e50733829c"/><file name="Overboeking.php" hash="72db34368e2ac6f7aea6ac2ea66b942c"/><file name="Paypalec.php" hash="8f802ac3efc8709ab17e130671b1c8dd"/><file name="Sofort.php" hash="f9ebf43bda7ffd62582c869a5ba5014b"/><file name="Visa.php" hash="0214e927261846df04892bdf2c048792"/><file name="WebshopGiftcard.php" hash="3ea06c83b6c0d1f87f1d61dcbf3a55c7"/></dir><dir name="Observer"><file name="Order.php" hash="e5e0ce8e5a05c3c2f87d3893b9932be8"/><file name="Paymentfee.php" hash="78835217b2b6875e14da8b6630c21456"/><file name="Sendebill.php" hash="695a2c2c0a3baec1804ac915925f1865"/><file name="Submit.php" hash="47aa5da33f953cf9363f05578b2850fe"/></dir><dir name="Paymentfee"><dir name="Creditmemo"><file name="Total.php" hash="2340fd22ec6597f5fad53d9faea2d9fe"/></dir><dir name="Invoice"><dir name="Pdf"><file name="Total.php" hash="cec95df39f550cd70e6eb63b16cfb627"/></dir><file name="Tax.php" hash="5fba21bc05a7ed55b3c57ccb4b2790b5"/><file name="Total.php" hash="b77c63f1173d2112056a782490968cf6"/></dir><dir name="Quote"><file name="Quote.php" hash="838ad691a2da75b942a8ef41c2815a9a"/><file name="TaxTotal.php" hash="bd7cd2a16dc3dbc8c7a3c82746a0f671"/><file name="Total.php" hash="d2c8afd1ec4c96b6215ae28766e18177"/></dir></dir><file name="Base.php" hash="3a0cb9d55f7faeb7d5feca0a109157b0"/></dir><dir name="controllers"><file name="CheckoutController.php" hash="d64ec49952a30c7eeae29d088a8f786b"/><file name="NotifyController.php" hash="4793822e1b937191ace1f2925038082f"/></dir><dir name="etc"><file name="config.xml" hash="f47400b53219baf58ec5c568cd77686a"/><file name="system.xml" hash="a51c5d7ca0e1ee32ea60641530fe1375"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sisow"><dir name="adminhtml"><file name="notice.phtml" hash="7fa2d76678ad34eae48516fd757c30df"/></dir><dir name="checkout"><file name="default_info.phtml" hash="558581601de86afce3bd62ea50de7a4e"/><file name="ideal_info.phtml" hash="864ee0e16191ef6dca5c18522172b51c"/></dir><file name="form.phtml" hash="0dc40ad38b62218d6f947674312b7a61"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="sisow.xml" hash="bc2d1b353ba1597e72e1087967cc5275"/></dir><dir name="template"><dir name="sisow"><dir name="checkout"><file name="default_form.phtml" hash="200cebfa46ff85c95fdc0cedda4441a4"/><file name="default_info.phtml" hash="94eeee994f2f21dc36489f6b7824e616"/><file name="eps_form.phtml" hash="a202c60fba2712e9f677fa0ba6034068"/><file name="focum_form.phtml" hash="e1076aadcee16249baaf0b5e4c079d1a"/><file name="giropay_form.phtml" hash="64100a34bd184137a52be2bf18f78478"/><file name="ideal_form.phtml" hash="37f399e0cd922e70586a3be6a00f76a3"/><file name="ideal_info.phtml" hash="88e15559e2f0cca9744b4dae1a81a1ea"/><file name="klarna_form.phtml" hash="8a232f3e8f6e3bcf453298a922dd26bf"/><file name="klarnaacc_form.phtml" hash="c2e32986bbd9a95bea23b1ff8d49ef0e"/><file name="overboeking_form.phtml" hash="164e244d6df230f20f460012fc72a7d8"/></dir><dir name="paymentfee"><dir name="checkout"><file name="fee.phtml" hash="79362bab3963195ad6727d077fe87b11"/></dir></dir><file name="form.phtml" hash="8874a0713c384d1346f6ae713f2cb9bd"/><file name="formecare.phtml" hash="0de41387de5f0c8d35066c0f30e113c2"/><file name="formovb.phtml" hash="20da22a0ef4384411bf971ff133a6a2c"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sisow.xml" hash="7da3fbd82a48d5428b8c723bafbb946b"/></dir></target><target name="magelocale"><dir name="nl_NL"><file name="Sisow.csv" hash="bd2ef07e171945a0784a8ee8b79362bb"/></dir></target></contents>
18
  <compatible/>
19
  <dependencies/>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>sisowpayment</name>
4
+ <version>4.5.0</version>
5
  <stability>stable</stability>
6
  <license/>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>Update 4.5.0 for Sisow plug-in</summary>
10
+ <description>Added: VVV Giftcard</description>
11
+ <notes>Sisow plug and play, processing different payment methods from different countries. No programming, customization or coding needed! Sisow is a collecting payment provider in the Netherlands. Sisow collects the payments and distributes them to the owner of the webshop.</notes>
 
 
12
  <authors><author><name>Sisow</name><user>auto-converted</user><email>info@sisow.nl</email></author></authors>
13
+ <date>2015-11-13</date>
14
+ <time>13:48:49</time>
15
+ <contents><target name="magelocal"><dir name="Sisow"><dir name="Block"><dir name="Adminhtml"><file name="Notice.php" hash="56154d92843b3c8a205837010405923e"/></dir><dir name="Checkout"><dir name="Onepage"><dir name="Payment"><file name="Methods.php" hash="1965cbd3a5bdfcec2b79fed11613b2c1"/></dir></dir></dir><dir name="Paymentfee"><dir name="Adminhtml"><dir name="Sales"><dir name="Order"><file name="Totals.php" hash="c086b64c05012dc579ee54fb6e50c5a3"/></dir></dir></dir><dir name="Checkout"><file name="Fee.php" hash="c7b7b19d5f2d2c5fbd07f355f8f57f9e"/></dir><dir name="Creditmemo"><file name="Totals.php" hash="ccfaa67f45416ab398ec55ea7356b537"/></dir><dir name="Invoice"><dir name="Totals"><file name="Fee.php" hash="a715f52568aa5f4a42a65437be3d0fb8"/></dir></dir><dir name="Order"><dir name="Totals"><file name="Fee.php" hash="2158794a5836acedc765900403649b16"/></dir></dir></dir><dir name="Paymentmethod"><file name="Creditcard.php" hash="bddf58a2a12dae02e5061b04e68345da"/><file name="Default.php" hash="b1c2947be1e0e731a5aea8757f038018"/><file name="DefaultInfo.php" hash="12bc768b15a910295c911f4790ae936a"/><file name="Eps.php" hash="561dd123d17e0b8b44c8d365d0bc4e00"/><file name="Focum.php" hash="cc242ee202d45176ff1265ca445ec937"/><file name="Giropay.php" hash="712d77e79fcab547ca5544b7e6b2807f"/><file name="Ideal.php" hash="45d11ae70ca002c9c2f10431d65f388e"/><file name="IdealInfo.php" hash="f2be70b33ab781c89a25c4be6f738067"/><file name="Klarna.php" hash="8b529f2c376fd78888b91d8d73339118"/><file name="Klarnaacc.php" hash="2923d73bb1a9b8ad712d7671c6012e37"/><file name="Overboeking.php" hash="87050fba1fb782fce9e02e5c8095ef2e"/></dir><file name="Redirect.php" hash="d2d3f96138ea442d89319cb0c45eb40f"/></dir><dir name="Helper"><file name="Data.php" hash="659e10e91eb802a93afc2e752e0c856c"/><file name="Paymentfee.php" hash="44f51f6166d85f0d6df2348c094ba0aa"/></dir><dir name="Model"><dir name="Config"><file name="Autoinvoice.php" hash="d4edbab951b4b16e8ccab660bbee8fda"/><file name="GeneralAutoinvoice.php" hash="603d830548bf012631fa0e0f00738802"/><file name="Newordermail.php" hash="b0225e1243442e4c1df1ea4eaab72c5c"/><file name="NewordermailMethod.php" hash="41813afa9531be21163c6a4c1550b759"/></dir><dir name="Methods"><file name="Abstract.php" hash="c9019e661566e87877031a14d2681cc4"/><file name="Ebill.php" hash="b4e00783ca4854a4a13e2f4ed78e0e77"/><file name="Eps.php" hash="2e167aa5f5de19e61372b82eefc43c40"/><file name="Focum.php" hash="8802d0c495c6188340391d0d6f5faa0c"/><file name="Giropay.php" hash="e9c83931c3d1491ff14d12288c4f6348"/><file name="Homepay.php" hash="03a60fca9ff4738f97926997935ed504"/><file name="Ideal.php" hash="26275c27874cd4e1eb32b7d59540c65e"/><file name="Klarna.php" hash="46a92a6a29e51e2e152389475e77d025"/><file name="Klarnaacc.php" hash="6905ba077eab559fe4d24a864e0ed416"/><file name="Maestro.php" hash="7372b9babeb8e60e6e7de39a6a249747"/><file name="Mastercard.php" hash="f09053c2dd9581aa094063254178207f"/><file name="Mistercash.php" hash="f56cfae23c74791432cef1e50733829c"/><file name="Overboeking.php" hash="72db34368e2ac6f7aea6ac2ea66b942c"/><file name="Paypalec.php" hash="8f802ac3efc8709ab17e130671b1c8dd"/><file name="Sofort.php" hash="f9ebf43bda7ffd62582c869a5ba5014b"/><file name="Visa.php" hash="0214e927261846df04892bdf2c048792"/><file name="VvvGiftcard.php" hash="f1dbe386cb6f401f80333a8f2ca1e310"/><file name="WebshopGiftcard.php" hash="3ea06c83b6c0d1f87f1d61dcbf3a55c7"/></dir><dir name="Observer"><file name="Order.php" hash="e5e0ce8e5a05c3c2f87d3893b9932be8"/><file name="Paymentfee.php" hash="78835217b2b6875e14da8b6630c21456"/><file name="Sendebill.php" hash="695a2c2c0a3baec1804ac915925f1865"/><file name="Submit.php" hash="47aa5da33f953cf9363f05578b2850fe"/></dir><dir name="Paymentfee"><dir name="Creditmemo"><file name="Total.php" hash="2340fd22ec6597f5fad53d9faea2d9fe"/></dir><dir name="Invoice"><dir name="Pdf"><file name="Total.php" hash="cec95df39f550cd70e6eb63b16cfb627"/></dir><file name="Tax.php" hash="5fba21bc05a7ed55b3c57ccb4b2790b5"/><file name="Total.php" hash="b77c63f1173d2112056a782490968cf6"/></dir><dir name="Quote"><file name="Quote.php" hash="838ad691a2da75b942a8ef41c2815a9a"/><file name="TaxTotal.php" hash="bd7cd2a16dc3dbc8c7a3c82746a0f671"/><file name="Total.php" hash="d2c8afd1ec4c96b6215ae28766e18177"/></dir></dir><file name="Base.php" hash="1f0a586cb281fb1e68d1916af24ac0ec"/></dir><dir name="controllers"><file name="CheckoutController.php" hash="328770972992a0ac10d8b1ad065d4d66"/><file name="NotifyController.php" hash="4793822e1b937191ace1f2925038082f"/></dir><dir name="etc"><file name="config.xml" hash="22c0604b314c63478c39ba96023b1886"/><file name="system.xml" hash="a4f32ebc6308df205aedaf1d6d9452c2"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="sisow"><dir name="adminhtml"><file name="notice.phtml" hash="7fa2d76678ad34eae48516fd757c30df"/></dir><dir name="checkout"><file name="default_info.phtml" hash="558581601de86afce3bd62ea50de7a4e"/><file name="ideal_info.phtml" hash="864ee0e16191ef6dca5c18522172b51c"/></dir><file name="form.phtml" hash="0dc40ad38b62218d6f947674312b7a61"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="sisow"><dir name="checkout"><file name="default_form.phtml" hash="200cebfa46ff85c95fdc0cedda4441a4"/><file name="default_info.phtml" hash="94eeee994f2f21dc36489f6b7824e616"/><file name="eps_form.phtml" hash="1754daa2e750bee86d28c8f420ce097c"/><file name="focum_form.phtml" hash="e9f87861ec8b28b4936ac57b93e14269"/><file name="giropay_form.phtml" hash="f64a0fbf3275f27828fa057f03939dab"/><file name="ideal_form.phtml" hash="76237c9c6b00b85df8be1dbadebff70f"/><file name="ideal_info.phtml" hash="88e15559e2f0cca9744b4dae1a81a1ea"/><file name="klarna_form.phtml" hash="8a232f3e8f6e3bcf453298a922dd26bf"/><file name="klarnaacc_form.phtml" hash="c2e32986bbd9a95bea23b1ff8d49ef0e"/><file name="overboeking_form.phtml" hash="164e244d6df230f20f460012fc72a7d8"/></dir><dir name="paymentfee"><dir name="checkout"><file name="fee.phtml" hash="79362bab3963195ad6727d077fe87b11"/></dir></dir><file name="form.phtml" hash="8874a0713c384d1346f6ae713f2cb9bd"/><file name="formecare.phtml" hash="0de41387de5f0c8d35066c0f30e113c2"/><file name="formovb.phtml" hash="20da22a0ef4384411bf971ff133a6a2c"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Sisow.xml" hash="7da3fbd82a48d5428b8c723bafbb946b"/></dir></target><target name="magelocale"><dir name="nl_NL"><file name="Sisow.csv" hash="916f9b4ce70529a44cbe41237a8b714e"/></dir></target><target name="magemedia"><dir name="sisow"><dir name="logo"><file name="sisow_eps.png" hash="5e1f172ba0498467ba74a3a335867b39"/><file name="sisow_focum.png" hash="c066464cdf85d507da88917434de35d0"/><file name="sisow_giropay.png" hash="619d576140e1c6bd9fb503a1e82c1c28"/><file name="sisow_homepay.png" hash="72a2755d53b2ce5bec6e42bb449a40ad"/><file name="sisow_ideal.png" hash="4663b3c8f53fa37b93c26dcd0a5e8257"/><file name="sisow_maestro.png" hash="a2854af0b9d9bbdc85518f2706ec62bb"/><file name="sisow_mastercard.png" hash="bb28caeeeb40d2de50e5b684aa914aae"/><file name="sisow_mistercash.png" hash="d3710590ccfb187b16c33429ab4163c3"/><file name="sisow_paypalec.png" hash="145bdc920850740f1efce0ab4e450358"/><file name="sisow_sofort.png" hash="29b5b51aa6db9b9854ebf86331873331"/><file name="sisow_visa.png" hash="a8dd24b50cfd94c537d63dd9de126016"/><file name="sisow_vvv.png" hash="c49615bd95ecfa7a9cb513b0b5574dc7"/><file name="sisow_webshop.png" hash="47913a17b3ae5f6a03a28a8df5d9a483"/></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>