Geoblocking war: Deadlock: Gastbestellung

Basierend auf derDiskussion zum “Geoblocking” habe ich gerade in meinem Testshop rumgespielt.
Ziel:

1) “Registrierung” ausser Deutschland ein weiteres Land - testweise Österreich.
2) Versand aber nur innerhalb Deutschland, Kunde muss also eine Deutsche Lieferadresse angeben, sonst keine Versandart (Expliziet in der Verordnung so vorgesehen)

Warenkorb => Kasse => Gastkonto => Adresse in Österreich - keine abweichende Lieferanschrift angegeben.
Nächster schritt Zahlart, es wird aber die fehlende Versandart angemeckert. Hier gehts es eigentlich nur noch wieder auf Zahlart (Schleife) oder zurück in den Shop.

Ich gehe zurück in den Shop und dann in den Warenkorb.
Nun ist Gastkonto ja angelegt… und ich komme im Warenkorb nicht mehr weiter. “Zur Kasse” ist ausgegraut.
An der Stelle kann ich nun keine abweichende (deutsche) Lieferanschrift eingeben.
“Mein Konto” bietet nur “Gastsitzung beenden” an.

=> *DEADLOCK*

  1. Kunde ist weg
  2. Verstoß gegen diese gruselige “Geo Blocking”-Verordnung, da ich ja *technisch* “Ausländer” nicht diskriminieren darf.

Hier fehlt die Möglichkeit, nachträglich die Lieferanschrift noch anzupassen!

SW 5.5.1
 

Schau ich mir morgen mal an.
Das Problem ist wohl, dass du „Bestellung bei keiner verfügbaren Versandart blockieren“ aktiv hast, dann wird „Zur Kasse“ glaube ich ausgeblendet, wenn es keine Versandart gibt. Teste ich aber morgen mal.

Müsste ich nachgucken, wäre aber auch Sinn der Sache.

Es soll ja so sein, dass ich auch “ausländische” Registrierungen/Rechnungsadressen zulassen,den Auslandversand aber nicht anbieten muss. Den Versand an eine inländische  (oder im “Liefergebiet”) Adresse muss dann aber angeboten werden, damit sich “Kunde” einen Weitertransport selber organisieren kann. Da muss es ja geblockt werden. Wahlweise wäre noch “Selbstabholung” möglich, was aber nicht sein muss - und wir auch nicht wollen, weil dass ja dann auch den inländischen - lokalen Kunden - angeboten werden muss.

Ist jetzt (noch) nicht akut - aber könnte am 03.12.2018 zum Problem werden. War nur ein Ergebnis einer zielgerichteten Spielerei.  Wearing-Sunglasses
Super wäre eine Option oder ein Plugin, das dann, wenn für das “Rechnungsland” ein Land ausserhalb des “Liefergebiet” eingeben wurde, zwingend eine Lieferadresse im “Liefergebiet” eingegeben werden muss  Wink

Zumindest müsste der “Gastbesteller” noch nachträglich eine Lieferadresse angeben können.

Ich hab mir das mal angesehen. Also es liegt wirklich an der Sperrung durch “Versandart bei keiner verfügbaren Versandart blockieren”. Das einfachste wäre wohl die Abfrage einfach aus dem Off-Canvas zu entfernen, denn dort macht es denke ich auch nicht so viel Sinn.

Datei: /frontend/checkout/ajax_cart.tpl

{extends file="parent:frontend/checkout/ajax_cart.tpl"}

    {block name='frontend_checkout_ajax_cart_open_checkout'}
        {block name='frontend_checkout_ajax_cart_open_checkout_inner'}
            
                
                {s name='AjaxCartLinkConfirm'}{/s}
            
        {/block}
        {block name='frontend_checkout_ajax_cart_open_basket'}
            
                
                {s name='AjaxCartLinkBasket'}{/s}
            
        {/block}
    {/block}

Danach kann man halt immer “Zur Kasse” gehen und dort auch seine Adresse ändern. Ich hab da einfach das IF-Statement entfernt: shopware/ajax_cart.tpl at 5.5 · shopware/shopware · GitHub

1 „Gefällt mir“

THX
Aber das wäre ja nur Ajax-Cart?
Ich komme ja als Gast auch im „echten“ Warenkorb nicht weiter - muss ich mal gucken, ob da auch so ein IF schlummert, und was passiert, wenn ich das änder  Wearing-Sunglasses


Werde ich mir nächste Woche mal genauer angucken

Ich denke aber, da müsst Ihr Euch von Shopware generell auch Gedanken zu machen, wenn Ihr SW EU-weit als „rechtssicher“ vermarkten wollt.

Ist ja nicht nur ein „Gastbesteller“-Problem :slight_smile:

  1. Ich MUSS zukünftig Bestellungen aus der ganzen EU annehmen - das ist so eindeutig formuliert  Angry-Face
  2. Ich MUSS mein „Liefergebiet“ benennen - in meinem Fall wäre das „Liefergebiet“ eben nur „Deutschland“.
  3. aus 1) muss ich jedem Besteller die Lieferung an beliebige Adresse im „Liefergebiet“ ermöglichen - ist auch eindeutig formuliert.

Also würde es Sinn machen, dass die „Lieferadresse“ sich eben nicht aus dem Länderpool (Dropdown) speist, sondern aus einer neuen, gesonderten Liste: „Liefergebiet“.

Sicher - wenn ich den „Deadlock“ umgehen kann, wären wir schon einen Schritt weiter, aber dem „Diskriminierungsverbot“ durch „technische Einrichtungen“ wird das nicht gerecht.

Das Sahnehäubchen wäre natürlich, wenn bei „Adresse nicht aus Liefergebiet“ der Shop sofort zwingend die Eingabe eine Lieferadresse aus dem „Liefergebiet“ erzwingen würde.

Mir brennt es jetzt nicht unter den Nägeln, sind ja (nur) noch zwei Monate, bis die Eurokraten wieder die nächste Abmahnwelle starten (steht auch so im Gesetz: kann durch Abmahnung nach nationalem Recht durchgesetzt werden).

Danke erstmal, für Deine Rückmeldung  Thumb-Up

https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32018R0302

Würde dann ja theoretisch erstmal reichen, wenn ich pro Land definieren kann, ob es als Rechnungsland und Lieferland gewählt werden kann. So könnte man die Dropdowns ja unabhängig aussteuern und auch direkt eine falsche Auswahl umgehen.

Blöd wird es dann nur, wenn initial keine abweichende Lieferadresse angegeben wird, dann müsste man im Checkout wieder drauf hinweisen, dass die Lieferadresse invalide ist. Ich hab dazu mal ein Ticket aufgemacht: Shopware Issuetracker

2 „Gefällt mir“

Supi!

Edit:
Nachtrag:
Die Deadlock-Problematik ist natürlich auch ohne “EU” eigentlich heute schon ein Problem, wenn ich z.B. nicht nach Helgoland (Bsp.) liefer.
Auch hier kann der Gast nichts mehr ändern  Wink

Ich hab mich mal etwas damit beschäftigt. Also Lieferland während der Registrierung einschränken, ist garnicht so viel Aufwand. Das könnte man schon über das Theme machen, wenn man möchte (solange bis wir das im Core können). Ich hab das mal als kleines Plugin umgesetzt: GitHub - mnaczenski/MNRestrictShipping
Das Attribut der Countries ist schon im Frontend verfügbar und muss nur noch ausgewertet werden. Habe jetzt mal eines angelegt “Als Lieferadresse ausblenden”.

Die Tage erweitere ich das noch um die anderen Views wie account und checkout. Da wird es auch allgemein schwieriger, da die Adessen hier nicht mehr explizit “Lieferadressen” sind. Aber ich schau mal, was sich da machen lässt.

EDIT: Funktioniert jetzt auch im Account und im Checkout. Allerdings nur, wenn die Lieferadresse editiert wird. Aktuell ist es noch möglich eine andere Adresse als Lieferadresse zu setzen, die ein ungültiges Land hat.

*Schubs*
Ist Shopware bei dem Thema schon etwas weiter gekommen?
Ist ja nur noch knapp ein Monat, und dazu aus dem heutigem Newsletter vom Händlerbund - Geoblocking => AGB:

Zum Beispiel: Jesse aus Holland möchte einen Kühlschrank in einem deutschen Online-Shop bestellen. Um den Versand brauch er sich keine Sorgen machen, da der Shop auch eine Abholung im Lager anbietet. Leider kann er die Bestellung aber nicht abschließen: Bei der Eingabe der Rechnungsadresse ist es ihm nicht möglich, eine holländische Adresse anzugeben. Es besteht lediglich die Möglichkeit, Deutschland auszuwählen.

