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.

