0

我最近将我的 magento 系统从 1.4.0.1 升级到了 1.7.0.2。

错误

“处理您的订单时出错”

我设置付款方式没有问题,但是当我尝试使用 authorize.net 选项时,我收到一条弹出消息,提示“处理您的订单时出错”。订单未显示在后端,但付款已处理,我收到一封包含订单号的确认电子邮件。

我检查了 authorize.net 以查看付款是否已通过并且信用卡有效并且它们似乎没有问题,并且它取消了问题可能是由于配置错误的选项。

编辑:

在日志中找到了这个:

2013-06-22T21:45:48+00:00 ERR (3):
异常 'PDOException' 带有消息 'SQLSTATE[23000]: 完整性约束违规: 1062 /home/ 中键 'PRIMARY' 的重复条目 '1' bellater/public_html/lib/Zend/Db/Statement/Pdo.php:228

堆栈跟踪:
#0 /home/bellater/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /home/bellater/public_html/lib/Varien/Db/Statement /Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/bellater/public_html/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home /bellater/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /home/bellater/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php( 238): Zend_Db_Adapter_Abstract->query('INSERT INTO lo...', Array) #6 /home/bellater/public_html/lib/Zend/Db/Adapter/Abstract.php(574): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO 'lo...',数组)lo...', Array)
\#5 /home/bellater/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO


#7 /home/bellater/public_html/app/code/core/Mage/Log/Model/Resource/Visitor.php(261): Zend_Db_Adapter_Abstract->insert('log_quote', Array)
#8 /home/bellater/public_html/ app/code/core/Mage/Log/Model/Resource/Visitor.php(116): Mage_Log_Model_Resource_Visitor->_saveQuoteInfo(Object(Mage_Log_Model_Visitor))
#9 /home/bellater/public_html/app/code/core/Mage/Core/模型/资源/Db/Abstract.php(463): Mage_Log_Model_Resource_Visitor->_afterSave(Object(Mage_Log_Model_Visitor))
#10 /home/bellater/public_html/app/code/core/Mage/Core/Model/Abstract.php(318) : Mage_Core_Model_Resource_Db_Abstract->save(Object(Mage_Log_Model_Visitor))
#11 /home/bellater/public_html/app/code/core/Mage/Log/Model/Visitor.php(189): Mage_Core_Model_Abstract->save()
#12 /home/bellater/public_html/app/code/core/Mage/Core/Model/App.php(1338): Mage_Log_Model_Visitor->saveByRequest(Object(Varien_Event_Observer))
#13 /home/bellater/public_html/app/code /core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Log_Model_Visitor), 'saveByRequest', Object(Varien_Event_Observer))
#14 /home/bellater/public_html/app/Mage.php( 447): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#15 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(552): Mage:: dispatchEvent('controller_acti...', Array)
#16 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Front/Action.php(75): Mage_Core_Controller_Varien_Action->postDispatch()
#17 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(423): Mage_Core_Controller_Front_Action->postDispatch()
#18 /home/bellater/public_html/app/code/core /Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('add')
#19 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Varien/ Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#20 /home/bellater/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch( )
#21 /home/bellater/public_html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#22 /home/bellater/public_html/index.php(87): Mage::run('', '店铺') #23 {主要}

下一个异常“Zend_Db_Statement_Exception”和消息“SQLSTATE [23000]:完整性约束违规:1062 /home/bellater/public_html/lib/Zend/Db/Statement/Pdo.php:234 中键“PRIMARY”的重复条目“1”

堆栈跟踪:
#0 /home/bellater/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/bellater/public_html/lib/Zend/Db /Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /home/bellater/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3 /home /bellater/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO lo...', Array) #5 /home/bellater/public_html/lib/Zend /Db/Adapter/Abstract.php(574): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `lo...', Array) #6 /home/bellater/public_html/app/code/core/Mage/Log/Model/资源/Visitor.php(261): Zend_Db_Adapter_Abstract->insert('log_quote',数组)lo...', Array)
\#4 /home/bellater/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO



