As you said, this is not an Authorize.net-specific issue. I believe your error is occurring from Mage_Checkout_OnepageController::saveOrderAction()
, where a generic Exception
is thrown. You can inspect the method for the error message.
This could be due to many things, so it will require you to debug it. Check at each step within this method what kind of values are being passed around. My guess is for a common cause is that, if all of your settings are correct, you have customization that checks the payment data and throwing an exception.
You can take a look at from Mage_Sales_Model_Quote_Payment::importData()
, or whatever class is overriding this class and method, if any, for example, to debug the issue.
Update:
Upon examining your exception log, you'll see an entry of saveOrderAction()
as I mentioned, and now I'm certain that's what's causing your order error. There's also a constraint violation error in there, but I'm going to assume you just copied and pasted your logs. On line 213 in the link, it says
2014-11-12T03:24:44+00:00 ERR (3): exception 'Mage_Core_Exception' with message 'Gateway error: (TESTMODE) The merchant login ID or password is invalid or the account is inactive.' in /home2/david/public_html/store/app/Mage.php:595
There you go; your Authorize.net credential is the problem. Two things I would check first.
Check that "test mode" is off if you're on a sandbox Authorize.net account.
Use https://test.authorize.net/gateway/transact.dll instead of whatever Magento proides if you're using a sandbox account.
More info: https://support.authorize.net/authkb/index?page=content&id=A415&pmv=print&impressions=false
Note:
Others have mentioned different errors as well. You should look into those. They will make great debugging practice!
Best Answer
Have you tried this one?
https://github.com/magento/magento2/issues/1443
It was issue in early release of Magento 2. But after reporting it has been fixed.
Override the file in any custom module
Find the function
createIfActive
after the line\Magento\Store\Model\ScopeInterface::SCOPE_STORE,
Add
$storeId
You function would be like this: