Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Critical Error - Sporadic checkout issues, error thrown referencing Eway SavedTokens #25

Open
studio48internet opened this issue Jul 5, 2022 · 0 comments

Comments

@studio48internet
Copy link

Hi

We're currently running Magento 2.4.3-p1 with Eway 3.1 and are having sporadic checkout issues. This affects all payment types, but the error appears to reference an issue with the extension:

`[2022-07-04 05:34:09] main.CRITICAL: TypeError: explode() expects parameter 2 to be string, object given in /.../public_html/vendor/magento/framework/Encryption/Encryptor.php:416
Stack trace:
#0 /.../public_html/vendor/magento/framework/Encryption/Encryptor.php(416): explode(':', Object(Eway\EwayRapid\Model\Customer\SavedTokens), 4)
#1 /.../public_html/vendor/eway/eway-rapid-magento2/Model/Customer/Token/Backend.php(67): Magento\Framework\Encryption\Encryptor->decrypt(Object(Eway\EwayRapid\Model\Customer\SavedTokens))
#2 [internal function]: Eway\EwayRapid\Model\Customer\Token\Backend->afterLoad(Object(Magento\Customer\Model\Customer\Interceptor))
#3 /.../public_html/vendor/magento/module-eav/Model/Entity/AbstractEntity.php(680): call_user_func_array(Array, Array)
#4 /.../public_html/vendor/magento/module-eav/Model/Entity/AbstractEntity.php(1821): Magento\Eav\Model\Entity\AbstractEntity->walkAttributes('backend/afterLo...', Array)
#5 /.../public_html/vendor/magento/module-eav/Model/Entity/VersionControl/AbstractEntity.php(48): Magento\Eav\Model\Entity\AbstractEntity->_afterLoad(Object(Magento\Customer\Model\Customer\Interceptor))
#6 /.../public_html/vendor/magento/module-eav/Model/Entity/AbstractEntity.php(1004): Magento\Eav\Model\Entity\VersionControl\AbstractEntity->_afterLoad(Object(Magento\Customer\Model\Customer\Interceptor))
#7 /.../public_html/vendor/magento/framework/Model/AbstractModel.php(540): Magento\Eav\Model\Entity\AbstractEntity->load(Object(Magento\Customer\Model\Customer\Interceptor), 7202, NULL)
#8 /.../public_html/app/code/Magedelight/Giftcard/Observer/Frontend/PlaceProductOrder.php(140): Magento\Framework\Model\AbstractModel->load(7202)
#9 /.../public_html/vendor/magento/framework/Event/Invoker/InvokerDefault.php(88): Magedelight\Giftcard\Observer\Frontend\PlaceProductOrder->execute(Object(Magento\Framework\Event\Observer))
#10 /.../public_html/vendor/magento/framework/Event/Invoker/InvokerDefault.php(74): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod(Object(Magedelight\Giftcard\Observer\Frontend\PlaceProductOrder), Object(Magento\Framework\Event\Observer))
#11 /.../public_html/vendor/magento/framework/Event/Manager.php(66): Magento\Framework\Event\Invoker\InvokerDefault->dispatch(Array, Object(Magento\Framework\Event\Observer))
#12 /.../public_html/generated/code/Magento/Framework/Event/Manager/Proxy.php(95): Magento\Framework\Event\Manager->dispatch('sales_order_pla...', Array)
#13 /.../public_html/vendor/magento/module-sales/Model/Order.php(1215): Magento\Framework\Event\Manager\Proxy->dispatch('sales_order_pla...', Array)
#14 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Sales\Model\Order->place()
#15 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Sales\Model\Order\Interceptor->___callParent('place', Array)
#16 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Model\Order\Interceptor->Magento\Framework\Interception\{closure}()
#17 /.../public_html/generated/code/Magento/Sales/Model/Order/Interceptor.php(32): Magento\Sales\Model\Order\Interceptor->___callPlugins('place', Array, Array)
#18 /.../public_html/vendor/magento/module-sales/Model/Service/OrderService.php(209): Magento\Sales\Model\Order\Interceptor->place()
#19 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Sales\Model\Service\OrderService->place(Object(Magento\Sales\Model\Order\Interceptor))
#20 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Sales\Model\Service\OrderService\Interceptor->___callParent('place', Array)
#21 /.../public_html/vendor/xtento/orderexport/Plugin/OrderServicePlugin.php(46): Magento\Sales\Model\Service\OrderService\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Sales\Model\Order\Interceptor))
#22 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(135): Xtento\OrderExport\Plugin\OrderServicePlugin->aroundPlace(Object(Magento\Sales\Model\Service\OrderService\Interceptor), Object(Closure), Object(Magento\Sales\Model\Order\Interceptor))
#23 /.../public_html/vendor/magento/module-inventory-sales/Plugin/Sales/OrderManagement/AppendReservationsAfterOrderPlacementPlugin.php(195): Magento\Sales\Model\Service\OrderService\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Sales\Model\Order\Interceptor))
#24 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\InventorySales\Plugin\Sales\OrderManagement\AppendReservationsAfterOrderPlacementPlugin->aroundPlace(Object(Magento\Sales\Model\Service\OrderService\Interceptor), Object(Closure), Object(Magento\Sales\Model\Order\Interceptor))
#25 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Model\Service\OrderService\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Sales\Model\Order\Interceptor))
#26 /.../public_html/generated/code/Magento/Sales/Model/Service/OrderService/Interceptor.php(32): Magento\Sales\Model\Service\OrderService\Interceptor->___callPlugins('place', Array, NULL)
#27 /.../public_html/vendor/magento/module-quote/Model/QuoteManagement.php(575): Magento\Sales\Model\Service\OrderService\Interceptor->place(Object(Magento\Sales\Model\Order\Interceptor))
#28 /.../public_html/vendor/magento/module-quote/Model/QuoteManagement.php(456): Magento\Quote\Model\QuoteManagement->submitQuote(Object(Magento\Quote\Model\Quote\Interceptor), Array)
#29 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Quote\Model\QuoteManagement->submit(Object(Magento\Quote\Model\Quote\Interceptor))
#30 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Quote\Model\QuoteManagement\Interceptor->___callParent('submit', Array)
#31 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Quote\Model\QuoteManagement\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Quote\Model\Quote\Interceptor))
#32 /.../public_html/generated/code/Magento/Quote/Model/QuoteManagement/Interceptor.php(23): Magento\Quote\Model\QuoteManagement\Interceptor->___callPlugins('submit', Array, Array)
#33 /.../public_html/vendor/magento/module-quote/Model/QuoteManagement.php(414): Magento\Quote\Model\QuoteManagement\Interceptor->submit(Object(Magento\Quote\Model\Quote\Interceptor))
#34 /.../public_html/vendor/magento/module-checkout/Model/PaymentInformationManagement.php(125): Magento\Quote\Model\QuoteManagement->placeOrder(65090)
#35 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Checkout\Model\PaymentInformationManagement->savePaymentInformationAndPlaceOrder(65090, Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address\Interceptor))
#36 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callParent('savePaymentInfo...', Array)
#37 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->Magento\Framework\Interception\{closure}(65090, Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address\Interceptor))
#38 /.../public_html/generated/code/Magento/Checkout/Model/PaymentInformationManagement/Interceptor.php(23): Magento\Checkout\Model\PaymentInformationManagement\Interceptor->___callPlugins('savePaymentInfo...', Array, Array)
#39 [internal function]: Magento\Checkout\Model\PaymentInformationManagement\Interceptor->savePaymentInformationAndPlaceOrder(65090, Object(Magento\Quote\Model\Quote\Payment\Interceptor), Object(Magento\Quote\Model\Quote\Address\Interceptor))
#40 /.../public_html/vendor/magento/module-webapi/Controller/Rest/SynchronousRequestProcessor.php(95): call_user_func_array(Array, Array)
#41 /.../public_html/vendor/magento/module-webapi/Controller/Rest.php(188): Magento\Webapi\Controller\Rest\SynchronousRequestProcessor->process(Object(Magento\Framework\Webapi\Rest\Request\Proxy))
#42 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Webapi\Controller\Rest->dispatch(Object(Magento\Framework\App\Request\Http))
#43 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Webapi\Controller\Rest\Interceptor->___callParent('dispatch', Array)
#44 /.../public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Webapi\Controller\Rest\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#45 /.../public_html/generated/code/Magento/Webapi/Controller/Rest/Interceptor.php(23): Magento\Webapi\Controller\Rest\Interceptor->___callPlugins('dispatch', Array, Array)
#46 /.../public_html/vendor/magento/framework/App/Http.php(116): Magento\Webapi\Controller\Rest\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#47 /.../public_html/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch()
#48 /.../public_html/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch()
#49 /.../public_html/pub/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#50 {main} [] []

Frustratingly it doesn't do this consistently - perhaps one in twenty transactions or so. The result is that the customer sees an error along the lines of the order wasn't successful, but in reality the payment was successful and appears in the quote_payment table but the above presumably breaks the sales order creation and the result is a "ghost" order.

Is this a bug with the Eway extension? Any advice appreciated.

Cheers
John

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant