PS PrestaShop Anfänger

AGB-Versionierung und Zustimmungsnachweis: Dokumentation

Installation, Veröffentlichung und Planung von Versionen, Zustimmungsnachweis pro Bestellung, Beweismappe, versiegeltes Register, Zeitstempel und DSGVO.

Aktualisiert Modulversion 1.2.0

Installation

Installieren Sie das Modul über Module > Modul-Manager > Modul hochladen, indem Sie die ZIP-Datei senden, oder kopieren Sie den Ordner dftermsversion in das Verzeichnis /modules/ Ihres Shops und klicken Sie auf Installieren.

Bei der Installation legt das Modul seine Tabellen an, fügt im Menü Bestellungen zwei Tabs hinzu (AGB-Versionen und Zustimmungsregister) und importiert den Inhalt Ihrer AGB-CMS-Seite als Entwurf. Ihre Kunden sehen noch nichts: Solange Sie keine Version veröffentlichen, ist keine gültig.

Prüfen Sie, dass die AGB-Checkbox unter Shopparameter > Bestellungen aktiviert ist. Ohne sie haken Kunden vor dem Bezahlen nichts an und der Nachweis ist schwächer. Die Konfigurationsseite des Moduls weist Sie darauf hin, wenn sie deaktiviert ist.

Die erste Version veröffentlichen

Öffnen Sie Bestellungen > AGB-Versionen. Der importierte Entwurf erscheint mit dem Status Entwurf. Klicken Sie darauf, um ihn in jeder Sprache zu lesen, und bei Bedarf auf Bearbeiten.

Die Felder einer Version

  • Versionsnummer: die für Kunden sichtbare Bezeichnung, zum Beispiel 2026-10 oder 4.2. Sie muss eindeutig sein.
  • Titel und Text: pro Sprache. Eine leere Sprache übernimmt bei der Veröffentlichung den Text der Standardsprache.
  • Gültig ab: leer lassen, um die Version sofort bei Veröffentlichung anzuwenden. Ein zukünftiges Datum plant den Wechsel. Ein vergangenes Datum fügt der Historie eine frühere Version hinzu (siehe unten).
  • Zusammenfassung der Änderungen: wird in der öffentlichen Versionshistorie angezeigt.

Klicken Sie dann auf Veröffentlichen. Die Version wird gesperrt: Text, SHA-256-Fingerabdruck und die in jeder Sprache erzeugten PDFs können sich nicht mehr ändern. Ist der Zeitstempel aktiviert, fordert das Modul sofort einen Zeitstempel beim eingestellten Dienst an.

Eine veröffentlichte Version kann weder bearbeitet noch gelöscht werden. Genau das gibt ihr Beweiswert. Lesen Sie den Entwurf vor der Veröffentlichung sorgfältig.

Ihre AGB ändern

Klicken Sie in einer veröffentlichten Version auf Neue Version auf Basis dieser anlegen. Es entsteht ein Entwurf mit demselben Text. Bearbeiten Sie ihn, füllen Sie die Zusammenfassung der Änderungen aus, wählen Sie das Datum des Inkrafttretens und veröffentlichen Sie.

Zwei Versionen vergleichen

In der Ansicht einer Version schlägt der Block Vergleichen standardmäßig die vorherige Version vor, oder bei einem Entwurf die gültige Version. Klicken Sie auf Änderungen anzeigen: Geänderte, hinzugefügte und entfernte Absätze werden hervorgehoben, bei geänderten Absätzen Wort für Wort, unveränderte Absätze werden eingeklappt. Die Sprache wechseln Sie mit den Schaltflächen oben rechts.

Einen Wechsel planen

Eine mit einem zukünftigen Datum veröffentlichte Version hat den Status Geplant. Sie wird an diesem Datum automatisch zur gültigen Version, ohne Cronjob. Die Konfigurationsseite zeigt die nächste geplante Version.

Was der Kunde sieht

  • Im Bezahlschritt: Über den Zahlungsarten nennt ein Hinweis die gültige Version, ihr Datum und einen Link zu ihrem PDF, dazu einen Link zu früheren Versionen, wenn die öffentliche Historie aktiv ist.
  • In der Bestellbestätigung: Das PDF der akzeptierten Version hängt an der E-Mail order_conf.
  • Im Kundenkonto: Die Details jeder Bestellung zeigen die akzeptierte Version mit Download-Link.
  • Auf der Rechnung: ein Hinweis auf die Version und ihren Fingerabdruck, wenn die Option aktiv ist.

Was das Modul zu jeder Bestellung speichert

