PayPal Checkout 1.1.5 - Call to undefined method [...] session()

Hallo in die Runde,

wir haben soeben den Fix-Release v2.1.6 bzw. v1.1.6 vom PayPal-Checkout-Modul veröffentlicht.

Was ändert sich?

Alle Bestellungen - egal welche PayPal-Zahlart - werden während des Bestellprozesses auf “NOT_FINISHED” gehalten. Der Capture wird angestoßen (ausser bei PayPal mit Capture bei Lieferung bzw. manuellem Capture). Der Order-Prozess ist dann aus Kundensicht durch.

Von PayPal wird nun via Webhook auf die Erfolgsmeldung des Captures gewartet. Erst damit wird die Order auf “OK” gesetzt und das Bezahlt-Datum gesetzt. Dieser nachgelagerte Prozess kann z.T. nach 10 Sekunden erfolgen, je nach Payment auch gern erst nach mehreren Minuten.

Über diesen Weg löst sich das CVV-Kreditkarten-Problem. Sprich im Fall der Kreditkartenbetreiber kann die Kreditkarte - aus welchen Gründen auch immer - nicht belasten, wird die Order nicht auf Ok gesetzt.

Nachteil dieser Lösung ist, dass der Kunde von diesem Vorgang nichts mitbekommt und nicht “heilend” in den Prozess eingreifen kann, falls er sich unabsichtlich vertan hat (z.B. Zahlendreher in der CVV).

Was ändert sich durch das Update?

Die Datenbank wird erweitert. Die oscpaypal_payments Tabelle bekommt eine neue Spalte für Transaction-IDs. In dieser Tabelle können dadurch mehrere Zeilen je Order entstehen, je nachdem wie viele Transaktionen an dem Prozess beteiligt sind.

Bitte beim Update den OXID-Cache leeren und bei der ersten Testorder drauf achten, das die Transaction-ID gesetzt wird. Nur so kann der Webhook im Anschluss das erfolgreiche Capture der Order zuweisen.

Was ist noch offen?

Ein Partner hat uns drauf aufmerksam gemacht, dass das 3DSecure Verfahren bei den Kreditkarten nicht berücksichtigt wird. Nach Prüfung kann ich dem zustimmen. Wir ziehen die 3DS-Unterstützung im nächsten Release nach.