PayPal Express & PayPal Direkt
Um den Bestellvorgang zu vereinfachen, ist es möglich PayPal Express zu nutzen. PayPal Express bietet Gästen (anonymen Nutzern) die Möglichkeit zu Beginn des Bestellvorgangs Adressdaten von PayPal zu beziehen und seine Zahlung von PayPal autorisieren zu lassen.
Konfiguration
Die Konfiguration verhält sich synchron zur regulären Konfiguration (siehe PayPal & PayPal Plus). Es muss lediglich die Checkbox "PayPal Express aktivieren" gewählt werden.
Verwendung
Die PayPal Express Buttons sind auf folgenden Seiten sichtbar:
Artikeldetailseite (wird als "PayPal Direkt" referenziert)
Bestellvorgang/Checkout: Im "Willkommen"-Tab
Sichtbar sind die Buttons nur unter den folgenden Voraussetzungen:
PayPal Express ist aktiv.
Sowohl ClientID als auch Secret sind hinterlegt.
Der Preis für einen Artikel muss größer als 0 sein. Da PayPal keine Werte akzeptiert, die kleiner oder gleich 0 sind, werden die Buttons gar nicht erst angezeigt, solange diese Voraussetzung nicht erfüllt ist.
Man muss ein Gast/anonymer Nutzer sein (nicht Authentifiziert oder anonymer Nutzer).
Funktionale Cookies müssen akzeptiert sein.
Klickt man auf einen PayPal Express Button, wird ein Fenster geöffnet, in dem man sich bei PayPal anmelden kann. Meldet sich ein Nutzer an und wählt eine Zahlungsart, werden die Daten brandbox übermittelt, sodass die Adressdaten gemappt werden können. Der Nutzer wird durch den Bestellvorgang geführt, wo er nochmals seine Adressdaten kontrollieren kann.
Bei Abschluss der Bestellung wird die Bestellung bei PayPal aktualisiert (z.B. Preisänderung durch Versandkosten) und abgeschlossen.
Zu beachten:
Verändert ein Nutzer nach Autorisierung bei PayPal seinen Warenkorb, so wird seine PayPal Express OrderID invalidiert. Der Nutzer muss also bei Bestellabschluss im ersten Schritt (Login, Registrierung, Gast, PayPal etc...) beginnen.Die Adressdaten bleiben zunächst erhalten, sofern sie nicht überschrieben werden (z.B. durch Login).
Besonderheit bei "PayPal Direkt"
Klickt ein Nutzer auf einen PayPal Express Button auf einer Artikeldetailseite und autorisiert sich erfolgreich, wird der vorherige Warenkorb verworfen.
Einstiegspunkte im Code
\brandbox\join\paypal\lib\event\viewDetailPayPalExpressEvent
Dieser Event Listener kümmert sich um die Darstellung des PayPal Express Buttons auf der Artikeldetailseite. Er wird aktualisiert, wenn sich Variante oder Menge des Artikels ändern. Der EventListener gibt gerendert HTML an das Event weiter.
\brandbox\join\paypal\lib\event\welcomeTabPayPalExpressEvent
Dieser Event Listener ist für die Darstellung des PayPal Express Buttons im "Willkommen"-Tab des Bestellabschlusses verantwortlich.
\brandbox\join\paypal\lib\execute\validatePayPalResponse::execute
Nach einer Authentifizierung bei PayPal wird die Antwort validiert und eine Zahlung erstellt. Diese Zahlung wird vor dem Bestellabschluss aktualisiert (durch Patch). Ist die Zahlung valide, werden die Antwortdaten von PayPal auf die Datensätze von brandbox gemappt (shopSessionCheckout, shopAddress etc.). Die Informationen von PayPal werden genutzt, um die Informationen über den Kunden in brandbox zu erstellen.
\brandbox\join\paypal\lib\execute\doPayPalExpress::execute
Patch der Zahlung.
\brandbox\join\paypal\lib\execute\doPayPalExpress::ok
Durchführung der Zahlung.