-
Notifications
You must be signed in to change notification settings - Fork 19
Description
In vendor/adyen/module-hyva-checkout/view/frontend/layout/hyva_checkout_components.xml, Adyen replaces the entire checkout.payment.methods block with its own template:
<referenceBlock name="checkout.payment.methods" class="Adyen\Hyva\Block\Template" template="Adyen_Hyva::checkout/payment/method-list.phtml"> ... </referenceBlock>
This template (Adyen_Hyva::checkout/payment/method-list.phtml) loops over all available methods and renders them, not just Adyen methods.
As a result, the central Hyvä Checkout logic (Hyva_Checkout::checkout/payment/method-list.phtml) is skipped, and other payment modules cannot integrate normally.
Expected behavior
Hyva_Checkout::checkout/payment/method-list.phtml should remain the central renderer.
Adyen should dynamically inject its methods as child blocks with alias = payment code (adyen_cc, adyen_ideal, adyen_blik, …).
This could be automated in Adyen\Hyva\Block\Template::_prepareLayout(), which already iterates available Adyen methods and creates blocks.
Magento version
any
Plugin version
1.3.0
Additional context
Why this matters:
Currently Adyen takes ownership of the entire payment method list.
Other payment modules (e.g. PayPal, Braintree, Checkmo) can no longer hook in the way Hyvä Checkout intended.
This breaks separation of concerns and creates maintenance issues.
Suggested fix:
- Keep Hyvä Checkout’s method-list.phtml as the central loop.
- Let Adyen’s block continue to create child blocks dynamically for all supported methods.
- Each child should expose metadata (icon, subtitle, template) via the Hyvä MethodList ViewModel.