wallee-payment / magento-2

Wallee integration for Magento 2.3 and later
https://wallee.com
Apache License 2.0
3 stars 3 forks source link

Class 'Wallee\Sdk\Model\TransactionLineItemUpdateRequest' not found #9

Open ant0x64 opened 2 years ago

ant0x64 commented 2 years ago

After the Wallee Magento Extension has got updated to 1.2.5, on the payment capture action a new issue started appearing during the checkout process:

[2022-08-04 09:58:09] main.CRITICAL: Error: Class 'Wallee\Sdk\Model\TransactionLineItemUpdateRequest' not found in /project/git/vendor/wallee/magento-2/Model/Service/Invoice/TransactionService.php:115
Stack trace:
#0 /project/git/vendor/wallee/magento-2/Model/Service/Invoice/TransactionService.php(133): Wallee\Payment\Model\Service\Invoice\TransactionService->updateLineItems()
#1 /project/git/vendor/wallee/magento-2/Gateway/Command/CaptureCommand.php(77): Wallee\Payment\Model\Service\Invoice\TransactionService->complete()
#2 /project/git/vendor/magento/module-payment/Model/Method/Adapter.php(549): Wallee\Payment\Gateway\Command\CaptureCommand->execute()
#3 /project/git/vendor/magento/module-payment/Model/Method/Adapter.php(464): Magento\Payment\Model\Method\Adapter->executeCommand()
#4 /project/git/vendor/magento/module-sales/Model/Order/Payment/Operations/ProcessInvoiceOperation.php(83): Magento\Payment\Model\Method\Adapter->capture()
#5 /project/git/vendor/magento/module-sales/Model/Order/Payment/Operations/CaptureOperation.php(73): Magento\Sales\Model\Order\Payment\Operations\ProcessInvoiceOperation->execute()
#6 /project/git/vendor/magento/module-sales/Model/Order/Payment/Processor.php(85): Magento\Sales\Model\Order\Payment\Operations\CaptureOperation->capture()
#7 /project/git/vendor/magento/module-sales/Model/Order/Payment.php(488): Magento\Sales\Model\Order\Payment\Processor->capture()
#8 /project/git/vendor/magento/module-sales/Model/Order/Invoice.php(346): Magento\Sales\Model\Order\Payment->capture()
#9 /project/git/vendor/magento/module-sales/Model/Service/InvoiceService.php(101): Magento\Sales\Model\Order\Invoice->capture()
#10 /project/git/generated/code/Magento/Sales/Model/Service/InvoiceService/Interceptor.php(23): Magento\Sales\Model\Service\InvoiceService->setCapture()
#11 /project/git/vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Capture.php(27): Magento\Sales\Model\Service\InvoiceService\Interceptor->setCapture()
#12 /project/git/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture->execute()
#13 /project/git/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->___callParent()
#14 /project/git/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->Magento\Framework\Interception\{closure}()
#15 /project/git/generated/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Capture/Interceptor.php(23): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->___callPlugins()
#16 /project/git/vendor/magento/framework/App/Action/Action.php(111): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->execute()
#17 /project/git/vendor/magento/module-backend/App/AbstractAction.php(151): Magento\Framework\App\Action\Action->dispatch()
#18 /project/git/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Backend\App\AbstractAction->dispatch()
#19 /project/git/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->___callParent()
#20 /project/git/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->Magento\Framework\Interception\{closure}()
#21 /project/git/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch()
#22 /project/git/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->Magento\Framework\Interception\{closure}()
#23 /project/git/generated/code/Magento/Sales/Controller/Adminhtml/Order/Invoice/Capture/Interceptor.php(32): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->___callPlugins()
#24 /project/git/vendor/magento/framework/App/FrontController.php(245): Magento\Sales\Controller\Adminhtml\Order\Invoice\Capture\Interceptor->dispatch()
#25 /project/git/vendor/magento/framework/App/FrontController.php(212): Magento\Framework\App\FrontController->getActionResponse()
#26 /project/git/vendor/magento/framework/App/FrontController.php(147): Magento\Framework\App\FrontController->processRequest()
#27 /project/git/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch()
#28 /project/git/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent()
#29 /project/git/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}()
#30 /project/git/generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->___callPlugins()
#31 /project/git/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch()
#32 /project/git/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch()
#33 /project/git/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch()
#34 /project/git/pub/index.php(31): Magento\Framework\App\Bootstrap->run()
#35 {main} [] []

This class is missing in dependencies and the source of the module. Furthermore, the logic seems to be strange when Paypal payment is handled by the Invoice capture method.

ps. I found this class for the Opencart instance, could you compile it for M2? https://github.com/wallee-payment/OpenCart-2.2/blob/c6551e36151ac8e909d2456ed1e7c10116e987cd/upload/system/library/wallee/wallee-sdk/lib/Model/TransactionLineItemUpdateRequest.php#L35

theodorspringwallee commented 2 years ago

Dear antondkv

Thank you for your important input.

I can confirm, that this class was also removed from a recent PHP SDK version on which our plugins are based on. On v 3.0.1 this class is still available: https://github.com/wallee-payment/php-sdk/tree/3.0.1/lib/Model

I forwarded this information to our plugin team.

We will let you know, when we get further information on this.

Best regards Theodor

theodorspringwallee commented 2 years ago

Dear antondkv

According to our developers, this issue should be fixed now, by downgrading the SDK version back to v3.0.1 for this Magento 2 plugin. So please install the newest plugin version, that this fix will be applied on your side.

Best regards Theodor

theodorspringwallee commented 2 years ago

Dear antondkv

According to our developers, there are still open points to fix. I will let you know, when we have a final solution.

Thank you for your patience.

Best regards Theodor