NAME

Business::GestPayCrypt - Perl interface to the italian online payment system GestPay

SYNOPSIS

      #
      # Request
      #
      use Business::GestPayCrypt;
      my $obj = new Business::GestPayCrypt;
      $obj->SetShopLogin($ShopLogin);
      $obj->SetCurrency($Currency);
      $obj->SetAmount($Amount);
      $obj->SetShopTransactionID($ShopTransationID);
      $obj->SetLanguage($Language);
      $obj->Encrypt();
      if ( $obj->GetErrorCode() ) {
          print 'Error: ', $obj->GetErrorCode(), ' ',
              $objCrypt->GetErrorDescription();
      } else {
          my $a = $obj->GetShopLogin();
          my $b = $obj->GetEncryptedString();
          print qq~
              <form action="https://ecomm.sella.it/gestpay/pagam.asp">
                <input type="hidden" name="a" value="$a">
                <input type="hidden" name="b" value="$b">
                <input type="submit" value="Payment">
              </form>~;
      }
      #
      # Response
      #
      use Business::GestPayCrypt;
      my $obj = new Business::GestPayCrypt;
      $obj->SetShopLogin($ShopLogin);
      $obj->SetEncryptedString($b);
      $obj->Decrypt();
      if ( $objCrypt->GetErrorCode() ) {
          print 'Error: ', $obj->GetErrorCode() , ' ',
              $objCrypt->GetErrorDescription();
      } else {
          print 'ShopLogin : ', $obj->GetShopLogin(), "\n";
          print 'Currency :', $obj->GetCurrency(), "\n";
          print 'Amount : ', $obj->GetAmount(), "\n";
          print 'ShopTransactionID : ', $obj->GetShopTransactionID(), "\n";
          print 'BuyerName : ', $obj->GetBuyerName(), "\n";
          print 'BuyerEmail : ', $obj->GetBuyerEmail(), "\n";
          print 'TransactionResult : ', $obj->GetTransactionResult(), "\n";
          print 'AuthorizationCode : ', $obj->GetAuthorizationCode(), "\n";
          print 'BankTransactionID : ', $obj->GetBankTransactionID(), "\n";
          print 'ErrorCode : ', $obj->GetErrorCode(), "\n";
          print 'ErrorDescription : ', $obj->GetErrorDescription(), "\n";
          print 'AlertCode : ', $obj->GetAlertCode(), "\n";
          print 'AlertDescription : ', $obj->GetAlertDescription(), "\n";
          print 'CustomInfo : ', $obj->GetCustomInfo(), "\n";
      }

DESCRIPTION

      This class implements the italian system for on-line payments GestPay,
      of Banca Sella, in the cryptography version.
      The class crypts the data of the transaction and returns the data as an encrypted string
      to send to the GestPay server for payment.
      The communication from shop server and the GestPay server is not encrypted
      and is send with the HTTP protocol.
      For more information see the reference manual of Banca Sella at http://www.sellanet.it.

AUTHOR

Marco Gazerro <gazerro@open2b.com>

SEE ALSO

      Business::GestPayCryptHS
      Business::BancaSella

COPYRIGHT

Copyright (c) 2002-2004 Open2b Software S.r.l. ( www.open2b.com )

LICENSE

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