tfm_widerrufsbutton
Widerrufsantrag stellen in xt:Commerce
Das Plugin "tfm_widerrufsbutton” ermöglicht es Kunden, Widerrufsanträge für ihre Bestellungen direkt über den Shop einzureichen. Es unterstützt sowohl registrierte Kunden als auch Gäste und bietet einen optionalen Double-Opt-In-Prozess für rechtssichere Bestätigungen.
Über das Widerrufs-Formular des Plugins können Sie einfach und unkompliziert einen Widerruf für Ihre Bestellung oder einzelne Artikel daraus einreichen
Screenshots





Installation & Konfiguration
Führen Sie die generelle Installationsanleitung für 4tfm-Plugins aus.
Nachdem das Plugin installiert und aktiviert ist, laden Sie den Administrationsbereich mit der F5-Taste neu
Plugin-Optionen:
| Option | Beschreibung | Standardwert |
| Aktivieren | Aktiviert das Plugin | true |
| Widerruf Empfänger | E-Mail-Adresse für den Empfang der Widerrufs-Mails. | - |
| Anzeige in Menü | Für die Anzeige eines Widerrufsformular-Links in (ungeschützten) Content Blöcken | - |
| Reihenfolge | Für die Reihenfolge des Widerrufsformular-Links im Content Block (0 für ganz vorne) | 0 |
| Widerruf Zeitraum (Std.) | Für die Anzeige der Widerrufsknöpfe in den Kundenaccountseiten. | 720 |
Funktionsweise
Der Widerrufsprozess ist in zwei einfache Schritte unterteilt:
Schritt 1: Bestellung finden
1. Rufen Sie die Plugin-Seite "Widerrufsantrag" auf. 2. Geben Sie Ihre Bestellnummer und die dazugehörige E-Mail-Adresse ein.3. Falls Sie nicht eingeloggt sind, lösen Sie bitte das Sicherheits-Captcha.4. Klicken Sie auf "Weiter".
Schritt 2: Artikel auswählen
1. Es werden Ihnen alle Artikel Ihrer Bestellung angezeigt. 2. Wählen Sie die Artikel aus, die Sie widerrufen möchten, indem Sie das Häkchen bei "Storno" setzen.3. Über die Plus- und Minus-Buttons können Sie die Anzahl der zu widerrufenden Artikel anpassen (falls Sie mehr als einen desselben Artikels bestellt haben).4. Klicken Sie auf "Widerrufsantrag absenden".
Bestätigung Ihres Widerrufs (Double-Opt-In)
Je nach Shop-Einstellung erhalten Sie nach dem Absenden eine E-Mail von uns.
Falls eine Bestätigung erforderlich ist: In der E-Mail finden Sie einen Bestätigungslink. Erst wenn Sie diesen Link anklicken, wird Ihr Widerrufsantrag final übermittelt. Bitte beachten Sie, dass dieser Link aus Sicherheitsgründen nach einer gewissen Zeit ablaufen kann.
Falls keine Bestätigung erforderlich ist: Sie erhalten direkt eine Bestätigungs-E-Mail über den eingereichten Widerruf.
Rechtstexte
Sobald der Widerrufsbutton eingebunden wird, müssen auch die Widerrufsbelehrung und evtl. auch die Datenschutzerklärung angepasst werden.
Beim Händlerbund und der IT-Rechtkanzlei finden Sie dahingehend Vorlagen
Einbinden in Kunden-Konto-Seiten
Wenn Sie als Kunde eingeloggt sind, können Sie auch mithilfe von dem Parameter /tfm_widerrufsbutton?customers_ordernumber=BESTELLNUMMER auch ohne den ersten Schritt im Formular den Widerruf der Bestellung durchführen. BESTELLNUMMER muss hier in dem Fall mit der "orders_id" ersetzt werden (Bestellnummer).
Dies ermöglicht Ihnen auch die Anzeige eines (Widerrufs-)Button bei den Bestellungen, womit die eingeloggten Kunden bei Ihnen es noch leichter haben Bestellungen zu widerrufen.Eine beispielhafte Einrichtung kann den Screenshots 3 und 4 entnommen werden. Die angepassten Templatedateien finden Sie in Ihren Template-Ordner unter xtCore/pages/order_history_block.html und xtCore/pages/account_history_info.html.
xt_responsive / ew_evelations / ew_adventury Implementations-Beispiele:
xtCore/pages/order_history_block.html
<br />
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>{txt key=TEXT_ORDER_NUMBER}</th>
<th>{txt key=TEXT_ORDER_DATE}</th>
<th>{txt key=TEXT_ARTICLE}</th>
<th>{txt key=TEXT_TOTAL}</th>
<th>{txt key=TEXT_ORDER_STATUS}</th>
<th>{txt key=BUTTON_SHOW}</th>
</tr>
</thead>
<tbody>
{foreach name=aussen item=data from=$order_data}
<tr class="{cycle values="odd,even"} cursor-pointer" onclick="document.location.href='{link page='customer' paction=order_info params=oid params_value=$data.order_data.orders_id conn=SSL}'">
<td><u><strong>{$data.order_data.orders_id}</strong></u></td>
<td>{$data.order_data.date_purchased}</td>
<td>{$data.order_count}</td>
<td>{$data.order_total.total.formated}</td>
<td>{$data.order_data.orders_status}</td>
<td>
<a href="{link page='customer' paction=order_info params=oid params_value=$data.order_data.orders_id conn=SSL}">
<span class="glyphicon glyphicon-info-sign"></span>
<span class="sr-only">{txt key=BUTTON_SHOW}</span>
</a>
<!-- Beginn der Anpassung -->
{assign var="expiration_hours" value=$smarty.const.TFM_WIDERRUFSBUTTON_EXPIRATION}
{assign var="order_timestamp" value=$data.order_data.date_purchased|strtotime}
{assign var="current_timestamp" value=$smarty.now}
{assign var="hours_passed" value=($current_timestamp - $order_timestamp) / 3600}
{if $expiration_hours == 0 || $hours_passed <= $expiration_hours}
<a href="{link page='tfm_widerrufsbutton' params=customers_ordernumber params_value=$data.order_data.orders_id conn=SSL}">
<span class="glyphicon glyphicon-ban-circle"></span>
<span class="sr-only">{txt key=TFM_WIDERRUFSBUTTON_WIDERRUF}</span>
</a>
{/if}
<!-- Ende der Anpassung -->
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>Hier in dieser Datei legen wir eine extra Spalte namens "Widerruf" in der Tabelle an.Im Tabellenwert wird dann ein Button mit Verlinkung zum entsprechenden Widerruf der Bestellung gesetzt.Beim Klick auf den Button wird direkt die Widerrufsübersicht inklusive Produkte angezeigt ohne die Bestellnummer und die Kunden-Email einzutragen.
xtCore/pages/account_history_info.html
Suchen Sie folgenden Code in der Datei:
{hook key=account_history_info_left}Fügen Sie über dieser Zeile folgenden Code ein:
{assign var="expiration_hours" value=$smarty.const.TFM_WIDERRUFSBUTTON_EXPIRATION}
{assign var="order_timestamp" value=$order_data.date_purchased|strtotime}
{assign var="current_timestamp" value=$smarty.now}
{assign var="hours_passed" value=($current_timestamp - $order_timestamp) / 3600}
{if $expiration_hours == 0 || $hours_passed <= $expiration_hours}
<div class="well">
<p class="headline">{txt key=TFM_WIDERRUFSBUTTON_ORDER_INFO_HEADLINE}</p>
<a class="btn btn-primary" href="{link page='tfm_widerrufsbutton' params=customers_ordernumber params_value=$order_data.orders_id conn=SSL}">
<span class="glyphicon glyphicon-ban-circle"></span>
<span>{txt key=TFM_WIDERRUFSBUTTON_ORDER_INFO_BTN}</span>
</a>
</div>
{/if}Auch hier kann der Kunde über einen Klick in der Bestellübersicht zum Widerruf gelangen ohne die Bestellnummer und die Kunden-Email einzutragen.
Anpassen der Rechtstexte
Die Rechtstexte sollten abschließend nochmal überprüft werden. Eventuell müssen Datenschutz und der Widerrufshinweis angepasst werden.
Unser Vorschlag für eine Formulierung:
Zusatz zur Widerrufsbelehrung:
Elektronischer Widerrufsbutton Sie können Ihren Widerruf auch elektronisch über den in unserem Online-Shop bereitgestellten „Widerrufsbutton" erklären. Der elektronische Widerruf erfolgt in einem gesetzlich vorgeschriebenen zweistufigen Verfahren. Nachdem Sie den Widerruf über den Widerrufsbutton ausgelöst haben („Widerruf einreichen"), werden Sie gebeten, die erforderlichen Angaben einzugeben und Ihre Erklärung anschließend ausdrücklich zu bestätigen („Widerruf bestätigen"). Nach Abschluss des Vorgangs erhalten Sie eine Bestätigung über den Eingang Ihrer Widerrufserklärung auf einem dauerhaften Datenträger. Dieser Hinweis ergänzt die Widerrufsbelehrung und beschreibt lediglich die zusätzliche Möglichkeit, das Widerrufsrecht elektronisch auszuüben.
Zusatz zur Datenschutzerklärung:
Verarbeitung im Rahmen des elektronischen Widerrufs Wenn Sie Ihr Widerrufsrecht elektronisch über die bereitgestellte Funktion ausüben, verarbeiten wir die personenbezogenen Daten, die zur Bearbeitung Ihrer Erklärung erforderlich sind. Dazu gehören insbesondere Ihr Name, Ihre Kontaktdaten sowie Angaben zum betreffenden Vertrag (z. B. Bestellnummer). Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. b DSGVO. Sie dient der Durchführung des Widerrufs und der damit verbundenen Kommunikation. Die Daten werden nur so lange gespeichert, wie es für die Abwicklung des Widerrufs und die Erfüllung gesetzlicher Aufbewahrungspflichten erforderlich ist.