Dabei handelt es sich gemäß der Geoblocking-Verordnung um eine herkunftsbezogene Diskriminierung. In der Praxis müssen Händler also darauf achten, dass Kunden in der EU ihre Adresse in die Buchungsmaske eintragen können. Zwar sind Händler nicht verpflichtet, in jedes Land zu liefern (wir berichteten), allerdings muss auf der Rechnung die Anschrift des Käufers stehen.

Spannend sind dazu dann ja auch die Fragen: Wie verhalten sich die Zahlungsplugins von PayPal und Amazon? 

@sonic schrieb:

*Schubs*
Ist Shopware bei dem Thema schon etwas weiter gekommen?
Ist ja nur noch knapp ein Monat, und dazu aus dem heutigem Newsletter vom Händlerbund - Geoblocking => AGB:

https://www.onlinehaendler-news.de/recht/gesetze/32640-geoblocking-verordnung-teil-5-benachteiligungsverbot-agb.html

Zum Beispiel: Jesse aus Holland möchte einen Kühlschrank in einem deutschen Online-Shop bestellen. Um den Versand brauch er sich keine Sorgen machen, da der Shop auch eine Abholung im Lager anbietet. Leider kann er die Bestellung aber nicht abschließen: Bei der Eingabe der Rechnungsadresse ist es ihm nicht möglich, eine holländische Adresse anzugeben. Es besteht lediglich die Möglichkeit, Deutschland auszuwählen.

Dabei handelt es sich gemäß der Geoblocking-Verordnung um eine herkunftsbezogene Diskriminierung. In der Praxis müssen Händler also darauf achten, dass Kunden in der EU ihre Adresse in die Buchungsmaske eintragen können. Zwar sind Händler nicht verpflichtet, in jedes Land zu liefern (wir berichteten), allerdings muss auf der Rechnung die Anschrift des Käufers stehen.

Spannend sind dazu dann ja auch die Fragen: Wie verhalten sich die Zahlungsplugins von PayPal und Amazon?  

Das ist soweit schon vorbereitet, hats nur nicht mit in 5.5.2 geschafft, weil das Sicherheitsupdate vor ging.
Es wird wie beschrieben möglich sein, Länder für Lieferadressen zu unterbinden. Bei Express-Checkout würde dann auf der confirm-Seite der Hinweis erscheinen, dass die Adresse geändert werden muss. Es wird also nicht die Anlage des Kunden verboten, sondern nur die Bestellung, mit Hinweis auf Adressänderung.

 

1 „Gefällt mir“

OK - also eine Lösung für 5.5 :slight_smile:
Aber einen Backport oder Plugin für < 5.5 ist nicht vorgesehen? Bei 5.5. habe ich ja nach wie vor das “PayPal”-Problem - auch wenn 1.1.1 im Test läuft… es schnüffelt halt (noch)  Undecided

@Moritz Naczenski schrieb:

Das ist soweit schon vorbereitet, hats nur nicht mit in 5.5.2 geschafft, weil das Sicherheitsupdate vor ging.
Es wird wie beschrieben möglich sein, Länder für Lieferadressen zu unterbinden. Bei Express-Checkout würde dann auf der confirm-Seite der Hinweis erscheinen, dass die Adresse geändert werden muss. Es wird also nicht die Anlage des Kunden verboten, sondern nur die Bestellung, mit Hinweis auf Adressänderung.

 

Man kann ja jetzt schon alle EU Länder aktivieren. Wenn diese nicht im Versandmodul hinterlegt sind, müsste doch eigentlich auch bei PP Express der Hinweis kommen, dass kein Versand zur Verfügung steht und somit nicht bezahlt/gekauft werden kann.

Ja, das ist auch so.

Aber man kann es halt weiterhin auswählen. Die neue Lösung zeigt es dann auch nicht im Dropdown-Menü an, wenn die Lieferadresse geändert wird.

Geht da eher um Customer Experience. Technisch umsetzen kann man das jetzt schon.

Ein Plugin haben wir im Hinterkopf für ältere Versionen.

@artep‍

