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

    Schreinermeister

    • Fördermitglied
    • Beiträge: 425
    • Geschlecht:
    Hallo Zusammen.

    ich hab nun alle Aktualisierungen inkl. der vom 04.11 eingespielt.
    Leider hat sich am Fehlverhalten ( falsche Anzeige der Zahlungsart ) nichts geändert.

    Hallo zusammen

    erneuter Versuch.

    modified eCommerce Shopssoftware v1.06 rev 4642 SP4 dated: 2016-04-01
    Datenbank Version: "MOD_1.0.6.4"

    PayPay PLUS für Shopversion 1.06 rev 4642 SP3 verbaut.
    Ich habe die Version zu 1.06 rev 4642 SP4 und die letzte Aktualisierung dazu eingebaut.

    Dennoch hab ich folgendes "Fehlverhalten" bemerkt.

    Auf der checkout confirmation Seite wird als Zahlungsweise vorerst immer "paypayplus" angezeigt. Egal welche Zahlungsweise ausgewählt wurde.

    Im Browser wird xxx/checkout_confirmation.php aufgerufen.

    Nach dem Klick auf "KAUFEN" wird
    xxx/callback/paypal/paypalplus.php?checkout=true
    ausgeführt.

    Bei den PayPal eigenen Zahlungsvarianten werde ich entsprechend weitergeleitet und die Bestellung abgeschlossen.

    Bei den nicht PayPal Zahlungsvarianten, z.B. Banküberweisung, wird die confirmation-Seite nochmals mit
    xxx/checkout_confirmation.php?conditions=true
    aufgerufen. Hier wird dann die "richtige" Zahlungsweise dargestellt.

    Durch ein erneutes klicken auf "KAUFEN" wird die Bestellung dann ausgeführt.

    Zwischenzeitlich hab ich's auch mal mit leeren des Caches versucht.

    Das Update mit der SDK-Aktualisierung (von Version 1.7.3 auf 1.7.4) hab ich bisher nicht durchgeführt.

    Hab ich was falsch eingebaut?
    Kannt jemand das Verhalten?

    Wenn man Sofortüberweisung in die Paypal Paywall hinzufügt, dann steht auf der checkout_confirmation erstmal Paypal als Zahlart. Man klickt auf kaufen, die Seite wird geladen, JETZT steht dort sofortüberweisung, man klickt nochmal auf kaufen, JETZT wird man erst weitergeleitet zu Sofortüberweisung.

    Einige Kunden haben sich deswegen bereits bei mit gemeldet und sind dadurch verunsichert.
    Ich denke auch das eine Kaufabbrüche dadurch entstehen.

    Kann sich das mal einer der "wissenden" ansehen.
    Bin auch gerne bereit dafür zu zahlen.

    Gruß Chris

    kann jemand helfen?
    Gerne gegen Bezahlung.
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Das Fehlverhalten sieht für mich so aus als wenn Du ein Fremdtemplate einsetzt, welches den Button manipuliert!

    Suche mal in deiner "checkout_payment.html" den Button, also sowas wie <input ...> und ergänze dort folgendes im HTML-Code:

    Code: PHP  [Auswählen]
    id="continueButton"

    Grüße

    Torsten

    Schreinermeister

    • Fördermitglied
    • Beiträge: 425
    • Geschlecht:
    Hallo

    ich nutze das "bootstrap Template von Karl"

    in der checkout_confirmation.html wird der BUTTON so erzeugt.

    Code: PHP  [Auswählen]
    <div>{if $MODULE_BUTTONS!=''}&nbsp;&nbsp;{$MODULE_BUTTONS}{/if}&nbsp;&nbsp;{$CHECKOUT_BUTTON|button|replace:'class="':'class="pull-right '}</div>

    in der checkout_payment.html so

    Code: PHP  [Auswählen]
    <p>{$BUTTON_CONTINUE|button}</p>

    soweit ich es herausfinden konnte werden die Buttons in der /template/bootstrap/source/inc/button.inc.php definiert.

    Code: PHP  [Auswählen]
    // Erklärung: es wird geprüft, welches Buttonbild von Modified aufgerufen wird. Dementsprechend werden neue Attribute zugewiesen.
        // z.B. dem Buttonbild 'button_buy_now.gif' wird zugewiesen:
        //      'Image' => '' (kein Bild - vergleiche cart_del.gif, dort wird das Bild cart_del.gif zugewiesen, damit bleibt der Button ein Bildbutton).
        //      'Text' => IMAGE_BUTTON_IN_CART (der Text der auf dem neuen Button angezeigt wird, in der Regel der Text der Modifiedvariablen '$alt', in unserem Beispiel der Text der in der Languagedatei 'IMAGE_BUTTON_IN_CART' zugewiesen wurde).
        //      'icon' => 'icon-shopping-cart' (das Icon das im Button angezeigt wird - in der Bootstrapdokumentation unter 'Icons by Glyphicons' kann man diese aussuchen).
        //      'iconposition' => 'iconleft' (die Position des Icons im Button - 'iconleft' = links vom Text, 'iconright' = rechts vom Text).
        //      'Class' => '' (hier kann dem Button noch eine zusätzliche CSS-Klasse zugewiesen werden).
        /* Buttons array */

    ...

    'button_checkout.gif'      => array('Image' => '',                'Text' => $alt,        'icon' => 'icon-ok',              'iconposition' => 'iconright',    'Class' => ''),
        'button_confirm.gif'       => array('Image' => '',            'Text' => $alt,        'icon' => 'icon-ok',              'iconposition' => 'iconright',    'Class' => ''
        'button_confirm_order.gif' => array('Image' => '',            'Text' => $alt,         'icon' => 'icon-ok icon-white',   'iconposition' => 'iconright',    'Class' => 'btn-success'),
        'button_continue.gif'      => array('Image' => '',            'Text' => $alt,          'icon' => 'icon-arrow-right',     'iconposition' => 'iconright',    'Class' => ''),
        'button_continue_shopping.gif'  => array('Image' => '',     'Text' => $alt,         'icon' => 'icon-arrow-left',      'iconposition' => 'iconleft',     'Class' => ''),

    ...

    // wenn Submitbutton
        if ($submit)
        {
          $html .= '<button class="btn';
          if ($buttons[$name]['Class']) {
            $html .= ' '.$buttons[$name]['Class'].'"';
          } else {
            $html .= '"';
          }
          if ($submit <> true) {
            $html .= ' name="'.$submit.'"';
          }
          if ($submit == true || $submit == "submit"){
            $html .= ' type="submit"';
          }
          $html .= ' title="'.$title.'"'.$parameters.'>';
          if  ($buttons[$name]['iconposition'] == 'iconleft') {
            $html .= '<i class="'.$buttons[$name]['icon'].'"></i>&nbsp;'.$buttons[$name]['Text'];
          }
          elseif ($buttons[$name]['iconposition'] == 'iconright') {
            $html .= $buttons[$name]['Text'].'&nbsp;<i class="'.$buttons[$name]['icon'].'"></i>';
          }
          else {
            $html .= $buttons[$name]['Text'];
          }
          $html .= '</button>';
        }

        return $html;

    wo müsste/könnte ich den code einfügen ?

    Gruß Chris

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Ersetze mal testweise den Code in der "/template/bootstrap/source/inc/button.inc.php" mit folgendem Inhalt:

    Code: PHP  [Auswählen]
    // Erklärung: es wird geprüft, welches Buttonbild von Modified aufgerufen wird. Dementsprechend werden neue Attribute zugewiesen.
        // z.B. dem Buttonbild 'button_buy_now.gif' wird zugewiesen:
        //      'Image' => '' (kein Bild - vergleiche cart_del.gif, dort wird das Bild cart_del.gif zugewiesen, damit bleibt der Button ein Bildbutton).
        //      'Text' => IMAGE_BUTTON_IN_CART (der Text der auf dem neuen Button angezeigt wird, in der Regel der Text der Modifiedvariablen '$alt', in unserem Beispiel der Text der in der Languagedatei 'IMAGE_BUTTON_IN_CART' zugewiesen wurde).
        //      'icon' => 'icon-shopping-cart' (das Icon das im Button angezeigt wird - in der Bootstrapdokumentation unter 'Icons by Glyphicons' kann man diese aussuchen).
        //      'iconposition' => 'iconleft' (die Position des Icons im Button - 'iconleft' = links vom Text, 'iconright' = rechts vom Text).
        //      'Class' => '' (hier kann dem Button noch eine zusätzliche CSS-Klasse zugewiesen werden).
        /* Buttons array */

    ...

    'button_checkout.gif'      => array('Image' => '',                'Text' => $alt,        'icon' => 'icon-ok',              'iconposition' => 'iconright',    'Class' => ''),
        'button_confirm.gif'       => array('Image' => '',            'Text' => $alt,        'icon' => 'icon-ok',              'iconposition' => 'iconright',    'Class' => ''
        'button_confirm_order.gif' => array('Image' => '',            'Text' => $alt,         'icon' => 'icon-ok icon-white',   'iconposition' => 'iconright',    'Class' => 'btn-success'),
        'button_continue.gif'      => array('Image' => '',            'Text' => $alt,          'icon' => 'icon-arrow-right',     'iconposition' => 'iconright',    'Class' => ''),
        'button_continue_shopping.gif'  => array('Image' => '',     'Text' => $alt,         'icon' => 'icon-arrow-left',      'iconposition' => 'iconleft',     'Class' => ''),

    ...

    // wenn Submitbutton
        if ($submit)
        {
          $html .= '<button id="continueButton" class="btn';
          if ($buttons[$name]['Class']) {
            $html .= ' '.$buttons[$name]['Class'].'"';
          } else {
            $html .= '"';
          }
          if ($submit <> true) {
            $html .= ' name="'.$submit.'"';
          }
          if ($submit == true || $submit == "submit"){
            $html .= ' type="submit"';
          }
          $html .= ' title="'.$title.'"'.$parameters.'>';
          if  ($buttons[$name]['iconposition'] == 'iconleft') {
            $html .= '<i class="'.$buttons[$name]['icon'].'"></i>&nbsp;'.$buttons[$name]['Text'];
          }
          elseif ($buttons[$name]['iconposition'] == 'iconright') {
            $html .= $buttons[$name]['Text'].'&nbsp;<i class="'.$buttons[$name]['icon'].'"></i>';
          }
          else {
            $html .= $buttons[$name]['Text'];
          }
          $html .= '</button>';
        }

        return $html;

    Entscheidend ist dieser Teil:

    Code: PHP  [Auswählen]
    $html .= '<button id="continueButton" class="btn';

    Grüße

    Torsten

    Schreinermeister

    • Fördermitglied
    • Beiträge: 425
    • Geschlecht:
    Hallo Torsten

    danke für die Rückmeldung

    ich denke es geht in die richtige Richtung.

    Wenn ich den von dir vorgeschlagegen Code einsetze ist der WEITER-Button auf der checkout_payment-Seite bei den Nicht-PayPal Zahlungsarten ohne Funktion. Die PayPal-eigenen Zahlungsarten funktionieren weiterhin ohne erkannbare Probleme.

    Für den WEITER-Button wird folgender Code erzeugt:

    Code: PHP  [Auswählen]
    <button id="continueButton" class="btn" type="submit" title="Weiter" onclick="ppp.doContinue(); return false;">Weiter&nbsp;<i class="icon-arrow-right"></i></button>

    Gruß Chris

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Die einfachste Lösung ist es in der "checkout_payment.html" die Zeile:

    Code: PHP  [Auswählen]
    <p>{$BUTTON_CONTINUE|button}</p>

    zu ersetzen mit:

    Code: PHP  [Auswählen]
    <p>{$BUTTON_CONTINUE}</p>

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • 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 Shopversionen 1.06 rev 4642 SP4 & 2.0.0.0 rev 9678
    • /includes/external/paypal/classes/PayPalCommon.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.

    Das Update behebt ein Problem mit dem Modul "ot_loworderfee.php".

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • 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.

    In den vorherigen Modulen wurde die neue Datei "/callback/paypal/paypalplus_comment.php" vergessen.

    Grüße

    Torsten

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Hallo zusammen,
    ich habe mit PayPal Plus folgendes Problem:
    Bei einzelnen Kunden passiert es, dass der Kunde z.B. 3 Artikel im Warenkorb hat und dann nach Bestätigung der Bestellung zur Zahlungsseite von PayPal weitergeleitet wird.
    Dort findet er dann entweder die Meldung "Ihr Warenkorb ist leer" vor, oder er "bezahlt" mit PayPal und ist der Meinung, dass alles geklappt hat, bekommt aber weder von PayPal noch vom Shop eine Bestätigung.
    Er ruft dann bei uns an und wenn ich den Kunden dann in "Wer ist online" sehe, hat er einmal einen Eintrag mit noch vollem Warenkorb und einen darüber als "Gast" ohne Warenkorb.
    Wenn ich den Kunden dann bitte, den Bestellvorgang nochmals bis zum Ende durchzugehen (was ja eh schon sehr peinlich ist) und er macht alles nochmal bis zur Zahlung bei PayPal, dann funktioniert es.
    Ich telefoniere seit Tagen bereits mit dem PayPal Kundenservice, leider bisher ohne Erfolgt.
    Wer kann mir helfen oder wer hat bereits ähnliche Erfahrungen gemacht ?

    Shop: v2.0.0.0 rev 9678
    Managed Server bei Hetzner
    Datenbank: MySQL 5.5.53-0+deb8u1
    PHP Version: 5.6.27 (Zend: 2.6.0)

    Gruss
    Helmut

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Es wird am Template liegen. Wenn hier die Checkout-Buttons manipuliert sind, dann kommt es genau zu diesen Phänomenen.

    Grüße

    Torsten

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Was genau meinst Du mit "manipuliert" ?

    Gruss
    Helmut

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Na dass ein Button nicht mehr in der Art drin steht:

    Code: PHP  [Auswählen]
    {$BUTTON_CONTINUE}

    sondern so in der Art:

    Code: PHP  [Auswählen]
    {$BUTTON_CONTINUE|replace:"xxx":"yyy"}

    oder auch so in der Art:

    Code: PHP  [Auswählen]
    <input type="...>

    oder auch so:

    Code: PHP  [Auswählen]
    <button type="...>

    Das kommt meist durch Verwendung von falsch programmierten CSS-Buttons.

    Grüße

    Torsten

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    Ich habe in der checkout_payment.html folgendes gefunden:

    Code: PHP  [Auswählen]
    <input type="submit" class="btn btn-danger btn-huge btn-block" value="{#continue_checkout#}" />

    Was muss ich daran ändern oder ergänzen ?

    Gruss
    Helmut

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.195
    • Geschlecht:
    Ersetze das mal gegen:

    Code: PHP  [Auswählen]
    <input type="submit" id="continueButton" class="btn btn-danger btn-huge btn-block" value="{#continue_checkout#}" />

    Grüße

    Torsten

    helmut_sommer

    • Fördermitglied
    • Beiträge: 110
    ok habe nun

    das:

    Code: PHP  [Auswählen]
    <input type="submit" class="btn btn-danger btn-huge btn-block" value="{#continue_checkout#}" />

    ersetzt durch das:

    Code: PHP  [Auswählen]
    <input type="submit" id="continueButton" class="btn btn-danger btn-huge btn-block" value="{#continue_checkout#}" />

    Da ich den genannten Fehler auf all meinen Geräten nicht nachstellen konnte, muss ich nun also warten, bis der nächste Kunde mit PayPal bezahlt ? oder ?

    Gruss
    Helmut
    rechtstexte für onlineshop