[ic] Re: Payment.pm, Authorize.Net and wget - Problem Solved

havoc havoc at havoc.org
Tue Feb 6 06:08:04 EST 2007

On Thursday 18 January 2007 09:25, havoc wrote:
> I've been experiencing duplicate charges (and sometimes 3) from
> authorize.net but only a single order in Interchange.  I *believe*
> it is related to the problems stated in:
> http://www.icdevgroup.org/pipermail/interchange-cvs/2005-May/006341.html
> I am running Interchange 5.4.1 and using version 2.16 of Payment.pm
> (on freebsd with postgres) so I figured I may as well give wget a
> shot instead of LWP.  It is not working :(
> On the first failure I tried wget from the commandline:
> $wget https://secure.authorize.net/gateway/transact.dll
> --16:23:23--  https://secure.authorize.net/gateway/transact.dll
>            => `transact.dll'
> Resolving secure.authorize.net...,
> Connecting to secure.authorize.net||:443... connected.
> ERROR: Certificate verification error for secure.authorize.net: unable to
> get local issuer certificate To connect to secure.authorize.net insecurely,
> use `--no-check-certificate'. Unable to establish SSL connection.
> So I added the --no-check-certificate option and it worked from the
> commandline (except for the obvious lack of POST/login data).
> I have the following in catalog.cfg to allow for that option:
> Route  authorizenet  use_wget     "/usr/local/bin/wget
> --no-check-certificate"
> This produces the following error:
> Real-time charge FAILED. Reason: payment routine 'authorizenet' returned
> error: Cannot read wget status from
> /usr/lib/interchange/catalogs/frabill/tmp/wget/u/uTqemEQ6.wget.stat: No
> such file or directory
> When run from the commandline (the same command IC used as listed in the
> debug output) the .out and .stat files are created, but when wget is
> enabled in interchange only the .out file is created and it is 0 bytes.
> Any help/pointers in the right direction would be greatly appreciated.
> Please let me know if more information is required.
> Thank you.

I changed "system @args;" to "system(join(" ", @args));"  in  
lib/Vend/Payment.pm and it works now, why, I'm not sure.
I realize one is "system LIST" and one is "system SCALAR", but either *should* 
work.  I had dumped %ENV to the debug log and both calls had the same %ENV.
I'm just guessing that the LIST call was failing due to some configuration 
specific to this machine.


   - havoc

More information about the interchange-users mailing list