Wird der Bezahlschritt angezeigt, merkt sich das Modul die dem Kunden gezeigte Version mit seiner IP-Adresse, seinem Browser und der Uhrzeit. Beim Bestellabschluss speichert es die angezeigte Version, den SHA-256-Fingerabdruck des Textes in der Sprache des Kunden und diese Anzeigedaten.

Wurde keine Anzeige erfasst, etwa bei einem Checkout, der den Hook displayPaymentTop nicht aufruft, speichert das Modul die am Bestelldatum gültige Version mit der Erfassungsart „Bestellabschluss“. Eine im Backoffice angelegte Bestellung wird mit der Erfassungsart „Backoffice“ gespeichert.

Den Nachweis einer Bestellung einsehen

Auf der Bestellseite im Backoffice zeigt die Karte Akzeptierte AGB die Version, die Daten, die IP-Adresse, die Erfassungsart, die Integritätsprüfung des Textes und die Position der Bestellung im Register. Drei Schaltflächen:

  • Beweismappe (ZIP): die Datei, die Sie im Streitfall weitergeben (Details unten).
  • Zustimmungsnachweis (PDF): ein Dokument mit allen gespeicherten Daten, gefolgt vom vollständigen akzeptierten Text.
  • Akzeptierte AGB (PDF): das PDF der Version, wie an die E-Mail angehängt.

Inhalt der Beweismappe

  • 01-acceptance-certificate.pdf: der Zustimmungsnachweis.
  • 02-...pdf: das PDF der akzeptierten Version.
  • 03-accepted-text.txt: der exakte Quelltext. Sein SHA-256 entspricht dem zur Bestellung gespeicherten Fingerabdruck.
  • 04-version-timestamp/: das Manifest der Version und ihr Zeitstempel-Token .tsr.
  • 05-register/: der Registereintrag der Bestellung, ein Auszug der Kette (nur Kennungen und Fingerabdrücke, keine Daten anderer Kunden) und die Versiegelung, die ihn abdeckt.
  • README.txt: die Erklärung jeder Datei und die Prüfbefehle, in der Sprache des Mitarbeiters.

Das versiegelte Register

Jede Zustimmung enthält den Fingerabdruck ihres Inhalts und den Fingerabdruck der vorherigen Zustimmung. Einen Eintrag nachträglich zu ändern, einzufügen oder zu löschen, unterbricht diese Kette. Unter Bestellungen > Zustimmungsregister berechnet die Schaltfläche Register prüfen die gesamte Kette neu und zeigt gegebenenfalls den ersten veränderten Eintrag.

Versiegelungen

Eine Versiegelung lässt den Fingerabdruck des letzten Registereintrags vom Dienst mit Zeitstempel versehen. Sie belegt, dass das gesamte Register bis zu diesem Eintrag an diesem Datum existierte, und deckt auch das Löschen der letzten Einträge auf. Klicken Sie auf Jetzt versiegeln oder rufen Sie die im Block Automatische Versiegelung angezeigte URL einmal täglich per Cronjob auf:

0 3 * * * curl -s "https://ihr-shop.de/module/dftermsversion/cron?token=..." > /dev/null

Die URL versiegelt das Register nur, wenn seit der letzten Versiegelung neue Einträge erfasst wurden.

Zeitstempel durch Dritte

Ein Zeitstempel nach RFC 3161 lässt einen unabhängigen Dienst einen Fingerabdruck zusammen mit dem Datum signieren. Das Modul nutzt ihn für jede veröffentlichte Version (über ein Manifest mit dem Fingerabdruck des Textes in jeder Sprache) und für die Versiegelungen des Registers.

Standardmäßig nutzt das Modul http://timestamp.digicert.com, kostenlos und ohne Konto. In der Konfiguration können Sie einen anderen Dienst angeben, zum Beispiel https://freetsa.org/tsr oder einen qualifizierten eIDAS-Dienst. Der Shopserver muss den Dienst erreichen können.

Antwortet der Dienst bei der Veröffentlichung nicht, wird die Version trotzdem veröffentlicht. Der Fehler erscheint in der Ansicht der Version, mit der Schaltfläche Jetzt Zeitstempel setzen für einen neuen Versuch.

Bestehender Shop: Historie und frühere Bestellungen

So decken Sie Bestellungen aus der Zeit vor der Installation ab:

  1. Veröffentlichen Sie zuerst die aktuelle Fassung Ihrer AGB.
  2. Legen Sie für jede frühere Fassung Ihrer AGB eine Version mit ihrem tatsächlichen, vergangenen Datum des Inkrafttretens an und veröffentlichen Sie sie. Das Modul lehnt ein vergangenes Datum nur ab, wenn bereits mit einer anderen Version verknüpfte Bestellungen in diesen Zeitraum fallen.
  3. Unter Bestellungen > Zustimmungsregister zeigt der Block Frühere Bestellungen, wie viele Bestellungen mit keiner Version verknüpft sind. Klicken Sie auf Diese Bestellungen verknüpfen: Die Verarbeitung läuft in Stapeln mit Fortschrittsbalken.

