GetMeBack - бонусная программа лояльности
Получите быструю помощь по покупке, оплате, установке, настройке, продлению и другим вопросам, оставив заявку
💡 Нужна консультация и помощь по работе?
Решение устанавливается на редакции: Малый бизнес, Бизнес,, Энтерпрайз.
Для работы модуля необходимы модули main, sale, iblock версии не ниже 18.5.0.
Минимальная поддерживаемая версия php - 7.1
Необходимые модули php - cURL, JSON
Активный аккаунт GetMeBack
Стандартная установка модуля через bitrix marketplace.
После установки модуля Вы будете перенаправлены на страницу настроек модуля (Магазин -> GetMeBack - лояльность).
После заполнения настроек интеграции с GetMeBack станут доступны дополнительные настройки для работы модуля.
Работа модуля
Для активации списания/начисления баллов пользователю необходимо будет разово подтвердить свой номер телефона (на который он зарегистрирован в программе лояльности).
Списание баллов доступно для стандартного шаблона (или шаблонов на его основе) компонента sale.order.ajax. Если используются нестандартные шаблоны, может потребоваться модификация шаблона компонента ifrog:gmb.sale.order.ajax.
После оформления заказа с оплатой бонусными баллами будет создана отдельная оплата "Оплата баллами GetMeBack". Баллами можно оплатить всю сумму товаров в заказе за вычетом 1 рубля.
Начисление баллов происходит после оплаты заказа на оставшуюся сумму заказа. Создается отдельная оплата в заказе "Начисление баллов GetMeBack" с суммой 0 рублей, количество начисленных баллов за заказ можно будет посмотреть в свойстве заказа "Количество начисленных баллов GetMeBack".
На доставку оплата баллами и их начисление не распространяется. Оплату и начисление баллов можно отменить через административную панель bitrix.
В составе модуля есть компонент для вывода баланса пользователя ifrog:getmaback.balance с возможностью подтверждения номера пользователя.
СобытияonCalculateOrderPrice
Расчет суммы заказа, на которую будут начислены баллы.
Итоговая сумма не может быть больше суммы товаров в заказе за вычетом одного рубля.
Если зарегистрировано несколько событий, то будет использовано минимальное значение.
Если событие вернет ошибку, она будет проигнорирована.
Результат события должен возвращать параметр `amount` с рассчитанной суммой.
onCalculateOrderUseBonusAmount
Расчет максимальной суммы баллов, которыми можно оплатить заказ.
Итоговая сумма не может быть больше суммы товаров в заказе за вычетом одного рубля.
Если зарегистрировано несколько событий, то будет использовано минимальное значение.
Если событие вернет ошибку, она будет проигнорирована.
Результат события должен возвращать параметр `amount` с рассчитанной суммой.
Пример использования событий
Например, мы хотим запретить оплату баллами или их начисление для товаров со скидками.
use IFrog\GMB\Bitrix\Event\BonusEvent; use IFrog\GMB\ModuleEvents; use Bitrix\Main\Loader; use Bitrix\Main\EventManager; Loader::includeModule('ifrog.getmeback'); // обработчик события function excludeDiscountedProducts(BonusEvent $event) { $basket = $event->getBasket(); $amount = 0; foreach ($basket as $item) { /** @var BasketItemBase $item */ // Не учитываем товар со скидкой if (intval($item->getDiscountPrice()) > 0) { continue; } $amount += $item->getPrice(); } $event->addResult( new EventResult( EventResult::SUCCESS, [ // передаем рассчитанную сумму 'amount' => $amount ] ) ); } // регистрация событий EventManager::getInstance() ->addEventHandler( "ifrog.getmeback", // ID модуля ModuleEvents::CALCULATE_ORDER_PRICE, // Идентификатор события 'excludeDiscountedProducts' ); EventManager::getInstance() ->addEventHandler( "ifrog.getmeback", // ID модуля ModuleEvents::CALCULATE_ORDER_USE_BONUS_AMOUNT, // Идентификатор события 'excludeDiscountedProducts' );