*Öhm* - Aktuell: ExpressCheckout => Schnellbesteller == Gastbestellung => S.O.: Gast kann aber nicht mehr die Lieferanschrift ändern (oder ist das in 5.5.2 bereits gefixt)
Genau das führt ja zum „Deadlock“ - gut - noch nicht mit 5.5.2 getestet.
Hab es nur mit dem echten „Gast“ unter 5.5.1 getestet, ich gehe aber davon aus, dass Express ein Gast ist, und solange der nicht die Lieferadresse nachträglich ändern kann, ist es für „den Ausländer“ derzeit nicht möglich, via PayPal-Express zu bestellen => und schon hast Du die technische Diskriminierung.
 

@sonic schrieb:

@artep‍

*Öhm* - Aktuell: ExpressCheckout => Schnellbesteller == Gastbestellung => S.O.: Gast kann aber nicht mehr die Lieferanschrift ändern (oder ist das in 5.5.2 bereits gefixt)
Genau das führt ja zum „Deadlock“ - gut - noch nicht mit 5.5.2 getestet.
Hab es nur mit dem echten „Gast“ unter 5.5.1 getestet, ich gehe aber davon aus, dass Express ein Gast ist, und solange der nicht die Lieferadresse nachträglich ändern kann, ist es für „den Ausländer“ derzeit nicht möglich, via PayPal-Express zu bestellen => und schon hast Du die technische Diskriminierung.
 

Naja ändern kann er sie schon, solange er nicht zum Shop zurückgeht. Das kann man ja über eine Anpassung des Buttons „Zur Kasse“ auch ändern (quasi 2 Zeilen im Template). Das wäre zumindest die Lösung für deinen Deadlock - also Einfach immer Zur Kasse erlauben, da er sie da ändern kann. Kann da morgen mal nach einem Beispiel schauen.

Ja - bin derzeit was wirr / durcheinander - ich sollte lieber testen und nicht vermuten *lol*  Wink

@Moritz Naczenski: Wie funktioniert denn dein Plugin von GitHub genau? Ich schalte quasi alle EU-Länder frei, definiere aber nur für Deutschland eine Versandart. Jetzt können sich alle zwar registrieren, aber bestellen können sie nur, wenn sie eine deutsche Lieferadresse angeben? Gibt es dann einen Hinweis für den Kunden?

@W222 schrieb:

@Moritz Naczenski: Wie funktioniert denn dein Plugin von GitHub genau? Ich schalte quasi alle EU-Länder frei, definiere aber nur für Deutschland eine Versandart. Jetzt können sich alle zwar registrieren, aber bestellen können sie nur, wenn sie eine deutsche Lieferadresse angeben? Gibt es dann einen Hinweis für den Kunden?

Das Plugin passt nur die beiden Dropdowns an, mehr nicht. Das ist auch erstmal nur ein Test und keine offizielle Lösung. Wenn man sich registriert kann man die Länder die man dort per Attribut ausgeblendet hat, nicht auswählen und wenn man eine Lieferadresse ändern auch nicht. ’

Das was du oben beschreibst kannst du schon ohne Plugin. Alle Länder freischalten und die Versandart einschränken + „Bestellung bei keiner verfügbaren Versandart blockieren“ in den Grundeinstellungen aktivieren. Dann gibt es dazu im Checkout einen Hinweis den du anpassen kannst. Dann kannst du maximal noch die Buttons anpassen, dass man immer bis zu /checkout/confirm kommt.  Siehe hier: GEO-Blocking - hier Versandkosten - wie regelt Ihr das zukünftig? - #48 von Moritz_Naczenski - Sonstiges - Shopware Community Forum

1 „Gefällt mir“

Ich bin froh, das ihr auch an einer offiziellen Lösung arbeitet  Thumb-Up & es wäre auch wirklich absolut dankenswert, wenn ihr das auch als Plugin für vorherige Versionen bringen würdet.

Also das Plugin wird nicht 1:1 die Lösung wiederspiegeln können, die im Core eingesetzt wird, da hier sicherlich 10-15 Dateien angepasst werden. Ich schau mir die Tage an, wie da eine Lösung für frühere Versionen aussehen wird, prinzipiell aber etwas leichtgewichtiger, da Plugins potentiell natürlich auch schneller Inkompatibilitäten mit anderen Plugins verursachen. Das könnte auch eine Lösung aus Doku und kleinem Plugin sein.

Ich denke eher so:

  • Register-Formular zeigt bei Rechnungsadresse alle Länder an, bei Lieferadresse nur festgelegte
  • Hinweis im Checkout, wenn ausgewähltes Land nicht beliefert wird
  • Schnellbesteller können immer zur Kasse gehen, damit Adresse geändert werden kann