Authorize.net AIM Module does not process transactions
I was getting the following error when clicking on the confirm order button: This account has not been given the permission(s) required for this request. - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.
I found some threads about this problem, and tried using some of the code fixes from there. I can now checkout, the order is recorded in the Zen admin, but I don't get a transaction with in the authorize.net account.
Here is what I have in the code for lines 350-371:
// SEND DATA BY CURL SECTION
// Post order info data to Authorize.net, make sure you have cURL support installed
unset($response);
// The commented line below is an alternate connection method
//exec("/usr/bin/curl -d \"$data\" https://secure.authorize.net/gateway/transact.dll", $response);
$url = 'https://secure.authorize.net/gateway/transact.dll';
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, FALSE);
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
//curl_setopt ($ch, CURLOPT_PROXY,"http://64.202.165.130:3128");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
$authorize = curl_exec($ch);
curl_close ($ch);
I commented out the goDaddy proxy - I contacted the host (cybrhost) and they said that they don't use any proxies. The guy also said he didn't know what curl was, so that concerns me a little. I found this in the Zen admin: Curl enabled libcurl/7.10.6 OpenSSL/0.9.7a ipv6 zlib/1.1.4
I know there's still something wrong but I don't know what!
I've made sure that SSL is turned on, the credit cards in the admin are turned on as well.
I'm using version 1.3.5. I tried using the code from the 1.3.6 authorizenet_aim.php file and get the same error.
Re: Authorize.net AIM Module does not process transactions
Quote:
I've made sure that SSL is turned on
Does that mean that SSL is installed - either shared or full cert for your domain, and configured correctly?
Vger
Re: Authorize.net AIM Module does not process transactions
It's turned to True in the two configure files, and it is installed on the server.
Re: Authorize.net AIM Module does not process transactions
If you're going to skip using the proxy by commenting out lines, I suggest you take care of all 3 proxy-related lines (even though you set the first to false):
//curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, FALSE);
//curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
//curl_setopt ($ch, CURLOPT_PROXY,"http://64.202.165.130:3128");
If your host tech support contact doesn't know what curl is, perhaps you can ask whether there's someone else there who does ?
It may be necessary to get them to do a trace to see what's happening when your transactions are attempted.
It might also be worth locating a curl test script (I believe one was pasted in a forum post sometime ago ... ) and seeing what it brings back...
Re: Authorize.net AIM Module does not process transactions
I commented those out and that didn't fix it. I double checked on the SSL - I did have it incorrect, but now it is correct as per the host's instructions, and I'm still getting the same error.
What specifically should I ask them to trace?
I found the test scripts, and they don't return any errors.
Re: Authorize.net AIM Module does not process transactions
Quote:
Originally Posted by
quixotica
I was getting the following error when clicking on the confirm order button: This account has not been given the permission(s) required for this request. - Your credit card could not be authorized for this reason. Please correct any information and try again or contact us for further assistance.
You said you used some "code" fixes to resolve this ? That error suggests that your authorize.net account hasn't been configured properly.
What are the authorize.net people telling you about the transactions you're testing with? They should be able to see them hitting their servers, and likely can see more detailed error messages etc.
If you turn on "Enable Database Storage" and peek at the contents of the authorizenet table via phpMyAdmin, what result messages do you see ?
Re: Authorize.net AIM Module does not process transactions
Here is the original code (that was giving me the error from my first message):
// SEND DATA BY CURL SECTION
// Post order info data to Authorize.net, make sure you have cURL support installed
unset($response);
// The commented line below is an alternate connection method
//exec("/usr/bin/curl -d \"$data\" https://secure.authorize.net/gateway/transact.dll", $response);
$url = 'https://secure.authorize.net/gateway/transact.dll';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); /* compatibility for SSL communications on some Windows servers (IIS 5.0+) */
if (CURL_PROXY_REQUIRED == 'True') {
$proxy_tunnel_flag = (defined('CURL_PROXY_TUNNEL_FLAG') && strtoupper(CURL_PROXY_TUNNEL_FLAG) == 'FALSE') ? false : true;
curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, $proxy_tunnel_flag);
curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt ($ch, CURLOPT_PROXY, CURL_PROXY_SERVER_DETAILS);
}
$authorize = curl_exec($ch);
curl_close ($ch);
Here is what I changed it to so it would at least let the order complete (but now it's not going to Authorize.net):
// SEND DATA BY CURL SECTION
// Post order info data to Authorize.net, make sure you have cURL support installed
unset($response);
// The commented line below is an alternate connection method
//exec("/usr/bin/curl -d \"$data\" https://secure.authorize.net/gateway/transact.dll", $response);
$url = 'https://secure.authorize.net/gateway/transact.dll';
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
//curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, FALSE);
//curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
//curl_setopt ($ch, CURLOPT_PROXY,"http://64.202.165.130:3128");
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
$authorize = curl_exec($ch);
curl_close ($ch);
Re: Authorize.net AIM Module does not process transactions
Also, I don't have access to phpMyAdmin with this host.
Re: Authorize.net AIM Module does not process transactions
Quote:
Originally Posted by
quixotica
...what I changed it to so it would at least let the order complete (but now it's not going to Authorize.net)
1. What exactly do you mean by this?
Are you saying that after commenting those 3 lines that Zen Cart now stores the order as if it was paid-for, but you were never actually paid ?
2. What is authorize.net tech support saying ? Are they seeing your transactions come through ? Are they telling you whethere they are seeing any errors?
Re: Authorize.net AIM Module does not process transactions
1. What exactly do you mean by this?
Are you saying that after commenting those 3 lines that Zen Cart now stores the order as if it was paid-for, but you were never actually paid ?
Yes, that's exactly what's happening.
I got the host to tell me what was in the authorizenet table - it's getting a response code of 1. The authorization_type and transaction_id are blank
I am working on contacting authorize.net