#7 /home/bellater/public_html/app/code/core/Mage/Log/Model/Resource/Visitor.php(116): Mage_Log_Model_Resource_Visitor->_saveQuoteInfo(Object(Mage_Log_Model_Visitor))
#8 /home/bellater/public_html/app /code/core/Mage/Core/Model/Resource/Db/Abstract.php(463): Mage_Log_Model_Resource_Visitor->_afterSave(Object(Mage_Log_Model_Visitor))
#9 /home/bellater/public_html/app/code/core/Mage/Core /Model/Abstract.php(318): Mage_Core_Model_Resource_Db_Abstract->save(Object(Mage_Log_Model_Visitor))
#10 /home/bellater/public_html/app/code/core/Mage/Log/Model/Visitor.php(189): Mage_Core_Model_Abstract- >save()
#11 /home/bellater/public_html/app/code/core/Mage/Core/Model/App.php(1338): Mage_Log_Model_Visitor->saveByRequest(Object(Varien_Event_Observer))
#12 /home/bellater/public_html/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Log_Model_Visitor), 'saveByRequest', Object(Varien_Event_Observer))
#13 / home/bellater/public_html/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#14 /home/bellater/public_html/app/code/core/Mage/Core/Controller/ Varien/Action.php(552): Mage::dispatchEvent('controller_acti...', Array)
#15 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Front/Action.php( 75): Mage_Core_Controller_Varien_Action->postDispatch()
#16 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(423): Mage_Core_Controller_Front_Action->postDispatch()
#17 /home/bellater/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('add')
#18 /home/bellater/public_html/ app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#19 /home/bellater/public_html/app/code/core/Mage/Core/ Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#20 /home/bellater/public_html/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#21 /home/bellater/public_html/index .php(87): Mage::run('', 'store')
#22 {main}

可能是什么问题呢?

4

1 回答 1

0

这意味着在发送支付 API 请求之后,但在您的 Magento 系统中创建订单之前,出现了 Magento 或 PHP 错误。Magento 的代码库中有三个地方使用该措辞来表示异常。

app/code/core/Mage/Authorizenet/controllers/Directpost/PaymentController.php
94:            $result['error_msg'] = $this->__('There was an error processing your order. Please contact us or try again later.');

catch (Exception $e) {
    Mage::logException($e);
    $result['success'] = 0;
    $result['error_msg'] = $this->__('There was an error processing your order. Please contact us or try again later.');
}

app/code/core/Mage/Checkout/controllers/OnepageController.php
553:            $result['error_messages'] = $this->__('There was an error processing your order. Please contact us or try again later.');

} catch (Exception $e) {
    Mage::logException($e);
    Mage::helper('checkout')->sendPaymentFailedEmail($this->getOnepage()->getQuote(), $e->getMessage());
    $result['success']  = false;
    $result['error']    = true;
    $result['error_messages'] = $this->__('There was an error processing your order. Please contact us or try again later.');
}    

app/code/core/Mage/Paypal/Model/Api/Nvp.php
987:            Mage::throwException(Mage::helper('paypal')->__('There was an error processing your order. Please contact us or try again later.'));

if (!$this->_validateResponse($methodName, $response)) {
    Mage::logException(new Exception(
        Mage::helper('paypal')->__("PayPal response hasn't required fields.")
    ));
    Mage::throwException(Mage::helper('paypal')->__('There was an error processing your order. Please contact us or try again later.'));
}

如您所见,在每种情况下,Magento 都会在重新抛出异常之前记录它。这意味着将向您记录一个错误var/log/exception.log(假设您已登录)。如果打开日志记录对您来说太多,您可以添加临时调试代码。就像是

var_dump($e->getMessage());
exit;

在异常块中。(由于这与 PayPal 无关,我猜测错误消息的第三次使用不是您所看到的)。

当 Magento 代码捕获非 Magento 异常时,它通常使用通用错误消息向最终用户隐藏(可能是敏感的)PHP 系统信息。

于 2013-06-22T21:51:49.293 回答