Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Authorize.net and One Page Checkout - Successful transaction, prototype response.success = false? 
 
winans_fred
Sr. Member
 
Total Posts:  83
Joined:  2007-09-06
 

Hi all

I’ve been trying to solve this problem and I’ve at least figured out what happens so I can pinpoint some things and hopefully someone will have some insight on this.

When attempting to pass a live transaction through one page checkout to Authorize.net, the bare minimum information posts to the gateway (Credit Card number, expiration date, amount) and a successful transaction code (response code 1, response text ‘This Transaction Has Been Approved’) is displayed in a modal box by opcheckout.js.  The code where this occurs is listed below

nextStep: function(transport){
        
if (transport && transport.responseText{
            try{
                response 
eval('(' transport.responseText ')');
            
}
            
catch (e) {
                response 
{};
            
}
            
if (response.success) {
                window
.l ocation=this.successUrl;
            
}
            else{
                
var msg response.error_messages;
                if (
typeof(msg)=='object'{
                    msg 
msg.join("\n");
                
}
                alert
(msg);
            
}
        }
    }
}

What you can see is that the only way I would be able to get an alert box is if the repsonse object doesn’t not have it’s property “success” set to true on the postback response.  As a result, the response returns my successful transaction text and displays it via the alert(msg); function.  As a result, we do not execute window.l ocation.successurl as with any other payment method.

My question is why would a successful response from Authorize.net not translate to a success = true value in the response object?  I’m looking to see how this works so I can correct this issue.

UPDATE
Firebug Information
- FYI, checked for a 302 redirect in the repsonse headers and nothing showed up

//The response for saveOrder is 
{"error":true,"success":false,"error_messages":"\"This transaction has been approved.\""}

Thanks,

Fred

P.S. sorry for the wonky window.l ocation thing, it is because javascript commands are replaced with [removed] for security in this forum ;/

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top