[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