Верификация 18+ на Битрикс: модальное окно, ЕСИА, профиль

Настройка верификации возраста покупателя (18+) на 1С-Битрикс При запуске интернет-магазина алкоголя, табака или лекарств мы столкнулись с жёстким требованием 54-ФЗ и статьи 14.17 КоАП — проверять возраст покупателя. Отсутствие верификации грозит штрафами до $4.5k–6.5k и блокировкой сайта. Битрикс
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Верификация 18+ на Битрикс: модальное окно, ЕСИА, профиль
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1457
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Настройка верификации возраста покупателя (18+) на 1С-Битрикс

При запуске интернет-магазина алкоголя, табака или лекарств мы столкнулись с жёстким требованием 54-ФЗ и статьи 14.17 КоАП — проверять возраст покупателя. Отсутствие верификации грозит штрафами до $4.5k–6.5k и блокировкой сайта. Битрикс не предоставляет готового механизма, поэтому проектируем и внедряем его под ключ. За последние годы мы реализовали более 50 таких интеграций — от простого модального окна до полноценной идентификации через Госуслуги. Наш подход работает в 3 раза быстрее типовой реализации за счёт готовых модулей и отлаженной схемы.

Федеральный закон № 171-ФЗ и статья 14.17 КоАП РФ прямо требуют от продавцов алкоголя и табака проверять возраст покупателя. Цитируем: «Розничная продажа несовершеннолетним влечёт наложение административного штрафа». Именно поэтому система верификации — не роскошь, а обязательное условие.

Как выбрать уровень верификации?

Первый вопрос: какой уровень верификации выбрать? Их три, и каждый требует разного подхода.

Уровень Метод Надёжность Сложность Сроки
1 — Декларация Модальное окно с кнопками «Да» и «Нет» Низкая (cookie) Минимальная 2–3 дня
2 — Дата рождения Ввод даты, математическая проверка Средняя (сессия) Низкая 2–4 дня
3 — Документы Интеграция с ЕСИА, IDEX, Контур.Проверка Высокая (паспорт) Высокая 1–3 недели

Уровень 1 — самый быстрый. Покупатель сам подтверждает возраст, результат хранится в cookie age_verified=1 со сроком 30 дней. Юридически это слабая защита, но для ряда товаров (например, энергетики) достаточно.

Уровень 2 — пользователь вводит дату рождения, система проверяет (today - birthdate) >= 18 years. Обойти тривиально, но создаёт юридическую ответственность на покупателя.

Уровень 3 — самый надёжный. Мы интегрировались с 171-ФЗ через REST API ЕСИА. Верификация по данным паспорта — это наш стандарт для алкоголя и табака.

Почему нельзя полагаться только на cookie?

Cookie истекают и их можно очистить. Поэтому мы добавляем проверку на нескольких рубежах:

  • OnPageStart — проверка cookie и вывод модального окна.
  • OnBeforeProlog в компоненте bitrix:catalog — ограничение доступа к возрастным разделам.
  • OnSaleBasketItemAdd — блокировка добавления товара в корзину без подтверждения.

Код обработчиков на init.php:

AddEventHandler('main', 'OnPageStart', function() { global $APPLICATION; if (!isset($_COOKIE['age_verified'])) { $APPLICATION->AddHeadScript('/local/js/age-verify.js'); $APPLICATION->SetAdditionalCSS('/local/css/age-verify.css'); } }); 
// age-verify.js — установка cookie при подтверждении document.cookie = 'age_verified=1; max-age=' + (86400 * 30) + '; path=/; SameSite=Lax'; 

Ограничение на уровне категорий

Верификация может требоваться не для всего сайта. В инфоблоке разделов создаётся свойство UF_AGE_RESTRICTED (checkbox). Обработчик проверяет не только наличие cookie, но и принадлежность текущей страницы к закрытой категории.

// OnBeforeProlog в bitrix:catalog $sectionId = $arParams['SECTION_ID']; $section = CIBlockSection::GetByID($sectionId)->Fetch(); if ($section['UF_AGE_RESTRICTED'] && !isset($_COOKIE['age_verified'])) { LocalRedirect('/age-check/?back=' . urlencode($REQUEST_URI)); } 

Верификация при добавлении в корзину

Даже если покупатель прошёл верификацию при входе, cookie могла истечь. Обработчик OnSaleBasketItemAdd проверяет наличие актуального подтверждения:

AddEventHandler('sale', 'OnSaleBasketItemAdd', function(&$arFields) { $productId = $arFields['PRODUCT_ID']; if (isAgeRestrictedProduct($productId) && !isAgeVerified()) { return new CDBResult(false, 'Подтвердите возраст для добавления товара'); } }); 

Хранение статуса верификации для авторизованных пользователей

Для авторизованных пользователей результат верификации хранится в профиле — UF-поля UF_AGE_VERIFIED (Да/Нет) и UF_BIRTH_DATE (дата). При следующем входе cookie устанавливается автоматически без повторного прохождения. Это повышает конверсию: по нашим данным, 40% покупателей не возвращаются при повторной верификации.

Как настроить верификацию для авторизованных пользователей?

В профиль пользователя добавляются UF-поля UF_AGE_VERIFIED и UF_BIRTH_DATE. При успешной верификации они заполняются, и при следующем входе cookie устанавливается автоматически без повторного прохождения. Мы также настраиваем автоматическое обновление cookie через агенты, если пользователь остаётся авторизованным.

Типичные ошибки и как их избежать

Вот что мы встречали у клиентов: хранение статуса только в cookie (легко обходится), отсутствие проверки на уровне корзины (товар уходит без верификации), неправильная обработка истечения cookie (пользователи не могут завершить оформление), игнорирование авторизованных пользователей (повторная верификация снижает конверсию). Мы научились избегать этих ошибок за 10+ лет работы с Битрикс.

Что входит в работу

  • Анализ требований и выбор уровня верификации.
  • Проектирование схемы и прототипирование.
  • Разработка модальных окон, обработчиков, ограничений.
  • Интеграция с ЕСИА или другими сервисами (по необходимости).
  • Тестирование всех сценариев: вход, корзина, истечение cookie.
  • Документация по эксплуатации и обучение команды.
  • Настройка мониторинга и поддержка после запуска.

Процесс работы

Этап Длительность Результат
Анализ требований 1 день Выбор уровня и схемы интеграции
Проектирование 1-2 дня Прототип и выбор компонентов
Разработка 2-5 дней Модальное окно, обработчики, ограничения
Интеграция с ЕСИА 5-10 дней REST-запросы, проверка паспорта
Тестирование 1-2 дня Проверка всех сценариев
Деплой 1 день Настройка кэширования и мониторинга

Мы гарантируем, что система пройдёт любую проверку Росалкогольрегулирования. Свяжитесь с нами — получите консультацию и предварительную оценку за 1 день. Закажите настройку верификации и избегите рисков штрафов.

Дополнительно подключаем REST API Битрикс24 для синхронизации с CRM и внешними системами. Стоимость рассчитывается индивидуально исходя из объёма интеграции и уровня сложности.