Top.Mail.Ru
  • Продвижение в интернете
  • Построение системы маркетинга
  • Веб-разработка
  • Аналитика
  • Дизайн
illuminator
Решение для бизнеса

Разработка функционала подарочных сертификатов на сайте с CMS 1С-Битрикс

Задача

Дать возможность покупать в интернет-магазине подарочные сертификаты. И не просто продавать «картинку», а коммуникации переложить на менеджера, а реализовать полноценный механизм, при котором человек может купить сертификат, отправить его, а получатель может воспользоваться сертификатом частично и сохранять остаток в течение 1 года.

Решение

Полноценный функционал. О реализации которого мы поговорим ниже.

В статье разберем наш последний проект по разработке модуля подарочных сертификатов на платформе 1С-Битрикс.

Расскажем, как был пройден путь от чистого макета до рабочего функционала. Дизайн-часть опустим, сконцентрируемся исключительно на технической архитектуре, этапах разработки и неочевидных нюансах, с которыми пришлось столкнуться.

Задача звучала так: дать пользователю возможность создать персонализированный подарочный сертификат и отправить его другому человеку.

Прежде чем писать код, мы разбили всю работу на логические этапы:

  1. Реализация конструктора (выбор дизайна, номинал, данные получателя).
  2. Реализация функционала создания и работы сертификатов.
  3. Реализация настройки оплаты и доставки сертификата.
  4. Создание интерфейса для получения и отображения данных сертификата.

Этап 1. Конструктор и администрирование

На этом этапе было реализовано:

  1. Разработана форма создания сертификата, где пользователь выбирает дизайн, вводит сумму (или выбирает из предложенных номиналов) и заполняет поля для получателя.
  2. Реализован динамический предпросмотр. Пользователь видит итоговый вид сертификата до оплаты.

Чтобы будущее сопровождение проекта не требовало постоянного вмешательства программиста, было принято решение вынести ключевые настройки в админку:

  1. Доступные номиналы (фиксированные суммы).
  2. Минимальная и максимальная суммы сертификата (для свободного ввода).
  3. Варианты изображений и фонов для конструктора.

Теперь менеджер магазина может управлять этими параметрами через интерфейс 1с-Битрикс без правки кода.

Итог этапа: Никаких подводных камней на старте не возникло. Функционал отрабатывал штатно.

Этап 2. Функционал создания и работы сертификатов.

На данном этапе стояла задача реализовать основную логику работы сертификата – как именно он должен применяться в корзине, списывать и хранить остаток средств.

За основу был взят штатный функционал 1С-Битрикс «Купоны», чтобы сохранить нативную интеграцию с заказами и корзиной.

При детальном анализе выяснилось, что нативный функционал купонов не рассчитан на работу с денежным номиналом. У купона нет «баланса»: он либо активен, либо нет.

Штатные механизмы «Правил работы с корзиной», которые управляют купонами, имеют жесткие ограничения:

  1. Ограничение по минимальной сумме заказа. Если сумма корзины меньше номинала сертификата, правило просто не срабатывает, купон не применяется.
  2. Сгорание остатка. Если номинал сертификата больше суммы корзины, скидка применяется на всю корзину, но остаток средств сгорает безвозвратно.

Для решения первой проблемы сначала было принято решение обойти эти ограничения через настройку правил.

Логика была такой:

  1. Создать правило, которое даёт 100% скидку на все товары, если сумма корзины меньше номинала сертификата.
  2. И создать отдельное правило, которое даёт скидку в фиксированном размере (равном номиналу), если сумма корзины больше номинала.

Но в дальнейшем стало ясно, что решение абсолютно не подходит.

Скидка в 100% применялась ко всем позициям, чья сумма меньше номинала, не проверяя сумму корзины, это создавало ситуации, когда сертификат на 5 000р. мог давать скидку в 10 000р.

Стало очевидно: стандартными инструментами Битрикса эту задачу не решить.

Было принято решение создать кастомное правило работы с корзиной, расширяющее стандартный функционал.

Главное отличие правила – оно проверяет не сумму каждой позиции, а общую итоговую сумму корзины (с учётом всех уже применённых скидок). Это позволило применять скидку к корзинам, сумма которых меньше или равна номиналу сертификата.

Вторая проблема, сгорание остатка, требовала отдельного подхода.

Был добавлен обработчик события создания заказа, который выполняет следующую логику:

  1. При оформлении заказа проверяется текущий остаток на сертификате.
  2. Сравнивается остаток с суммой заказа.
  3. В зависимости от результата:
    • Если сумма заказа меньше остатка: создается новое правило корзины с пересчитанным номиналом (остаток минус сумма заказа). Это новое правило автоматически перепривязывается к существующему сертификату
    • Если сумма заказа меньше или равна остатку: после списания сертификат деактивируется

