Настройка WooCommerce Subscriptions под ключ
Представьте: клиент покупает доступ к вашему онлайн-сервису, а через месяц перестаёт платить, потому что магазин не списал средства автоматически. Каждый месяц теряется до 40% выручки от повторных продаж. Стандартный WooCommerce не умеет сам списывать деньги по расписанию. Для этого нужен платный плагин WooCommerce Subscriptions. Он добавляет тип товара «Подписка», позволяет задать периодичность, пробный период и автоматическое списание через поддерживаемые шлюзы. Без него приходится вручную выставлять счета или писать кастомную интеграцию с CRM. Мы настраивали подписки для 50+ проектов — от доставки еды до SaaS. За 5 лет работы мы выявили типовые ошибки и нашли оптимальные конфигурации. Например, Stripe (через WooCommerce Payments) даёт конверсию автоматических платежей 97% при правильной настройке вебхуков. Это в 1.4 раза больше, чем ручное выставление счетов (70% конверсии). При среднем чеке $50/мес и 100 подписчиках экономия от автоматизации составляет $1500 в год за счёт сокращения оттока.
Как работает WooCommerce Subscriptions?
Плагин вводит тип продукта simple subscription или variable subscription. Для каждого продукта задаются: billing period (каждые N дней/недель/месяцев/лет), billing interval, free trial (бесплатный пробный период до первого списания) и sign-up fee (разовый платёж при активации). Технически плагин создаёт дополнительные таблицы wcs_* и расширяет wp_posts для хранения данных подписки, расписания и токенов платёжного метода.
Как выбрать платёжный шлюз для автоматических списаний?
WooCommerce Subscriptions требует шлюз с поддержкой автоматических списаний (automatic recurring payments). Не все шлюзы умеют это — они должны явно объявить поддержку через хук supports:
$gateway = WC()->payment_gateways()->get_available_payment_gateways()['stripe']; if ( $gateway->supports( 'subscriptions' ) ) { // шлюз умеет автоматические списания } Таблица совместимости популярных шлюзов:
| Шлюз | Автоматические списания | Пробный период | Примечание |
|---|---|---|---|
| Stripe (WooCommerce Payments) | Да | Да | Конверсия 97%+ |
| PayPal Reference Transactions | Да | Да | Требуется PayPal Pro |
| Authorize.Net | Да | Да | Комиссия за транзакцию |
| Braintree | Да | Да | Регистрация в Braintree |
| CloudPayments | Проверять | Проверять | Нужен плагин с поддержкой subscriptions |
| ЮKassa | Проверять | Проверять | Аналогично |
Если шлюз не поддерживает automatic recurring — подписка переходит в режим manual renewal: покупатель получает invoice и платит вручную. Конверсия при этом падает на 30%.
Что делать, если списания не срабатывают?
Самая частая проблема — платёжный шлюз не поддерживает токенизацию. Симптом: Stripe/PayPal работают, а локальный шлюз нет. Решение: проверить, что плагин шлюза вызывает $this->supports[] = 'subscriptions'. Вторая причина — не выполняются cron-задачи. WCS использует WP-Cron для renewal payments. На хостингах с отключённым встроенным cron нужно настроить системный cron:
*/5 * * * * www-data wget -q -O /dev/null "https://example.com/wp-cron.php?doing_wp_cron" Или использовать Action Scheduler (входит в WCS) с внешним триггером. Action Scheduler эффективнее системного cron: он автоматически повторяет неудачные попытки и потребляет меньше ресурсов. На нагрузке свыше 1000 подписок мы рекомендуем именно его.
Типичные ошибки при настройке подписок
- Неправильное количество попыток списания: по умолчанию 3, но если клиенты часто жалуются, увеличьте до 5.
- Отсутствие тестирования пробного периода: убедитесь, что после окончания триала списание срабатывает.
- Некорректные вебхуки: проверьте, что URL вебхуков доступен извне и обрабатывает события
invoice.payment_succeeded. - Смешивание валют: если подписка в USD, а шлюз поддерживает только EUR, списания упадут.
- Игнорирование Action Scheduler: на больших нагрузках WP-Cron приводит к задержкам.
Как интегрировать подписки с WooCommerce Memberships?
Подписки часто работают в паре с Memberships: оплата подписки активирует членство, которое открывает доступ к контенту. Связь настраивается в WooCommerce → Memberships → Membership Plans → Edit Plan → Grant Access. Мы проектируем эту связь так, чтобы при отмене подписки доступ закрывался автоматически.
Сравнение вариантов настройки:
| Параметр | Простая подписка | Вариативная подписка |
|---|---|---|
| Количество тарифов | 1 | Несколько (Basic/Pro/Enterprise) |
| Бесплатный пробный | Да | Да |
| Апгрейд/даунгрейд | Нет | Да (через API) |
| Сложность настройки | Низкая | Средняя |
Что входит в настройку
- Аналитика — разбор бизнес-модели, выбор тарифов, расчёт пробного периода.
- Подключение платёжного шлюза — регистрация, установка плагина, токенизация карт.
- Создание продуктов-подписок — настройка цены, интервала, пробного периода, sign-up fee.
- Интеграция с Memberships — связка подписка → роль → доступ к контенту.
- Тестирование полного цикла — оформление, списание, уведомления, отмена.
- Документация — API-хуки, инструкция для менеджеров.
- Обучение команды — как управлять подписками в админке.
Установка и базовая конфигурация
- Загрузить плагин из WooThemes, установить через Плагины → Добавить → Загрузить плагин.
- Активировать лицензионный ключ в WooCommerce → Subscriptions → License.
- В WooCommerce → Settings → Subscriptions задать: mixed checkout, maximum failed payments (обычно 3), email-шаблоны.
Создание продукта-подписки
Товары → Добавить товар → Тип товара: Simple subscription → Subscription price: период и сумма → Free trial: 7 days → Sign-up fee: 0 → Expire after: Never Для нескольких тарифов используйте Variable subscription с атрибутами.
Хуки для кастомизации
add_action( 'woocommerce_subscription_renewal_payment_complete', function( $subscription, $last_order ) { $user_id = $subscription->get_user_id(); $plan = $subscription->get_items(); // обновить роль пользователя, отправить бонус }, 10, 2 ); add_action( 'woocommerce_subscription_status_cancelled', function( $subscription ) { $user_id = $subscription->get_user_id(); // снять доступ, уведомить команду } ); Сроки и стоимость
Базовая настройка с одним тарифом и Stripe — 1–2 рабочих дня. Несколько тарифов, апгрейды, Memberships — 3–5 дней. Стоимость рассчитывается индивидуально. Закажите настройку прямо сейчас — мы подберём оптимальную конфигурацию. Получите консультацию по платёжным шлюзам и тарифам.