Diese Bestellungen erhalten die an ihrem Datum gültige Version und werden als Nachträglich verknüpft markiert, ohne IP und ohne Anzeigenachweis. Das Modul behauptet nichts, was es nicht festgestellt hat: Diese Verknüpfungen nennen die anwendbare Version, sie belegen keine Anzeige.

Moduleinstellungen

  • PDF an E-Mails anhängen und E-Mail-Vorlagen: standardmäßig order_conf, Sie können zum Beispiel payment oder bankwire hinzufügen.
  • Version im Bezahlschritt anzeigen: der Hinweis über den Zahlungsarten. Auch wenn er deaktiviert ist, erfasst das Modul die angezeigte Version.
  • Hinweis auf Rechnungen.
  • Öffentliche Versionshistorie: eine Seite mit allen veröffentlichten Versionen und ihren PDFs.
  • CMS-Seite automatisch aktualisieren: Tritt eine Version in Kraft, ersetzt ihr Text den Inhalt der gewählten CMS-Seite, damit die Checkbox im Checkout immer auf die richtige Version verweist. Die Schaltfläche CMS-Seite jetzt aktualisieren erzwingt die Synchronisierung.
  • IP-Adressen anonymisieren: speichert nur den Netzwerkteil der IP-Adresse.
  • Zeitstempel durch Dritte und Zeitstempeldienst.
  • DSGVO-Löschanfragen: siehe unten.
  • Alle Daten bei der Deinstallation löschen: standardmäßig deaktiviert. Lassen Sie es so, Ihre Versionen und Ihr Register sind Ihre Beweise.

DSGVO

Das Modul bindet sich an das offizielle DSGVO-Modul von PrestaShop (psgdpr) an. Die Zustimmungen eines Kunden sind im Export seiner Daten enthalten. Für Löschanfragen gibt es zwei Möglichkeiten:

  • Nachweis behalten (Standard): Die Einträge bleiben erhalten, was Art. 17 Abs. 3 lit. e DSGVO zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erlaubt. Erwähnen Sie das in Ihrer Datenschutzerklärung.
  • IP-Adresse und Browser löschen: Diese Felder werden geleert. Das Register bleibt prüfbar und ein beim Löschen berechneter Fingerabdruck schützt die übrigen Felder, der Nachweis ist für diesen Kunden aber schwächer.

Fehlerbehebung

Der Hinweis erscheint nicht im Bezahlschritt

Prüfen Sie, ob eine Version gültig und die Anzeigeoption aktiv ist. Ruft Ihr Theme oder Ihr Checkout-Modul den Hook displayPaymentTop nicht auf, werden Bestellungen mit der am Bestelldatum gültigen Version gespeichert.

Das PDF hängt nicht an der E-Mail

Prüfen Sie die Option PDF an E-Mails anhängen und den genauen Vorlagennamen. Manche Zahlungsmodule versenden eine eigene Bestätigung unter einem anderen Vorlagennamen: Fügen Sie ihn der Liste hinzu.

Der Zeitstempel schlägt fehl

Die Fehlermeldung nennt die Ursache. Meist blockiert der Hoster ausgehende Verbindungen. Testen Sie einen anderen Dienst oder bitten Sie Ihren Hoster, den Zugriff auf die Adresse des Dienstes freizugeben. Die PHP-Erweiterung cURL wird empfohlen.

Die Registerprüfung meldet eine Veränderung

Die Meldung nennt den betroffenen Eintrag und die Art des Problems: geänderter Inhalt, davor eingefügter oder gelöschter Eintrag oder fehlender versiegelter Eintrag. Stellen Sie die Tabelle dftv_acceptance aus einer Sicherung vor der Veränderung wieder her und starten Sie die Prüfung erneut.

Kompatibilität

  • PrestaShop 8.0 bis 9.x, dasselbe ZIP deckt beide Zweige ab.
  • Multishop und mehrsprachig.
  • PDFs mit dem in PrestaShop integrierten TCPDF erzeugt, PHP-Erweiterung zip für die Beweismappe erforderlich.
  • Architektur ModuleAdminController, ohne Composer-Abhängigkeit.
  • Oberfläche in Deutsch, Englisch, Französisch, Spanisch, Italienisch, Niederländisch, Polnisch und Portugiesisch.
War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren