Skip to content

Quickstart

A checkout system can quickly evolve into a complex ecosystem where everything converges. Our challenge was to offer a platform flexible enough to meet all the typical expectations of a checkout system while also accommodating as many requirements and desires as possible. The key challenge is finding the sweet spot between complexity and simplicity to create developer happiness while allowing for the construction of any desired checkout.

Prior knowledge

Working with Hyvä Checkout assumes familiarity with the following aspects of Magento development:

  • Layout XML and *.phtml template files
  • Block classes
  • PHP ViewModels
  • Magewire

Key Awareness Points

  1. Hyvä Checkout is essentially an empty shell filled with components that operate independently of each other. This design choice prioritizes flexibility, allowing components to be displayed at any desired step as long as they operate independently.

  2. Payment methods may not always appear on the same step as the "Place Order" button, unlike in the Luma checkout, for example. It is considered bad practice to assume it will. Therefore, we always recommend testing your payment method on a step that precedes another step.

  3. You can make the checkout as complex as you want. Depending on the task, our APIs serve as extensions of your toolkit and primarily help simplify the necessary complexity. Understanding key concepts such as Magewire and the Evaluation API is therefore important.

  4. Certain concepts can appear in various contexts. For example, consider the Evaluation API, originally intended for Magewire driven components, but also extended to the Place Order Service API because of its power and flexibility.

  5. Many of the new concepts we have introduced may initially seem complex, but they are fundamentally based on foundational knowledge you already have when working with Magento and/or Magewire. From the inception of building this new checkout, our goal has been to stay as close as possible to these fundamentals.