Бесплатный плагин «Снова» для Webasyst Shop-Script

Карта лояльности в телефоне покупателя, оплата баллами в чекауте и начисление за заказ — бесплатный плагин для Webasyst Shop-Script. Одна карта на сайт и на кассу офлайн-магазина. Ставится за десять минут.

Бесплатный плагин «Снова» для Webasyst Shop-Script добавляет интернет-магазину программу лояльности: карту в телефоне покупателя, бонусные баллы за заказы и оплату баллами прямо в чекауте. Ставится из магазина приложений Webasyst за десять минут, разработчик не нужен.

Интернет-магазин знает покупателя в момент заказа — телефон, имя, почту. Поэтому здесь возможен полный цикл, которого нет у кассовых интеграций: покупатель оплачивает часть заказа баллами в чекауте, за оплаченный заказ получает баллы, одной галочкой заводит карту в Apple Wallet или Google Кошельке, а возврат заказа откатывает баллы сам.

Плагин бесплатный. Поставьте его из магазина Webasyst — так он будет обновляться сам — или скачайте архив и загрузите через Инсталлер.

Установить через магазин WebasystСкачать плагин 1.0.0
Чекаут магазина: блок «На вашей карте — 125 зёрна» с полем «Списать баллов», введено 100, в итогах скидка 100 ₽
Чекаут Shop-Script с плагином: покупатель с картой видит баланс и поле «Списать баллов» — ввёл 100, и в итогах появилась скидка 100 ₽. Блок стоит внутри обычной формы заказа, в оформлении темы магазина.
Чекаут магазина: блок «На вашей карте — 125 зёрна» с полем «Списать баллов», введено 100, в итогах скидка 100 ₽

Что получает магазин

ВозможностьКак работает
Карта лояльности в телефонеПокупатель отмечает галочку в чекауте — и получает карту в Apple Wallet или Google Кошельке. Приложение ставить не нужно, карта обновляется сама.
Бонусные баллы за заказПроцент с оплаченного заказа по правилам программы: базовый процент, повышенный для уровней, акции по дням и категориям товаров.
Оплата баллами в чекаутеПоле «Списать баллов» превращается в скидку по цене балла, в пределах потолка программы. Покупатель видит, сколько может списать, до оформления.
Приветственные баллы сразуЗаводя карту, покупатель тут же видит скидку на приветственные баллы — это и есть предложение, ради которого карту заводят. Можно выключить, чтобы копились до следующей покупки.
Возвраты без ручной работыПолный или частичный возврат заказа снимает долю начисленного и возвращает долю списанного. Удаление заказа — полный возврат, восстановление — чек заново.
«Мои баллы» в кабинете покупателяБаланс, кнопка карты и история движений — отдельным пунктом в личном кабинете магазина.
Онлайн и офлайн — одна картаТа же карта работает у кассы в вашем магазине или кафе: баллы за онлайн-заказ списываются на кассе, и наоборот. Интернет-магазин — просто ещё одна точка продаж программы.
Несколько витринУ каждой витрины свой ключ, точка продаж и настройки: опт и розница, разные бренды, разные программы.

Магазин офлайн и интернет-магазин — два в одном

Если у вас есть и торговый зал, и сайт на Shop-Script, программа лояльности не делится надвое. Карта у покупателя одна, баланс один, и копится он с обеих сторон: заказал онлайн — баллы можно потратить у кассы, купил в зале — списать в чекауте сайта. У кассы работает экран кассира в браузере, Эвотор или любая касса через открытый API; в интернет-магазине — этот плагин. База гостей при этом общая, и в аналитике видно, кто ходит только в зал, кто покупает только онлайн, а кто и там и там.

Разделяет их только точка продаж: витрине в настройках плагина назначается своя, и чеки с сайта ложатся отдельной строкой в отчётах. К точке привязываются и правила: повышенный процент за онлайн-заказы, «счастливые часы» только в зале, потолок списания на сайте ниже, чем у кассы. Программа одна, а условия — свои для каждой точки.

Как это настроить: точка «Интернет-магазин» и свои правила

  1. Заведите точку «Интернет-магазин» в кабинете «Снова»

    Раздел «Точки продаж» → «Добавить точку». Название любое, адрес не нужен, часовой пояс — ваш: по нему считаются «счастливые часы» и день рождения. Точка для сайта заводится даже если зала у вас нет — по ней чеки с сайта видны отдельной строкой в отчётах.

  2. Назначьте точку витрине в плагине

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

  3. Добавьте правило только для сайта

    Раздел «Программа» → «Начисления» → «Добавить правило». Например, начисление +3% к базовому — за онлайн-заказы. В блоке «Где действует» переключите «Во всех точках» на «Только в выбранных» и отметьте «Интернет-магазин». Так же привязывается лимит списания: на сайте — до 15% заказа, у кассы — до 30%.

  4. Проверьте, что действует на точке

    В «Точках продаж» у строки «Интернет-магазин» нажмите «Что действует»: список покажет общие правила программы и привязанные к сайту — в том порядке, в каком их применит чек. Правила, отмеченные «только эта точка», на кассе в зале не сработают, а общие сработают везде.

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