Чтобы всё это работало как единый механизм, был написан собственный класс, наследующий оригинальный класс купонов Битрикса.

В дочернем классе были переопределены методы:

Привязки правил к купону.

Получения актуального остатка.

Добавлена логика перепривязки нового правила при частичном списании.

На этом этапе мы получили полностью рабочий функционал подарочных сертификатов, который:

  1. Работает на ядре штатной системы купонов 1С-Битрикс.
  2. Корректно учитывается в корзине в реальном времени.
  3. Автоматически пересчитывается при оформлении заказа.
  4. Поддерживает частичное списание без потери остатка.
  5. Не требует костылей в виде множества дублирующихся правил.

Теперь сертификат ведёт себя как настоящий электронный кошелёк, а не как разовый промокод. Интеграция с заказами работает «из коробки», без дополнительных доработок на стороне пользователя.

Этап 3. Настройка оплаты и доставки сертификата

После того как была готова основная логика работы сертификатов, встала задача организовать две связанные вещи:

  1. Корректную обработку статусов оплаты от платёжных систем.
  2. Доставку готового сертификата получателю.

Механизм работы:

Здесь соединяются два предыдущих этапа в единый процесс.

1. Создание черновика

  • Пользователь заполняет конструктор и нажимает «Перейти к оплате».
  • В системе создаётся предварительный сертификат со статусом «Ожидает оплаты».
  • В этом черновике сохраняются все введённые данные: дизайн, номинал, текст поздравления, ФИО и почта получателя и отправителя.

2. Обработка оплаты

Платёжная система обрабатывает транзакцию.

Было реализовано два сценария получения данных об оплате:

  • Синхронный: пользователь возвращается на сайт после оплаты.
  • Асинхронный: платежная система присылает уведомление о статусе транзакции на наш сервер.

3. Реакция на статус платежа

Успешная оплата:

  • Система переводит сертификат из статуса «Ожидает оплаты» в статус «Оплачен».
  • Генерируется уникальный код сертификата.
  • Запускается процесс доставки.

Отмена или ошибка:

  • Сертификат остаётся в статусе «Ожидает оплаты».
  • Пользователь может повторить попытку оплаты.
  • Через определённое время неоплаченные черновики автоматически удаляются.

Доставка сертификата получателю:

При успешной оплате реализовали двухстороннюю систему уведомлений:

1. Уведомление получателя

На указанную в конструкторе электронную почту уходит письмо, которое содержит:

  • Визуальное представление сертификата (ссылка на страницу с визуализацией сертификата из предпросмотра на первом этапе)
  • Данные сертификата: номинал, уникальный код для активации.
  • Инструкция по использованию: как применить сертификат при оформлении заказа.

2. Уведомление отправителя

Пользователю, заказавшему сертификат, также приходит уведомление об успешной доставки сертификата пользователю

По итогам этапа разработан механизм, который:

  1. Создаёт черновик сертификата до оплаты – данные пользователя не теряются.
  2. Корректно обрабатывает любой сценарий оплаты (успех/отмена/возврат).
  3. Отправляет получателю готовый сертификат с инструкцией по использованию.
  4. Уведомляет отправителя о статусе доставки.

Этап 4. Реализация получения информации о сертификате пользователем

Заключительным этапом разработки стала необходимость дать пользователю инструмент для управления своим сертификатом: контроль остатка, отслеживание срока действия и возможность восстановить утерянный код.

Ключевая сложность этого этапа заключалась в том, что подарочный сертификат не привязан к аккаунту получателя.

Это означает, что:

  1. Нельзя просто вывести все сертификаты в личный кабинет по ID пользователя.
  2. Нужен механизм, который позволит пользователю получить информацию о сертификате (баланс, срок действия, код), но при этом не даст доступ чужим людям, даже если они узнают email получателя.

Было принято решение реализовать интерфейс с двухфакторной проверкой в личном кабинете, который работает по следующей логике:

  1. Пользователь вводит уникальный код сертификата либо email, на который данный сертификат пришел.
  2. Система проверяет существование сертификата с таким кодом.
  3. Система отправляет проверочный код на привязанный email.
  4. Только после успешной проверки ключа, система отображает все данные сертификата.

Данный подход позволяет обезопасить пользователя, если злоумышленник узнает email, он не сможет получить данные без доступа к почте.

Итогами этапа стал реализованный функционал получения данных о сертификате пользователем без привязки сертификатов к конкретному аккаунту. Теперь пользователь знает, сколько средств осталось на сертификате, когда они истекают, и может восстановить код при необходимости.

