Unijny przycisk odstąpienia od umowy. Moduł EU Withdrawal Button dodaje obowiązkową cyfrową funkcję odstąpienia od umowy wymaganą przez dyrektywę (UE) 2023/2673: stale widoczny przycisk, dwustopniowe potwierdzenie, trwałe potwierdzenie odbioru z oficjalnym znacznikiem czasu, rejestr odstąpień oraz formularz zwrotu w formacie PDF. Od 19 czerwca 2026 r. ta funkcja jest obowiązkowa dla umów zawieranych na odległość z konsumentami (B2C) w UE.
Moduł EU Withdrawal Button dodaje obowiązkową cyfrową funkcję odstąpienia od umowy wymaganą przez dyrektywę (UE) 2023/2673: stale widoczny przycisk, dwustopniowe potwierdzenie, trwałe potwierdzenie odbioru z oficjalnym znacznikiem czasu, rejestr odstąpień oraz formularz zwrotu w formacie PDF. Od 19 czerwca 2026 r. ta funkcja jest obowiązkowa dla umów zawieranych na odległość z konsumentami (B2C) w UE.
1. Instalacja
- W panelu administracyjnym (back office) należy przejść do Modules → Module Manager → Upload a module i wybrać plik ZIP modułu.
- Po zainstalowaniu należy kliknąć Configure, aby otworzyć ekran konfiguracji.
.local, .test, localhost) są zawsze dozwolone. Gdy dostępna jest nowa wersja, informacja o niej wyświetla się bezpośrednio w module.Jeśli zamiast potwierdzenia pojawi się komunikat „Upload failed”, PrestaShop mógł wyłączyć moduł bez powiadomienia: ustawienia i dane pozostają na miejscu. Jak zaktualizować moduł i co zrobić, gdy pojawia się komunikat „Upload failed”.
2. Konfiguracja · krok po kroku
Ekran Configure to pełny panel ustawień z przyciskiem Save. Moduł ma dwie karty: Withdrawal register i Settings.
Withdrawal register
Domyślna karta wyświetla listę wszystkich oświadczeń: filtr statusu, zakres dat, pole wyszukiwania (e-mail, numer referencyjny lub nazwisko), przycisk Filter i przycisk Export CSV. Każde oświadczenie ma własny ślad audytowy i odliczanie terminu zwrotu środków. Gdy żadne oświadczenie nie pasuje do filtrów lub jeszcze żadne nie istnieje, panel po prostu o tym informuje: wypełni się, gdy tylko klient użyje przycisku odstąpienia od umowy.

Settings
Karta Settings obejmuje widoczność przycisku, przebieg składania oświadczenia, sposób powiązania oświadczenia z zamówieniami, potwierdzenie odbioru i formularz zwrotu oraz obsługę danych. Najlepiej zacząć od grup Visibility i Declaration flow.
- Enable the withdrawal function: główny przełącznik. Od 19 czerwca 2026 r. cyfrowa funkcja odstąpienia od umowy jest obowiązkowa dla umów zawieranych na odległość z konsumentami (B2C) w UE; należy pozostawić ją włączoną.
- Link in the footer: prawo wymaga, aby funkcja była stale widoczna; link w stopce obejmuje każdą stronę.
- Link in the customer account i Link on the order detail page: dodatkowe punkty wejścia; link przy zamówieniu wstępnie wybiera przeglądane zamówienie.
- Withdrawal page URL: nowe pole tylko do odczytu, pokazujące przyjazny adres URL strony odstąpienia od umowy w sklepie (jeden wiersz na język w sklepach wielojęzycznych), np.
https://your-shop/withdrawal. Można go skopiować do modułu menu (Main menu, Link List) jako link niestandardowy, do strony CMS lub do e-maili. Przy włączonych przyjaznych adresach URL strona odpowiada także bezpośrednio pod adresem/withdrawal; przy wyłączonych przyjaznych adresach URL klasyczny linkmodule/cll_withdrawal/withdrawalnadal działa bez zmian. - Button label per language: puste pole oznacza zgodny z wymogami tekst domyślny („Odstąp od umowy tutaj”, w odpowiednim języku). Należy zachować jednoznaczne sformułowanie: niejasne etykiety nie spełniają wymogów.
- Order window (days): zalogowani klienci mogą wybierać zamówienia złożone w tym okresie (domyślnie 30 dni, z zapasem względem ustawowych 14 dni). Goście mogą zawsze wyszukać dowolne zamówienie: oświadczenie nigdy nie jest blokowane.
- Exempt category / product IDs: produkty wyłączone z prawa odstąpienia od umowy (spersonalizowane, łatwo psujące się, zapieczętowane...). Klient widzi informację prawną, ale oświadczenie nigdy nie jest blokowane.