Что происходит дальше само: покупатель оформляет заказ на сайте — плагин отправляет чек с точкой «Интернет-магазин», платформа применяет общие правила плюс правила этой точки и начисляет баллы на ту же карту, с которой он расплачивается у кассы. Потолок списания в чекауте плагин тоже берёт у платформы уже с учётом точки: обещание на сайте совпадает с тем, что спишется при оплате.

Сколько стоит

Бесплатный плагин для Webasyst Shop-Script и ключ для него выдаются на любом тарифе «Снова», включая бесплатный. Предел один — число карт по тарифу: когда он исчерпан, новым покупателям карты не выдаются, а начисление и списание по уже выданным продолжают работать. Тарифы и лимиты — на странице цен.

Магазина на Shop-Script ещё нет? Откройте его в облаке Webasyst — плагин ставится туда так же, из Инсталлера.

Открыть магазин

Установка за десять минут

  1. Зарегистрируйтесь в «Снове» и заполните реквизиты

    Кабинет на app.snovacard.ru, пять минут. Юридическое название и ИНН нужны обязательно: без них карты не выдаются — гость должен видеть, кому отдаёт телефон.

  2. Поставьте плагин

    В Инсталлере Webasyst найдите «Снова — карты лояльности». Плагин работает с чекаутом второй версии — Shop-Script 8 и новее.

  3. Возьмите ключ

    Ссылка «Получить ключ в кабинете «Снова»» в настройках плагина открывает кабинет прямо на кнопке «Создать ключ для магазина». Ключ показывается один раз — скопируйте сразу.

  4. Вставьте ключ и нажмите «Сохранить и проверить»

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

Кабинет «Снова», раздел «Интеграции»: блок «Ключ для магазина на Shop-Script» с кнопкой создания ключа
Кабинет «Снова», раздел «Интеграции»: блок выдачи ключа для магазина открывается по ссылке из плагина.
Кабинет «Снова», раздел «Интеграции»: блок «Ключ для магазина на Shop-Script» с кнопкой создания ключа
Настройки плагина «Карты лояльности» в бекенде Shop-Script: витрина, ключ API, точка продаж, момент начисления, оплата баллами, карта лояльности
Настройки плагина в бекенде Shop-Script: витрина, ключ API, точка продаж, момент начисления, оплата баллами и галочка карты. «Сохранить и проверить» покажет под формой компанию, программу и остаток карт по тарифу.
Настройки плагина «Карты лояльности» в бекенде Shop-Script: витрина, ключ API, точка продаж, момент начисления, оплата баллами, карта лояльности

Настройки витрины

Все настройки принадлежат витрине, общих нет: у опта и розницы совпадать нечему, а витрина без ключа в программе просто не участвует — это и есть выключатель.

НастройкаЧто решает
Ключ API «Снова»Открывает компанию в «Снове» — её баллы и её гостей. Витрине с другим ключом достанется другая программа.
Точка продажК какой точке «Снова» отнесёт чеки витрины. По ней срабатывают правила, привязанные к точке, и она идёт отдельной строкой в отчётах. Список приходит после проверки ключа.
Когда начислять баллы«Заказ оплачен» или «Заказ выполнен». Чек проводится один раз; списание из чекаута уходит тем же чеком.
Считать доставку частью чекаНачислять и списывать с учётом стоимости доставки или без неё.
Оплата балламиПоказывать ли покупателю поле «Списать баллов». Потолок задаёт программа. Выключите, если баллы в магазине только копятся.
Карта лояльностиПредлагать ли галочку «Завести карту» в чекауте — отмеченную по умолчанию, снятую или не предлагать вовсе. Отметившему придёт ссылка на карту на странице заказа и в письме.
Приветственные баллыРазрешить ли потратить их сразу, в этом же заказе.
Оформление блокаРазметка и стили блока в чекауте и страницы «Мои баллы». Пока поле пусто — работает вид из дистрибутива и обновляется вместе с плагином; «Взять за основу» делает код своим.

Что видит покупатель

