Een standaard Magento Luma-checkout laadt 2,5 MB aan JavaScript voordat een klant zijn e-mailadres kan typen. Hyvä Checkout doet hetzelfde met minder dan 100 KB. Dat verschil is geen detail.
Hyvä Checkout: de complete implementatiegids
Een standaard Magento Luma-checkout laadt 2,5 MB aan JavaScript voordat een klant zijn e-mailadres kan typen. Hyvä Checkout doet hetzelfde met minder dan 100 KB. Dat verschil is geen detail. Het is het verschil tussen een klant die afrekent en een klant die wegklikt.
Maar Hyvä Checkout is niet zomaar een sneller thema. Het is een aparte module, met een eigen licentie, een eigen architectuur en een eigen manier van customizen. Wie het behandelt als "Hyvä maar dan voor de checkout" loopt vast. In deze gids leggen we uit hoe het werkt, wat het kost, hoe je het uitbreidt en wat het oplevert.
Waarom de Luma-checkout een probleem is
De Luma-checkout draait op Knockout.js en UI Components. Die stack stamt uit 2015. Elke stap van de checkout bouwt een complexe client-side state op via JavaScript. Het resultaat:
- Trage initial load. De checkout wacht op tientallen JS-bundles voordat er iets zichtbaar is.
- Onvoorspelbaar gedrag. Knockout-bindings breken bij elke kleine aanpassing.
- Moeilijk te debuggen. Een fout in één UI Component kan de hele checkout slopen.
Wij zien bij klanten dat de checkout vaak de traagste pagina van de hele shop is. Juist daar, op het moment dat de klant geld wil uitgeven, telt elke milliseconde. Meer over de bredere performancekloof lees je in onze vergelijking tussen Hyvä en Luma.
De architectuur: Magewire en Alpine.js
Hyvä Checkout draait op een fundamenteel andere stack. Twee technologieën doen het werk: Alpine.js voor de client-side interactie en Magewire voor de server-side logica.
Alpine.js voor de frontend
Alpine is een lichte JavaScript-library (ongeveer 15 KB). Je schrijft het gedrag direct in je HTML met x-data, x-model en x-show. Geen build-step, geen virtuele DOM, geen zware framework-overhead. Dit is dezelfde aanpak die het hele Hyvä-thema snel maakt.
Magewire voor de backend
Magewire is de Magento-port van Laravel Livewire. Dit is de kern van waarom Hyvä Checkout anders werkt dan alles ervoor.
Met Magewire blijft je logica in PHP. Een component is een PHP-class met properties en methods. Wanneer een klant een veld invult, stuurt Magewire alleen de gewijzigde data naar de server. De server rendert het component opnieuw en stuurt alleen het verschil terug.
class ShippingAddress extends Component
{
public ?string $postcode = null;
public ?string $housenumber = null;
public function updatedPostcode($value): void
{
// Postcode-API call, server-side
$this->resolveAddress();
}
}
Het voordeel: je hoeft geen complexe JavaScript te schrijven om de checkout-state te beheren. Je werkt in PHP, met types, met de Magento service contracts die je al kent. Dat verlaagt de drempel voor onderhoud aanzienlijk.
Wat dit betekent voor de praktijk
- Minder JavaScript. De checkout stuurt geen megabytes aan bundles meer.
- Server-side validatie standaard. De logica zit op de server, dus je validatie ook.
- Voorspelbaar. Geen Knockout-bindings die stilletjes breken.
Het nadeel: elke interactie kan een server-roundtrip vergen. Bij een trage backend of slechte caching merk je dat. De winst van Hyvä Checkout valt of staat dus met een goed afgestelde server.
De aparte licentie: dit moet je weten
Hyvä Checkout zit niet in de standaard Hyvä-themalicentie. Het is een los product met een eigen prijs. Dit verrast veel webshopeigenaren.
| Product | Licentie | Wat je krijgt |
|---|---|---|
| Hyvä Theme | Eenmalig per project | Het frontend-thema |
| Hyvä Checkout | Aparte, jaarlijkse licentie | De checkout-module |
| Hyvä UI / Compat modules | Wisselend | Extensie-compatibiliteit |
Praktische gevolgen:
- Je hebt beide licenties nodig voor een volledige Hyvä-shop met Hyvä Checkout.
- De checkout-licentie is doorgaans een jaarlijks abonnement, geen eenmalige aankoop.
- Zonder geldige licentie krijg je geen updates en geen support.
Wij adviseren altijd om dit vooraf in de begroting mee te nemen. Een shop bouwen op het Hyvä-thema en dan pas ontdekken dat de checkout extra kost, leidt tot vervelende gesprekken. Twijfel je of Hyvä Checkout past binnen je budget en roadmap? Neem contact op, dan rekenen we het concreet door.
Customization: zo pas je de checkout aan
Customizen in Hyvä Checkout verloopt via drie hoofdwegen: layout XML, magewire-components en Alpine.
1. Stappen en velden via Magewire
Wil je een veld toevoegen, een stap herordenen of een validatieregel toevoegen? Dan maak je een eigen Magewire-component of override je een bestaande. Omdat dit PHP is, gebruik je gewoon dependency injection en plugins.
2. Layout en blokken
De checkout is opgebouwd uit blokken die je via checkout_index_index.xml kunt herschikken. Je kunt blokken verplaatsen, verbergen of vervangen zonder de core aan te raken.
3. Styling met Tailwind
De checkout gebruikt dezelfde Tailwind-config als het thema. Je styling blijft consistent met de rest van de shop. Geen aparte CSS-stack voor de checkout.
Een veelgemaakte fout: developers proberen Knockout-patronen toe te passen of grijpen naar zware JavaScript-frameworks. Dat werkt niet en is niet nodig. Houd het bij Magewire en Alpine, dan blijft de checkout snel en onderhoudbaar.
Payment-integraties
Payment is waar de meeste implementaties tijd kosten. Niet elke payment-extensie ondersteunt Hyvä Checkout out-of-the-box. Je hebt drie scenario's:
- Native Hyvä Checkout-support. Steeds meer PSP's (Mollie, Adyen, Buckaroo, MultiSafepay) leveren een Magewire-compatibele integratie. Dit is de makkelijkste route.
- Compat-module. Voor extensies zonder native support is er soms een community- of Hyvä-compatibiliteitslaag.
- Maatwerk. Heeft je PSP niets? Dan bouw je een eigen payment-component.
Let op de redirect- en hosted-payment-pages. Methodes zoals iDEAL of creditcard via een externe pagina vergen extra aandacht in de Magewire-flow, omdat de state na terugkomst correct hersteld moet worden. Wij testen dit altijd met echte transacties in een sandbox, niet alleen met de happy path.
Een concreet advies: controleer vóór de start welke payment-methodes je nodig hebt en of die Hyvä Checkout ondersteunen. Dit is de grootste bron van vertraging in projecten die wij overnemen.
Shipping-integraties
Voor shipping geldt hetzelfde principe als voor payment. Standaard shipping-methodes werken direct. Het wordt complexer bij:
- Pickup points. DHL-, PostNL- of DPD-pakketpuntselectie vergt een eigen Magewire-component met een kaart of lijst.
- Dynamische tarieven. Real-time carrier-rates die afhangen van het adres lopen via een server-roundtrip; let op de performance.
- Levertijd-indicaties. Een datumkiezer of bezorgmoment bouw je met Alpine voor de UI en Magewire voor de validatie.
De architectuur leent zich hier goed voor. Omdat adresvalidatie en tariefberekening server-side gebeuren, houd je de logica op één plek. Dat is een verbetering ten opzichte van Luma, waar shipping-logica versnipperd raakte over JavaScript en PHP.
De conversie-impact
Snelheid en conversie hangen samen, maar Hyvä Checkout levert meer dan alleen snelheid. De winst zit in drie lagen.
Laag 1: Snelheid. Een lichtere checkout laadt sneller. Minder wachttijd betekent minder afhakers op het beslissende moment. Laag 2: Minder fouten. Server-side validatie en een voorspelbare state betekenen minder vastlopers. Een checkout die niet crasht, converteert beter dan een snelle die soms breekt. Laag 3: Betere UX. Omdat customization eenvoudiger is, kun je sneller itereren op de UX. Een veld minder, een duidelijkere foutmelding, een betere mobiele flow.Wij willen hier eerlijk zijn: Hyvä Checkout is geen toverstaf. Een trage server of een slecht geconfigureerde cache maakt elk voordeel ongedaan. En als je checkout al supersnel is met een goede third-party oplossing, is de winst kleiner. De diepere conversie-analyse hebben we los uitgewerkt in Hyvä Checkout vs Luma: de conversie-impact.
Wanneer Hyvä Checkout NIET de juiste keuze is
Niet elke shop heeft Hyvä Checkout nodig. Wees kritisch in deze gevallen:
- Je draait nog volledig op Luma. Eerst migreer je naar het Hyvä-thema, daarna kijk je naar de checkout. Andersom werkt niet goed.
- Je hebt een zeer specifieke third-party checkout die diep verweven is met je business (bijvoorbeeld een B2B-checkout met complexe goedkeuringsflows). Migreren kan dan duurder zijn dan de winst.
- Je budget is krap. De aparte licentie plus implementatie is een reële investering. Reken eerst de ROI door.
Een eerlijke afweging vooraf voorkomt een dure correctie achteraf.
Het implementatietraject
Een typische implementatie verloopt bij ons in vijf fasen:
- Inventarisatie. Welke payment- en shipping-methodes, welke custom velden, welke extensies?
- Licentie en setup. Beide licenties regelen, module installeren, base-config.
- Integraties. Payment en shipping aansluiten en testen met echte transacties.
- Customization. Velden, stappen en styling naar de eisen van de shop.
- Testen en live. End-to-end testen op mobiel en desktop, daarna gecontroleerd uitrollen.
De grootste tijdsposten zijn payment-integraties en het testen van edge cases. Reken niet op een weekendklus. Een degelijke implementatie kost serieuze ontwikkeltijd, maar betaalt zich terug in conversie en onderhoudbaarheid.
Wil je weten of dit traject past bij jouw shop? Onze senior developers kijken graag mee. Plan een gesprek en we zijn eerlijk over wat het oplevert. Meer achtergrond over onze Hyvä-aanpak vind je op onze Hyvä-partnerpagina.
Veelgestelde vragen
Heb ik een aparte licentie nodig voor Hyvä Checkout?
Ja. Hyvä Checkout zit niet in de standaard Hyvä-themalicentie. Het is een los product met een eigen, doorgaans jaarlijkse, licentie. Voor een volledige Hyvä-shop met Hyvä Checkout heb je beide licenties nodig. Neem dit vanaf het begin mee in je budget.
Wat is het verschil tussen Magewire en Alpine.js in Hyvä Checkout?
Alpine.js regelt de lichte client-side interactie direct in de HTML. Magewire (de Magento-port van Laravel Livewire) houdt de logica server-side in PHP. Samen zorgen ze ervoor dat je weinig JavaScript hoeft te schrijven en je checkout-logica in PHP onderhoudt.
Werken mijn huidige payment-extensies met Hyvä Checkout?
Niet automatisch. Grote PSP's zoals Mollie, Adyen, Buckaroo en MultiSafepay leveren native support. Andere extensies hebben een compat-module nodig of vergen maatwerk. Controleer dit altijd vóór de start, want het is de grootste bron van projectvertraging.
Is Hyvä Checkout sneller dan de Luma-checkout?
Ja, aanzienlijk. Waar Luma megabytes aan JavaScript laadt, blijft Hyvä Checkout onder de 100 KB. Maar de winst staat of valt met een goed afgestelde server, omdat Magewire met server-roundtrips werkt. Een trage backend ondergraaft het voordeel.
Kan ik Hyvä Checkout gebruiken zonder het Hyvä-thema?
In de praktijk niet aan te raden. De checkout deelt de Tailwind-config en de Alpine-aanpak met het thema. Eerst migreer je je shop naar het Hyvä-thema, daarna implementeer je de checkout. De omgekeerde volgorde leidt tot problemen.

Geschreven door Ruthger Idema
15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.
Meer over ons team →