Przejdź do treści

WPNest Returns for WooCommerce

Darmowa wtyczka WooCommerce

WPNest Returns for WooCommerce

Zgodność z dyrektywą UE 2023/2673 (Return Button Directive, obowiązuje od 19 czerwca 2026). Plugin dodaje przycisk „Zwróć zamówienie" w My Account, prowadzi klienta przez wizard 3-krokowy i zarządza całym procesem zwrotu z poziomu admin — bez wchodzenia w edycję zamówienia WC.

100% zgodne z UE 2023/2673 · Bez konfiguracji — działa od pierwszej aktywacji

EU Directive 2023/2673

19 czerwca 2026

Termin transpozycji obowiązku przycisku zwrotu

Okno zwrotu

14 dni

Minimum z art. 13 CRD (ustawa o prawach konsumenta)

Sankcje UOKiK

do 10%

Maksymalna kara od rocznego obrotu firmy

Wersja Free

0 zł

Dożywotnio, bez limitu sklepów

Co plugin robi automatycznie

Pełny proces zwrotu — od kliknięcia po refund

Klient klika przycisk, przechodzi wizard, dostaje potwierdzenie z PDF i modelowym formularzem. Ty zarządzasz wszystkim z jednej strony w admin — zmieniasz statusy, wystawiasz refundy, prowadzisz notki, wysyłasz maile. Bez zewnętrznych usług.

Proces

Trzy kroki do działającego systemu zwrotów

Plugin działa od momentu aktywacji. Strona /returns/ jest tworzona automatycznie, custom statusy WooCommerce rejestrują się same, a button w My Account pojawia się dla wszystkich kwalifikujących się zamówień.

Podstawa prawna

Zgodne z prawem UE i polską ustawą

Plugin implementuje wymagania dyrektywy UE 2023/2673 (Return Button) oraz polskiej ustawy o prawach konsumenta. Domyślne ustawienia są zgodne z polskim prawem — możesz korzystać bez żadnej zmiany konfiguracji.

Unia Europejska

Dyrektywa 2023/2673 (Return Button)

Akt UE wymagający, aby każdy sklep e-commerce obsługujący konsumentów udostępnił widoczny przycisk inicjujący zwrot zamówienia. Termin transpozycji do prawa krajowego: 19 czerwca 2026.

Polska

art. 27 ustawy o prawach konsumenta

14 dni na odstąpienie od umowy zawartej na odległość bez podania przyczyny. Plugin domyślnie ustawia okno 14 dni — możesz je rozszerzyć w ustawieniach do dowolnej liczby dni.

FAQ

Najczęściej zadawane pytania

Czy plugin wystarcza do zgodności z dyrektywą 2023/2673?

Tak. Wersja Free spełnia podstawowy wymóg dyrektywy: udostępnia widoczny przycisk „Return this order" w My Account, prowadzi klienta przez wizard zgłoszenia zwrotu i wysyła potwierdzenie z modelowym formularzem odstąpienia z dyrektywy UE. Wersja Pro dodaje warstwę automatyzacji (etykiety kurierskie, refundy przez bramkę, SMS) ale nie jest wymagana do zgodności prawnej.

Co się dzieje gdy ktoś znajdzie URL do PDF potwierdzenia?

Trójwarstwowa ochrona. Nazwa pliku zawiera losowy token 32-hex (URL nie da się zgadnąć). Katalog ma .htaccess Deny from all (Apache) lub web.config (IIS) — bezpośredni link zwraca 403. Pobieranie odbywa się przez autoryzowany endpoint REST /wpnest-rfw/v1/pdf/{id}, który sprawdza czy użytkownik jest właścicielem zamówienia, adminem albo ma ważny token gościa.

Czy klient bez konta (gość) może zgłosić zwrot?

Tak. Gość wchodzi na stronę /returns/, podaje email i numer zamówienia (order_key). Po weryfikacji dostaje 15-minutowy token transient, który pozwala mu przejść wizard zwrotu bez zakładania konta. Rate-limit: 5 prób weryfikacji na godzinę z jednego IP.

Czy mogę wgrać własny modelowy PDF zamiast tego z dyrektywy UE?

Tak. W ustawieniach (Customer-facing return forms) możesz wgrać własne PDF-y dla wersji EN i PL. Plugin automatycznie wybierze odpowiedni język na podstawie locale klienta i dołączy go do maila potwierdzającego. Jeśli nie wgrasz własnych, używane są domyślne formularze z dyrektywy.

Czy plugin wystawia refundy przez bramkę płatności?

W wersji Free: nie. Plugin wywołuje wc_create_refund() z refund_payment=false — refund jest zarejestrowany w WooCommerce i widoczny w panelu, ale samo zwrócenie pieniędzy musisz przepuścić ręcznie przez przycisk „Refund" w edycji zamówienia WC. Automatyczne refundy przez bramkę (Stripe/PayU/Przelewy24) to feature Pro.

