Przejdź do głównej zawartości

Subskrypcje

Moduł subskrypcji dodaje produkty z płatnością cykliczną. Klienci kupują subskrypcje z ręcznym odnawianiem, a administrator zarządza nimi w WooCommerce.

  1. Administrator tworzy produkt typu “Subskrypcja” z cyklem i ceną
  2. Klient kupuje subskrypcję i opłaca pierwsze zamówienie
  3. Plugin tworzy subskrypcję ze statusem “Aktywna”
  4. Przed datą odnowienia klient otrzymuje przypomnienie e-mail
  5. W dniu odnowienia plugin tworzy zamówienie odnowienia
  6. Klient opłaca zamówienie odnowienia (ręczne odnowienie)
  7. Cykl powtarza się do anulowania subskrypcji

Przejdź do WooCommerce > Ustawienia > Polski > Moduły PRO > Subskrypcje.

Moduł jest kontrolowany opcją:

polski_subscriptions
UstawienieOpis
Włącz subskrypcjeAktywuje moduł
Tryb odnowieniaRęczne (klient opłaca zamówienie)
Dni przypomnieniaIle dni przed odnowieniem wysłać przypomnienie (domyślnie 3)
Okres karencjiIle dni po terminie odnowienia subskrypcja pozostaje aktywna (domyślnie 7)
Automatyczne zawieszenieZawieszaj subskrypcję po upływie okresu karencji
  1. Przejdź do Produkty > Dodaj nowy
  2. Wybierz typ produktu: Subskrypcja
  3. Skonfiguruj cenę i cykl:
PoleOpis
Cena subskrypcjiKwota za okres rozliczeniowy
Okres rozliczeniowyDzień / Tydzień / Miesiąc / Rok
Długość okresuLiczba okresów (np. 1 miesiąc, 3 miesiące)
Cena początkowaOpcjonalna - inna cena za pierwszy okres
Opłata aktywacyjnaOpcjonalna - jednorazowa opłata przy pierwszym zamówieniu
Limit odnowień0 = bez limitu, lub liczba odnowień
  1. Opublikuj produkt

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ę.

Pending → Active → On Hold → Active → ...
→ Expired
→ Cancelled
StatusOpis
PendingOczekująca na opłacenie pierwszego zamówienia
ActiveAktywna - klient ma dostęp do produktu
On HoldWstrzymana - zamówienie odnowienia oczekuje na opłacenie
ExpiredWygasła - liczba odnowień osiągnęła limit lub minął okres karencji
CancelledAnulowana przez klienta lub administratora

Plugin obsługuje ręczne odnowienia:

  1. Plugin tworzy zamówienie odnowienia ze statusem “Oczekujące na płatność”
  2. Klient otrzymuje e-mail z linkiem do opłacenia zamówienia
  3. Klient opłaca zamówienie przez wybraną metodę płatności
  4. Po opłaceniu subskrypcja zostaje odnowiona na kolejny okres

Plugin sprawdza subskrypcje do odnowienia codziennie przez WP-Cron:

polski_daily_maintenance

Codzienne zadanie cron:

  • sprawdza subskrypcje do odnowienia
  • tworzy zamówienia odnowienia
  • zawiesza subskrypcje po okresie karencji
  • wygasza subskrypcje po osiągnięciu limitu odnowień

Plugin wysyła przypomnienia e-mail przed datą odnowienia:

E-mailKiedyTreść
Przypomnienie o odnowieniuX dni przed odnowieniemInformacja o zbliżającym się odnowieniu, kwota, link do panelu
Zamówienie odnowieniaW dniu odnowieniaZamówienie do opłacenia z linkiem do płatności
Subskrypcja wstrzymanaPo upływie terminu płatnościInformacja o wstrzymaniu, link do opłacenia
Subskrypcja wygasłaPo upływie okresu karencjiInformacja o wygaśnięciu, link do ponownego zakupu

Szablony e-maili można dostosować w WooCommerce > Ustawienia > E-maile.

Moduł dodaje sekcję w Moje konto pod adresem:

/moje-konto/polski-subscriptions/

Klient widzi tabelę z subskrypcjami:

KolumnaOpis
ProduktNazwa produktu subskrypcyjnego
StatusAktualny status subskrypcji
CenaKwota za okres
Następne odnowienieData następnego odnowienia
AkcjeAnuluj / Opłać odnowienie

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)

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

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);

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);

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);

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.

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
  1. Sprawdź, czy WP-Cron działa poprawnie (wp_cron jest wywoływany)
  2. Przejdź do Narzędzia > Scheduled Actions i sprawdź, czy zadanie polski_daily_maintenance jest zaplanowane
  3. Zweryfikuj, czy subskrypcja ma status “Active” i poprawną datę odnowienia
  1. Sprawdź konfigurację e-maili WooCommerce
  2. Zweryfikuj, czy szablon e-maila przypomnienia jest włączony
  3. Sprawdź ustawienie “Dni przypomnienia” - czy jest większe od 0
  1. Sprawdź, czy zamówienie odnowienia ma poprawne powiązanie z subskrypcją
  2. Zweryfikuj logi WooCommerce pod kątem błędów
  3. Sprawdź, czy bramka płatności poprawnie zmienia status zamówienia
Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.