[ic] Charge Tag or Authorizenet Bug

Mike Heins mike at perusion.com
Wed Jul 14 16:19:43 EDT 2004


Quoting Duane Hinkley (duane at DownHomeWebDesign.com):
> I had a unique request from a client where I ended up using the Perl 
> version of the charge tag (i.e. $Tag->charge( { mode => 'authorizenet' }).
> 
> Using this code:
> 
> [perl]
> .
> .
> .
>                  if ( ! $Tag->charge( { gateway => 
> $Variable->{MV_PAYMENT_MODE} } ) ) {
>              
>                     $Scratch->{errors} .= "Charge Error<br>";
>                  }
> .
> .
> .
> [/perl]
> 
> I recieved this error:
> 
> Vend::Interpolate:debug: Failure: payment routine '' returned error: 
> require trapped by operation mask at /usr/lib/perl5/5.6.1/Carp.pm line 71.
> Compilation failed in require at /usr/lib/perl5/5.6.1/AutoLoader.pm line 
> 103.
> 
> After troubleshooting for quite a while, I stopped at the point were I 
> found the command was actually dieing on the post_https for Net::SSLeay 
> on line 619 on Payment.pm.
> 
> To fix the problem, I just changed the code to use the [charge 
> gateway="authorizenet"] of the charge tag.  I can't think of any reason 
> security wise it should work that way.  Anyone have any idea?  Or, is it 
> a bug?

This is normal for Safe. Programs that do runtime requires will fail
without fooling around with SafeUntrap

Net::SSLeay is probably one of those modules that do runtime requires
to get capabililty info -- something I feel is a bad practice and that
is not secure besides (due to the chance of a module/path change after
daemon startup).

We don't recommend using it -- Crypt::SSLeay is better IMHO.

-- 

Mike Heins
Perusion -- Expert Interchange Consulting    http://www.perusion.com/
phone +1.765.647.1295  tollfree 800-949-1889 <mike at perusion.com>

"Even if you're on the right track, you'll get run over if you just
sit there." -- Will Rogers


More information about the interchange-users mailing list