Czy działa z HPOS (High-Performance Order Storage)?

Tak. Plugin deklaruje pełną kompatybilność z HPOS przez FeaturesUtil::declare_compatibility(). Wszystkie operacje na zamówieniach idą przez wc_get_order() i metody $order->*, nigdy bezpośrednio przez get_post_meta().

Co się stanie z danymi po odinstalowaniu?

Domyślnie tabele zwrotów zostają w bazie po dezaktywacji i odinstalowaniu — to dane regulacyjne, ważne dla audytu. Jeśli świadomie chcesz je usunąć, włącz opcję „Skasuj dane przy odinstalowaniu" w ustawieniach przed dezaktywacją.

Czy mogę wyłączyć przycisk zwrotu w niektórych zamówieniach?

Tak, na kilka sposobów. Możesz wykluczyć całe statusy zamówień (domyślnie wykluczone: cancelled, failed, refunded, trash), produkty z określonymi ID, subskrypcje (wymaga WC Subscriptions), produkty z waiver dla treści cyfrowych oraz produkty oznaczone jako personalizowane. Dla bardziej zaawansowanych reguł filter wpnest_rfw_is_eligible pozwala dodać własną logikę.

Konfiguracja

Pełna lista opcji

Wszystkie opcje konfiguracji dostępne w panelu admin (WooCommerce → Returns Manager). Domyślne wartości są zgodne z polskim prawem — możesz zostawić wszystko jak jest.

Zakładka Ogólne (11 opcji)

Włączanie, etykieta przycisku, email sklepu, customowe PDF-y

wpnest_rfw_enabled
Główny przełącznik wtyczki. Default: 1 (włączone).
wpnest_rfw_withdrawal_window_days
Liczba dni, w których klient może zainicjować zwrot. Default: 14 (zgodnie z art. 27 UPK).
wpnest_rfw_button_label
Tekst przycisku w My Account. Default: "Return this order".
wpnest_rfw_merchant_email
Email sklepu, na który lecą powiadomienia. Default: pusty (fallback do admin_email).
wpnest_rfw_notify_customer_on_status
Czy wysyłać maila do klienta przy zmianie statusu zwrotu. Default: 1.
wpnest_rfw_delete_data_on_uninstall
Skasować tabele po odinstalowaniu wtyczki. Default: 0 (zostają — dane regulacyjne).
wpnest_rfw_show_on_my_account
Pokazywać przycisk w My Account → Orders. Default: 1.
wpnest_rfw_show_on_view_order
Pokazywać przycisk na stronie szczegółów zamówienia. Default: 1.
wpnest_rfw_show_on_returns_page
Czy strona /returns/ ma być publicznie dostępna. Default: 1 (gdy 0 — 404).
wpnest_rfw_custom_form_en_id
ID załącznika z customowym PDF modelowego formularza (EN). Default: 0 (używa domyślnego).
wpnest_rfw_custom_form_pl_id
ID załącznika z customowym PDF modelowego formularza (PL). Default: 0.
Zakładka Wykluczenia (5 opcji)

Statusy, subskrypcje, produkty cyfrowe, customizowane

wpnest_rfw_excluded_statuses
Statusy zamówień, dla których przycisk zwrotu się nie pokazuje. Default: [cancelled, failed, refunded, trash].
wpnest_rfw_exclude_digital_with_waiver
Wyklucz produkty cyfrowe gdy klient zaakceptował waiver na rezygnację z prawa odstąpienia. Default: 1.
wpnest_rfw_exclude_customized
Wyklucz produkty personalizowane (custom-made). Default: 0.
wpnest_rfw_exclude_subscriptions
Wyklucz subskrypcje WC (wymaga pluginu WooCommerce Subscriptions). Default: 1.
wpnest_rfw_excluded_product_ids
Tablica ID produktów, dla których zwrot jest zablokowany. Default: [] (pusta).
⭐ Wersja Pro — dla zaawansowanych sklepów

Etykiety kurierskie, bramka refundów i konwersacja z klientem

Wersja Pro automatycznie generuje etykiety zwrotów dla InPost / Apaczka / DHL, refunduje przez bramkę płatności jednym kliknięciem, wysyła SMS do klienta i prowadzi pełną konwersację — wszystko bez wychodzenia z panelu admin.

✓ Licencja domenowa ✓ Aktualizacje 12 mies. ✓ Domeny dev darmowe
returns-pro.feature
Co dostajesz w Pro
  • ✦ Generowanie etykiet kurierskich (InPost, Apaczka, DHL)
  • ✦ Refund przez bramkę płatności (refund_payment=true)
  • ✦ Konwersacja klient ↔ sklep (threaded messages)
  • ✦ SMS przez SMSAPI
  • ✦ Webhooki Slack / Discord / generic JSON
  • ✦ Dashboard analityki zwrotów
  • ✦ Customowe templatki HTML maili
  • ✦ White-label dla agencji