Why another checkout?

An obvious first question is: Why build another checkout? First of all, we personally believe that - while explaining this - we can drop any Luma-based checkout out there: The performance is bad under Luma, customizing things is often bad and the used technology (KnockoutJS, RequireJS, jQuery) is outdated.

So when this question is raised, the actual question could be Why an alternative to the Hyvä Checkout?

Because it is healthy to compete

It is healthy to have more options in the market. As mentioned above, we believe that any checkout on the outdated stack of Luma is outdated itself by definition. Because of this, the market is currently being ruled by either the Hyvä Checkout or custom solutions.

Because Magewire allows to build so many wonderful things already, we saw it as a mission to build a checkout based on Magewire, without using any of the parts of the Hyvä Checkout. This was - at first - primarily meant for our own Yireo shop. But then, as things grew more interesting and more complex, we discovered that it was ready to compete. It happened.

In a later stage, Magewire was swapped out for a new custom technology called Loki Components. The main reason was to allow for simplicity (dropping a rather large Magewire PHP and JS library) and to allow for renewing numerous other components with a single HTTP request.

Feature comparison of the Hyvä Checkout

As of yet, we refrain from making a comparison between the Loki Checkout and the Hyvä Checkout. Instead, we'll do our best here to document all existing and upcoming features of the Loki Checkout. And we'll leave it to third parties to make the actual comparison.

Suggestions while comparing checkouts

We believe that it is a task for agencies, system integrators, third party developers and merchants to make the right comparisons between checkouts. However, to help out a bit, here are some points that we would suggest you focus on:

Comparison of real-life demos

  • Review the general performance of the page: How much JS is loaded, how much CSS is loaded? How long does the page take to load?
  • Change the country field (which should trigger a change in the region and possibly other fields) and monitor the AJAX reloads. Measure how long it takes. Check what parts of the page required refreshing.
  • Change a shipping method and/or a payment method. How long does it take to refresh all parts of the page?
  • Check for validation of fields - email, postcode, VAT ID. Is it happening only server-side, only client-side, or on both sides?

Comparison of features

  • How many shipping methods and payment methods are supported out-of-the-box? Which ones do you need?
  • How easy do developers find it to add new features? For instance, adding a new EAV field to an address, adding an Extension Attribute, adding a new step, swapping steps.
Last modified: January 8, 2025