Страница «Мои баллы» в кабинете покупателя: баланс 10 225 баллов, уровень «Базовый», кнопка «Добавить карту в телефон» и история начислений, списаний и возвратов
«Мои баллы» в кабинете покупателя: баланс, уровень, кнопка карты и история. Пункт появляется в меню кабинета сам.
Страница «Мои баллы» в кабинете покупателя: баланс 10 225 баллов, уровень «Базовый», кнопка «Добавить карту в телефон» и история начислений, списаний и возвратов

Карта предлагается там, где её заводят, — в чекауте. QR-код показывается на странице «Спасибо за заказ», а не в чекауте: заказ оформляют с компьютера, а карта ложится в телефон. Отметившему галочку ссылка на карту приходит и в письме о заказе — строкой {$order.params.snova_install_url} в шаблоне уведомления.

Что видит менеджер

Заказ в бекенде Shop-Script: зелёный блок «Снова — чек проведён», начислено 3294, списано 100
Заказ в бекенде: блок «Снова» показывает, проведён ли чек, сколько начислено и списано и какой баланс на карте.
Заказ в бекенде Shop-Script: зелёный блок «Снова — чек проведён», начислено 3294, списано 100
МоментЧто делает плагин
Заказ созданЕсли отмечена галочка карты — карта выдаётся сразу. Списание из чекаута записано в параметры заказа.
Заказ оплачен (или выполнен)Один чек в «Снову»: начисление за сумму после чужих скидок и списание, выбранное в чекауте. В журнале заказа — строка: сколько начислено, списано, баланс.
Возврат, полный или по позициямВозврат чека на ту же долю. Удаление заказа — полный возврат, восстановление — чек заново.
Правка заказа после чекаАвтоматики нет: в заказе появляется пометка, а сумму в «Снове» при необходимости правят в кабинете.
Не хватило баллов к моменту оплатыСписывается сколько есть, менеджер видит в заказе, что скидка была больше.
Сеть или ошибка платформыЧек откладывается и повторяется сам: при открытии заказа в бекенде либо из cron. Заказ не останавливается никогда.

Что нужно знать

  • Чекаут первой версии (страница /checkout/) не поддерживается.
  • Витрина — отдельный магазин: свой ключ, своя точка продаж, свой момент начисления и своё поведение в чекауте. Витрин у магазина может быть несколько.
  • Правила программы по категориям товаров работают: в чек уходят позиции с типом товара как категорией.
  • Скидка за баллы подчиняется настройке магазина «сумма скидок» или «максимальная из скидок» — как и партнёрский бонус.
  • Ошибки плагина пишутся в wa-log/shop/plugins/snova.log; заказ они не останавливают.

Как это устроено внутри

Плагин — обычная касса в терминах платформы: ходит в открытый API по ключу, сам ничего не считает — потолок списания приходит от платформы уже с учётом точки витрины, — и не хранит персональных данных: телефон берётся из контакта покупателя при каждом обращении. Чек проводится с ключом идемпотентности, выведенным из номера заказа, поэтому повтор после обрыва сети не начислит дважды.

Ключ идемпотентности чека

webasyst:<ключ установки>:order:<номер заказа>

Отложенные чеки повторяет cron: php cli.php shop snovaPluginSync — он же обновляет снимок условий программы. Без cron условия обновляются лениво, раз в час на первом чекауте.

Частые вопросы

Плагин действительно бесплатный?

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

Покупатель не видит поле «Списать баллов» в чекауте

Поле показывается только вошедшему покупателю, у которого есть карта «Снова» на телефон из профиля, и по умолчанию — только если номер подтверждён кодом. Проверьте, что в настройках витрины включена «Оплата баллами», а магазин работает на чекауте второй версии.

Баллы за заказ не начислились

Откройте заказ в бекенде: блок «Снова» показывает, проведён ли чек и почему нет. Чаще всего — у покупателя нет телефона в контакте, нет карты (а галочка «Завести карту» не была отмечена) или витрина заказа без ключа. Отложенные из-за сети чеки повторяются сами.

У витрин магазина разные программы лояльности — как быть

Так и задумано: вставьте каждой витрине её собственный ключ. Ключ — это компания в «Снове», и витрина будет работать со своей программой, своими баллами и своей базой гостей.

Можно ли изменить вид блока в чекауте под тему магазина

Да, в настройках витрины: «Взять за основу» открывает разметку и стили блока для правки, «Вернуть к дистрибутиву» откатывает. Пока поле пусто, вид обновляется вместе с плагином. Сломанный код не роняет магазин — покупателю показывается стандартный вид, а ошибка приходит при сохранении настроек.

Как показать ссылку на карту в письме о заказе

Добавьте в шаблон уведомления строку с {$order.params.snova_install_url} — она заполнена у заказов, где покупатель отметил галочку карты.

Первые 50 карт — бесплатно. Программа настраивается за вечер.

Создать программу