# Pre-order Manager: kompletny przewodnik

> Prezentacja DataFirefly Pre-order Manager zamienia dowolny produkt WooCommerce (prosty albo wariantowy) w profesjonalne przedzamówienie. Klient płaci zaliczkę albo pełną kwotę przy zamówieniu; w dacie dostępności (ETA) wtyczka automatycznie konwertuje przedzamówienie:…

- Strona: <https://www.datafirefly.com/pl/documentation/pre-order-manager/>
- Język: pl
- Zaktualizowano: 2026-07-29
- Inne języki: [fr](https://www.datafirefly.com/documentation/pre-order-manager/index.md), [en](https://www.datafirefly.com/en/documentation/pre-order-manager/index.md), [es](https://www.datafirefly.com/es/documentation/pre-order-manager/index.md), [de](https://www.datafirefly.com/de/documentation/pre-order-manager/index.md), [it](https://www.datafirefly.com/it/documentation/pre-order-manager/index.md), [nl](https://www.datafirefly.com/nl/documentation/pre-order-manager/index.md), [pt](https://www.datafirefly.com/pt/documentation/pre-order-manager/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Prezentacja

DataFirefly Pre-order Manager zamienia dowolny produkt WooCommerce (prosty albo wariantowy) w profesjonalne przedzamówienie. Klient płaci zaliczkę albo pełną kwotę przy zamówieniu; w dacie dostępności (ETA) wtyczka automatycznie konwertuje przedzamówienie: przejście w realizację przy płatnościach pełnych, wygenerowanie zamówienia na dopłatę z linkiem płatności przy zaliczkach. Automatyczne przypomnienia, limit przyszłego stanu magazynowego, konfigurowalna odznaka i REST API dopełniają przepływ pracy.

## Instalacja

1. Pobierz plik `dfpreorder.zip` ze swojego konta DataFirefly.
2. W administracji WordPressa przejdź do **Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer**.
3. Wybierz ZIP, kliknij **Zainstaluj teraz** i włącz wtyczkę.
4. Pojawia się nowe podmenu **WooCommerce → Przedzamówienia**: to centrum sterowania wtyczki.

Wymagania: WordPress 6.0+, WooCommerce 7.0+ i PHP minimum 7.4. Wtyczka deklaruje zgodność z HPOS oraz blokami Cart i Checkout, żadne dodatkowe ustawienia nie są potrzebne.

## Ustawienia globalne

Otwórz **WooCommerce → Przedzamówienia → zakładka Ustawienia**. Opcje pogrupowane są w sześć bloków:

- **Aktywacja**: globalny przełącznik modułu i polityka mieszanego koszyka (czy zezwolić na mieszanie przedzamówień i produktów standardowych w jednym koszyku).
- **Konwersja automatyczna**: włącza codzienną konwersję w dacie ETA, ustawia okres karencji (0 do 90 dni) po ETA i przywracanie zarezerwowanych sztuk przy anulowaniu.
- **Wyświetlanie odznaki**: tekst (domyślnie „Przedzamówienie"), kolor tła, kolor tekstu i miejsca wyświetlania (listy sklepu i/albo karta produktu).
- **Etykiety**: tekst przycisku dodania do koszyka (domyślnie „Zamów w przedsprzedaży") i etykieta poprzedzająca ETA („Dostępne od").
- **E-maile do klientów**: włączenie e-maili o dostępności i o dopłacie.
- **Przypomnienia o nieopłaconej dopłacie**: włączenie przypomnień i terminy w dniach rozdzielone przecinkami (domyślnie `7,14,30`).
- **Koszty wysyłki**: opcja przeniesienia kosztów wysyłki na zamówienie z dopłatą (patrz dedykowana sekcja poniżej).

## Konfiguracja produktu w przedsprzedaży

1. Otwórz produkt w edytorze WooCommerce i znajdź zakładkę **Przedzamówienie** w danych produktu.
2. Zaznacz **Włącz przedzamówienie**.
3. Wybierz **tryb płatności**: „Płatność pełna" (klient płaci wszystko przy zamówieniu) albo „Zaliczka" (procent albo kwota stała, dopłata fakturowana w chwili dostępności).
4. Uzupełnij **datę ETA** (przewidywana data dostępności). Opcjonalne pole tekstowe pozwala wyświetlić dowolną etykietę zamiast daty (np. „Dostępne na początku lipca").
5. Ustaw ewentualnie **limit przyszłego stanu**: maksymalną liczbę sztuk możliwych do przedzamówienia. Licznik zarezerwowanych sztuk wyświetla się obok pola.
6. W razie potrzeby dostosuj tekst odznaki dla tego produktu i zachowanie konwersji automatycznej (dziedzicz z ustawienia globalnego, wymuś tak, wymuś nie).
7. Zapisz: odznaka i blok ETA pojawiają się natychmiast na karcie produktu.

Przy produktach wariantowych każdy wariant może mieć własną datę ETA i własny limit stanu (w opcjach wariantu). Data wariantu ma pierwszeństwo przed datą produktu nadrzędnego.

## Cykl życia przedzamówienia

Oto pełny przebieg procesu, krok po kroku:

1. **Zamówienie początkowe**: klient dodaje produkt do koszyka. W trybie zaliczkowym cena wyświetlana w koszyku i na checkoucie to kwota zaliczki, z informacją o pozostałej dopłacie. Płaci przez swoją zwykłą bramkę płatności.
2. **Rejestracja**: po zapłacie zamówienie przechodzi w status `wc-preorder`, w wewnętrznej tabeli wtyczki powstaje wiersz, a klient otrzymuje e-mail potwierdzający przedzamówienie.
3. **Oczekiwanie**: przedzamówienie pojawia się w **WooCommerce → Przedzamówienia → zakładka Lista** ze swoim statusem, datą ETA i kwotami.
4. **Konwersja w dacie ETA**: codzienny cron (3:00, czas witryny) wykrywa przedzamówienia, których termin nadszedł (ETA + ewentualny okres karencji):
   - Tryb **płatności pełnej**: zamówienie przechodzi w „W realizacji", a klient otrzymuje e-mail o dostępności.
   - Tryb **zaliczki**: automatycznie generowane jest zamówienie na dopłatę (status „Oczekuje na płatność"), a klient otrzymuje e-mail „Dopłata do uregulowania" z przyciskiem bezpośredniej płatności.
5. **Płatność dopłaty**: klient płaci przez link z e-maila (natywny adres płatności WooCommerce, zabezpieczony kluczem zamówienia, bez wymogu logowania) albo z poziomu Mojego konta. Po zapłacie przedzamówienie zostaje oznaczone jako zakończone, a zamówienie źródłowe przechodzi w „W realizacji", gdy tylko wszystkie jego pozycje przedsprzedażowe zostaną rozliczone.

## Zarządzanie z poziomu administracji

Zakładka **Lista** na stronie Przedzamówienia wyświetla wszystkie przedzamówienia z filtrem po statusie, wyszukiwaniem po ID zamówienia albo produktu i paginacją. Istnieją cztery statusy: **Oczekujące** (niebieski), **Dopłata oczekująca** (bursztynowy), **Zakończone** (zielony) i **Anulowane** (szary). W każdym wierszu dwie akcje:

- **Konwertuj**: wymusza natychmiastową konwersję bez czekania na ETA (przydatne, gdy towar dotrze wcześniej).
- **Anuluj**: anuluje przedzamówienie, zwalnia zarezerwowane sztuki (jeśli opcja przywracania stanu jest aktywna) i przełącza zamówienie w „Anulowane", jeśli wciąż miało status przedzamówienia.

Przycisk **„Uruchom konwersję teraz"** u góry strony natychmiast wyzwala codzienną kontrolę, bez czekania na crona o 3:00.

## Po stronie klienta: Moje konto

Na stronie **Moje konto → Szczegóły zamówienia**:

- **Zamówienie źródłowe** wyświetla blok „Dopłata do Twojego przedzamówienia" z listą powiązanych zamówień na dopłatę, ich kwotami, statusami i przyciskiem **„Zapłać dopłatę"** dla tych jeszcze nieopłaconych.
- **Zamówienie na dopłatę** wyświetla wzajemnie blok „Zamówienie źródłowe" z linkiem do pierwotnego zamówienia.

## E-maile do klientów

Dostarczane są cztery e-maile transakcyjne, każdy w wersji HTML i tekstowej, edytowalne w **WooCommerce → Ustawienia → E-maile**:

- **Potwierdzenie przedzamówienia**: wysyłane przy rejestracji przedzamówienia, z informacją o zaliczce, jeśli dotyczy.
- **Przedzamówienie dostępne**: wysyłane przy konwersji w trybie płatności pełnej.
- **Dopłata do uregulowania**: wysyłane przy wygenerowaniu zamówienia na dopłatę, z wyeksponowaną kwotą i przyciskiem bezpośredniej płatności.
- **Przypomnienie o dopłacie**: przypomnienia wysyłane w skonfigurowanych terminach, jeśli dopłata pozostaje nieopłacona.

## Automatyczne przypomnienia

Gdy opcja jest aktywna, codzienny cron skanuje wciąż nieopłacone zamówienia na dopłatę (statusy oczekujące, wstrzymane albo nieudane) i wysyła przypomnienie w każdym skonfigurowanym terminie. Pole przyjmuje listę dni rozdzieloną przecinkami, na przykład `7,14,30` dla przypomnień 7, 14 i 30 dni po utworzeniu zamówienia na dopłatę. Każdy termin wyzwalany jest tylko raz na zamówienie; śledzenie zapisywane jest w meta zamówienia na dopłatę.

## Koszty wysyłki na zamówieniu z dopłatą

Domyślnie zamówienie na dopłatę nie zawiera kosztów wysyłki (zostały opłacone przy zamówieniu źródłowym). Jeśli Twoja zaliczka pokrywa wyłącznie rezerwację produktu, a wysyłkę fakturujesz przy nadaniu, włącz opcję **„Przenieś koszty wysyłki na dopłatę"**: pozycje wysyłki z zamówienia źródłowego zostaną zduplikowane na zamówieniu z dopłatą, z zachowaniem metody i podatków.

Ta opcja duplikuje koszty. Włącz ją wyłącznie wtedy, gdy zamówienie zaliczkowe jest fakturowane bez kosztów wysyłki, na przykład przez metodę „Darmowa wysyłka" uzależnioną od obecności produktów przedsprzedażowych w koszyku. W przeciwnym razie klient zapłaci za wysyłkę dwa razy.

## Shortcode'y

- `[dfpo_badge product_id="123"]`: wyświetla odznakę Przedzamówienie wskazanego produktu (albo bieżącego produktu, jeśli parametr pominięty).
- `[dfpo_eta product_id="123"]`: wyświetla sformatowaną datę dostępności wraz z etykietą.
- `[dfpo_remaining product_id="123"]`: wyświetla liczbę sztuk wciąż możliwych do przedzamówienia, gdy ustawiono limit.

## REST API

Wszystkie trasy znajdują się w przestrzeni nazw `dfpo/v1` i wymagają zdolności `manage_woocommerce` (uwierzytelnianie kluczem API WooCommerce albo hasłem aplikacji):

- `GET /wp-json/dfpo/v1/preorders`: lista ze stronicowaniem (parametry `status`, `page`, `per_page`).
- `GET /wp-json/dfpo/v1/preorders/{id}`: szczegóły przedzamówienia.
- `POST /wp-json/dfpo/v1/preorders/{id}/convert`: wymusza konwersję (parametr logiczny `force`).
- `POST /wp-json/dfpo/v1/preorders/{id}/cancel`: anuluje i zwalnia zarezerwowany stan.
- `POST /wp-json/dfpo/v1/run-conversion`: natychmiast wyzwala kontrolę konwersji.

## Hooki dla deweloperów

- `dfpo_preorder_registered` (akcja): po utworzeniu wiersza przedzamówienia.
- `dfpo_preorder_converted_full` (akcja): po konwersji płatności pełnej.
- `dfpo_preorder_converted_deposit` (akcja): po wygenerowaniu zamówienia na dopłatę.
- `dfpo_preorder_balance_paid` (akcja): po zaksięgowaniu dopłaty.
- `dfpo_email_preorder_balance_reminder` (akcja): przy wyzwoleniu przypomnienia (pozwala podpiąć SMS albo inny kanał).
- `dfpo_badge_html` (filtr): do zmiany HTML-a odznaki.

## Rozwiązywanie problemów

- **Konwersja się nie uruchamia**: sprawdź, czy WP-Cron działa na Twoim hostingu (niektórzy dostawcy go wyłączają; użyj wtedy crona systemowego wywołującego `wp-cron.php`). Zawsze możesz konwertować ręcznie z zakładki Lista.
- **Cena w koszyku wydaje się błędna po zmianie produktu**: opróżnij testowy koszyk i wyczyść cache (obiektowy i stron). Wtyczka odczytuje cenę pierwotną bezpośrednio z bazy, aby uniknąć efektów cache.
- **E-mail o dopłacie nie dociera**: sprawdź, czy e-mail „Dopłata do uregulowania" jest włączony w WooCommerce → Ustawienia → E-maile, i przetestuj ogólną dostarczalność swojej witryny (zalecany SMTP).
- **Odznaka się nie pojawia**: sprawdź globalny przełącznik modułu, miejsca wyświetlania odznaki w ustawieniach oraz to, czy motyw rzeczywiście wywołuje standardowe hooki WooCommerce (`woocommerce_single_product_summary`, `woocommerce_after_shop_loop_item_title`).

## Deinstalacja

Wyłączenie wtyczki zachowuje wszystkie dane. **Usunięcie** wtyczki ze strony Wtyczki trwale kasuje wewnętrzne tabele, opcje i meta produktów wtyczki. Zamówienia WooCommerce (źródłowe i na dopłatę) nigdy nie są usuwane.
