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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    @karsta
    Ich denke ich habe erklärt wie es update-sicher geht, nicht ?
    Versuche es doch über eine Datei in /includes/extra/checkout/checkout_process_end/. Ich kann's gerade nicht ausprobieren und mangels Live-Shoop und PayPal-Anbindung auch nicht testen.
    Query nach payment_method (oder payment_class) auf TABLE orders machen mit $insert_id.
    Dann holst du dir die genaue Zahlungsart nach Vorbild der Methode payment_title() aus der payment-Klasse und speicherst sie in ein neues Feld in der DB-Tabelle orders.
    Geht so update-sicher.

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Hi Oli,

    wenn ich Karsta richtig verstanden habe, dann geht es ihr insbesondere um die einzelnen Zahlungsarten von PayPal Plus innerhalb der Payment Wall und dazu schrieb ich ja bereits etwas in Antwort #1707.

    Wenn es nur darum geht unterschiedliche Texte für "Nachnahme (cod)", "Vorkasse/Banküberweisung (moneyorder)" und alle Zahlungsarten gleichermaßen auf der Payment Wall von "PayPal Plus (paypalplus)" zu generieren, dann geht das natürlich jederzeit.

    Grüße

    Torsten

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Ich hoffe, ich habe das jetzt richtig verstanden.
    Wir nutzen als Wawi und für die Buchhaltungsvorbereitung Wiso MeinBüro (weitgehend identisch mit Orgarmax). Ich habe, um die PayPalrechungszahlungen in die Wawi zu bekommen, nur den Connector verändert.
    In dem Connector habe ich für die PayPal Rechnungsdatenabfrage dies abgefragt:

    Code: PHP  [Auswählen]
    $GLOBALS['query'] ="SELECT
    paypal_instructions.date as ZusatzfeldKunde4,  
                      paypal_instructions.holder as ZusatzfeldKunde5,
                      paypal_instructions.name as ZusatzfeldBestellung1,
                      paypal_instructions.iban as ZusatzfeldBestellung2,
                      paypal_instructions.bic as ZusatzfeldBestellung3,
                      paypal_instructions.reference as ZusatzfeldBestellung4
    FROM orders
                     INNER JOIN
                      orders_products ON (orders.`orders_id` = `orders_products`.`orders_id`)
                     LEFT OUTER JOIN
                      orders_products_attributes ON (`orders_products`.`orders_products_id` = orders_products_attributes.orders_products_id)
                     LEFT OUTER JOIN
                      orders_total ON (orders.`orders_id` = `orders_total`.`orders_id` AND orders_total.class = 'ot_shipping')
                     LEFT OUTER JOIN
                      banktransfer ON (orders.`orders_id` = `banktransfer`.`orders_id`)
                     LEFT OUTER JOIN
                      paypal_instructions ON (orders.`orders_id` = `paypal_instructions`.`orders_id`)
                    WHERE
                      orders_status = '"
    .$GLOBALS["DEFAULT_ORDERS_STATUS"]."'
                     ORDER BY orderID, Positionsnummer, SortierungOptionen
                     "
    ;
            return $GLOBALS['datakind'];

    Die Wawi bietet die Möglichkeit, die abgefragten Datenbankfelder mit sog. individuellen Feldern (Zusatzfeldxyz) zu kombinieren, die in der WAWI Datenbank gespeichert werden und die in das Auftrags- Lieferschein- Rechnungsformular mit Hilfe eines Vorlagendesigners eingebunden werden können.
    Ich habe für uns ein Rechnungsformular angelegt, in dem nur noch die Rechnungsdaten von PayPal (Bankverbindung, Zahlungsziel etc.) auftauchen, unsere Bankverbindung aber nicht mehr.
    Ich füge mal in einem Screen an, wie das dann aussieht. Ich weiß natürlich nicht, ob andere Wawi auch so flexibel sind, aber ich habe das auch für die Kombi Magento <-> MeinBüro schon angepasst.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Ich hatte vor kurzem ja schon einmal geschildert, dass eine Zahlung per PayPal Express (paypalcart) nicht erfolgreich durchging, eine Bestellung im Shop mit dem Zahlungsstatus "offen" angelegt wurde, unter Zahlungsdetails bei PayPal aber nichts zu finden war.
    Nun ist gestern wieder dasselbe passiert.
    Und genauso wie damals hat der Kunde dann Amazon Pay ausgewählt und von Amazon eine Bestätigung erhalten. Im Shop ist nichts von der Amazon Zahlung zu sehen und im Backend von Amazon steht "storniert".

    Ich habe nun unter Logfiles nachgesehen und in der mod_error folgendes gefunden:

    Code: PHP  [Auswählen]
    [2020-03-15 23:31:53]   [error] [modified]      [pid:19912] Call to a member function quote() on null in File: /is/htdocs/shop/includes/modules/payment/paypalcart.php on Line: 164     {}      {}

    Die Zeile 164 in der paypalcart lautet:

    Code: PHP  [Auswählen]
    $quotes_array = $ot_shipping->quote();

    In der mod_payapl_live steht:

    Code: PHP  [Auswählen]
    [15-03-2020 23:31:12] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/oauth2/token
    [15-03-2020 23:31:12] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 200
    [15-03-2020 23:31:12] PayPal\Core\PayPalHttpConnection : INFO: GET https://api.paypal.com/v1/payment-experience/web-profiles/XP-CS52-M4VJ-3Y2K-S58C
    [15-03-2020 23:31:13] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 200
    [15-03-2020 23:31:13] PayPal\Core\PayPalHttpConnection : INFO: POST https://api.paypal.com/v1/payments/payment
    [15-03-2020 23:31:13] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 201
    [15-03-2020 23:31:52] PayPal\Core\PayPalHttpConnection : INFO: GET https://api.paypal.com/v1/payments/payment/PAYID-LZXKZMI0DH61159V55996215
    [15-03-2020 23:31:53] PayPal\Core\PayPalHttpConnection : INFO: Response Status  : 200

    und in der mod_warning:

    Code: PHP  [Auswählen]
    [2020-03-15 23:37:58]   [warning]       [modified]      [pid:6195]      session_set_save_handler(): Cannot change save handler when session is active in File: /is/htdocs/Shop/includes/functions/sessions.php on Line: 182     {}      {}
    [2020-03-15 23:37:58]   [warning]       [modified]      [pid:6195]      Backtrace #0 - /is/htdocs/Shop/includes/modules/verify_session.php called at Line 71    {}      {}
    [2020-03-15 23:37:58]   [warning]       [modified]      [pid:6195]      Backtrace #1 - /is/htdocs/Shop/includes/application_top.php called at Line 265  {}      {}
    [2020-03-15 23:37:58]   [warning]       [modified]      [pid:6195]      Backtrace #2 - /is/htdocs/Shop/index.php called at Line 25      {}      {}
    [2020-03-15 23:37:59]   [warning]       [modified]      [pid:6198]      session_set_save_handler(): Cannot change save handler when session is active in File: /is/htdocs/Shop/includes/functions/sessions.php on Line: 182     {}      {}

    Die obige Bestellung wurde im 23:35:24 im Shop-Backend datiert.
    Ich nutze v2.0.4.2 rev 11374 mit dem neuesten PayPal Modul.

     :-?

    Ich schrieb die diesbezüglich noch:

    [...]
    Guten Morgen Torsten,
    die PHP Version ist  7.2.28
    Screenshot anbei.
    [...]

    Sieht normal aus.
    Melde dich mal bitte über unser Kontaktformular, dann versuchen wir das mal bei dir im Shop nachzuvollziehen und korrigieren es dir kostenlos.
    [...]

    Grüße

    Torsten

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    Moin Torsten,
    ich freue mich über Dein Angebot. Ich werde im Laufe des Tages darauf zurückkommen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Alles klar, dann freue ich mich von dir zu hören.

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • 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" erneut in seinen Shop.

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

    Für Shopversion 1.06 rev 4642 SP4, 2.0.0.0 rev 9678, 2.0.1.0 rev 10403, 2.0.2.0 rev 10591, 2.0.2.1 rev 10607, 2.0.2.2 rev 10690 & 2.0.3.0 rev 10907
    • /includes/external/paypal/classes/PayPalPayment.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php

    Für Shopversion 2.0.4.0 rev 11204, 2.0.4.1 rev 11327, 2.0.4.2 rev 11374 & 2.0.5.0 rev 12487
    • /includes/external/paypal/classes/PayPalPayment.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/modules/orders_paypal_data.php

    Da hier davon ausgegangen wird, dass der Shopbetreiber an diesen Dateien keine Änderungen vorgenommen hat, können die Dateien aus dem Ordner "CHANGED_FILES" für die genannten Shopversionen einfach in den Shop kopiert werden, nachdem von den entsprechenden Dateien Sicherheitskopien erstellt wurden.

    Eingeflossen sind die Korrekturen r12650 & r12651.

    Grüße

    Torsten

    woodpecker

    • Fördermitglied
    • Beiträge: 61
    • Geschlecht:
    Hallo Torsten,

    vielen Dank für das neue Update des PayPal Plus Modules.
    Ist es gewollt das mit dem Update unter PayPal Details das Fenster für Rückzahlungen nicht mehr vorhanden ist?

    Shopversion v2.0.4.2 rev 11374
    PHP Version 7.1.33

    Grüße
    Rene

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Nein das ist nicht gewollt und wird korrigiert werden. Danke für die Meldung! :thx:

    Der Fehler wurde in Ticket #1781 festgehalten.

    Grüße

    Torsten

    voodoopupp

    • Fördermitglied
    • Beiträge: 1.850
    • Geschlecht:
    [...]
    mir geht es um die Unterscheidung der PayPal "Kauf auf Rechnung" Auswahl. Denn diese Zahlart hat ein anderes eigenes Zahlungsziel (Datum).
    Wegen der Update Sicherheit möchte ich ungern in den PayPal-Dateien direkt etwas ändern, um dem Kunden bei dieser Zahlart eine eigene Information anzuzeigen.
    [...]

    Das geht leider nicht. Wir haben zwar die "Krücke" eingebaut, dass "Kauf auf Rechnung" erscheint, wenn wir über PayPal Zahlungsinformationen erhalten, aber selbst dann ist nicht sichergestellt, dass es wirklich "Kauf auf Rechnung" ist. Die API bietet hier leider keine weitere Möglichkeit der Unterscheidung, welche Zahlungsart innerhalb der Payment Wall gewählt wurde.
    [...]

    Grundsätzlich sind auch wir weiterhin auf der Suche nach einer guten Lösung um Paypal Rechnung sinnvoll in die Wawi zu bekommen. Denn es muss ja dann eben das Rechungstemplate korrekt ausgegeben werden mit den entsprechenden Daten von Paypal.

    Was genau ist denn daran eine Krücke bzw. wo kann es hier zu Problemen kommen?

    Grüße
    Dominik

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.213
    • Geschlecht:
    Das Problem ist, dass es nicht nur bei Kauf auf Rechnung von PayPal die Pay Instructions gibt. Es gibt Konstellationen wie "nicht gedecktes PayPal Konto" oder Ratenzahlung wo auf die Bankinformationen zurück kommen.

    Es gibt keine API Abfrage um herauszubekommen mit welcher Zahlart der Kunde bezahlt hat.

    Gruss Gerhard

    Viol

    • Fördermitglied
    • Beiträge: 2.263
    [...]
    Es gibt Konstellationen wie "nicht gedecktes PayPal Konto" oder Ratenzahlung wo auf die Bankinformationen zurück kommen.
    [...]

    Ratenzahlung gibt es doch nicht mehr oder muß auch bei der neuen Paypal Ratenzahlung, die der Kunde erst bei Paypal selbst auswählen kann, entsprechende Informationen auf die Kundenrechnung und wenn ja, wird dann die Höhe der Rate etc. in extra Datenbankfeldern wie bei PayPal Rechnung die Bankverbindung, Verwendungszweck und Zahlungsziel geschrieben?
    Wie oben beschrieben, klappt die Übernahme aller Daten in Orgamax/MeinBüro tadellos.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • 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" erneut in seinen Shop.

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

    Für Shopversion 1.06 rev 4642 SP4, 2.0.0.0 rev 9678, 2.0.1.0 rev 10403, 2.0.2.0 rev 10591, 2.0.2.1 rev 10607, 2.0.2.2 rev 10690 & 2.0.3.0 rev 10907
    • /includes/external/paypal/classes/PayPalPaymentBase.php

    Für Shopversion 2.0.4.0 rev 11204, 2.0.4.1 rev 11327, 2.0.4.2 rev 11374 & 2.0.5.0 rev 12487
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/modules/orders_paypal_data.php

    Da hier davon ausgegangen wird, dass der Shopbetreiber an diesen Dateien keine Änderungen vorgenommen hat, können die Dateien aus dem Ordner "CHANGED_FILES" für die genannten Shopversionen einfach in den Shop kopiert werden, nachdem von den entsprechenden Dateien Sicherheitskopien erstellt wurden.

    Eingeflossen sind die Korrekturen r12652 & r12654.

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.707
    • Geschlecht:
    [...]
    Es gibt keine API Abfrage um herauszubekommen mit welcher Zahlart der Kunde bezahlt hat.
    [...]

    Und wie macht ihr das in der Methode payment_title() in der payment-Klasse für die Order-Mails ?
    Da geht es doch auch.

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.161
    • Geschlecht:
    Da wird die selbe "Krücke" verwendet, daher hier nochmal alle relevanten Beiträge dazu im Kontext:

    [...]
    mir geht es um die Unterscheidung der PayPal "Kauf auf Rechnung" Auswahl. Denn diese Zahlart hat ein anderes eigenes Zahlungsziel (Datum).
    Wegen der Update Sicherheit möchte ich ungern in den PayPal-Dateien direkt etwas ändern, um dem Kunden bei dieser Zahlart eine eigene Information anzuzeigen.
    [...]

    Das geht leider nicht. Wir haben zwar die "Krücke" eingebaut, dass "Kauf auf Rechnung" erscheint, wenn wir über PayPal Zahlungsinformationen erhalten, aber selbst dann ist nicht sichergestellt, dass es wirklich "Kauf auf Rechnung" ist. Die API bietet hier leider keine weitere Möglichkeit der Unterscheidung, welche Zahlungsart innerhalb der Payment Wall gewählt wurde.
    [...]
    [...]
    Was genau ist denn daran eine Krücke bzw. wo kann es hier zu Problemen kommen?
    [...]

    Und darauf schrieb Gerhard dann nochmal:

    Das Problem ist, dass es nicht nur bei Kauf auf Rechnung von PayPal die Pay Instructions gibt. Es gibt Konstellationen wie "nicht gedecktes PayPal Konto" oder Ratenzahlung wo auf die Bankinformationen zurück kommen.

    Es gibt keine API Abfrage um herauszubekommen mit welcher Zahlart der Kunde bezahlt hat.
    [...]

    Grüße

    Torsten
    Trade Republic - Provisionsfrei Aktien handeln