Magento 2.4.6升级后eWay支付网关报cartId不存在错误求助
Magento 2.4.6升级后eWay支付网关异常问题
问题概述
将Magento从2.4.2版本升级至2.4.6版本后,仅eWay支付网关出现异常:支付流程可正常完成,但支付后用户会被重定向至空购物车页面,并显示错误:no such entity with cartid XXX。其他支付网关(如PayPal、ZIP、信用备忘录等)均可正常工作。此问题疑似源于官方eWay模块,但官方不提供技术支持。
环境与测试信息
- Magento版本:2.4.6
- PHP版本:8.1
- 测试场景:提交订单
- 预期结果:跳转至Magento成功页面
- 实际结果:跳转至空购物车页面,显示
no such entity with cartid XXX错误
错误日志及堆栈跟踪
main.CRITICAL: Placing an order with quote_id 7kwrwEc19cYADHzoyLPvlMYVwCkg1Poc is failed: No such entity with cartId = 37572 [] [] Stack trace: #0 //vendor/magento/framework/Exception/NoSuchEntityException.php(36): Magento\Framework\App\ErrorHandler->handler() #1 //vendor/magento/module-gift-message/Model/OrderRepository.php(93): Magento\Framework\Exception\NoSuchEntityException->__construct() #2 //vendor/magento/module-gift-message/Model/Plugin/OrderGet.php(87): Magento\GiftMessage\Model\OrderRepository->get() #3 //vendor/magento/module-gift-message/Model/Plugin/OrderGet.php(66): Magento\GiftMessage\Model\Plugin\OrderGet->getOrderGiftMessage() #4 //vendor/magento/framework/Interception/Interceptor.php(146): Magento\GiftMessage\Model\Plugin\OrderGet->afterGet() #5 //vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Model\OrderRepository\Interceptor->Magento\Framework\Interception{closure}() #6 //generated/code/Magento/Sales/Model/OrderRepository/Interceptor.php(23): Magento\Sales\Model\OrderRepository\Interceptor->___callPlugins() #7 //vendor/magento/module-sales/Block/Order/Email/Items.php(66): Magento\Sales\Model\OrderRepository\Interceptor->get() #8 //var/view_preprocessed/pub/static/vendor/magento/module-sales/view/frontend/templates/email/items.phtml(1): Magento\Sales\Block\Order\Email\Items->getOrder() #9 //vendor/magento/framework/View/TemplateEngine/Php.php(71): include('/home/988668.cl...') #10 //vendor/magento/framework/View/Element/Template.php(263): Magento\Framework\View\TemplateEngine\Php->render() #11 //vendor/magento/framework/View/Element/Template.php(293): Magento\Framework\View\Element\Template->fetchView() #12 //vendor/magento/framework/View/Element/AbstractBlock.php(1095): Magento\Framework\View\Element\Template->_toHtml() #13 //vendor/magento/framework/View/Element/AbstractBlock.php(1099): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element{closure}() #14 //vendor/magento/framework/View/Element/AbstractBlock.php(660): Magento\Framework\View\Element\AbstractBlock->_loadCache() #15 //vendor/magento/framework/View/Layout.php(578): Magento\Framework\View\Element\AbstractBlock->toHtml() #16 //vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock() #17 //vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout->renderNonCachedElement() #18 //vendor/magento/framework/View/Layout.php(975): Magento\Framework\View\Layout->renderElement() #19 //generated/code/Magento/Framework/View/Layout/Interceptor.php(41): Magento\Framework\View\Layout->getOutput() #20 //vendor/magento/module-email/Model/Template/Filter.php(502): Magento\Framework\View\Layout\Interceptor->getOutput() #21 [internal function]: Magento\Email\Model\Template\Filter->emulateAreaCallback() #22 //vendor/magento/framework/App/State.php(187): call_user_func_array() #23 //vendor/magento/module-email/Model/Template/Filter.php(458): Magento\Framework\App\State->emulateAreaCode() #24 [internal function]: Magento\Email\Model\Template\Filter->layoutDirective() #25 //vendor/magento/framework/Filter/DirectiveProcessor/LegacyDirective.php(42): ReflectionMethod->invokeArgs() #26 //vendor/magento/framework/Filter/Template.php(272): Magento\Framework\Filter\DirectiveProcessor\LegacyDirective->process() #27 //vendor/magento/framework/Filter/Template.php(206): Magento\Framework\Filter\Template->processDirectives() #28 //vendor/magento/module-email/Model/Template/Filter.php(1116): Magento\Framework\Filter\Template->filter() #29 //vendor/magento/framework/Interception/Interceptor.php(58): Magento\Email\Model\Template\Filter->filter() #30 //vendor/magento/framework/Interception/Interceptor.php(138): Magento\Email\Model\Template\Filter\Interceptor->___callParent() #31 //vendor/magento/framework/Interception/Interceptor.php(153): Magento\Email\Model\Template\Filter\Interceptor->Magento\Framework\Interception{closure}() #32 //generated/code/Magento/Email/Model/Template/Filter/Interceptor.php(32): Magento\Email\Model\Template\Filter\Interceptor->___callPlugins() #33 //vendor/magento/module-email/Model/AbstractTemplate.php(363): Magento\Email\Model\Template\Filter\Interceptor->filter() #34 //vendor/magento/module-email/Model/Template.php(380): Magento\Email\Model\AbstractTemplate->getProcessedTemplate() #35 //vendor/magento/framework/Mail/Template/TransportBuilder.php(380): Magento\Email\Model\Template->processTemplate() #36 //vendor/magento/framework/Mail/Template/TransportBuilder.php(336): Magento\Framework\Mail\Template\TransportBuilder->prepareMessage() #37 //generated/code/Magento/Framework/Mail/Template/TransportBuilder/Interceptor.php(41): Magento\Framework\Mail\Template\TransportBuilder->getTransport() #38 //vendor/magento/module-sales/Model/Order/Email/SenderBuilder.php(91): Magento\Framework\Mail\Template\TransportBuilder\Interceptor->getTransport() #39 //vendor/magento/module-sales/Model/Order/Email/Sender.php(93): Magento\Sales\Model\Order\Email\SenderBuilder->sendCopyTo() #40 //vendor/magento/module-sales/Model/Order/Email/Sender/OrderSender.php(108): Magento\Sales\Model\Order\Email\Sender->checkAndSend() #41 //vendor/magento/module-sales/Model/EmailSenderHandler.php(134): Magento\Sales\Model\Order\Email\Sender\OrderSender->send() #42 //vendor/magento/module-sales/Cron/SendEmails.php(46): Magento\Sales\Model\EmailSenderHandler->sendEmails() #43 [internal function]: Magento\Sales\Cron\SendEmails->execute() #44 //vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php(368): call_user_func_array() #45 //vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php(879): Magento\Cron\Observer\ProcessCronQueueObserver->_runJob() #46 //vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php(840): Magento\Cron\Observer\ProcessCronQueueObserver->tryRunJob() #47 //vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php(280): Magento\Cron\Observer\ProcessCronQueueObserver->processPendingJobs() #48 //vendor/magento/framework/Event/Invoker/InvokerDefault.php(88): Magento\Cron\Observer\ProcessCronQueueObserver->execute() #49 //vendor/magento/framework/Event/Invoker/InvokerDefault.php(74): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod() #50 //vendor/magento/framework/Event/Manager.php(65): Magento\Framework\Event\Invoker\InvokerDefault->dispatch() #51 //generated/code/Magento/Framework/Event/Manager/Proxy.php(95): Magento\Framework\Event\Manager->dispatch() #52 //vendor/magento/framework/App/Cron.php(86): Magento\Framework\Event\Manager\Proxy->dispatch() #53 //vendor/magento/module-cron/Console/Command/CronCommand.php(126): Magento\Framework\App\Cron->launch() #54 //vendor/symfony/console/Command/Command.php(298): Magento\Cron\Console\Command\CronCommand->execute() #55 //vendor/magento/framework/Interception/Interceptor.php(58): Symfony\Component\Console\Command\Command->run() #56 //vendor/magento/framework/Interception/Interceptor.php(138): Magento\Cron\Console\Command\CronCommand\Interceptor->___callParent() #57 //vendor/magento/framework/Interception/Interceptor.php(153): Magento\Cron\Console\Command\CronCommand\Interceptor->Magento\Framework\Interception{closure}() #58 //generated/code/Magento/Cron/Console/Command/CronCommand/Interceptor.php(23): Magento\Cron\Console\Command\CronCommand\Interceptor->___callPlugins() #59 //vendor/symfony/console/Application.php(1040): Magento\Cron\Console\Command\CronCommand\Interceptor->run() #60 //vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand() #61 //vendor/magento/framework/Console/Cli.php(116): Symfony\Component\Console\Application->doRun() #62 //vendor/symfony/console/Application.php(171): Magento\Framework\Console\Cli->doRun() #63 //bin/magento(23): Symfony\Component\Console\Application->run() #64 {main} {"exception":"[object] (Exception(code: 0): Warning: Undefined array key \"file\" in //vendor/magento/framework/Exception/NoSuchEntityException.php on line 36 at //vendor/magento/framework/App/ErrorHandler.php:62)"} []
已尝试的解决方法
- 测试了网上所有提及该错误的解决方案,均未解决问题
- 禁用了此前启用的Mageplaza SMTP(因有帖子指出其可能是诱因)
请求帮助
恳请提供调试帮助,解决该eWay支付网关的异常问题。
内容的提问来源于stack exchange,提问作者Adam Stapley
相关产品推荐
相关产品推荐

