magento:“尝试与authorize.net下订单时,”处理您的订单时出错“

时间:2013-06-22 20:37:24

标签: php magento magento-1.7

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

错误

"处理您的订单时遇到错误"

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

我检查了authorize.net以查看付款是否已经过去且信用卡是否有效且似乎没有问题,并且由于配置错误而导致问题可能出现。

编辑:

在日志中找到了这个:

  

2013-06-22T21:45:48 + 00:00 ERR(3):
  异常' PDOException' with message' SQLSTATE [23000]:完整性约束违规:1062重复条目' 1'关键' PRIMARY''在/home/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->查询(' INSERT INTO lo...', Array)
\#5 /home/bellater/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO
lo ...&#39 ;,数组)
  #6 /home/bellater/public_html/lib/Zend/Db/Adapter/Abstract.php(574):Varien_Db_Adapter_Pdo_Mysql->查询(' INSERT INTO`lo ...',Array)
  #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/Model/Resource/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('',' store')   #23 {main}

     

下一个例外' Zend_Db_Statement_Exception' with message' SQLSTATE [23000]:完整性约束违规:1062重复条目' 1'关键' PRIMARY''在/home/bellater/public_html/lib/Zend/Db/Statement/Pdo.php:234

     

堆栈追踪:
  #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->查询(' INSERT INTO lo...', Array)
\#4 /home/bellater/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO
lo ...&#39 ;,数组)
  #5 /home/bellater/public_html/lib/Zend/Db/Adapter/Abstract.php(574):Varien_Db_Adapter_Pdo_Mysql->查询(' INSERT INTO`lo ...',Array)
  #6 /home/bellater/public_html/app/code/core/Mage/Log/Model/Resource/Visitor.php(261):Zend_Db_Adapter_Abstract-> insert(' log_quote',Array)
  #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}

可能是什么问题?

1 个答案:

答案 0 :(得分: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系统信息。