Only call init_client and free_client once, fixes multiple transactions
authorivan <ivan>
Fri, 7 May 2004 06:19:46 +0000 (06:19 +0000)
committerivan <ivan>
Fri, 7 May 2004 06:19:46 +0000 (06:19 +0000)
Changes
StGeorge.pm

diff --git a/Changes b/Changes
index ff725b1..0b03632 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,4 +1,8 @@
 Revision history for Perl extension Business::OnlinePayment::StGeorge.
 
+0.02  unreleased
+       - Only call init_client and free_client once, fixes multiple
+         transactions
+
 0.01  Sat Jan 31 02:43:20 PST 2004
        - original version; created by ivan 1.0
index cea459c..1227e8b 100644 (file)
@@ -6,9 +6,10 @@ use Carp qw(croak);
 use Business::OnlinePayment;
 
 @ISA = qw(Business::OnlinePayment);
-$VERSION = '0.01';
+$VERSION = '0.02';
 
 use webpayperl; #webpayperl.pm from St.George
+webpayperl::init_client or croak "St.George initialization failed\n";
 
 sub set_defaults {
     my $self = shift;
@@ -164,10 +165,6 @@ sub submit {
 
     # if ( $DEBUG ) { warn "$_ => $post{$_}\n" foreach keys %post; }
 
-    webpayperl::init_client or croak "St.George initialization failed\n";
-    #dd this to all exit places after here
-    #webpayperl::cleanup( $webpayRef );
-
     my $webpayRef = webpayperl::newBundle;
     webpayperl::addVersionInfo($webpayRef);
     webpayperl::put($webpayRef, "DEBUG", "OFF");
@@ -194,7 +191,6 @@ sub submit {
                           );
 
       webpayperl::cleanup( $webpayRef );
-      webpayperl::free_client();
       return;
     }
 
@@ -216,10 +212,13 @@ sub submit {
     }
  
     webpayperl::cleanup( $webpayRef );
-    webpayperl::free_client();
 
 }
 
+END {
+    webpayperl::free_client();
+}
+
 1;
 __END__