Підписки
Модуль підписок додає продукти з періодичною оплатою. Клієнти купують підписки з ручним поновленням, адміністратор керує ними у WooCommerce.
Як це працює
Section titled “Як це працює”- Адміністратор створює продукт типу “Підписка” з циклом та ціною
- Клієнт купує підписку та оплачує перше замовлення
- Плагін створює підписку зі статусом “Активна”
- Перед датою поновлення клієнт отримує нагадування електронною поштою
- У день поновлення плагін створює замовлення поновлення
- Клієнт оплачує замовлення поновлення (ручне поновлення)
- Цикл повторюється до скасування підписки
Налаштування
Section titled “Налаштування”Перейдіть до WooCommerce > Налаштування > Polski > Модулі PRO > Підписки.
Модуль контролюється опцією:
polski_subscriptionsЗагальні налаштування
Section titled “Загальні налаштування”| Параметр | Опис |
|---|---|
| Увімкнути підписки | Активує модуль |
| Режим поновлення | Ручне (клієнт оплачує замовлення) |
| Дні нагадування | За скільки днів до поновлення надіслати нагадування (за замовчуванням 3) |
| Період відстрочки | Скільки днів після терміну поновлення підписка залишається активною (за замовчуванням 7) |
| Автоматичне призупинення | Призупиняти підписку після закінчення періоду відстрочки |
Створення продукту підписки
Section titled “Створення продукту підписки”- Перейдіть до Продукти > Додати новий
- Виберіть тип продукту: Підписка
- Налаштуйте ціну та цикл:
| Поле | Опис |
|---|---|
| Ціна підписки | Сума за розрахунковий період |
| Розрахунковий період | День / Тиждень / Місяць / Рік |
| Тривалість періоду | Кількість періодів (наприклад, 1 місяць, 3 місяці) |
| Початкова ціна | Необов’язково - інша ціна за перший період |
| Плата за активацію | Необов’язково - одноразова плата при першому замовленні |
| Ліміт поновлень | 0 = без ліміту, або кількість поновлень |
- Опублікуйте продукт
Початкова ціна та ціна поновлення
Section titled “Початкова ціна та ціна поновлення”Плагін підтримує сценарії, коли ціна за перший період відрізняється від ціни за наступні періоди. Типові застосування:
- пробний період безкоштовно або за зниженою ціною
- акційна ціна на старт
- плата за активацію + нижча періодична ціна
Початкова ціна застосовується лише до першого замовлення. Наступні замовлення поновлення використовують стандартну ціну підписки.
Життєвий цикл підписки
Section titled “Життєвий цикл підписки”Pending → Active → On Hold → Active → ... → Expired → Cancelled| Статус | Опис |
|---|---|
| Pending | Очікує на оплату першого замовлення |
| Active | Активна - клієнт має доступ до продукту |
| On Hold | Призупинена - замовлення поновлення очікує на оплату |
| Expired | Закінчилася - кількість поновлень досягла ліміту або минув період відстрочки |
| Cancelled | Скасована клієнтом або адміністратором |
Поновлення
Section titled “Поновлення”Ручне поновлення
Section titled “Ручне поновлення”У поточній версії плагін підтримує ручні поновлення. Це означає, що:
- Плагін створює замовлення поновлення зі статусом “Очікує на оплату”
- Клієнт отримує електронний лист із посиланням для оплати замовлення
- Клієнт оплачує замовлення обраним способом оплати
- Після оплати підписка поновлюється на наступний період
Процес поновлення
Section titled “Процес поновлення”Плагін перевіряє підписки для поновлення щодня за допомогою крону WP:
polski_daily_maintenanceЗавдання крону запускається раз на день та виконує:
- перевірку підписок, дата поновлення яких припадає на сьогодні або раніше
- створення замовлень поновлення для підписок, що потребують поновлення
- призупинення підписок, що перевищили період відстрочки
- завершення підписок, що досягли ліміту поновлень
Нагадування електронною поштою
Section titled “Нагадування електронною поштою”Плагін надсилає нагадування електронною поштою перед датою поновлення:
| Лист | Коли | Зміст |
|---|---|---|
| Нагадування про поновлення | X днів перед поновленням | Інформація про наближене поновлення, сума, посилання на панель |
| Замовлення поновлення | У день поновлення | Замовлення до оплати з посиланням на оплату |
| Підписка призупинена | Після закінчення терміну оплати | Інформація про призупинення, посилання для оплати |
| Підписка закінчилася | Після закінчення періоду відстрочки | Інформація про закінчення, посилання для повторної покупки |
Шаблони листів можна налаштувати в WooCommerce > Налаштування > Електронні листи.
Панель Мій обліковий запис
Section titled “Панель Мій обліковий запис”Модуль додає ендпоінт /polski-subscriptions до панелі Мій обліковий запис клієнта. Ендпоінт доступний за адресою:
/moje-konto/polski-subscriptions/Список підписок
Section titled “Список підписок”Клієнт бачить таблицю з підписками:
| Стовпець | Опис |
|---|---|
| Продукт | Назва продукту підписки |
| Статус | Поточний статус підписки |
| Ціна | Сума за період |
| Наступне поновлення | Дата наступного поновлення |
| Дії | Скасувати / Оплатити поновлення |
Деталі підписки
Section titled “Деталі підписки”Після натискання на підписку клієнт бачить:
- повні дані підписки (продукт, ціна, цикл, дати)
- історію поновлень (список пов’язаних замовлень)
- кнопку скасування підписки
- кнопку оплати очікуваного поновлення (якщо застосовується)
Скасування підписки
Section titled “Скасування підписки”Клієнт може скасувати активну підписку з панелі Мій обліковий запис. Скасування:
- змінює статус підписки на “Cancelled”
- підписка залишається активною до кінця поточного оплаченого періоду
- клієнт інформується про дату закінчення доступу
polski_pro/subscription/status_changed
Section titled “polski_pro/subscription/status_changed”Дія, що викликається після зміни статусу підписки.
/** * @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);Приклад:
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
Section titled “polski_pro/subscription/renewal_created”Дія, що викликається після створення замовлення поновлення.
/** * @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);Приклад:
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
Section titled “polski_pro/subscription/renewal_paid”Дія, що викликається після оплати замовлення поновлення.
/** * @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);Адміністративна панель
Section titled “Адміністративна панель”Список підписок
Section titled “Список підписок”Перейдіть до WooCommerce > Підписки. Таблиця містить:
- ID підписки
- клієнт (ім’я, прізвище, електронна пошта)
- продукт
- статус
- ціна та цикл
- дата наступного поновлення
- дата створення
Доступні фільтри: статус, продукт, дата створення.
Редагування підписки
Section titled “Редагування підписки”Адміністратор може:
- змінити статус підписки
- змінити дату наступного поновлення
- змінити ціну (впливає на наступні поновлення)
- додати нотатку
- переглянути історію статусів та пов’язані замовлення
Найпоширеніші проблеми
Section titled “Найпоширеніші проблеми”Замовлення поновлення не створюються
Section titled “Замовлення поновлення не створюються”- Перевірте, чи WP-Cron працює правильно (
wp_cronвикликається) - Перейдіть до Інструменти > Scheduled Actions та перевірте, чи завдання
polski_daily_maintenanceзаплановане - Перевірте, чи підписка має статус “Active” та правильну дату поновлення
Клієнт не отримує нагадування
Section titled “Клієнт не отримує нагадування”- Перевірте конфігурацію електронних листів WooCommerce
- Перевірте, чи шаблон листа нагадування увімкнений
- Перевірте налаштування “Дні нагадування” - чи значення більше за 0
Підписка не змінює статус після оплати
Section titled “Підписка не змінює статус після оплати”- Перевірте, чи замовлення поновлення правильно пов’язане з підпискою
- Перевірте логи WooCommerce на наявність помилок
- Перевірте, чи платіжний шлюз правильно змінює статус замовлення