Shopware 6 Klarna Plugin JTL Connector Abgleich Issue

Hi,
es geht um ein Problem mit dem Klarna Plugin, dass den JTL Connector stört.

Hintergrund:

Das Klarna Plugin von Shopware 6 hat ein Problem wenn man Kundenadressen in JTL ändert, da der Connector die Änderung an Shopware schickt aber Klarna aus „Sicherheitsgründen für den Kunden“ keine Adressänderungen zulässt. Sonst könnte ja der Händler einfach die Lieferung an eine „eigene“ Adresse versenden und so den Kunden scammen. Bedeutet - Wenn ein Kunde zB seine Hausnummer doppelt einträgt (was oft der Fall ist), dann würde bei der Versandlabel Erstellung in JTL bei zB Hausnummer 3 an Hausnummer 33 geliefert werden. Daher müssen wir manuell die eine 3 rauslöschen. Klarna sieht das direkt als Adressänderung an. Oder wenn der Kunde einen Paketshop angegeben hat und man aber nicht an Paketshops liefert, den Kunden anruft und der dann seine Home-Adresse gibt.

Klarna rejected dann direkt die Transmission vom JTL Connector und „verstopft“ den Connector damit einseitig. Heißt - es werden zwar noch Infos von Shopware abgeholt (Bestellungen), aber es können keine Infos mehr gesendet werden (Versandstatus, Trackingnummer, Artikelpreise, Artikelbestände). Der Errorcode im JTL Connector LOG sieht dann so aus:

Controller = StatusChange | Action = push | JTL-Wawi PK = 71355 | [9f0e2e6b-701a-482a-99b2-3ea16393c27c] The Shopware 6 Admin API responded with errors:
Code = FRAMEWORK__WRITE_CONSTRAINT_VIOLATION | Status = 400 | Detail = Klarna hat die Änderung der Adresse nicht genehmigt. | Pointer =
Code = FRAMEWORK__WRITE_CONSTRAINT_VIOLATION | Status = 400 | Detail = Klarna hat die Änderung des Warenkorbs nicht genehmigt. | Pointer =

Workaround bis jetzt:

Wir hatten dazu in der Vergangenheit schon viel Kontakt mit den Klarna Plugin Devs, mit JTL und mit Shopware. Der einzige Workaround ist hier das Klarna Plugin über phpMyAdmin Tabelle „plugin“ auf 0 statt 1 zu setzen (zu deaktivieren) und dann den Connector einmal durchlaufen zu lassen. Dadurch kann das Klarna Plugin im deaktivierten Zustand die Adressänderung nicht abwehren und der Connector pusht alles durch die Pipeline. Dann schaltet man das Plugin wieder auf 1 und der Connector läuft perfekt weiter.

Aktuelles Problem:

Das lief alles so weit so gut, aber jetzt nach dem Umzug auf den neuen Hoster, wenn wir Klarna von 1 auf 0 setzen bringt Shopware einen 500 Server error. Heißt: Es funktioniert gar nichts mehr. Weder Frontend noch Backend und damit auch die JTL Connector API nicht. Das heißt wenn Klarna auf 0 steht kann kein JTL-Connector Abgleich laufen und wenn Klarna auf 1 steht bleibt die Connector Pipeline verstopft.

Hat jemand von euch eine Idee?

Das Setzen des Feldes in der Tabelle schaltet das Plugin zwar aus, aber damit ist dann der Symfony Cache nicht gelöscht. Sprich „Reste“ des Plugin hängen noch im System.
Ein Weg wäre nun das Plugin im Backend (oder auch in der Console) zu deaktivieren bzw. zu aktivieren. Aber während der de-aktivierung Zeitspanne, ist das Plugin ja wirklich nicht da, sprich kann auch im Shop nicht zur Zahlung genutzt werden.

Pragmatisch würde ich das Plugin patchen, sprich das unerwünschte Verhalten des Plugins anpassen. Da Klarna eh keine Änderungen zulässt, gelangen die Daten ja eh nicht dorthin. Eine Adresskorrektur wie Doppler oder ein Zahlendreher ist ja keine wirkliche Adress-Änderung. Ob dann die Anpassung von aussen (ohne Eingriff in den Quellcode) machbar ist müsste man prüfen.

(Bei technischer Hilfestellung bitte kurz eine private Nachricht)

1 „Gefällt mir“

Problem gelöst:
Nach erneuter Rücksprache mit JTL ist die Deaktivierung des Plugins weiterhin die einzige Möglichkeit, den Connector wieder frei zu bekommen.
Nun gab es ja das Problem, dass wir das Plugin nicht mehr deaktivieren konnten ohne den Shop in einen 500 server error zu schießen.
Wir haben nun herausgefunden (über die Logs basically und indem wir in .env den modus von „prod“ auf „dev“ gesetzt haben und den symphony error researched haben), dass das Problem an der Installation von OpenSearch lag, das wir direkt nach Hosterwechsel eingerichtet haben.

Klarna war dann nämlich plötzlich nicht mehr das einzige Problem. Nach Löschen des Caches über das SW Backend ging gar nichts mehr = 500 server error, den man nicht rückgängig machen konnte zB über manuelles Cache löschen.

Error:
Symfony\Component\DependencyInjection\Exception\EnvParameterException: Environment variables „string:OPENSEARCH_URL“ are never used.

Gelöst über folgenden Tipp von Stack Overflow:

Within the root directory of Shopware, navigate to config/packages and create a file z-shopware.yaml. Edit that file and insert the following content (make sure to keep the indentation as it is).

parameters:
some_dummy_parameter_for_usage: „%env(string:OPENSEARCH_URL)%“

This should count as usage of the environment variable and thus resolve the error.

[Quelle: shopware6 - Shopware 6.5 Update "string:OPENSEARCH_URL" are never used - Stack Overflow ]

Jetzt lässt sich das Klarna Plugin wieder über phpMyAdmin deaktivieren und funktioniert wie gehabt. :+1:

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.