Checkout trotz leerem Warenkorb möglich (+PayPal - Amount cannot be zero)

Hallo zusammen,

wenn man NICHT den Offcanvas Warenkorb nutzt, ist es sehr leicht möglich, mit leerem Warenkorb in den Checkout zu gelangen.
Man braucht nur über den (leeren!) Warenkorb-Button fahren und dann auf den “Zur Kasse” Button klicken. Wenn man breits angemeldet ist, erfolgt die Weiterleitung auf /checkout/shippingPayment sofort, sonst nach Anmeldung.
Unter /checkout/shippingPayment kann man dann fröhlich Zahlarten und Versandarten auswählen. Alles mit Gesamtsumme 0 Euro und leerem Warenkorb.

Ich denke, hier sollte vorher geprüft werden, ob sich überhaupt Artikel im Warenkorb befinden. Zusätzlich frage ich mich, warum der Button “Zur Kasse” überhaupt angezeigt wird, solange der Warenkorb leer ist?
Ich verstehe, das manch einer den Checkout mit Gesamtsumme 0 Euro braucht, aber ein Artikel sollte doch schon im Warenkorb liegen?

Das ganze kann man auch im Demoshop nachstellen. Da dort der Offcanvas Warenkorb verwendet wird, braucht es einen kleinen Umweg:
Im Shop registrieren, den Warenkorb leer lassen und manuell die URL https://www.shopwaredemo.de/checkout/shippingPayment aufrufen.

Im Offcanvas Warenkorb linkt der “Zur Kasse”-Button übrigens auf /checkout/confirm - Hier wird ein leerer Warenkorb korrekt abgefangen.

Und noch eine Zusatzinfo für alle die mit der PayPal - Amount can not be zero - Fehlermeldung kämpfen:
Der Aufruf von /checkout/shippingPayment mit leerem Warenkorb erzeugt bei mir reproduzierbar den Amount-Zero Eintrag im Plugin-Log.
Es scheint also, dass der Fehler gar nicht beim Bezahlen mit PayPal entsteht, sondern früher, beim Laden der Seite mit der Zahlartauswahl.

Ticket dazu: Shopware Issuetracker

schön, dass wir drüber gesprochen haben