Dolna część formularza obejmuje integrację oświadczenia z zamówieniami, potwierdzenie odbioru i formularz zwrotu oraz przechowywanie danych.
- Set order status "Withdrawal requested": po potwierdzeniu zamówienie przechodzi do niestandardowego statusu utworzonego przez moduł (bez dodatkowego e-maila, prawnym powiadomieniem jest potwierdzenie odbioru).
- Create a native merchandise return: otwiera także standardowy zwrot towaru PrestaShop (RMA), dzięki czemu oświadczenie włącza się w istniejący proces zwrotów.
- Merchant copy email: adres, na który wysyłana jest kopia każdego potwierdzenia dla sprzedawcy; puste pole oznacza adres e-mail sklepu.
- Return slip PDF: dołącza do potwierdzenia formularz zwrotu niezależny od przewoźnika (adres i kod kreskowy) i udostępnia go do pobrania.
- Return address: drukowany na formularzu zwrotu; puste pole oznacza adres kontaktowy sklepu.
- GDPR retention note: wewnętrzna notatka o tym, jak długo przechowywane są oświadczenia, widoczna tylko tutaj.
- Drop data on uninstall: po włączeniu odinstalowanie usuwa cały rejestr. Opcję należy pozostawić wyłączoną: rejestr jest dowodem prawnym.

Front office v1.2.3
Dwa sposoby, w jakie klient może dotrzeć do formularza odstąpienia od umowy: stale widoczny link w stopce oraz przyjazny adres strony /withdrawal, który można umieścić także w menu, na stronie CMS lub w e-mailu.


3. Sprawdzenie działania
- Należy otworzyć sklep i potwierdzić, że link odstąpienia od umowy jest widoczny w stopce na każdej stronie.
- Należy bezpośrednio odwiedzić adres
https://your-shop/withdrawali potwierdzić, że formularz się ładuje. - Należy przejść jako klient przez dwustopniowe potwierdzenie dla zamówienia testowego i złożyć oświadczenie.
- Należy sprawdzić, czy nowe oświadczenie pojawia się w Withdrawal register z oficjalnym znacznikiem czasu i odliczaniem terminu zwrotu środków oraz czy dociera e-mail z trwałym potwierdzeniem odbioru.
- Należy otworzyć oświadczenie i pobrać formularz zwrotu w formacie PDF (jeśli opcja jest włączona), aby potwierdzić, że zawiera adres zwrotu i kod kreskowy.
4. FAQ
Czy oświadczenie bywa blokowane?
Nie. Nawet w przypadku wyłączonych kategorii lub produktów klient widzi informację prawną, ale zawsze może złożyć oświadczenie; prawo wymaga, aby funkcja pozostawała dostępna.
Czy wysyła dodatkowy e-mail do klienta?
Prawnym powiadomieniem jest trwałe potwierdzenie odbioru. Zmiana statusu zamówienia nie powoduje wysłania osobnego e-maila.
Czy muszę edytować motyw?
Nie. EU Withdrawal Button działa przez standardowe hooki (stopka, konto, zamówienie) i jest zgodny z każdym motywem.
Co, jeśli nie używam przyjaznych adresów URL?
Strona nadal działa pod klasycznym adresem module/cll_withdrawal/withdrawal; tylko krótki alias /withdrawal wymaga włączonych przyjaznych adresów URL.
Dlaczego zachować rejestr po odinstalowaniu?
Rejestr jest dowodem prawnym każdego oświadczenia, dlatego opcja Drop data on uninstall powinna pozostać wyłączona.
