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: Verbesserungsvorschlag: Checkout Success

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #15 am: 28. Oktober 2010, 12:14:07
    ich hoffe euch ist bewusst, was Spritzpistole dazu geschrieben hat!

    Also mit den Zahlungshinweisen (Bankverbindung) sollte man mit Vorsicht umgehen, bei Vorkasse. Denn regelmäßig sind sich die Vertragspartner mit deren Bekanntgabe über alle wesentlichen Vertragsbestandteile einig. Dass führt dann dazu, dass bereits ein Vertragsschluss zustande kommt, während in den AGB bei vielen sicherlich eine Regelung enthalten ist, die besagt, dass nicht bereits die Bestellbestätigung die Annahme des Angebots darstellt, sondern erst eine nachfolgende separate Auftragsbestätigung.

    In der Folge ist in diesen Fällen die AGB-Regelung unwirksam und ein Vertragsschluss ist schon mit Absenden der Bestellung zustande gekommen. Damit verbunden sind dann wiederum die Nachteile der Verfügbarkeitsprüfung und Menge. Maximal sind dann nur noch Anfechtungen wegen Irrtümern möglich, wobei die Beweislast auf dem Unternehmer lastet.

    Wie ich aber bei diversen Recherchen festgestellt habe, ist diese differenzierte Betrachtung nur den wenigstens Betreibern geläufig. Bei Vorkasse geben viele Händler die Bankverbindung schon mit der ersten E-Mail an, obwohl sie mit den AGB etwas anderes vereinbaren wollen. Möglicherweise lässt sich das aber auch anders werten, denn gerichtlich gibt es darüber noch keine Entscheidung (zumindest meinen gestrigen Recherchen zufolge).

    Gruß
    Thomas

    hier wie ich es gemacht habe:

    /templates/xtc5/module/checkout_success.html

    das hier an gewünschter Stelle einfügen:

    Code: PHP  [Auswählen]
    {if $order_info.payment_method=='moneyorder'}
    <p><strong>Zahlungshinweis</strong></p>
    <div class="highlightbox">
    <table width="100%" border="0" cellspacing="0" cellpadding="5">
            <tr>
        <td class="main">Bitte überweisen sie den Gesamtbetrag von <b>{$order_total}</b> mit Angabe der Bestellnummer <b>{$order_id}</b> an:</td>
      </tr>
            <tr>
        <td class="main" style="padding-left:15px; padding-top:20px;">
        <table width="100%" border="0" cellspacing="0" cellpadding="5">
            <tr>
             <td width="50px" NOWRAP><b>Inhaber</b></td><td>:</t><td>XXXXXXXXXXX</td>
            </tr>
            <tr>
             <td><b>BLZ</b></td><td>:</t><td>XXXXXXXXXXX</td>
            </tr>
            <tr>
             <td><b>Konto</b></td><td>:</t><td>XXXXXXXXXXX</td>
            </tr>
            <tr>
             <td><b>IBAN</b></td><td>:</t><td>XXXXXXXXXXX</td>
            </tr>
            <tr>
             <td><b>BIC</b></td><td>:</t><td>XXXXXXXXXXX</td>
            </tr>
            </table>
            </td>
      </tr>
    </table>
    </div>
    {/if}
     
    und in der /checkout_success.php

    suche das hier:

    Code: PHP  [Auswählen]
    $last_order = $orders['orders_id'];
    $order_status = $orders['orders_status'];
     
    und füge das danach ein:

    Code: PHP  [Auswählen]
        require (DIR_WS_CLASSES . 'order.php');
        $order = new order($last_order);
        $smarty->assign('order_info', $order->info );
        $smarty->assign('order_id', $last_order );

                    $oder_total_query = "SELECT
                                                    title,
                                                    text,
                                class,
                                value,
                                                    sort_order
                                                    FROM "
    .TABLE_ORDERS_TOTAL."
                                                    WHERE orders_id='"
    .$last_order."'
                                                    ORDER BY sort_order ASC"
    ;

                    $order_total = array ();
                    $oder_total_query = xtc_db_query($oder_total_query);
                    while ($oder_total_values = xtc_db_fetch_array($oder_total_query)) {
                            $order_total[] = array ('TITLE' => $oder_total_values['title'], 'CLASS' => $oder_total_values['class'], 'VALUE' => $oder_total_values['value'], 'TEXT' => $oder_total_values['text']);
                    if ($oder_total_values['class'] == 'ot_total')
                                    $total = $oder_total_values['text'];
                    }

        $smarty->assign('order_total', $total );
     
    damit sollte es funktionieren.

    Gruss Gerhard

    rechtstexte für onlineshop

    meander1

    • Mitglied
    • Beiträge: 118
    Verbesserungsvorschlag: Checkout Success
    Antwort #16 am: 28. Oktober 2010, 14:54:25
    Danke GTB!

    snowseeker

    • Fördermitglied
    • Beiträge: 87
    Verbesserungsvorschlag: Checkout Success
    Antwort #17 am: 01. November 2010, 21:53:26
    Als reiner Download-Shop bin ich hier zwar "vermutlich" in der Minderheit :D aber ich möchte trotzdem noch etwas einwerfen: Meine Kunden können ihre Bestellungen direkt nach dem Bezahlprozess auf der checkout_success runterladen. Manchmal (immer öfter) ist es aber so, dass die Seite so schnell geaden wird, dass der Download noch nicht freigegeben ist. Erst wenn man die Seite neu lädt, kann man runterladen.

    Daher wäre hier eine Refresh- oder Verzögerungsfunktion nach ca 1 oder 2 Sekunden hilfreich.

    Hätte hier jemand ein snippet was ich einbauen könnte? (Z.B. zeige ein Ladebalkenbild für 1 Sekunde und lade dann die Seite)

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #18 am: 04. Mai 2011, 20:54:55
    hallo,

    also ich finde das Klasse @GTB!

    habe es soweit eingebaut, jedoch würde ich es lieber so handhaben wie bei der "checkout_confirmation" was aber bei der "checkout_success" einfach nicht klappen will.

    wie kann ich auf der "checkput_confirmation" Seite ebenfalls {$PAYMENT_INFORMATION} aufrufen?

    LG

    Mehmet

    claudia

    • Fördermitglied
    • Beiträge: 219
    Verbesserungsvorschlag: Checkout Success
    Antwort #19 am: 04. Mai 2011, 21:37:32
    der Thread ist zwar schon etwas älter, aber wo er gerade wieder aufgetaucht ist, fiel mir auf, dass in der "checkout_success.html" Datei die "d" bei den mittleren schließenden Tabellenzellen-Elementen (den </td>) fehlen.

    Warum nimmst Du nicht <th> Elemente für die Tabellenüberschriften BLZ, Konto etc., da spart man sich die <b>-Elemente (reine Layoutelemente) und tut noch etwas für die Accessibility.

    Claudia

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #20 am: 05. Mai 2011, 08:30:43
    Hallo memocorex,

    das ist eigentlich keine schlechte Idee. Es ist auch in der Tat einfacher umzusetzen:

    "checkout_sucess.php" nach dem hier:

    Code: PHP  [Auswählen]
    $last_order = $orders['orders_id'];
    $order_status = $orders['orders_status'];

    das hier einfügen:

    Code: PHP  [Auswählen]
    //BOF - GTB - anzeige von Zahlungsinformationen
    require_once (DIR_WS_CLASSES . 'order.php');
    $order = new order($last_order);
    if ($order->info['payment_method'] == 'moneyorder') {
      require_once (DIR_WS_CLASSES . 'payment.php');
      $payment_modules = new payment($order->info['payment_method']);
      if (is_array($payment_modules->modules)) {
          $confirmation = $payment_modules->confirmation();
          $payment_info = 'Bitte überweisen sie den Gesamtbetrag von <b>'. $order->info['total'] .'</b> mit Angabe der Bestellnummer <b>'. $last_order .'</b> an:<br/><br/>';
          $payment_info .= $confirmation['title'];
          if (isset($confirmation['fields'])) {
            for ($i = 0, $n = sizeof($confirmation['fields']); $i <$n; $i++) {
              $payment_info .= '<table><tr>
                                    <td>'
    . xtc_draw_separator('pixel_trans.gif', '10', '1') . '</td>
                                    <td class="main">'
    . $confirmation['fields'][$i]['title'] . '</td>
                                    <td>'
    . xtc_draw_separator('pixel_trans.gif', '10', '1') . '</td>
                                    <td class="main">'
    . stripslashes($confirmation['fields'][$i]['field']) . '</td>
                                  </tr></table>'
    ;
            }
          }
      $smarty->assign('PAYMENT_INFORMATION', $payment_info);
      }
    }
    //EOF - GTB - anzeige von Zahlungsinformationen

    dann brauch man in der "checkout_success.html" nur mehr an gewünschter Stelle das hier einfügen:

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

    Gruss Gerhard

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #21 am: 05. Mai 2011, 08:41:32
    Hallo Gerhard,

    ich habe es eben probiert, jetzt wird mir zwar die Bankverbindung angezeigt, jedoch nicht mehr der zu zahlende Betrag und die Bestellnummer wie zuvor?!

    MFG

    Mehmet

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #22 am: 05. Mai 2011, 08:50:16
    ich habe den Code nochmals verändert.

    Jetzt sollte es klappen.

    Gruss Gerhard

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #23 am: 05. Mai 2011, 09:08:49
    ok, nochmals geändert. Alles was jetzt noch fehlt, ist die hardcoded Ausgabe von "Bitte überweisen Sie..." in die Sprachdatei zu geben. Dann ist das auch multilingual.

    Gruss Gerhard

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #24 am: 05. Mai 2011, 09:20:11
    Hallo,

    also ich habe jetzt folgendes in die "checkout_success" eingetragen:

    Code: PHP  [Auswählen]
    //BOF - GTB - anzeige von Zahlungsinformationen
    require (DIR_WS_CLASSES . 'order.php');
    $order = new order($last_order);
    if ($order->info['payment_method'] == 'moneyorder') {
      require (DIR_WS_CLASSES . 'payment.php');
      $payment_modules = new payment($order->info['payment_method']);
      if (is_array($payment_modules->modules)) {
        if ($confirmation = $payment_modules->confirmation()) {
          $payment_info = $confirmation['title'];
          if (isset($confirmation['fields'])) { //DokuMan - 2010-09-17 - Undefined index
            for ($i = 0, $n = sizeof($confirmation['fields']); $i <$n; $i++) {
              $payment_info .= '<table><tr>
                                    <td>'
    . xtc_draw_separator('pixel_trans.gif', '10', '1') . '</td>
                                    <td class="main">'
    . $confirmation['fields'][$i]['title'] . '</td>
                                    <td>'
    . xtc_draw_separator('pixel_trans.gif', '10', '1') . '</td>
                                    <td class="main">'
    . stripslashes($confirmation['fields'][$i]['field']) . '</td>
                                  </tr></table>'
    ;
            }
          }
          $smarty->assign('PAYMENT_INFORMATION', $payment_info);
        }
      }
    }
    $smarty->assign('order_info', $order->info );
    $smarty->assign('order_id', $last_order );
        $oder_total_query = "SELECT
                        title,
                        text,
                        class,
                        value,
                        sort_order
                        FROM "
    .TABLE_ORDERS_TOTAL."
                        WHERE orders_id='"
    .$last_order."'
                        ORDER BY sort_order ASC"
    ;

        $order_total = array ();
        $oder_total_query = xtc_db_query($oder_total_query);
        while ($oder_total_values = xtc_db_fetch_array($oder_total_query)) {
            $order_total[] = array ('TITLE' => $oder_total_values['title'], 'CLASS' => $oder_total_values['class'], 'VALUE' => $oder_total_values['value'], 'TEXT' => $oder_total_values['text']);
                if ($oder_total_values['class'] == 'ot_total')
                $total = $oder_total_values['text'];
        }
    $smarty->assign('order_total', $total );
     
    Screenshot:

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    jetzt funktioniert beides, Bankverbindung und der Text mit Summe und Bestellnummer.

    kann ich das so lassen?

    MFg
    Mehmet

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #25 am: 05. Mai 2011, 09:25:03
    nimm bitte den Code aus diesem Beitrag.

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #26 am: 05. Mai 2011, 11:10:03
    Spitze, DANKE Gerhard!

    ich habe noch folgendes überarbeitet, jetzt sieht das ganze wieder aus wie auf meinem Screenshot aus.

    Code: PHP  [Auswählen]
          $payment_info = '<h2>Zahlungsweise</h2>Bitte überweisen sie den Gesamtbetrag von <b>'. $order->info['total'] .'</b> mit Angabe der Bestellnummer <b>'. $last_order .'</b> an:<br/><br/>';
    mfg

    Mehmet

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #27 am: 05. Mai 2011, 12:26:14
    Also jetzt wo das auf der "checkout_success" Seite ist, bin ich ziemlich glücklich, nur wenn ich weiter denke, dann muss es doch in der Bestätigungsmail ja genau so sein.

    Ich habe es versucht mittels "send_order.php" und "order_mail.html", bin jedoch kläglich gescheitert, hast du evtl. einen Tipp für mich/uns?

    mfg Mehmet

    memocorex

    • Frisch an Board
    • Beiträge: 51
    Verbesserungsvorschlag: Checkout Success
    Antwort #28 am: 09. Mai 2011, 17:46:38
    Hallo,

    falls es jmd interessiert, ich habe das nun in der Bestellmail ebenfalls umgesetzt.

    es wird nun z.B. Folgender Satz angezeigt:

    Zahlungsweise
    Bitte überweisen sie den Gesamtbetrag von 21,20 EUR mit Angabe der Bestellnummer 115 an:

    hierzu einfach in der send_order.php

    Code: PHP  [Auswählen]
            // MONEYORDER
            if ($order->info['payment_method'] == 'moneyorder') {
                    $smarty->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION);
                    $smarty->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION));
            }
    mit dem hier ersetzen:

    Code: PHP  [Auswählen]
            // MONEYORDER - Zahlungsweise mit Bestellnummer und Betrag wird ebenfalls übergeben
            if ($order->info['payment_method'] == 'moneyorder') {
                    $smarty->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION);
                    $smarty->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION));
                    $payment_info = '<br/><strong>Zahlungsweise</strong><br/>Bitte &uuml;berweisen sie den Gesamtbetrag von <b>'. $order->info['total'] .'</b> mit Angabe der Bestellnummer <b>'. $insert_id .'</b> an:<br/><br/>';
                    $smarty->assign('PAYMENT_INFORMATION', $payment_info);
            }
    anschließend in der order_mail.html vor

    Code: PHP  [Auswählen]
    {$PAYMENT_INFO_HTML}
    einsetzen:

    Code: PHP  [Auswählen]
    {$PAYMENT_INFORMATION}
    ich weiß nicht ob das eine saubere Lösung ist, bei mir funktioniert es wie gewünscht =)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Verbesserungsvorschlag: Checkout Success
    Antwort #29 am: 09. Mai 2011, 17:53:37
    Das was du da hardcodet in der "send_order.php" drin stehen hast, kannst du dir eigentlich auch sparen, denn das ist bereits als {$oID} in der Bestell E-Mail verfügbar, somit ist dann auch Mehrsprachigkeit gewährleistet.

    Grüße

    Torsten

    5 Antworten
    5124 Aufrufe
    13. August 2011, 21:14:56 von Jens
    12 Antworten
    6549 Aufrufe
    22. Oktober 2012, 08:04:34 von Phantom
    0 Antworten
    182 Aufrufe
    22. Februar 2024, 15:55:52 von bige
               
    anything