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: PayPal Link - direkte Weiterleitung zu PayPal

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    PayPal Link - direkte Weiterleitung zu PayPal
    am: 10. Februar 2017, 14:23:55
    Hallo,

    ich habe Modified 2.x und das modified responsive Design.

    In unserer alten modified Version 1.06 haben wir über die checkout_success den Kunden nach getanener Bestellung sofort zu Paypal weiter geleitet.

    Das war Notwendig, weil der Kunde am Ende der Bestellung den Paypal Link übersehen hat und gehofft hatte er wird weiter geleitet. Das passierte natürlich nicht und er bestellte noch mal.

    Also haben wir über die checkout_succsess es so gelöst:

    Code: PHP  [Auswählen]
            //BOF  - web28 - 2010-03-27 PayPal Bezahl-Link
    if (isset($_SESSION['paypal_link']) && MODULE_PAYMENT_PAYPAL_IPN_USE_CHECKOUT == 'True') {
      if(preg_match('/href="(.*?)">/', $_SESSION['paypal_link'], $matches)) {
        xtc_redirect($matches[1], 'NONSSL');
      }
            $smarty->assign('PAYPAL_LINK',$_SESSION['paypal_link']);
        unset ($_SESSION['paypal_link']);          
    }    
    //EOF  - web28 - 2010-03-27 PayPal Bezahl-Link

    Das funktioniert aber in der 2.x Version nicht mehr.
    Was muss ich ändern, dass der Kunde - nach er auf den Kaufen Button geklickt hat - sofort auf den generierten Paypal Link weiter geleitet wird - anstatt die checkout_success mit dem Link zu sehen?

    Vielen lieben Dank vorab für die Mühe.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=36654.0

    web28

    • modified Team
    • Beiträge: 9.404
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #1 am: 10. Februar 2017, 19:56:09
    In 2.0 gibt es die alten Paypal Module nicht mehr, dafür gibt es Neue.

    Die alten Module sollte man im neuen Shopsystem auch nicht benutzen.

    Gruss Web28

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #2 am: 13. Februar 2017, 09:30:57
    Hallo web28,

    da stimme ich dir zu.

    Aber "Paypal Link" ist doch ein offizielles Modul, welches in der 2.0 ausgeliefert wird.

    Es gibt dann in der E-Mail und am Ende der Bestellung den Link aus.
    Ich möchte nur das er dann direkt auf den Link weiter leitet.

    Das alte Paypal IPN Modul verwende ich ja nicht.

    Gruß Heiko

    flip

    • Neu im Forum
    • Beiträge: 20
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #3 am: 14. Februar 2017, 21:21:27
    Ich kann "Paypal Classic" und falls du weitere Zahlungsarten brauchst "Paypal Plus" aus der modified 2 nur weiterempfehlen - einfach einzurichten, hinreichend dokumentiert, in modified 2.x vorinstalliert und es arbeitet bisher problemfrei.

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #4 am: 15. Februar 2017, 14:03:33
    Paypal Classic leitet zwar zu Paypal von selber weiter, aber erst wenn die Paypal Zahlung erfolgt ist, ist die Bestellung abgeschlossen.

    Wir haben aber tatsächlich viele Kunden, die via Telefon bestellen und per Paypal bezahlen wollen.
    Dann nehmen wir die Bestellung auf und wählen Paypal Link aus.
    Die erhalten dann den Link per E-Mail.

    Aber die Kunden die dann selber bestellen, warten dann am Ende auf die Weiterleitung und über sehen den Paypal Link. Also bestellen sie noch mal und noch mal und nochmal. Bis sie aufgeben oder den Paypal Link am Ende sehen.

    Daher hätte ich gerne die Weiterleitung nach dem Abschluss zu Paypal beim Paypal Link Modul, anstatt die Checkoutseite mit dem Link.

    web28

    • modified Team
    • Beiträge: 9.404
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #5 am: 16. Februar 2017, 11:47:11
    Zitat
    Dann nehmen wir die Bestellung auf und wählen Paypal Link aus.
    Die erhalten dann den Link per E-Mail.

    Wie macht Ihr das? Mit einem Masterpasswort oder einem speziellen Account?

    Man kann ja bei jeden Kundengruppe bestimmte Zahlungsweisen verbieten.

    Gruss Web28

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #6 am: 16. Februar 2017, 14:17:27
    Derzeit in Modified 1.6 nutzen wir noch das umgebaute Paypal_ipn Modul.
    Das funktioniert wie das derzeit aktuelle Modified 2.0 Paypal Link Modul.

    Ich nehme die Daten vom Kunden auf, wähle Paypal aus und schicke die Bestellung ab.
    Dann werde ich NACH abschluss der Bestellung zu Paypal weiter geleitet.
    Hier breche ich einfach ab.

    Der Kunde erhält seine E-Mail mit dem Link.

    Das geht auch mit dem aktuellen Modified 2.0 Paypal Link Modul so, nur das eben nach abgeschlossenen Kauf man die Checkout Seite mit dem Paypal Link sieht. Und dahin möchte ich wieder automatisch weiterleiten.

    Zitat
    Man kann ja bei jeden Kundengruppe bestimmte Zahlungsweisen verbieten.

    Wir nehmen die Bestellung für den Kunden als Gast, wie er es selber machen würde, über den Browser in unserem Shop auf.
    Aber ich werde mal deine Idee überdenken, hier der Kollegin am Telefon einen eigenen Telefon Bestell Account einzurichten. Mal schauen wie ich das dann mit dem überlaufenden Adressebuch löse.

    Aber die Umleitung hätte ich dennoch gerne ;)

    Wie macht ihr das denn wenn ein Kunde telefonisch bestellt und per Paypal bezahlen will?

    web28

    • modified Team
    • Beiträge: 9.404
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #7 am: 16. Februar 2017, 16:25:10
    Das wäre die Erkennung ob mit paypallink bezahlt wird:

    Code: PHP  [Auswählen]
    if ($_SESSION['payment'] == 'paypallink') {

    }

    Der Bezahllink kommt direkt aus dem Modul, das müsste man noch debuggen um zu sehen wie das aufgebaut ist.

    Gruss Web28

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #8 am: 16. Februar 2017, 19:47:44
    Alternativ kannst Du dir auch einfach einen PP-Link zusammenparsen.

    Hiermit kannst Du Dir selbst einen PP-Link basteln (sofern Du Deine Rechnungen nicht mit modified Erstellst den Auftrag dort nicht anzulegen brauchst):

    Code: PHP  [Auswählen]
    <!DOCTYPE html>
    <html class="v2" dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://www.google.com/2005/gml/b" xmlns:data="http://www.google.com/2005/gml/data" xmlns:expr="http://www.google.com/2005/gml/expr"><head>
    <meta name="robots" content="noindex,nofollow">
    <meta content="width=1100" name="viewport">
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
     <script type="text/javascript">
          function buildPayPalUrl(b) {
            var f = b.form;
            var paypalEmail = f.elements['paypal_email'].value;
            var betrag = f.elements['betrag'].value;
                    var betrag = betrag.replace(",",".");
            var description = f.elements['description'].value;
            var cc = f.elements['cc'].options[f.elements['cc'].selectedIndex].value;
            if(betrag == '' || description == '' || paypalEmail == '') {
              alert("Bitte alle Felder ausfüllen");
            } else {
              var url =  "https://www.paypal.com/cgi-bin/webscr?" +
                         "business=" + escape(paypalEmail) + "&amp;" +
                         "cmd=_xclick&amp;currency_code=" + cc + "&amp;" +
                         "amount=" + escape(betrag) + "&amp;" +
                         "item_name=" + escape(description);
              f.elements['output'].innerHTML = url;

            }
          }
        </script>
        <form style="background-color: #E4E4E4; border: 1px solid #CCCCCC; padding: 10px">
          <table>
            <tbody><tr><td>PayPal E-mail:</td><td> <input name="paypal_email" size="40" value="mail@meinshop.tld" type="text"></td></tr>
            <tr><td>Artikelname:</td><td> <input name="description" size="40" type="text"></td></tr>
            <tr><td>Preis:</td><td><input name="betrag" size="4" type="text"></td></tr>
            <tr><td>Währung:</td>
             <td>
               <select name="cc">
    <option selected="selected" value="EUR">Euro ()</option>
    <option value="AUD">Australian Dollar (A $)</option>
    <option value="CAD">Canadian Dollar (C $)</option>
    <option value="GBP">British Pound (£)</option>
    <option value="JPY">Japanese Yen (¥)</option>
    <option value="USD">U.S. Dollar ($)</option>
    <option value="NZD">New Zealand Dollar ($)</option>
    <option value="CHF">Swiss Franc</option>
    <option value="HKD">Hong Kong Dollar ($)</option>
    <option value="SGD">Singapore Dollar ($)</option>
    <option value="SEK">Swedish Krona</option>
    <option value="DKK">Danish Krone</option>
    <option value="PLN">Polish Zloty</option>
    <option value="NOK">Norwegian Krone</option>
    <option value="HUF">Hungarian Forint</option>
    <option value="CZK">Czech Koruna</option>
    <option value="ILS">Israeli New Shekel</option>
    <option value="MXN">Mexican Peso</option>
    <option value="BRL">Brazilian Real (only for Brazilian members)</option>
    <option value="MYR">Malaysian Ringgit (only for Malaysian members)</option>
    <option value="PHP">Philippine Peso</option>
    <option value="TWD">New Taiwan Dollar</option>
    <option value="THB">Thai Baht</option>
    <option value="TRY">Turkish Lira (only for Turkish members)</option>
               </select>
             </td>
            </tr>
            <tr><td colspan="2"><input value="PayPal Link erstellen" onclick="buildPayPalUrl(this)" type="button"></td></tr>
            <tr><td colspan="2"><textarea name="output" onclick="this.select()" rows="3" cols="50"></textarea></td></tr>
          </tbody></table>
        </form>
    <div style="clear: both;"></div>
    <div id="lws_0"><div class="linkwithin_outer" style="margin: 0; border: 0; padding: 0; clear: both; ">
    <div id="linkwithin_inner" class="linkwithin_inner" style="margin: 0;border: 0;padding: 0;">
    </div></div></div></body></html>

    ...in Zeile 29 kannst Du dann noch fest Deine PP-E-Mail-Adresse hinterlegen.

    Gruß
    Christian

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #9 am: 17. Februar 2017, 09:33:43
    Ok, danke für eure Vorschläge.

    @cplasa
    Du meinst, dass ich diese Datei mit meiner Paypal E-Mail Adresse versehen und dann hochladen soll?
    Was mache ich dann damit, bzw wo und wie baue ich damit den Weiterleitungslink ein?

    @web28
    Ich habe die beiden Dateien

    \includes\modules\payment\paypalclassic.php
    \includes\modules\payment\paypallink.php

    mit meinem Laien wissen verglichen, in der Hoffnung raus zu finden
    wie und wieso er beim Classic Modul weiter leitet und warum beim Link nicht.

    Die Bereiche in den Modulen - welche sich unterscheiden - sind folgende:

    In der paypalclassic.php - welche weiterleitet aber nicht abschließt steht:

    Code: PHP  [Auswählen]
            function before_process() {
                    // confirmed
                    if (isset($_GET['PayerID']) && $_GET['PayerID'] != ''
                        && isset($_GET['token']) && $_GET['token'] != ''
                        && isset($_GET['paymentId']) && $_GET['paymentId'] != ''
                        && $_GET['paymentId'] == $_SESSION['paypal']['paymentId']          
                        )
                    {
                    return;
                    }
                    $this->payment_redirect();
            }


      function before_send_order() {
                    $this->validate_payment_paypal();
      }


            function after_process() {
                    unset($_SESSION['paypal']);
            }

    In der paypallink.php - welche abschließt aber nicht weiterleitet steht an der Stelle:

    Code: PHP  [Auswählen]
     function success() {
        global $last_order;
       
        if ($this->get_config('MODULE_PAYMENT_'.strtoupper($this->code).'_SUCCESS') == '1') {
          $success = array(
            array ('title' => $this->title.': ',
                   'class' => $this->code,
                   'fields' => array(array('title' => '',
                                           'field' => sprintf(constant('MODULE_PAYMENT_'.strtoupper($this->code).'_TEXT_SUCCESS'), $this->create_paypal_link($last_order)),
                                           )
                                     )
                   )
          );
       
          return $success;
        }
      }

    Da werde ich mich jetzt mal durchbeißen.
    Vielleicht hast du einen Tipp für mich ;)

    Danke dir auf jeden Fall für deine Geduld und Mühe ;)

    web28

    • modified Team
    • Beiträge: 9.404
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #10 am: 17. Februar 2017, 11:44:16
    Selbst Eure Codeänderung bei 1.06 sollte man so nicht machen.

    Grund:
    Der ganze Code nach dem Redirect wird nicht mehr ausgeführt!

    Besser wäre eine JavaScript Lösung ganz am Ende der Seitenausgabe mit

    Code: PHP  [Auswählen]
    window.location.href="url";

    Am besten mit einem Hinweis das nach Paypal weitergeleitet wird.

    Wenn Ihr so etwas haben möchtet dann könnt Ihr bei mir ein Angebot anfordern.

    Gruss Web28

    cplasa

    • Fördermitglied
    • Beiträge: 200
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #11 am: 17. Februar 2017, 16:34:03
    @derheiko

    die von mir gepostete Datei kann einfach als html gespeichert und iwo abgelegt werden.

    Beim Aufruf dieser HTML kann man dann die Felder mit Artikelname und Preis befüllen - das Script spuckt einem dann einen PP-Link aus.

    Diese Lösung ist also ganz losgelöst vom Shop und dient einfach nur dazu dem Kunden per Mail einen Zahlungslink zukommen zu lassen (ich habe ja jetzt nicht genau Deine Bedürfnisse auf dem Schirm) aber vielleicht findet es ja Verwendung.

    Gruß
    Christian

    derheiko

    • Fördermitglied
    • Beiträge: 470
    • Geschlecht:
    Re: PayPal Link - direkte Weiterleitung zu PayPal
    Antwort #12 am: 06. März 2017, 09:34:42
    Guten morgen,

    ich habe es jetzt anders gelöst.

    Ich habe Paypal Classic und Paypal Link eingebunden.

    Das Paypal Link Modul habe ich komplett umbenannt in "Banküberweisung".
    Dort habe ich dann über den Paypal Link unsere Bankdaten mit bei geschrieben.

    So kann der Kunde entscheiden ob er trotz ausgewählter Banküberweisung dennoch mit Paypal Zahlen kann (Kommt manchmal vor.)
    Und wir können am Telefon "Bankzahlung" auswählen und der Kunde bekommt dem Paypal Link.

    Wenn der Kunde Paypal auswählt wird er dann wie gewohnt zu Paypal weiter geleitet.

    Danke dennoch für eure Hilfe.

    Gruß Heiko
    13 Antworten
    2281 Aufrufe
    23. März 2020, 22:37:56 von derheiko
    6 Antworten
    6679 Aufrufe
    18. Januar 2011, 13:29:12 von web28
    2 Antworten
    2994 Aufrufe
    23. April 2016, 21:14:32 von SparFuchs