Skip to content

[Bug] Adyen Hyvä Checkout overrides central Hyvä payment method list instead of injecting child blocks #136

@modryk

Description

@modryk

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions