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

Mollie module breaks the checkout after installation #829

Open
xylodev opened this issue Nov 27, 2024 · 0 comments
Open

Mollie module breaks the checkout after installation #829

xylodev opened this issue Nov 27, 2024 · 0 comments

Comments

@xylodev
Copy link

xylodev commented Nov 27, 2024

Describe the bug
After installing Mollie payment module on Magento it breaks rendering checkout JSON configuration when the API key is not provided, even though the module is disabled in admin.

Used versions

  • Magento Version number(eg 2.3.5): 2.4.7-p3
  • Open source/Enterprise/B2b: Open Source
  • Mollie version number (Check configuration): 2.42.0

To Reproduce
Prerequisites:

  1. Make sure that Mollie is disabled (Stores > Configuration > Mollie > General > Version > Enabled set to No).
  2. Make sure the API keys are empty (Stores > Configuration > Mollie > General > API Details > Test API Key and Live API Key). The admin configuration form implements validation for those fields, so in case they are not empty, they have to be removed from the database directly: DELETE FROM core_config_data WHERE path in ('payment/mollie_general/apikey_test', 'payment/mollie_general/apikey_live'); to mimic vanilla installation.

Steps to reproduce the behavior:

  1. Put any product to the cart.
  2. Go to the checkout.

Expected behavior
The checkout page is rendered and the customer can proceed to the next step.

Actual behavior
The checkout page doesn't render correctly, there's only header and footer, but no content.

Additional context
During rendering the checkout config by Magento\Checkout\Model\CompositeConfigProvider->getConfig() method Mollie module throws an exception, which breaks the whole process. Stack trace:

Exception #0 (Mollie\Api\Exceptions\ApiException): [2024-11-27T10:49:55+0000] Invalid API key: ''. An API key must start with 'test_' or 'live_' and must be at least 30 characters long.

#1 Mollie\Payment\Service\Mollie\MollieApiClient->loadByApiKey() called at [vendor/mollie/magento2/Service/Mollie/MollieApiClient.php:60]
#2 Mollie\Payment\Service\Mollie\MollieApiClient->loadByStore() called at [vendor/mollie/magento2/Model/MollieConfigProvider.php:226]
#3 Mollie\Payment\Model\MollieConfigProvider->getIssuers() called at [vendor/mollie/magento2/Model/MollieConfigProvider.php:180]
#4 Mollie\Payment\Model\MollieConfigProvider->getConfig() called at [vendor/magento/module-checkout/Model/CompositeConfigProvider.php:39]
#5 Magento\Checkout\Model\CompositeConfigProvider->getConfig() called at [vendor/magento/module-checkout/Block/Onepage.php:106]
#6 Magento\Checkout\Block\Onepage->getCheckoutConfig() called at [generated/code/Magento/Checkout/Block/Onepage/Interceptor.php:41]
#7 Magento\Checkout\Block\Onepage\Interceptor->getCheckoutConfig() called at [vendor/magento/module-checkout/Block/Onepage.php:128]
#8 Magento\Checkout\Block\Onepage->getSerializedCheckoutConfig() called at [generated/code/Magento/Checkout/Block/Onepage/Interceptor.php:59]
#9 Magento\Checkout\Block\Onepage\Interceptor->getSerializedCheckoutConfig() called at [vendor/magento/module-checkout/view/frontend/templates/onepage.phtml:27]
#10 include() called at [vendor/magento/framework/View/TemplateEngine/Php.php:67]
#11 Magento\Framework\View\TemplateEngine\Php->render() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#12 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#13 Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#14 Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php:23]
#15 Magento\Framework\View\TemplateEngine\Php\Interceptor->render() called at [vendor/magento/framework/View/Element/Template.php:263]
#16 Magento\Framework\View\Element\Template->fetchView() called at [generated/code/Magento/Checkout/Block/Onepage/Interceptor.php:122]
#17 Magento\Checkout\Block\Onepage\Interceptor->fetchView() called at [vendor/magento/framework/View/Element/Template.php:293]
#18 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1128]
#19 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1132]
#20 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:676]
#21 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [generated/code/Magento/Checkout/Block/Onepage/Interceptor.php:329]
#22 Magento\Checkout\Block\Onepage\Interceptor->toHtml() called at [vendor/magento/framework/View/Layout.php:578]
#23 Magento\Framework\View\Layout->_renderBlock() called at [vendor/magento/framework/View/Layout.php:555]
#24 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#25 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#26 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#27 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#28 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#29 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#30 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#31 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#32 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#33 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#34 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#35 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#36 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#37 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#38 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#39 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#40 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#41 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#42 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#43 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#44 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#45 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#46 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#47 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#48 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#49 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#50 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#51 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#52 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#53 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#54 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#55 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#56 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#57 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:606]
#58 Magento\Framework\View\Layout->_renderContainer() called at [vendor/magento/framework/View/Layout.php:557]
#59 Magento\Framework\View\Layout->renderNonCachedElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:149]
#60 Magento\Framework\View\Layout\Interceptor->renderNonCachedElement() called at [vendor/magento/framework/View/Layout.php:510]
#61 Magento\Framework\View\Layout->renderElement() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:140]
#62 Magento\Framework\View\Layout\Interceptor->renderElement() called at [vendor/magento/framework/View/Layout.php:975]
#63 Magento\Framework\View\Layout->getOutput() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#64 Magento\Framework\View\Layout\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#65 Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#66 Magento\Framework\View\Layout\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:347]
#67 Magento\Framework\View\Layout\Interceptor->getOutput() called at [vendor/magento/framework/View/Result/Page.php:260]
#68 Magento\Framework\View\Result\Page->render() called at [vendor/magento/framework/View/Result/Layout.php:171]
#69 Magento\Framework\View\Result\Layout->renderResult() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#70 Magento\Framework\View\Result\Page\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#71 Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#72 Magento\Framework\View\Result\Page\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/View/Result/Page/Interceptor.php:95]
#73 Magento\Framework\View\Result\Page\Interceptor->renderResult() called at [vendor/magento/framework/App/Http.php:120]
#74 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#75 Magento\Framework\App\Http\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#76 Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-application-performance-monitor/Plugin/ApplicationPerformanceMonitor.php:38]
#77 Magento\ApplicationPerformanceMonitor\Plugin\ApplicationPerformanceMonitor->aroundLaunch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#78 Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/msp/adminrestriction/Plugin/AppInterfacePlugin.php:138]
#79 MSP\AdminRestriction\Plugin\AppInterfacePlugin->aroundLaunch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#80 Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#81 Magento\Framework\App\Http\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#82 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#83 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:107]
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