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

Wenn wir im Checkout zum Schritt Zahlartenauswahl (/index.php?cl=payment) springen crasht die Seite und folgender Fehler entsteht im log:

OXID Logger.ERROR: Call to undefined method OxidSolutionCatalysts\PayPal\Service\UserRepository::session() ["[object] (Error(code: 0): Call to undefined method OxidSolutionCatalysts\\PayPal\\Service\\UserRepository::session() at /shop.de/shop/vendor/oxid-solution-catalysts/paypal-module/src/Service/UserRepository.php:74)

Es ist also momentan nicht nutzbar. Das sieht nach fehlerhaften Aufrufen und falsch eingesetzten Variablen in der source/modules/osc/paypal/src/Service/UserRepository.php aus.
Wird das in 1.1.6 behoben? Kann man ungefähr sagen wann 1.1.6 rauskommen könnte?

Shop Info:
OXID eShop PE 6.1.5
PHP 7.1.33

Danke für den Hinweis. Habe soeben die Version 1.1.5 getestet und ein Checkout ist damit überhaupt nicht mehr möglich. Nur noch in den Warenkorb legen geht aber nicht weiter zum Warenkorb.

OXID Logger.ERROR: EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND OxidSolutionCatalysts\PayPal\Service\Country ["[object] (OxidEsales\Eshop\Core\Exception\SystemComponentException(code: 0): EXCEPTION_SYSTEMCOMPONENT_CLASSNOTFOUND OxidSolutionCatalysts\PayPal\Service\Country …

Dazu bitte zu allererst ein Bug Ticket unter https://bugs.oxid-esales.com/ anlegen, dann besteht auch die Chance, wenn Fehler reproduzierbar ist - dieser auch behoben werden kann.

Nein, aber beschleunigen kannst den Ablauf wenn ein Bug Ticket eröffnest. Vielen Dank für Deine Mithilfe.

Ggfs. hängt der Fehler mit 0007342: After Ubdate from 1.1.3 to 1.1.5 [Call to undefined method OxidSolutionCatalysts] in checkout - OXID eShop bugtrack zusammen.

@all, ergänzt in

source/modules/osc/paypal/src/Service/ModuleSettings.php

in Zeile 18 wie folgt

use OxidEsales\Eshop\Application\Model\Country;
1 Like

dann noch in

source/modules/osc/paypal/src/Service/ModuleSettings.php

in Zeile 18

use OxidEsales\Eshop\Application\Model\Country;

eintragen.
und in

source/modules/osc/paypal/src/Service/UserRepository.php

Zeile 74

if ($user = $this->session()->getUser()) {

ändern in

if ($user = $this->session->getUser()) {

und Zeile 85

if ($user = $this->session()->getUser()) {

ändern in

if ($user = $this->session->getUser()) {

@itratosTeam : Thank you, I can confirm your adjustments. I will clarify with support that we will provide the changes as soon as possible as v1.1.6 release …

1 Like

@Mario_Lorenz
Ihr habt jetzt nicht ernsthaft die 1.1.5, die bereits seit Montag offen released war, zurĂĽck gezogen und auf heute getagt?

Wir verlieren gerade jegliches Vertrauen in das Modul und seine Qualität.

1 Like

Hallo Thomas,

die Versionen vorher waren auch Live nicht zu gebrauchen - wir haben für unsere Kunden das nötigste angepasst und alles weitere wurde als Bug gemeldet.

Selbst die 1.1.5 wurde vermutlich noch nicht einmal getestet, dann wäre aufgefallen das der Checkout gar nicht mehr geht, also ab Step Versand/Zahlung

Die Kreditkarte sollte man abstellen, die CVV wird nicht geprĂĽft und PP Express ignoriert die Versandkosten - dies sollte man also auch nicht nutzen wenn man Versandkosten berechnet.

Aktuell testen wir die 1.1.6, bin gespannt.

Gut wir dĂĽrfen auch nicht beliebig kritisieren, da auch wir genug Fehler machen - wie sicher alle in der Entwicklung - aber man sollte schon vorher ein paar Grundfunktionen testen - dies scheint hier auf die Kunden oder die Agenturen verlagert worden zu sein.

Gilt das auch fĂĽr 2.1.5 bzw. wegen des Fehlers 2 1.4 ?

unsere Tests und alle Bug Hinweise beziehen sich aktuell auf die Version fĂĽr OXID ab 6.1, also die PP Checkout Version 1.1.x
wir kommen erst heute dazu die 1.1.6 zu testen

da eigentliche all Versionen des Modules gleich sind und nur an die jeweiligen OXID Versionen angepasst werden ist damit zu rechnen das alle die gleichen Bugs haben

Hast recht, zumindest fĂĽr den Sandkasten kann ich sagen, dass die CVV nicht vorhanden sein muss und das Ablaufdatum ( Expiration Date:) falsch sein kann. Wenn das auch fĂĽr den Live-Betrieb gilt, dann gute Nacht.

Doch. Bei einem Zahlungsmodul geht’s um Geld, also das, weshalb ein Shop überhaupt läuft. Wenn eine Ware als bezahlt und “Eingezogen” deklariert wird, muss die Zahlung erfolgt sein.

das habe ich auf uns bezogen als Entwickler :wink:
aus Sicht des Shop Betreibers möchte ich das gar nicht bewerten - ich weiß nur für uns das unsere Kunden alleine ein Problem gehabt hätten wenn eine sehr wichtige Zahlungsart ausfällt - deshalb fixten wir eifach das was nötig war.

Muss ich dann auch, um das Modul nicht ersetzen zu mĂĽssen. @Mario_Lorenz: Vielleicht haben wir ja alle GlĂĽck und es kommt ein Fix.

Hallo @itratosTeam . Verkauft ihr die Lösung?

warum verkaufen, ruf morgen mal durch und gib mir die eMail dann sende ich unser Paket

Cool. Dank je wel :grinning:

@itratosTeam Könntest du ggf. sagen, was für Fehler behoben wurden ? Hast du @Mario_Lorenz ggf. informiert, damit er diese für alle fixen kann?

natürlich wurde das gemacht. die gesamte Chanelog der 1.1.5 stammte von Fehlern aus nur einem Kundenprojekt, den Session Bugfix postete ich auch hier und wurde von Mario bestätigt

1 Like

Wurden in der UserRepository.php auch diese Fehler entdeckt? Die Variablen hier mĂĽssen korrekt eingesetzt und zurĂĽckgegeben werden.

Dies scheint am 19. Mai 2022 mit der Refaktorierung rein gekommen zu sein. Es gibt mehrere Möglichkeiten

Glaube beste Variante ist auf lange Sicht, den Online-Shop auf 6.5er Serie wenn die diesen August 2022 noch offiziell released wird zu aktualisieren.

Da das PayPal Checkout Modul anscheinend für neuere Serien größer als 6.1 Serie entwickelt wurde. Die Umsetzung für die 6.1er Serie scheint nachträglich ergänzt und damit sehr fehleranfällig zu sein.

Zusätzlich nochmal der Hinweis, dass ab den 3. Quartal 2022 sogar die 6.4er Serie legacy also veraltet ist - siehe Release Plan Release-Plan — OXID eSales Dokumentation

Daher ein Update/Migration auf die 6.5er Serie sehr empfehlenswert, weil dann eine technische Planugnssicherheit bis Anfang 2025 hergestellt werden kann.