Mod-rewrite Modul - Hilfe, nichts geht mehr (CE 4.10)

Hallo,
nach längeren Gesprächen mit Klarna und dem Provider wegen eines Problems mit dem Klarna-Modul bin ich nun zufällig darauf gestoßen das ich ein großes OXID-Problem habe, das ich ganz schnell lösen muss. Der Provider und Klarna konnten mir zunächst nicht weiterhelfen.

Zum Thema:
Die Zahlungsmodul “Klarna Payments” funktionieren nicht. Grund ist das keine Request aufgebaut werden können. Das mod-rewrite Modul ist beim Provider aktiviert, er hat alles dreifach getestet und findet seinerseits keinen Fehler. Dennoch wird mir in der Shop-Gesundheit dieser Fehler auch rot angezeigt.

Klarna Fehlermeldung im Warenkorb: “Request Body is empty”

Was wurde zuvor verändert, was wurde jetzt geprüft und unternommen:

  1. die https-Domain ist klar in der config.inc.php definiert und eingetragen.

  2. In der .htaccess wurde ganz oben der folgende Code ergänzt, um alle Besucher egal woher sie kommen auf die https-Version zu lenken:

    Liste der Dateiendungen die als PHP5.6 verarbeitet werden sollen
    AddHandler php-fastcgi5.6 .php .phtml
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.(.)$ [NC]
    RewriteRule ^(.
    )$ https://%1/$1 [R=301,L]
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Alte PHP-Verison wird wegen anderer alter Programme auf dem Server noch benötigt. Ich habe diesen Code rausgenommen und den Warenkorb neu geladen, aber die Fehler bleiben. An dieser Weiterleitung kann es also nicht gelegen haben.

Nun weiß hier keiner mehr weiter, weder der Provider, noch Klarna noch ich … hat jemand eine Idee oder einen Tipp was ich machen, testen und probieren kann? Ich bin für jede Hilfe dankbar.

VG

Ich tippe auf die Reihenfolge der Direktiven, weil der Fehler “PayPal: Security header is not valid” bedeutet, dass kein SSL-Zertifikat vorliegt. Was sagt der Browser denn? Schloss?

Schloss ist vorhanden und Zu, Provider am Telefon bestätigt soeben das SSL Zertifikat ok ist.

Mit www. ?

Error-Log vom Shop, vielleicht hilft das weiter.

oxException (time: 2021-04-28 17:56:58): [400]: {
  "error_code" : "BAD_VALUE",
  "error_messages" : [ "Request body is empty" ],
  "correlation_id" : "fb53493a-a1aa-4837-a93e-25700662cbd9"
} 
 Stack Trace: #0 /home/schdcttt/www.xy.eu/shop/modules/klarna/core/KlarnaPaymentsClient.php(106): KlarnaClientBase->handleResponse(Object(Requests_Response), 'KlarnaPaymentsC...', 'postSession')
#1 /home/schdcttt/www.xy.eu/shop/modules/klarna/core/KlarnaPaymentsClient.php(78): KlarnaPaymentsClient->postSession(false)
#2 /home/schdcttt/www.xy.eu/shop/modules/klarna/controllers/klarna_payment.php(131): KlarnaPaymentsClient->createOrUpdateSession()
#3 /home/schdcttt/www.xy.eu/shop/core/oxshopcontrol.php(479): klarna_payment->render()
#4 /home/schdcttt/www.xy.eu/shop/core/oxshopcontrol.php(361): oxShopControl->_render(Object(klarna_payment))
#5 /home/schdcttt/www.xy.eu/shop/core/oxshopcontrol.php(126): oxShopControl->_process('payment', NULL, NULL, NULL)
#6 /home/schdcttt/www.xy.eu/shop/core/oxid.php(40): oxShopControl->start()
#7 /home/schdcttt/www.xy.eu/shop/index.php(26): Oxid::run()
#8 {main}

Thema Weiterleitung und SSL:

ohne www.

Die Domain liegt im Hauptverzeichnis. Dort in der Index.php befindet sich eine Weiterleitung auf den /shop Ordner. Früher war mal eine Seite vor den Shop geschaltet.

In der htaccess des /shop Verzeichnisses wurde oben folgender Code hinzugefügt um sicher zu stellen das alle Besucher auf https umgeleitet werden. (siehe oben)

Ich habe diese Zeilen mal zum Test entfernt, aber es hatte sich nichts geändert.

Korrektur, Paypal konnte gelöst werden, API wurde neu gesetzt, klappt. Somit funktioniert nur das Klarna-Modul nicht. Klarna verweist mich auf den Provider, der wiederum sieht das Problem bei Klarna, weil der Request vom Klarnamodul nicht aufgebaut wird. Hat dazu jemand eine Idee warum das Klarna-Modul keinen request aufbaut?

ist das PHP 5.6?

ja, 5.6 da ich alte Anwendungen noch am laufen habe für deren Umstellung ich noch keine Zeit hatte.

kannst du testweise mal auf was aktuelleres stellen?

Das war auch meine Idee, aber der Provider meinte ich könne den Shop damit auch zerschiessen wenn wir auf PHP7 umstellen und dann wieder zurück. Allerdings ist das Klarna Modul sogar mit PHP 5.3 kompatibel. Ich bekomme wie gesagt nur das Klarna Modul nicht zum Laufen.

Evtl. ist der Grund eine nicht kompatible TLS Version aufgrund der alten PHP Version. Das wäre jetzt meine Vermutung. Ich wüsste nicht wie man einen Shop durch die Änderung der PHP Version dauerhaft zerschießen könnte. Aber dafür hat man sowieso Backups.

ich würde es mal mit 7.0 oder 7.1 versuchen…

Ich leite die Frage mal direkt an Klarna weiter. Sollte mir Klarna nicht helfen können das Problem zu lösen muss ich wohl PHP updaten. Nur das WaWi muss dann überarbeitet werden, das ist ein paar Jahre alt … deshalb die alte PHP-Version. Aber vielleicht kann mir der Provider helfen die PHP-Versionierung zu splitten.

Moment mal. OXID 4.10.x war lediglich mit PHP 5.3 bis PHP 5.6 getestet. Ich wäre da sehr vorsichtig mit “einfach mal ein PHP-Update” auf v7.

Welche Klarna-Version wird denn eingesetzt und woher kommt die?