FIRST let me say THANKS! to Vger for an excellent contrib!
Enable cURL for PHP on windows
First thing I had to do was to enable cURL for php on windows. I'm running the standard windows binaries for PHP 4.4.1 - I did not compile my own. After some googling on this topic, I found this resource page cURL with PHP and Apache on Windows Using my PHP version 4.4.1, I found that there is a php_curl.dll in my C:\php\extensions directory. In my php.ini file that resides in my apache webserver directory I made the following edits:
Establish the PHP Extensions location
; Directory in which the loadable extensions (modules) reside. extension_dir = C:\php\extensions
Enable the cURL extension (remove the ; comment in front of this line)
extension=php_curl.dll
Once cURL was enabled for Apache on windows I was able to start testing this contrib.
Fix the error_message issue (STS bug?)
I first ran into the error_message in the URL but not on the page. This, for me, turned out to be a possible issue with STS. header.php was not capturing the GET params and adding them to the messageStack so STS didn't have it to display. I fixed that and the expected error_message then showed up at the top of the $content area. Click HERE to read more about how I fixed this.
Fix the blank response from Authorize.net issue
The next issue was the constant blank response. This results in an error message that is only the language file text since no error is received from the gateway. I think we should test for a blank response and take some sort of different action. Maybe log an error for the webmaster and/or add a message like "technical difficulties - contact the store owner" to the front of the error message so the customer doesn't think it's their fault when the gateway doesn't return a response.
To resolve the blank response issue, I first downloaded and extracted the ca-bundle.crt file from the latest curl distribution at cURL download page and put this file in my c:\php\extensions folder. I then added the CURLOPT_CAINFO line to includes\modules\payment\authorizenet_aim.php
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_CAINFO, 'C:\php\extensions\ca-bundle.crt'); // blank response fix curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $authorize = curl_exec($ch);
Test Mode
I tried both the https://certification.authorize.net and https://secure.authorize.net and they both worked with my Authorize.net account in TEST mode. One difference I found was that Authorize.net did not generate any emails for my test transaction to https://certification.authorize.net Once I switch back to https://secure.authorize.net then it started sending emails as expected.
Configuration
As far as configuration goes, I just followed Vger's excellent install.html and setup my Authorize.net settings as indicated (version 3.1 and Delimited Response=No Default Field Separator=,(comma) and Field Encapsulation Character=blank)