По итогам всей разработки мы получили гибкий, масштабируемый и полностью интегрированный в экосистему 1С-Битрикс модуль подарочных сертификатов, который работает как единый слаженный механизм – от создания в конструкторе до использования в реальных заказах.

Главное преимущество решения в том, что ядро платформы не переписывалось. Вместо этого расширили штатный механизм купонов, добавив собственное правило работы с корзиной, которое позволяет списывать средства частично, с сохранением остатка. Теперь сертификат ведет себя как настоящий электронный кошелек, а не как разовый промокод.

Особое внимание уделили надёжности: механизм предварительного сохранения данных до оплаты гарантирует, что ни один сертификат не потеряется, даже если платёжная система ответит с задержкой. А двухсторонняя система уведомлений делает процесс максимально прозрачным и удобным для обеих сторон.

Для пользователей реализован безопасный интерфейс получения информации о сертификате. Благодаря двухфакторной проверке через email, каждый может в любой момент узнать информацию сертификата, при этом данные защищены от несанкционированного доступа.

В итоге мы получили полностью автоматизированное решение, которое не требует ручного контроля, легко масштабируется и работает на нативном ядре Битрикс – а значит, будет служить долго и без проблем с обновлениями.



Отзывы и благодарности

ООО «Перспектива»

Автошкола «Перспектива» выражает благодарность компании «Иллюминатор» за проделанную работу в оказании услуг продвижения и поддержки сайта.

Сотрудничаем с компанией не первый год – на данный момент уже более 3 лет. И за это время нам особенно хочется отметить ответственный подход к работе, оперативность выполнения задач и помощь в наших вопросах. В процессе сотрудничества мы всегда получали необходимую информацию по ходу выполнения работ, также получали предложения и идеи в реализации наших задач.

Считаем, что длительное сотрудничество является хорошим показателем. Поэтому рекомендуем специалистов, как надежных партнеров, и желаем компании дальнейшего процветания!

30.11.2022

ООО «Модару»

Выражаем благодарность коллективу «Иллюминатор» за сотрудничество в работах по продвижению товаров нашего бренда «ModaRU» и «MODAMICA» на Wildberries.

С компанией начали работы с января 2021 года, и за это время зарекомендовали себя как надежных партнеров и специалистов. За короткий срок была настроена реклама на товарные позиции, и в каждом месяце в независимости от сезона мы также опертивно меняли и добавляли товары.

Благодарим за помощь, понятные рекомендации в продвижении, а также за оперативную и ответственную работу. Радует включенность специалистов не только в процесс, но и внимание к нашим задачам и желание улучшить результаты.

Надеемся на длительное сотрудничество!

17.10.2022

ООО «Трейд-Дизайн»

С компанией «Иллюминатор» мы начали сотрудничать уже более 4 лет назад, в 2018 году, и продолжаем по сей день. Первоначальная задача, с которой мы обратились, техническая поддержка сайта, своевременное его наполнение, а также SEO-продвижение. Также нам были оказаны дополнительные услуги, такие как: редизайн сайта, настройка контекстной рекламы в Яндекс.Директ.

На данный момент мы довольны результатом, в целом нашим сотрудничеством и процессом работы. Мы рады, что у нас сложились рабочие отношения, наши пожелания не остаются без внимания, а специалисты агентства заинтересованы в результате.

Надеемся на дальнейшую продуктивную работу, а также можем рекомендовать данную компанию.

15.09.2022

ООО «Ивмолокопродукт»
Аудит был очень полезен, спасибо Вам большое!

Сейчас буду корректировать аккаунт в соответствии с Вашими рекомендациями.

Интересно было узнать про сервис Taplink, после корректировки аккаунта, обязательно займусь изучением сервиса и его возможностями)

24.07.2020

Магазин «Мир Авто»

Мы начали работу по соцсетям с интернет-агентством «Иллюминатор» и были приятно удивлены ответственным подходом специалистов к делу.

Наша страница ВК преобразилась не только визуально. Специалисты поработали над текстовым описанием группы, подключили необходимые виджеты для взаимодействия с подписчиками. 

На протяжении всего процесса работы нас грамотно консультировали по всем вопросам, предлагали интересные идеи для контента, вовремя предоставляли отчетность.

Спасибо вам! Искренне рекомендуем всем!

03.07.2020

ПК «Профилактика»

Наша компания уверена в том, что в современном мире технологий любой бизнес должен идти в ногу со временем. Наш сайт устарел, поэтому встал вопрос о создании нового современного ресурса. Свой выбор мы сделали в пользу интернет-агентства «Иллюминатор» и не прогадали.

