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

    Timm

    • Fördermitglied
    • Beiträge: 6.253
    Hab ich doch bisher auch nicht und dennoch sehe ich bei der Bestellung, die Paypaltransaktion und kann auch Rückzahlungen veranlassen. Genauso wird eine mit Paypal Plus Link bezahlte Bestellung dann automatisch als Paypal bezahlt markiert.

    Ich hab jetzt mal selbst was bei mir bestellt. Ergebnis:

    Auch mit deaktiverter Rückleitungs URL und dadurch zwangsweise deaktivierte "Zahlungsdaten übertragen" und ohne eingerichtete Webhooks, wird die Paypaltransaktion ganz normal im Backend in der Bestellbearbeitung angezeigt.

    --> Rückleitungs URL kann deaktiviert werden

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.973
    • Geschlecht:
    So sehe ich das auch bei Kunden.

    Irgendwie ist diese ganze PayPalPlus-Implementation nicht richtig dokumentiert.
    Kann man dazu nicht mal eine wirklich ausführliche und verständliche Anleitung machen ?
    Ich würde es machen, wenn ich mich auskennen würde. Als Nicht-Shop-Betreiber fällt das allerdings schwerer und mich komplett in die PayPal-API einzulesen und den modified-Code zu analysieren fehlt mir die Zeit. Es wäre also sinnvoll wenn das jemand machen würde der bereits Insider ist.

    Was z.B. sind Webhooks, bzw. was kann man damit bewirken ?

    Allein die Länge dieses Threads und die ganzen Updates zeigen wie komplex das Thema ist.
    Es ist also sinnvoll eine wirklich gute Anleitung herauszugeben, das würde am Ende auch weniger Arbeit machen weil die ganzen Rückfragen wie sich was genau verhält dann größtenteils wegfallen würden.

    Gruß,
    noRiddle

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    Sofern mit der Zahlung alles in Ordnung ist, funktioniert es auch ohne Webhooks.
    Wenn aber eine Zahlung nicht sofort von PayPal authorisiert wird, dann steht diese auf "warten".

    Sobald dann eine Änderung kommt, dann bekommt das der Shop nur mit einem Webhook mit, Ansonsten bleibt die Bestellung auf "warten" stehen.

    Gruss 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" 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, 2.0.4.0 rev 11204, 2.0.4.1 rev 11327 & 2.0.4.2 rev 11374
    • /admin/paypal_config.php
    • /includes/external/paypal/classes/PayPalPayment.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /lang/english/admin/paypal_config.php
    • /lang/german/admin/paypal_config.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.

    Eingeflossen sind die Korrekturen aus Ticket #1286 bzw. r11725 sowie Ticket #1614 bzw. r11727, r11728, r11729 sowie r11731.

    Grüße

    Torsten

    Martin109

    • Fördermitglied
    • Beiträge: 280
    • Geschlecht:
    Hallo Zusammen,

    mir ist beim aktuellen Paypal Plus Modul aufgefallen, daß Aufträge die per
    Paypal Ratenzahlung bezahlt werden, nicht in der Auftragsübersicht angezeigt werden.
    Ist mir erst aufgefallen als eine fortlaufende Bestell Nr. fehlte.
    Wenn ich diese Bestell Nr. dann über die Suche hole wird sie ganz normal angezeigt.

    Hat da jemand eine Idee ???

    Shop Version 2.0.3.0 mit Modified Template

    Gruß Martin

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.366
    • Geschlecht:
    Ist der Bestellstatus-Filter aktiv? Das siehst du unter "Konfiguration" -> "Adminbereich Optionen" -> "Anzeige Bestellungen", falls dort ein Haken gesetzt ist.

    Grüße

    Torsten

    Martin109

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

    Volltreffer, das war's. Auf die Idee bin ich gar nicht gekommen.
    Man sollte eben immer erst mal da schauen wo es am naheliegendsten ist. :-)

    Dank

    Gruß Martin

    tombstone

    • Neu im Forum
    • Beiträge: 14
    Hallo zusammen,

    kann mir einer nen Tipp geben, wie ich das Modul PayPal PLUS bei Selbstabholung im Checkout ausblenden/deaktivieren kann?
    Vielen Dank im Voraus!

    DANKE hat sich erledigt!!!! :-)

    Hetfield

    • modified Team
    • Beiträge: 937
    Hallo!

    Das kannst Du über das System Modul "Zahlarten abhängig von der Versandart" (Adminbereich: Module -> System Module) lösen.

    MfG Hetfield  8-)

    AGI

    • modified Team
    • Beiträge: 305
    • Geschlecht:
    Im aktuellen PayPal-Plus-Modul fällt mir auf, dass Daten mindestens doppelt an PayPal- gesendet werden, wenn in der Konfiguration die Verwendung von TABS aktiviert ist.

    Direkt beim laden der checkout_payment.php und beim öffnen des payPal-Plus-Tabs werden Daten an PayPal gesendet und ich frage ich, muss das sein?

    Sollte, wenn die die Verwendung von Tabs konfiguriert ist, nicht nur dann die PayPal-Elemente abgerufen werden, wenn das Tab auch geöffnet wird?

    Verantwortlich scheint mir derzeit dafür unter anderem die Datei
    /includes/modules/payment/paypalplus.php an Zeile 79

    Code: PHP  [Auswählen]
              $("#checkout_payment").attr("name", "checkout_payment");        
              $.get("'.xtc_href_link('callback/paypal/paypalplus.php', '', 'SSL').'", function(data) {
                $("#ppp_result").html(data);
              });
              '.(($this->get_config('MODULE_PAYMENT_'.strtoupper($this->code).'_USE_TABS') == '1' || count($payments) > 0) ? '
              $("[id*=\"rd\"]").click(function(e) {
                if ($(\'input[name="payment"]:checked\', \'#checkout_payment\').val() == "'.$this->code.'") {
                  '
    .(($this->get_config('MODULE_PAYMENT_'.strtoupper($this->code).'_USE_TABS') == '1') ? '
                  $.get("'
    .xtc_href_link('callback/paypal/paypalplus.php', '', 'SSL').'", function(data) {
                    $("#ppp_result").html(data);
                  });
                  '
    : '').'
                  '
    .((count($payments) > 0) ? '
                  $("#continueButton").removeAttr("onclick");
                  $("#continueButton").attr("onclick", "ppp.doContinue(); return false;");
                  '
    : '').'
                } else {
                  '
    .((count($payments) > 0) ? '$("#continueButton").removeAttr("onclick");' : '').'
                }
              });'
    : '').'
    Die Callback-Datei wird aufgerufen, sobald die Seite geladen wird. 2 Zeilen darunter wird sie nochmals aufgerufen, wenn die radio-box aktiviert wird.

    Sollte man den Code nicht so ändern:

    Code: PHP  [Auswählen]
              $("#checkout_payment").attr("name", "checkout_payment");        
              '.(($this->get_config('MODULE_PAYMENT_'.strtoupper($this->code).'_USE_TABS') == '1' || count($payments) > 0) ? '
              $("[id*=\"rd\"]").click(function(e) {
                if ($(\'input[name="payment"]:checked\', \'#checkout_payment\').val() == "'.$this->code.'") {
                  '
    .(($this->get_config('MODULE_PAYMENT_'.strtoupper($this->code).'_USE_TABS') == '1') ? '
                  $.get("'
    .xtc_href_link('callback/paypal/paypalplus.php', '', 'SSL').'", function(data) {
                    $("#ppp_result").html(data);
                  });
                  '
    : '').'
                  '
    .((count($payments) > 0) ? '
                  $("#continueButton").removeAttr("onclick");
                  $("#continueButton").attr("onclick", "ppp.doContinue(); return false;");
                  '
    : '').'
                } else {
                  '
    .((count($payments) > 0) ? '$("#continueButton").removeAttr("onclick");' : '').'
                }
              });
              $(document).ready(function($) {
                if($(":radio[value=paypalplus]:checked").length) {
                  $.get("'
    .xtc_href_link('callback/paypal/paypalplus.php', '', 'SSL').'", function(data) {
                  $("#ppp_result").html(data);
                });
                }
              });'
    : '
              $.get("'
    .xtc_href_link('callback/paypal/paypalplus.php', '', 'SSL').'", function(data) {
                $("#ppp_result").html(data);
              });
              '
    ).'

    Nur noch im nicht-Tab-Modus wird die PayPal-Box sofort geladen. Im Tab-Modus wird die Box nur nach dann mit der Seite geladen, wenn PayPalPlus bereits ausgewählt ist.
    Achtung, die Änderung ist nicht ausführlich getestet.

    Viele Grüße
    Andreas

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    Hallo Andreas,

    danke, schaut gut aus.

    Gruss Gerhard

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.973
    • Geschlecht:
    Klasse, gut entdeckt.
    Schon immer hat mich gestört, daß die checkout_payment.php langsam lädt wenn PayPalPlus aktiviert ist und hatte bislang nur nicht die Zeit das zu analysieren. Das ist also der Grund.

    Man sollte allerdings noch abfangen ob die Zahlungsart PayPalPlus bei Seitenaufruf bereits geöffnet ist,
    nämlich wenn sie an Position 1 (Sortierung) steht, es mehr als eine Zahlungsart gibt und CHECK_FIRST_PAYMENT_MODUL aktiviert ist (Erw. Konfiguration => Zusatzmodule => 'Erste Zahlungsoption vorauswählen'). Dann nämlich muß das Ajax-GET auch ohne Click bereits ausgeführt werden.

    Gruß,
    noRiddle

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.302
    • Geschlecht:
    das wird doch mit
    Code: PHP  [Auswählen]
    if($(":radio[value=paypalplus]:checked").length) {

    bereits gemacht

    Timm

    • Fördermitglied
    • Beiträge: 6.253
    Super. Ich hatte ja auch schon mehrfach darauf hingewiesen, dass in whos_online statt checkout_payment.php immer /callback/paypal/paypalplus.php angezeigt wird, wenn sich jemand auf der checkout_payment.php befindet.

    Das ist nun weg und wird nur angezeigt, wenn man Paypal Plus auch wirklich auswählt.

    Gruß Timm

    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" 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
    • /callback/paypal/paypalpluslink.php
    • /includes/external/paypal/classes/PayPalCommon.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/functions/PayPalFunctions.php
    • /includes/external/paypal/modules/send_order.php
    • /includes/modules/payment/paypalcart.php
    • /includes/modules/payment/paypalplus.php

    Für Shopversion 2.0.0.0 rev 9678
    • /callback/paypal/paypalpluslink.php
    • /includes/external/paypal/classes/PayPalCommon.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/functions/PayPalFunctions.php
    • /includes/extra/send_order/paypal.php
    • /includes/modules/payment/paypalcart.php
    • /includes/modules/payment/paypalplus.php

    Für Shopversion 2.0.1.0 rev 10403
    • /callback/paypal/paypalpluslink.php
    • /includes/external/paypal/classes/PayPalCommon.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/functions/PayPalFunctions.php
    • /includes/extra/send_order/data/paypal.php
    • /includes/modules/payment/paypalcart.php
    • /includes/modules/payment/paypalplus.php

    Für Shopversion 2.0.2.0 rev 10591, 2.0.2.1 rev 10607, 2.0.2.2 rev 10690, 2.0.3.0 rev 10907, 2.0.4.0 rev 11204, 2.0.4.1 rev 11327 & 2.0.4.2 rev 11374
    • /callback/paypal/paypalinstallment.php
    • /callback/paypal/paypalpluslink.php
    • /includes/external/paypal/classes/PayPalCommon.php
    • /includes/external/paypal/classes/PayPalPaymentBase.php
    • /includes/external/paypal/functions/PayPalFunctions.php
    • /includes/extra/send_order/data/paypal.php
    • /includes/modules/payment/paypalcart.php
    • /includes/modules/payment/paypalplus.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.

    Eingeflossen sind die Korrekturen aus r11742 sowie Ticket #1601 bzw. r11744 sowie Ticket #1496 bzw. r11746 sowie r11748.

    Grüße

    Torsten
               
    anything