[interchange-cvs] interchange - danb modified lib/Vend/Payment/ECHO.pm

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Fri Oct 29 01:09:28 EDT 2004


User:      danb
Date:      2004-10-29 05:09:27 GMT
Modified:  lib/Vend/Payment ECHO.pm
Log:
* Fix sporadic prefork-safety problem by defining $amount.

While we're at it, lets copy the $user/$opt magic from all the other Payment modules.

Revision  Changes    Path
1.6       +16 -3     interchange/lib/Vend/Payment/ECHO.pm


rev 1.6, prev_rev 1.5
Index: ECHO.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Payment/ECHO.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ECHO.pm	7 Jun 2004 20:59:18 -0000	1.5
+++ ECHO.pm	29 Oct 2004 05:09:27 -0000	1.6
@@ -1,6 +1,6 @@
 # Vend::Payment::ECHO - Interchange ECHO support
 #
-# $Id: ECHO.pm,v 1.5 2004/06/07 20:59:18 mheins Exp $
+# $Id: ECHO.pm,v 1.6 2004/10/29 05:09:27 danb Exp $
 #
 # Copyright (C) 2002 
 #      Electric Pulp. <info at electricpulp.com> 
@@ -273,7 +273,20 @@
 use OpenECHO;
 
 sub echo {
-	my ($opt) = @_;
+
+	my ($user, $amount) = @_;
+
+	my $opt;
+	my $secret;
+	
+	if(ref $user) {
+		$opt = $user;
+		$user = $opt->{id} || undef;
+		$secret = $opt->{secret} || undef;
+	}
+	else {
+		$opt = {};
+	}
 
 #::logDebug("echo called, args=" . ::uneval(\@_));
 	
@@ -386,7 +399,7 @@
 
     if(! $amount) {
         $amount = Vend::Interpolate::total_cost();
-        $amount = sprintf("%.${precision}f", $amount);
+        $amount = Vend::Util::round_to_frac_digits($amount,$precision);
     }
 
     my($orderID);








More information about the interchange-cvs mailing list