Достаточно оперативно была разработана структура страниц. Всё общение проходило онлайн в удобном формате. Совместными усилиями мы закончили сайт в нужные нам сроки. Получилось объединить и услуги, и товары, поэтому мы можем делать нашим пользователям комплексные предложения. А ещё гораздо удобнее стало обрабатывать заявки. Был разработан «Калькулятор» для расчёта стоимости системы видеонаблюдения. Итоговая цена перед покупателем как на ладони.

Отдельно хотим поблагодарить менеджера Лидию Чукшис за оперативную работу и максимально вежливое и приятное общение. Даже после завершения проекта сотрудники не оставляли наши вопросы без внимания.

Выражаем огромную благодарность коллективу интернет-агентства «Иллюминатор» и его руководителю Денису Сапожникову за плодотворное сотрудничество!

29.07.2019

ООО «ИвСтройМатериалы»

Компания «ИвСтройМатериалы» благодарит интернет-агентство «Иллюминатор», нашего надежного партнера, за продвижение, оптимизацию сайта и отслеживание его статистики.

Работаем с вами уже более двух лет, и за это время мы добились хороших результатов. Мы очень ценим стабильность и долгосрочные отношения. Надеемся на дальнейшее плодотворное сотрудничество!


29.07.2019

ООО «ПроРиэлт»

Наше присутствие в соцсетях началось с командой интернет-агентства «Иллюминатор» и продолжается уже 3 года. Наконец-то мы сняли вопрос, чем наполнить свою группу Вконтакте и сообщество в Фейсбуке.

Очень удобно, что менеджер Лидия держит нас в курсе всех дел, и своевременно присылает контент на согласование. Новости и подобранные материалы всегда актуальные и интересные. Радует инициатива компании и открытость к экспериментам.

Спасибо вам! Будем продолжать наше сотрудничество!

19.07.2019

ГК Центр строительных услуг

С интернет-агентством “Иллюминатор” мы начали сотрудничество еще с лета 2017 года. Цель - создать современный конкурентоспособный сайт для ГК "Центр строительных услуг".

За весь период сотрудничества интернет-агентство оперативно справлялось со всеми поставленными задачами. В обязанности агентства “Иллюминатор” входили: разработка стильного дизайна, адаптация сайта под разные устройства и браузеры, создание полезного и интересного для целевой аудитории контента, внутренняя оптимизация сайта, настройка рекламы.

Особенно хочется отметить системный подход к работе и проработку деталей на каждом ее этапе. Благодаря этому был создан отличный сайт ho4udom.com, с которым удобно работать, и благодаря которому количество обращений в нашу компанию увеличилось.

Рекомендуем интернет-агентство “Иллюминатор” как надежного партнера и надеемся на дальнейшее плодотворное сотрудничество.


05.02.2019

ООО Иваново-Принт

ООО “Иваново-принт” сотрудничает с интернет-агентством “Иллюминатор” по вопросам создания и продвижения сайта с 2014 года.

Все это время сотрудники интернет-агентства с особым вниманием подходят к решению поставленных задач. Теперь сайт iv-print.ru стал намного удобнее в использовании, как сотрудникам, так и нашим клиентам. Визуальное наполнение дает полноценное представление о наших услугах и проектах. Все наши пожелания по доработке сайта были учтены, а самое главное - грамотно реализованы в оптимальные сроки.

Мы рекомендуем интернет-агентство “Иллюминатор” как высокопрофессиональную команду, которая поможет создать качественный сайт, и с которой приятно сотрудничать.


10.01.2019

ООО “Потолки37”

Хотим выразить благодарность интернет-агентству “Иллюминатор” за создание нашего сайта, настройку Битрикс24 и его интеграцию с сайтом. Специалисты агентства отнеслись с пониманием ко всем пожелания касательно структуры нашего сайта и его концепции. А интеграция с сайтом значительно ускорила работу с клиентами. Кроме того, сотрудничество было выстроено в удобном формате: информация была подана пошагово и на доступном для нас языке.

От себя лично хотелось бы поблагодарить директора интернет-агентства “Иллюминатор” за плодотворное сотрудничество.


06.06.2018

ООО ХомДекор

«Хомдекор» выражает благодарность интернет-агентству “Иллюминатор” за плодотворное сотрудничество, результатом которого стало создание сайта homdecor37.ru. Поставленные задачи были выполнены интернет-агентством профессионально и в полном соответствии с нашими ожиданиями.

29.12.2018

Региональный центр инжиниринга

Региональный центр инжиниринга выражает благодарность интернет-агентству “Иллюминатор” за грамотное создание и обслуживание сайта 37invest.ru.

Сайт удобно структурирован, понятен в навигации и обладает значительными функциональными возможностями. Это вызывает положительные отклики, как среди специалистов, так и среди рядовых пользователей.

Благодарим за качественно выполненный проект, а также за ответственность и надежность в партнерских отношениях.


27.08.2017