Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: PayPal PLUS & PayPal Checkout Zahlungsmodule für modified eCommerce Shopsoftware

    fiveBytes

    • Mitglied
    • Beiträge: 120
    • Geschlecht:
    Hallo zusammen,

    nach einem Update auf die Version 1.94 funktioniert der Express-Button auf der Artikeldetailseite nicht mehr, es kommt lediglich die Ladeanimation vom Button (siehe Anhang).

    Keine Fehler in der Konsole oder den Logs, getestet in verschiedenen Browsern. Kann das auch mit Giropay via PayPal zu tun haben (das ist dort auch im Einsatz)?

    Viol

    • Fördermitglied
    • Beiträge: 2.278
    Ich habe das mal in Demoshop (Entwicklerversion) nachgestellt. Die PayPal Version ist da 1.94
    In den Logfiles dort sind folgende Einträge dazu:

    [2024-06-20 14:02:16] [debug] [sandbox] [pid:1091] CreateOrder {} {"message":"{\"name\":\"UNPROCESSABLE_ENTITY\",\"details\":[{\"field\":\"/payment_source\",\"issue\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"description\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\"}],\"message\":\"The requested action could not be performed, semantically incorrect, or failed business validation.\",\"debug_id\":\"f1bb3519e6b2c\",\"links\":[{\"href\":\"https://developer.paypal.com/docs/api/orders/v2/#error-ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"rel\":\"information_link\",\"method\":\"GET\"}]}","code":0,"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":220,"trace":[{"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":105,"function":"parseResponse","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/external/paypal/classes/PayPalPaymentV2.php","line":351,"function":"execute","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/modules/payment/paypalgiropay.php","line":71,"function":"CreateOrder","class":"PayPalPaymentV2","type":"->"},{"file":"/.../.../.../.../.../.../includes/classes/payment.php","line":390,"function":"process_button","class":"paypalgiropay","type":"->"},{"file":"/.../.../.../.../.../.../checkout_confirmation.php","line":247,"function":"process_button","class":"payment","type":"->"}]}
    [2024-06-20 14:10:10] [debug] [sandbox] [pid:27587] CreateOrder {} {"message":"{\"name\":\"UNPROCESSABLE_ENTITY\",\"details\":[{\"field\":\"/payment_source\",\"issue\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"description\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\"}],\"message\":\"The requested action could not be performed, semantically incorrect, or failed business validation.\",\"debug_id\":\"34c5eabd14e58\",\"links\":[{\"href\":\"https://developer.paypal.com/docs/api/orders/v2/#error-ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"rel\":\"information_link\",\"method\":\"GET\"}]}","code":0,"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":220,"trace":[{"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":105,"function":"parseResponse","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/external/paypal/classes/PayPalPaymentV2.php","line":351,"function":"execute","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/modules/payment/paypalgiropay.php","line":71,"function":"CreateOrder","class":"PayPalPaymentV2","type":"->"},{"file":"/.../.../.../.../.../.../includes/classes/payment.php","line":390,"function":"process_button","class":"paypalgiropay","type":"->"},{"file":"/.../.../.../.../.../.../checkout_confirmation.php","line":247,"function":"process_button","class":"payment","type":"->"}]}

    Screen anbei.

    [EDIT Tomcraft 20.06.2024: Pfade anonymisiert.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.366
    • Geschlecht:
    [...]
    nach einem Update auf die Version 1.94 funktioniert der Express-Button auf der Artikeldetailseite nicht mehr, es kommt lediglich die Ladeanimation vom Button (siehe Anhang).
    [...]

    Welche Version hattest du vorher?
    Genau das Problem sollte mit v1.94 eigentlich behoben sein.

    Grüße

    Torsten

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    Sorry, für die Umstände. Da habe ich wohl Bockmist gebaut. :-?

    Mach bitte folgendes:

    /includes/external/paypal/classes/PayPalPaymentV2.php

    sucher das hier:

    Code: PHP  [Auswählen]
          } elseif ($this->code == 'paypalacdc') {
            $pm_source = 'card';
          }

    füge danach das hier ein:

    Code: PHP  [Auswählen]
          if (isset($payment_source['payment_source'])
              && is_array($payment_source['payment_source'])
              && count($payment_source['payment_source']) == 1
              )
          {
            $pm_source = key($payment_source['payment_source']);        
          }

    Damit sollten die alternativen Zahlarten wieder funktionieren.

    Gruss Gerhard

    [EDIT GTB 20.06.2024: Code korrigiert.]

    Viol

    • Fördermitglied
    • Beiträge: 2.278
    @Gerhard:
    Giropay über PayPal geht auch nach der Änderung nicht.

    fiveBytes

    • Mitglied
    • Beiträge: 120
    • Geschlecht:
    Hallo Torsten,

    ich meine vorher war es die 1.91, bin aber nicht ganz sicher, kann auch schon älter gewesen sein (aber nicht viel).

    Ich habe auch direkt mal in die "/includes/extra/application_bottom/10_paypal.php" geschaut, aber die sieht so aus, wie von Gerhard gefixed, also eigentlich ok?!

    Es ist auch egal welches Template eingestellt ist, auch beim modified_responsive ist das so. Btw. noch der Hinweis, die Shopversion selber ist noch die 2.0.7.2 und noch keine 3.0.2.

    Ich habe auch den dafür vorgesehenen Download genutzt, da hab ich auch extra noch mal nachgeschaut ;-)

    @Gerhard:
    bei dem von mir betreuten Shop funktioniert Giropay über PayPal auch nicht (auch nach der Änderung), auch der Express-Button beim Artikel selber will weiterhin nur animiert "punkten"?!

    Viol

    • Fördermitglied
    • Beiträge: 2.278
    @fiveBytes
    Diese Lösung von Gerhard aus Antwort #3211 hat bei mir geholfen.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    @viol habe den Code in Antwort #3228 gerade nochmals korrigiert.

    Ich sollte heute nichts mehr machen...

    Gruss Gerhard

    Viol

    • Fördermitglied
    • Beiträge: 2.278
    [...]
    Ich sollte heute nichts mehr machen...
    [...]

    Brauchst Du auch nicht mehr, läuft! Danke :thx:

    PS. Ist das nun in der 1.94 enthalten oder besser noch warten?

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    Wird in der nächsten Version genau so enthalten sein. Ist auch bereits so im SVN.

    Gruß Gerhard

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.366
    • Geschlecht:
    Die Module in Beitrag 1 wurden erneut aktualisiert. Wer bereits eine ältere Version des Moduls installiert hatte, der lädt bitte einfach den Inhalt des Ordners "NEW_FILES" & "MODULE_FILES" erneut in seinen Shop.
    Falls der Ordner "admin" umbenannt wurde, dann bitte den Ordner "admin" im Ordner "NEW_FILES" bzw. sofern vorhanden im Ordner "CHANGED_FILES" & "MODULE_FILES" vorher auch entsprechend umbenennen!

    Zusätzlich sind seit der letzten Modulversion noch folgende Dateien aus dem Ordner "CHANGED_FILES" zu bearbeiten:

    KEINE!

    Wir haben die Moduldateien des Moduls für alle Shopversionen vereinheitlicht und aus den "CHANGED_FILES" raus gezogen in einen neuen Ordner "MODULE_FILES". Das macht es uns leichter das Modul für kommende Shopversionen zu pflegen, da wir mittlerweile Module für 21 unterschiedliche Shopversionen pflegen mussten.
    Hierfür wurden diverse Dateien der Shopversionen 1.0x im Ordner "CHANGED_FILES" mit dem auto_include System ausgestattet.

    Eingeflossen sind die Korrekturen r15956, r15957 & r15958.

    Ab Modulversion 1.91 sind die Zahlungsmodule "Apple Pay via PayPal (paypalapplepay)" & "Google Pay via PayPal (paypalgooglepay)" verfügbar.

    Ab Modulversion 1.92 ist PayPal Vault enthalten.

    Grüße

    Torsten

    fiveBytes

    • Mitglied
    • Beiträge: 120
    • Geschlecht:
    Hier läuft jetzt auch alles, wie es soll.

    Es lag im Endeffekt an einer falschen Oil.js Version. ;-)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.366
    • Geschlecht:
    Der Fehler mit dem nicht ladenden Express-Button war eigentlich in Antwort #3211  korrigiert.
    In Modulversion 1.95 sind nun alle derzeit bekannten Fehler korrigiert. ;-)

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.973
    • Geschlecht:
    Nebenfrage:
    Kann man solche Log-Einträge nicht formatiert schreiben lassen, sodaß es leichter zu lesen ist (vielleicht mit JSON_PRETTY_PRINT ) ?

    [...]
    [2024-06-20 14:02:16] [debug] [sandbox] [pid:1091] CreateOrder {} {"message":"{\"name\":\"UNPROCESSABLE_ENTITY\",\"details\":[{\"field\":\"/payment_source\",\"issue\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"description\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\"}],\"message\":\"The requested action could not be performed, semantically incorrect, or failed business validation.\",\"debug_id\":\"f1bb3519e6b2c\",\"links\":[{\"href\":\"https://developer.paypal.com/docs/api/orders/v2/#error-ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"rel\":\"information_link\",\"method\":\"GET\"}]}","code":0,"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":220,"trace":[{"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":105,"function":"parseResponse","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/external/paypal/classes/PayPalPaymentV2.php","line":351,"function":"execute","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/modules/payment/paypalgiropay.php","line":71,"function":"CreateOrder","class":"PayPalPaymentV2","type":"->"},{"file":"/.../.../.../.../.../.../includes/classes/payment.php","line":390,"function":"process_button","class":"paypalgiropay","type":"->"},{"file":"/.../.../.../.../.../.../checkout_confirmation.php","line":247,"function":"process_button","class":"payment","type":"->"}]}
    [2024-06-20 14:10:10] [debug] [sandbox] [pid:27587] CreateOrder {} {"message":"{\"name\":\"UNPROCESSABLE_ENTITY\",\"details\":[{\"field\":\"/payment_source\",\"issue\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"description\":\"ONLY_ONE_PAYMENT_SOURCE_ALLOWED\"}],\"message\":\"The requested action could not be performed, semantically incorrect, or failed business validation.\",\"debug_id\":\"34c5eabd14e58\",\"links\":[{\"href\":\"https://developer.paypal.com/docs/api/orders/v2/#error-ONLY_ONE_PAYMENT_SOURCE_ALLOWED\",\"rel\":\"information_link\",\"method\":\"GET\"}]}","code":0,"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":220,"trace":[{"file":"/.../.../.../.../.../.../includes/external/paypal/lib/PayPalHttp/HttpClient.php","line":105,"function":"parseResponse","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/external/paypal/classes/PayPalPaymentV2.php","line":351,"function":"execute","class":"PayPalHttp\\HttpClient","type":"->"},{"file":"/.../.../.../.../.../.../includes/modules/payment/paypalgiropay.php","line":71,"function":"CreateOrder","class":"PayPalPaymentV2","type":"->"},{"file":"/.../.../.../.../.../.../includes/classes/payment.php","line":390,"function":"process_button","class":"paypalgiropay","type":"->"},{"file":"/.../.../.../.../.../.../checkout_confirmation.php","line":247,"function":"process_button","class":"payment","type":"->"}]}
    [...]

    Ich habe mal ohne die Server-Pfade zitiert. Vielleicht könnte jemand in dem betroffenen Post die Server-Pfade obfuskieren oder entfernen.

    Gruß,
    noRiddle

    [EDIT Tomcraft 20.06.2024: Pfade anonymisiert.]

    Viol

    • Fördermitglied
    • Beiträge: 2.278
    Das waren die Logfiles aus dem Demoshop. Die kann doch jeder beim automatischen Login einsehen. Deshalb habe ich sie so stehen lassen.
               
    anything