Mollie-Fehlzahlung-Weiterleitungen im Hyvä Checkout reparieren
Mollie für Magento 2 hat eine Admin-Einstellung: Den Nutzer weiterleiten, wenn eine Transaktion fehlschlägt. Konfigurierbar auf Warenkorb, Versandschritt oder Zahlungsschritt.
Mit Hyvä Checkout funktioniert das nicht korrekt.
Warum
Das Basismodul mollie/magento2 baut Weiterleitungs-URLs mit hash-basiertem Routing:
- Versand:
/checkout/ - Zahlung:
/checkout/#payment
Das funktioniert für Magento’s Standard-Luma-Checkout, der #shipping und #payment als Hash-Fragmente für die Navigation verwendet.
Hyvä Checkout verwendet URL-basierte Schritt-Navigation:
- Versand:
/checkout/index/index/step/shipping/ - Zahlung:
/checkout/index/index/step/payment/
Das Hash-Fragment wird vollständig ignoriert. Kunden, die nach einer fehlgeschlagenen Mollie-Zahlung zurückgeleitet werden, landen immer auf dem ersten Checkout-Schritt, egal was die Admin-Einstellung sagt. Wer gerade beim Zahlungsschritt war, muss jetzt durch den Versandschritt navigieren — oder bricht ab.
Die Lösung
Mein PR fügt ein after-Plugin auf MolliePaymentServiceOrderRedirectOnError::getUrl() im Frontend-Scope hinzu. Es erkennt die hash-basierten URLs und ersetzt sie durch die korrekten Hyvä-Checkout-Schritt-URLs:
| Konfigurationswert | Vorher | Nachher |
|---|---|---|
| Weiterleitung zu Versand | /checkout/ |
/checkout/index/index/step/shipping/ |
| Weiterleitung zu Zahlung | /checkout/#payment |
/checkout/index/index/step/payment/ |
| Weiterleitung zu Warenkorb | /checkout/cart |
/checkout/cart (unverändert) |
Da das Plugin im Hyvä-Kompatibilitätsmodul liegt, wird es nur aktiviert, wenn Hyvä Checkout installiert ist. Der Standard-Magento-Checkout bleibt vollständig unberührt.
Warum das relevant ist
Fehlgeschlagene Zahlungen gehören zum normalen E-Commerce-Betrieb: Karten-Ablehnungen, 3DS-Timeouts, Bank-Fehler. Was zählt, ist wie reibungslos der Kunde zurückfindet. Wer nach einer fehlgeschlagenen Zahlung seine Versanddaten neu eingeben muss, weil er auf dem falschen Schritt gelandet ist, bricht die Bestellung bei einem nennenswerten Anteil der Fälle ab. Bei hochpreisigen Bestellungen wird das Checkout-Erlebnis genauer unter die Lupe genommen.
Aktueller Status
Der PR ist offen und wartet auf Review durch das Mollie-Team. PR #81 im offiziellen Repository. Wer Hyvä Checkout mit Mollie betreibt und dieses Problem hat, kann den Fix aus dem PR-Branch bereits jetzt anwenden, ohne auf den Merge warten zu müssen.
Fixes upstream beizutragen lohnt sich für alle, die denselben Stack betreiben. Wer Magento- oder Hyvä-Probleme hat, kann mich gerne kontaktieren — ich habe vielleicht bereits eine Lösung oder kann eine bauen.