View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Mark Overmeer > Payment-Sisow > Payment::Sisow



Annotate this POD

View/Report Bugs
Module Version: 0.13   Source  


Payment::Sisow - payments via Sisow


 Payment::Sisow is extended by


  my $sisow = Payment::Sisow::SOAP->new(%opts);

  foreach my $bank ($sisow->listIdealBanks)
  {   print "$bank->{id}\t$bank->{name}\n";

  my ($trxid, $redirect) = $sisow->startTransaction(%opts);
  my $status = $sisow->transactionStatus($trxid);
  my $info   = $sisow->transactionInfo($trxid);


Sisow ( is a Dutch payment broker, which offers a SOAP and a REST interface for communication. This implementation tries to offer a common API which will work for both protocols, although currently only the SOAP version is realized. The REST interface offers more.

You can test this module using the script in the examples/ directory contained in the CPAN distribution of Payment-Sisow. It is an extensive demo.

Please support my development work by submitting bug-reports, patches and (if available) a donation.




Inside Sisow's customer website, you can find the generated merchant id (semi-secret registration number) and key (secret which is used to sign the replies).

 -Option      --Default
  merchant_id   <required>
  merchant_key  <required>
  test          <false>
merchant_id => STRING

The Sisow customer's unique key.

merchant_key => STRING

The "merchants" password.

test => BOOLEAN

You have to enable the permission to run tests in the customer website of Sisow. If not enabled, you will get "317" errors.





List the banks which offer iDEAL. With iDEAL, the webshop lists the customer banks, which each have their own landing page. Returned is a (reference to an) ARRAY of HASHes, each with a bank and id field.


  foreach my $bank ($sisow->listIdealBanks)
  {   print "$bank->{name}\n";

Returns a transaction id and an url where the user needs to get redirected to.

 -Option      --Default
  amount        <required>
  bank_id       <undef>
  callback_url  <return_url>
  cancel_url    <return_url>
  description   undef
  notify_url    <return_url>
  payment       'ideal'
  purchase_id   <required>
  return_url    <required>
amount => FLOAT_EURO
bank_id => ISSUERID

Required when payment is ideal

callback_url => URL
cancel_url => URL
description => STRING
notify_url => URL

Pick from:

  ideal         iDEAL  (The Netherlands)
  mistercash    BanContact/MisterCash (Belgium)
  sofort        DIRECTebanking (Germany)
  webshop       WebShop GiftCard (The Netherlands)
  podium        Podium Cadeaukaart (The Netherlands)
  ebill         indirect payments
payment => PROVIDER
purchase_id => STRING
return_url => URL


  my ($trxid, $redirect) = try { $sisow->startTransation(%args) };
  die $@->wasFatal if $@;

Returns a HASH with complex information.


   my $info = $sisow->transactionStatus($trxid)
       or die "cannot retrieve info for $trxid\n";

Returns undef, "Open", "Success", "Expired", "Cancelled", "Failure", "Pending", "Credited", or "Reversed".


  my $status = $sisow->transactionStatus($trxid) || 'MISSING';
  if($status eq 'Expired') ...



Check whether the payment response was created by Sisow. QS is a HASH with the URI parameters, or the same parameters as LIST of PAIRS


About Sisow

Originally, Sisow focussed on the Dutch cheap and easy iDEAL payment system --offered by most Dutch banks-- but later it added other types of payments:

Sisow also offers payment services:


This module is part of Payment-Sisow distribution version 0.13, built on January 08, 2014. Website:


Copyrights 2013-2014 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See

syntax highlighting: