Продажа контента в 1С-Битрикс — это связка из четырёх элементов: закрытого раздела с материалами, группы пользователей с доступом к нему, нематериального товара в каталоге и обработчика, который после оплаты выдаёт покупателю доступ. Разберём эту схему на практическом примере — от подготовки инфоблока до автоматической выдачи и ограничения срока подписки.
Что понимается под продажей контента
В интернет-магазине на Битрикс продают не только физические товары. Точно так же можно продавать доступ к материалам: закрытым статьям, видеокурсам, аналитическим отчётам, файлам для скачивания, вебинарам. Отличие от обычного заказа в том, что после оплаты покупателю не отправляют посылку — ему открывают доступ к части сайта, которая до этого была закрыта.
Платформа не имеет отдельного «модуля продажи контента» с кнопкой «включить». Вместо этого схема собирается из уже существующих механизмов: инфоблоков (iblock), их прав доступа, групп пользователей, торгового каталога (catalog) и модуля «Интернет-магазин» (sale). Ниже — как эти части соединяются в рабочий сценарий.
Из каких модулей собирается схема
Прежде чем настраивать, полезно понимать, за что отвечает каждый модуль:
| Модуль | Роль в продаже контента |
|---|---|
Информационные блоки (iblock) | Хранят сам контент и разграничивают чтение через права доступа |
Главный модуль (main) | Группы пользователей, членство и сроки его действия |
Торговый каталог (catalog) | Карточка товара «доступ», цена, признак нематериального товара |
Интернет-магазин (sale) | Корзина, заказ, оплата и событие успешной оплаты |
Шаг 1. Закрытый раздел с материалами
Контент удобно держать в отдельном инфоблоке — например, «Платные материалы». Каждая статья, курс или отчёт становится элементом инфоблока, а платный файл прикрепляется свойством типа «Файл» либо публикуется в детальном тексте. Раздел с этим инфоблоком выводится обычным комплексным компонентом bitrix:news по адресу вроде /premium/.
Ключевой момент — ограничить чтение. В настройках инфоблока на вкладке Доступ (или через расширенное управление правами) убирают доступ для групп «Все пользователи» и «Все авторизованные», оставляя чтение только специальной группе. Тогда неоплативший посетитель либо не увидит элементы в списке, либо получит страницу «Доступ запрещён» при попытке открыть материал.
Учитывать права доступа и не давайте прямых ссылок на файл в /upload/ — раздавайте его через скрипт-посредник с проверкой доступа.Шаг 2. Группа пользователей с доступом
Доступ к контенту привязывают не к отдельным пользователям, а к группе. Создаётся группа, например «Подписчики Premium», в разделе Настройки → Пользователи → Группы пользователей (/bitrix/admin/group_admin.php). Именно этой группе на предыдущем шаге выдали право чтения закрытого инфоблока.
Такой подход даёт три преимущества:
- Массовость — права настраиваются один раз на группу, а не на каждого покупателя;
- Гибкость — одной группе можно открыть сразу несколько разделов, форумов или страниц;
- Срочность — членство пользователя в группе можно ограничить датами, что превращает разовую покупку в подписку (об этом ниже).
Логика проста: оплатил → попал в группу → увидел контент. Осталось автоматизировать первый переход.
Шаг 3. Товар «доступ к контенту»
В торговом каталоге создаётся товар, который покупатель кладёт в корзину, — например «Доступ к премиум-материалам на месяц». Поскольку доставлять нечего, в карточке товара важно включить признак «Товар не требует доставки»: тогда на оформлении заказа не появятся службы доставки и адрес.
Рекомендуемые настройки такого товара:
- Тип цены и валюта — например, базовая цена подписки;
- Наличие — снять ограничение по количеству либо включить учёт без списания склада, ведь запас цифрового доступа не исчерпаем;
- Признак нематериального товара — отключить доставку, при необходимости настроить признак предмета расчёта для чека 54-ФЗ (услуга/право пользования).
Шаг 4. Автоматическая выдача доступа после оплаты
Самая содержательная часть — связать факт оплаты с добавлением в группу. Штатно это делают обработчиком события модуля sale. В современной версии подходит событие OnSaleOrderPaid (заказ переведён в статус «оплачен»); в старом ядре использовали OnSaleStatusOrder.
Обработчик, зарегистрированный в /bitrix/php_interface/init.php, получает заказ, определяет пользователя и добавляет его в нужную группу методом вроде CUser::AppendUserGroup() или через CUser::SetUserGroup() с сохранением текущих групп. При этом стоит проверить, какой именно товар оплачен, чтобы открывать доступ адресно, а не всем подряд.
- Пользователь оплачивает заказ, платёжная система подтверждает платёж;
- Битрикс проставляет заказу флаг «оплачен» и вызывает событие;
- Обработчик находит в составе заказа товар-доступ и добавляет покупателя в группу «Подписчики Premium»;
- При следующем открытии закрытого раздела пользователь уже видит материалы.
Шаг 5. Подписка и ограничение срока
Если контент продаётся не навсегда, а на период, используют членство в группе с датами. В карточке пользователя на вкладке «Группы» у каждой группы есть поля периода активности «с» и «по». Обработчик оплаты может добавлять покупателя в группу «Подписчики Premium» с датой окончания через месяц от текущей — и по её наступлении доступ автоматически перестаёт действовать, без ручного удаления.
Дальше подписку продлевают повторной покупкой того же товара: обработчик просто сдвигает дату окончания. Для напоминаний об истечении удобно поднять раз в сутки агент (CAgent) или задачу планировщика, которая находит подписки на исходе и отправляет письмо с предложением продлить. Это уже маркетинговая надстройка, но она хорошо ложится на ту же схему групп.
Итог
Продажа контента в Битрикс собирается из штатных кирпичей: закрытый инфоблок с материалами, группа пользователей с правом чтения этого инфоблока, нематериальный товар без доставки и обработчик события оплаты, который добавляет покупателя в группу — при необходимости на ограниченный срок. Никаких сторонних модулей для базового сценария не требуется, всё работает на связке iblock + main + catalog + sale.
Тонкие места — корректная проверка именно оплаты, защита файлов от прямых ссылок и учёт прав в кэше. Мы в B2Bsite проектируем такие схемы под конкретный контент, пишем обработчики выдачи и продления доступа и связываем их с платёжными системами и учётом, чтобы продажа цифровых материалов работала предсказуемо и без ручных операций.
Частые вопросы
Нужен ли отдельный модуль для продажи контента в Битрикс?
Нет. Базовый сценарий строится на штатных модулях: информационные блоки, главный модуль, торговый каталог и интернет-магазин. Отдельной лицензии именно под продажу цифрового контента покупать не требуется.
Как закрыть контент от неоплативших пользователей?
Материалы размещают в отдельном инфоблоке и в его правах доступа оставляют чтение только специальной группе, убрав доступ для групп «Все пользователи» и «Все авторизованные». Неоплативший посетитель получит страницу «Доступ запрещён».
Как доступ выдаётся автоматически после оплаты?
Обработчиком события оплаты заказа (например, OnSaleOrderPaid), зарегистрированным в init.php. Он определяет покупателя и оплаченный товар и добавляет пользователя в группу с доступом к закрытому разделу.
Почему доступ лучше давать по оплате, а не по оформлению заказа?
Если открывать доступ в момент создания заказа, его получат и те, кто выбрал оплату при получении и не заплатил. Поэтому обработчик должен срабатывать именно на статус «оплачен».
Как сделать доступ к контенту по подписке на срок?
Членство пользователя в группе поддерживает даты активности «с» и «по». Обработчик оплаты добавляет покупателя в группу с датой окончания через нужный период, и по её наступлении доступ снимается автоматически.
Как настроить товар, если ничего не нужно доставлять?
В карточке товара включают признак «Товар не требует доставки». Тогда на оформлении заказа не появятся службы доставки и поле адреса, а покупатель оплачивает только доступ.
Как защитить платные файлы от скачивания по прямой ссылке?
Не давайте прямых ссылок на файлы в /upload/. Раздавайте их через скрипт-посредник, который проверяет членство пользователя в группе доступа перед выдачей файла.
Можно ли продавать несколько уровней или пакетов контента?
Да. Заводят несколько групп доступа и привязывают к ним разные товары или торговые предложения. Обработчик оплаты открывает доступ адресно, в зависимости от того, какой именно товар был в заказе.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.