Klarna 5.0.2 und Oxid CE 6 - Kommunikationsfehler bei Bestellvorgang

Wir haben auf OXID CE 6.x.x (sehe grad die genaue Version nicht) aktualisiert und haben Probleme, das Klarna Plugin (ebenfalls aktualisiert auf 5.0.2.) zum Laufen zu bekommen. Wir haben die API Credentials im neuen Merchant Backend von Klarna erstellt und im Modul in Oxid eingetragen. So weit - so gut.

Aber es ergibt sich folgendes Fehlerbild:

Wenn ich als Gast eine Bestellung aufgebe erhalte ich keine Bestätigung, dass die Bestellung durchging, ich bleibe weiter auf der Bezahlseite und bekomme auch kein Bestätigungsmail oder eine Info “Ihre Bestellung wurde erfolgreich verschickt, etc…”.

Wenn ich als bestehender Benutzer eingeloggt bin, funktioniert alles reibungslos.

ABER. Beide Bestellungen kommen im Klarna Merchant Portal an. Einmal mit Bestätigung für den Kunden (eingeloggter Benutzer) einmal ohne (Gast).

Wir denken, dass es eine Konfigurationseinstellung ist, wissen aber nicht welche das sein könnte. Im Klarna Modul selbst sind die Möglichkeiten sehr beschränkt, im Klarna Merchant Portal kannst du garnichts machen.

Unser Ansatz ist jetzt, dass die Kommunikation zu Klarna als Gast zwar funktioniert, die RÜCKkommunikation von Klarna an Oxid nicht. (Quasi Klarna sagt Oxid, dass die Bestellung durch ist, und die Bestätigung sowie das Bestätigungsmail ausgelöst werden kann).

Kennt jemand das Problem und kann uns hier weiterhelfen?

Eckdaten:
Shop Version CE 6.x.x.
PHP Version 7.3.15 (Kann es eventuell an der PHP Version liegen? Im Handbuch steht Klarna getestet mit PHP 7.1 und 7.2.)
Theme RoxIVE
Klarna Version 5.0.2.

Vielen Dank im Voraus!

Moin,

Was sagen Log Daten aus?( Webserver, PHP, Oxid und Klarna) ?

Und welche genaue Oxid Version

Das sehe ich grade nicht… wir haben OXID noch auf einem Testserver laufen, da bekomme ich die Version nicht aus dem Backend raus. Außer sie ist irgendwo anders im Backend zu finden…

oxid version steht im backend oben rechts
oder per ftp in der datei: composer.json, diese befindet sich dort wo auch die ordner source und vendor sind.

