Klarna Fehler /checkout/cart fatal error

Kunden haben uns darauf hingewiesen.

Ware im Warenkorb.
Fehler kommt dann bei „Warenkorb anzeigen“ und auch bei „zur Kasse“.

on site messaging deaktiviert
php Version 8.0
Shopware 5.7.7

Fatal error: Uncaught TypeError: str_replace(): Argument #3 ($subject) must be of type array|string, float given in /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/vendor/k10r/klarna-ordermanagement/src/Components/Transformer/LineItemTransformer.php:298 Stack trace: #0 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/vendor/k10r/klarna-ordermanagement/src/Components/Transformer/LineItemTransformer.php(298): str_replace() #1 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/vendor/k10r/klarna-ordermanagement/src/Components/Transformer/LineItemTransformer.php(163): BestitKlarnaOrderManagement\Components\Transformer\LineItemTransformer->getUnitPriceWithTax() #2 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/vendor/k10r/klarna-ordermanagement/src/Components/Transformer/LineItemTransformer.php(105): BestitKlarnaOrderManagement\Components\Transformer\LineItemTransformer->toKlarnaModel() #3 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/Components/Transformer/BasketTransformer.php(127): BestitKlarnaOrderManagement\Components\Transformer\LineItemTransformer->toKlarnaModelList() #4 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/Components/Facade/Session.php(69): BestitKlarnaPayments\Components\Transformer\BasketTransformer->toKlarnaOrder() #5 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/Components/SessionHandler.php(48): BestitKlarnaPayments\Components\Facade\Session->createKlarnaSession() #6 /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/Subscriber/Frontend/Checkout.php(130): BestitKlarnaPayments\Components\SessionHandler->createKlarnaSessionAndUpdateSwSession() #7 /var/www/clients/client1/web6/web/engine/Library/Enlight/Event/Handler/Default.php(90): BestitKlarnaPayments\Subscriber\Frontend\Checkout->createOrUpdateKlarnaSession() #8 /var/www/clients/client1/web6/web/engine/Library/Enlight/Event/EventManager.php(208): Enlight_Event_Handler_Default->execute() #9 /var/www/clients/client1/web6/web/engine/Library/Enlight/Controller/Action.php(197): Enlight_Event_EventManager->notify() #10 /var/www/clients/client1/web6/web/engine/Library/Enlight/Controller/Dispatcher/Default.php(461): Enlight_Controller_Action->dispatch() #11 /var/www/clients/client1/web6/web/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch() #12 /var/www/clients/client1/web6/web/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch() #13 /var/www/clients/client1/web6/web/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle() #14 /var/www/clients/client1/web6/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle() #15 /var/www/clients/client1/web6/web/engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward() #16 /var/www/clients/client1/web6/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(452): Shopware\Components\HttpCache\AppCache->forward() #17 /var/www/clients/client1/web6/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(346): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch() #18 /var/www/clients/client1/web6/web/engine/Shopware/Components/HttpCache/AppCache.php(192): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup() #19 /var/www/clients/client1/web6/web/vendor/symfony/http-kernel/HttpCache/HttpCache.php(224): Shopware\Components\HttpCache\AppCache->lookup() #20 /var/www/clients/client1/web6/web/engine/Shopware/Components/HttpCache/AppCache.php(117): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle() #21 /var/www/clients/client1/web6/web/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle() #22 {main} thrown in /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/vendor/k10r/klarna-ordermanagement/src/Components/Transformer/LineItemTransformer.php on line 298

soeben auf PHP 7.4 gewechselt zum Test.

Jetzt klappt es wieder.
Aber Klarna ist doch bereits für php 8 freigegeben.

Hallo,

Du hast da wohl noch das alte Klarna Plugin von BestIT aktiv.

Aktuell ist dieses hier:

Viele Grüße

Nein. Die Version 2.1.0 von Klarna selbst.

Sicher ?

Der Pfad /var/www/clients/client1/web6/web/custom/plugins/BestitKlarnaPayments/Components/Facade/Session.php deutet auf das alte hin.

Viele Grüße

Das komische an der Sache ist.
Wir haben trotzdem Bestellungen über Klarna erhalten.

Ich kann nur sagen was der Plugin-Manager listet. siehe Screenshot

Aber im FTP ist der Ordnername tatsächlich. „BestitKlarnaPayments“

Hallo @quebag ,

haben Sie hierzu eine Lösung gefunden gehabt? Außer auf PHP7.4 zu bleiben?

Wir haben das gleiche Problem und PHP 7.4 ist mittlerweile veraltet.
Klarna Plugin 2.3.0 ist im Einsatz und der Unterordner auf dem Server ist auch „BestitKlarnaPayments“

Im voraus vielen Dank!

Hallo,

BestitKlarnaPayments ist veraltet und wird soweit mir bekannt, nicht mehr weiterentwickelt. Das muss im /custom Verzeichnis gelöscht werden. Evtl. hast Du da einen Mix aus dem alten und neuen Plugin, welches im Store zur Verfügung steht.

Danke für den Tipp. Das ist echt interessant, da das Plugin erst vor kurzem in betrieb genommen wurde und eine Vermischung eigentlich nicht sein durfte. Ich werde mal probieren das Plugin neu aufzusetzen.

Gab es hier eine Lösung?

auch die aktuellen Plugins haben eine BestIt Struktur, daran kann es dann nicht liegen?
BestitKlarnaPayments-2.3.0
BestitKlarnaPayments-2.4.0

Bei uns läuft die Version 2.3.0 auf PHP 8.0 8.1 & 8.2 wenn ich auch die 2.4.0 gehe, führt der Klick im Checkout mit Zahlungsart Banküberweisung o.ä. auf Kaufen zu einer Fehlermeldung