Subskrypcje
Moduł subskrypcji dodaje produkty z płatnością cykliczną. Klienci kupują subskrypcje z ręcznym odnawianiem, a administrator zarządza nimi w WooCommerce.
Jak to działa
Dział zatytułowany „Jak to działa”- Administrator tworzy produkt typu “Subskrypcja” z cyklem i ceną
- Klient kupuje subskrypcję i opłaca pierwsze zamówienie
- Plugin tworzy subskrypcję ze statusem “Aktywna”
- Przed datą odnowienia klient otrzymuje przypomnienie e-mail
- W dniu odnowienia plugin tworzy zamówienie odnowienia
- Klient opłaca zamówienie odnowienia (ręczne odnowienie)
- Cykl powtarza się do anulowania subskrypcji
Konfiguracja
Dział zatytułowany „Konfiguracja”Przejdź do WooCommerce > Ustawienia > Polski > Moduły PRO > Subskrypcje.
Moduł jest kontrolowany opcją:
polski_subscriptionsUstawienia ogólne
Dział zatytułowany „Ustawienia ogólne”| Ustawienie | Opis |
|---|---|
| Włącz subskrypcje | Aktywuje moduł |
| Tryb odnowienia | Ręczne (klient opłaca zamówienie) |
| Dni przypomnienia | Ile dni przed odnowieniem wysłać przypomnienie (domyślnie 3) |
| Okres karencji | Ile dni po terminie odnowienia subskrypcja pozostaje aktywna (domyślnie 7) |
| Automatyczne zawieszenie | Zawieszaj subskrypcję po upływie okresu karencji |
Tworzenie produktu subskrypcyjnego
Dział zatytułowany „Tworzenie produktu subskrypcyjnego”- Przejdź do Produkty > Dodaj nowy
- Wybierz typ produktu: Subskrypcja
- Skonfiguruj cenę i cykl:
| Pole | Opis |
|---|---|
| Cena subskrypcji | Kwota za okres rozliczeniowy |
| Okres rozliczeniowy | Dzień / Tydzień / Miesiąc / Rok |
| Długość okresu | Liczba okresów (np. 1 miesiąc, 3 miesiące) |
| Cena początkowa | Opcjonalna - inna cena za pierwszy okres |
| Opłata aktywacyjna | Opcjonalna - jednorazowa opłata przy pierwszym zamówieniu |
| Limit odnowień | 0 = bez limitu, lub liczba odnowień |
- Opublikuj produkt
Cena początkowa vs cena odnowienia
Dział zatytułowany „Cena początkowa vs cena odnowienia”Cena za pierwszy okres może być inna niż za kolejne. Zastosowania:
- okres próbny za darmo lub po obniżonej cenie
- promocyjna cena na start
- opłata aktywacyjna + niższa cena cykliczna
Cena początkowa dotyczy tylko pierwszego zamówienia. Kolejne odnowienia mają standardową cenę.
Cykl życia subskrypcji
Dział zatytułowany „Cykl życia subskrypcji”Pending → Active → On Hold → Active → ... → Expired → Cancelled| Status | Opis |
|---|---|
| Pending | Oczekująca na opłacenie pierwszego zamówienia |
| Active | Aktywna - klient ma dostęp do produktu |
| On Hold | Wstrzymana - zamówienie odnowienia oczekuje na opłacenie |
| Expired | Wygasła - liczba odnowień osiągnęła limit lub minął okres karencji |
| Cancelled | Anulowana przez klienta lub administratora |
Odnowienia
Dział zatytułowany „Odnowienia”Ręczne odnowienie
Dział zatytułowany „Ręczne odnowienie”Plugin obsługuje ręczne odnowienia:
- Plugin tworzy zamówienie odnowienia ze statusem “Oczekujące na płatność”
- Klient otrzymuje e-mail z linkiem do opłacenia zamówienia
- Klient opłaca zamówienie przez wybraną metodę płatności
- Po opłaceniu subskrypcja zostaje odnowiona na kolejny okres
Proces odnowienia
Dział zatytułowany „Proces odnowienia”Plugin sprawdza subskrypcje do odnowienia codziennie przez WP-Cron:
polski_daily_maintenanceCodzienne zadanie cron:
- sprawdza subskrypcje do odnowienia
- tworzy zamówienia odnowienia
- zawiesza subskrypcje po okresie karencji
- wygasza subskrypcje po osiągnięciu limitu odnowień
Przypomnienia e-mail
Dział zatytułowany „Przypomnienia e-mail”Plugin wysyła przypomnienia e-mail przed datą odnowienia:
| Kiedy | Treść | |
|---|---|---|
| Przypomnienie o odnowieniu | X dni przed odnowieniem | Informacja o zbliżającym się odnowieniu, kwota, link do panelu |
| Zamówienie odnowienia | W dniu odnowienia | Zamówienie do opłacenia z linkiem do płatności |
| Subskrypcja wstrzymana | Po upływie terminu płatności | Informacja o wstrzymaniu, link do opłacenia |
| Subskrypcja wygasła | Po upływie okresu karencji | Informacja o wygaśnięciu, link do ponownego zakupu |
Szablony e-maili można dostosować w WooCommerce > Ustawienia > E-maile.
Panel Moje konto
Dział zatytułowany „Panel Moje konto”Moduł dodaje sekcję w Moje konto pod adresem:
/moje-konto/polski-subscriptions/Lista subskrypcji
Dział zatytułowany „Lista subskrypcji”Klient widzi tabelę z subskrypcjami:
| Kolumna | Opis |
|---|---|
| Produkt | Nazwa produktu subskrypcyjnego |
| Status | Aktualny status subskrypcji |
| Cena | Kwota za okres |
| Następne odnowienie | Data następnego odnowienia |
| Akcje | Anuluj / Opłać odnowienie |
Szczegóły subskrypcji
Dział zatytułowany „Szczegóły subskrypcji”Po kliknięciu w subskrypcję klient widzi:
- pełne dane subskrypcji (produkt, cena, cykl, daty)
- historię odnowień (lista zamówień powiązanych)
- przycisk anulowania subskrypcji
- przycisk opłacenia oczekującego odnowienia (jeśli dotyczy)
Anulowanie subskrypcji
Dział zatytułowany „Anulowanie subskrypcji”Klient może anulować aktywną subskrypcję w Moje konto. Anulowanie:
- zmienia status subskrypcji na “Cancelled”
- subskrypcja pozostaje aktywna do końca bieżącego opłaconego okresu
- klient jest informowany o dacie zakończenia dostępu
polski_pro/subscription/status_changed
Dział zatytułowany „polski_pro/subscription/status_changed”Akcja wywoływana po zmianie statusu subskrypcji.
/** * @param int $subscription_id ID subskrypcji * @param string $new_status Nowy status * @param string $old_status Poprzedni status */do_action('polski_pro/subscription/status_changed', int $subscription_id, string $new_status, string $old_status);Przykład:
add_action('polski_pro/subscription/status_changed', function (int $subscription_id, string $new_status, string $old_status): void { if ($new_status === 'cancelled') { $subscription = polski_pro_get_subscription($subscription_id); // Wysłanie ankiety o powód rezygnacji wp_mail( $subscription->get_customer_email(), 'Szkoda, że odchodzisz', 'Powiedz nam, dlaczego anulujesz subskrypcję: https://example.com/ankieta' ); }}, 10, 3);polski_pro/subscription/renewal_created
Dział zatytułowany „polski_pro/subscription/renewal_created”Akcja wywoływana po utworzeniu zamówienia odnowienia.
/** * @param int $order_id ID zamówienia odnowienia * @param int $subscription_id ID subskrypcji */do_action('polski_pro/subscription/renewal_created', int $order_id, int $subscription_id);Przykład:
add_action('polski_pro/subscription/renewal_created', function (int $order_id, int $subscription_id): void { $order = wc_get_order($order_id); $order->add_order_note( sprintf('Zamówienie odnowienia dla subskrypcji #%d', $subscription_id) );}, 10, 2);polski_pro/subscription/renewal_paid
Dział zatytułowany „polski_pro/subscription/renewal_paid”Akcja wywoływana po opłaceniu zamówienia odnowienia.
/** * @param int $order_id ID zamówienia odnowienia * @param int $subscription_id ID subskrypcji */do_action('polski_pro/subscription/renewal_paid', int $order_id, int $subscription_id);Panel administracyjny
Dział zatytułowany „Panel administracyjny”Lista subskrypcji
Dział zatytułowany „Lista subskrypcji”Przejdź do WooCommerce > Subskrypcje. Tabela zawiera:
- ID subskrypcji
- klient (imię, nazwisko, e-mail)
- produkt
- status
- cena i cykl
- data następnego odnowienia
- data utworzenia
Dostępne filtry: status, produkt, data utworzenia.
Edycja subskrypcji
Dział zatytułowany „Edycja subskrypcji”Administrator może:
- zmienić status subskrypcji
- zmienić datę następnego odnowienia
- zmienić cenę (wpływa na kolejne odnowienia)
- dodać notatkę
- przeglądać historię statusów i powiązane zamówienia
Najczęstsze problemy
Dział zatytułowany „Najczęstsze problemy”Zamówienia odnowienia nie są tworzone
Dział zatytułowany „Zamówienia odnowienia nie są tworzone”- Sprawdź, czy WP-Cron działa poprawnie (
wp_cronjest wywoływany) - Przejdź do Narzędzia > Scheduled Actions i sprawdź, czy zadanie
polski_daily_maintenancejest zaplanowane - Zweryfikuj, czy subskrypcja ma status “Active” i poprawną datę odnowienia
Klient nie otrzymuje przypomnień
Dział zatytułowany „Klient nie otrzymuje przypomnień”- Sprawdź konfigurację e-maili WooCommerce
- Zweryfikuj, czy szablon e-maila przypomnienia jest włączony
- Sprawdź ustawienie “Dni przypomnienia” - czy jest większe od 0
Subskrypcja nie zmienia statusu po opłaceniu
Dział zatytułowany „Subskrypcja nie zmienia statusu po opłaceniu”- Sprawdź, czy zamówienie odnowienia ma poprawne powiązanie z subskrypcją
- Zweryfikuj logi WooCommerce pod kątem błędów
- Sprawdź, czy bramka płatności poprawnie zmienia status zamówienia