dann unter:
“minimum-stability”: “stable”,
“require”: {
oxid-esales/oxideshop-metapackage-ce”: “v6.1.5”,

Version ist 6.1.5
Ich bin der Shop Besitzer in dieser Anfrage und wollte die Angabe nur schnell komplettieren!

Moin :wink:
Sehr gut, jetzt fehlen nur noch die log Dateien und wenn am besten Datum und Uhrzeit mitteilen wann genau das geschieht.

Lg brian heyse

Wenn du mir sagst, wo ich die relevanten Daten am FTP finde, dann poste ich sie hier.

So gefunden, hoffe es sind die richtigen und du kannst was auslesen.

[2020-02-24 20:18:50] OXID Logger.ERROR: {“error_code”:“READ_ONLY_ORDER”,“error_messages”:[“Resource is read-only”],“correlation_id”:“75bda79d-c86a-4b1c-8f20-560368c77ee4”,“service_version”:“1.0.20200221115601”} ["[object] (TopConcepts\Klarna\Core\Exception\KlarnaOrderReadOnlyException(code: 403): {“error_code”:“READ_ONLY_ORDER”,“error_messages”:[“Resource is read-only”],“correlation_id”:“75bda79d-c86a-4b1c-8f20-560368c77ee4”,“service_version”:“1.0.20200221115601”} at /usr/www/users/dbwpfh/od2020/vendor/topconcepts/oxid-klarna-6/Core/KlarnaClientBase.php:164)\n[stacktrace]\n#0 /usr/www/users/dbwpfh/od2020/vendor/topconcepts/oxid-klarna-6/Core/KlarnaCheckoutClient.php(103): TopConcepts\Klarna\Core\KlarnaClientBase->handleResponse(Object(Requests_Response), ‘TopConcepts\\Kla…’, ‘postOrder’)\n#1 /usr/www/users/dbwpfh/od2020/vendor/topconcepts/oxid-klarna-6/Core/KlarnaCheckoutClient.php(69): TopConcepts\Klarna\Core\KlarnaCheckoutClient->postOrder(’{“order_lines”:…’, ‘e699d4bd-04c5-4…’)\n#2 /usr/www/users/dbwpfh/od2020/vendor/topconcepts/oxid-klarna-6/Component/KlarnaBasketComponent.php(120): TopConcepts\Klarna\Core\KlarnaCheckoutClient->createOrUpdateOrder(’{“order_lines”:…’, ‘e699d4bd-04c5-4…’)\n#3 /usr/www/users/dbwpfh/od2020/vendor/topconcepts/oxid-klarna-6/Component/KlarnaBasketComponent.php(75): TopConcepts\Klarna\Component\KlarnaBasketComponent->updateKlarnaOrder()\n#4 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Core/Controller/BaseController.php(524): TopConcepts\Klarna\Component\KlarnaBasketComponent->changebasket()\n#5 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Application/Controller/FrontendController.php(544): OxidEsales\EshopCommunity\Core\Controller\BaseController->executeFunction(‘changebasket’)\n#6 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(382): OxidEsales\EshopCommunity\Application\Controller\FrontendController->init()\n#7 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(272): OxidEsales\EshopCommunity\Core\ShopControl->_initializeViewObject(‘OxidEsales\\Esho…’, ‘changebasket’, NULL, NULL)\n#8 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php(137): OxidEsales\EshopCommunity\Core\ShopControl->_process(‘OxidEsales\\Esho…’, ‘changebasket’, NULL, NULL)\n#9 /usr/www/users/dbwpfh/od2020/vendor/oxid-esales/oxideshop-ce/source/Core/Oxid.php(26): OxidEsales\EshopCommunity\Core\ShopControl->start()\n#10 /usr/www/users/dbwpfh/od2020/source/index.php(15): OxidEsales\EshopCommunity\Core\Oxid::run()\n#11 {main}\n"] []

Hi,

PHP Log-Dateien finden:
im Shop-Backend unter Punkt Service > Systeminfo dann unter: error_log steht der Pfad zur Logdatei.

Frage:

ist der Testshop passwortgeschützt per .htaccess?
ist SSL aktiv?
ist Pending Flow aktiviert?

Ist das beachtet worden?:

Benutzergruppen zuordnen
Ordnen Sie den neu erstellten Klarna-Zahlungsarten unter „Shopeinstellungen“ -> „Zahlungsarten“ geeignete
Benutzergruppen zu, so wie Sie es auch für andere Zahlungsarten im OXID eShop machen würden.
Wichtig: Da der Klarna Checkout auch Gast-Benutzern angezeigt wird, noch bevor eine Registrierung oder ein Login
stattfindet ist, darf die Zahlungsart „Klarna Checkout“ hinsichtlich der Benutzergruppen nicht eingeschränkt werden.
Das heißt, beim Klarna Checkout dürfen Sie keine Benutzergruppe zuweisen, denn Gast-Benutzer sind in keiner
Gruppe enthalten.

ist dies aktiviert (untet Klarna-Konfig im Shop)?
Wenn ja stehen die Daten konkreter in der Shopdatenbank. Einfach exportieren und dann hierrein.

Logging aktiv
Aktiviert die Protokollfunktion, damit sämtliche APIKommunikation mit Klarna in der mysql-Tabelle
tcklarna_logs aufgezeichnet wird. Dies kann bei der
Analyse oder Fehlersuche nützlich sein. Im ProduktivBetrieb sollte die Funktion abgeschaltet sein, da sich
sonst ggf. große Log-Mengen anhäufen und sensitive
Daten gespeichert werden.

Danke für die Rückmeldung.

error_log Pfad ist leer
Testshop Passwortschutz ist mir nicht bekannt
SSL ist aktiv
Pending Flow? Kenne ich nicht - worum handelt es sich hier?
Benutzergruppen sind keine zugeordnet.
Logging haben wir kurz aktiv gesetzt, herausgekommen ist oben angeführtes Logfile.
Welche DB soll ich exportieren?

pending flow: Handbuch Klarna Seite 6:

Pending Flow: Das vorliegende Modul geht davon aus, dass Bestellungen seitens Klarna entweder sofort akzeptiert oder sofort abgelehnt werden. Der Klarna Pending Status wird jedoch nicht unterstützt. Dies muss bei der Konfiguriation der Merchant ID seitens Klarna berücksichtigt werden.

schon update von 5.0.2 auf 5.1. für das Modul gemacht?

Danke für die Hinweise.

Update auf 5.1.0.: Nein, wurde noch nicht gemacht.
Pending Flow, Erstellung Merchant ID: Ist eine Sache von Klarna, richtig? Im Merchant Backend kann ich nichts konfigurieren, nur die API Credentials neu generieren…

Hast du einen link zum Download? Im Shop finde ich leider nichts…

Per composer,-)
Oder deinstallieren und Klarna Support anmailen.

Such hier: Klarna Support anmailen.

Kontakt zum Klarna Support war leider (wie so oft) nicht erfolgreich. Die stellen zwar den Dienst zur Verfügung, haben aber keinen blassen Schimmer vom Plugin. Soll sein.

Daher haben wir weitere Unterstützung gesucht und sind auf die Firma cgrd aus Hamburg gestossen, welche für die Entwicklung des Plugin direkt von Klarna beauftragt wurde. Dort wurde uns dann nach kurzer Fehleranalyse geholfen, schlußendlich waren im Backend Felder als Pflichtfelder markiert, welche im Checkout Prozess garnicht vorkamen und so nicht ausgefüllt werden konnten. Daher liefern die Gastbestellungen in den Fehler.

Wir konnten danach mit unseren Live Daten fehlerfrei testen.

Danke für die Rückmeldung.

Demnach hatte der von Dir beschriebene Effekt überhaupt nichts mit Klarna zu tun - jede normale Bestellung (unabhängig von der Zahlungsart) müsste davon betroffen gewesen sein?

Jein. Um es zu konkretisieren. Im Backend waren Felder als Pflichtfelder definiert, die dann beim KLARNA Checkout nicht abgefragt wurden und daher anscheinend als “nicht gültig” defininert wurden und mit Fehler zurückgespielt wurden.

Eine normale Bestellung ohne das Klarna Plugin (deaktiviert) ging reibungslos durch.