Updated

Оплата

Работа с оплатой настраивается через форму, поэтому внимательно изучи этот компонет
src/includes/form_price.html

Платежные системы

У нас есть 2 платежные системы

  • Fondy (Для Украины, России и всего мира)
  • Cloud-payments (только для Казахстана)

Пример Fondy

Пример Cloud-payments

Настройка валюты, цены, детальной информации самой оплаты проходит через проджектов (в зохо).
На стороне фронта ты можешь только включать\выключать эту опцию

Работа с оплатой

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

Далее находим форму регистрации (оплаты) в блоках страницы и редактируем его.

Что бы включить\выключить оплату нужно изменить булевое значение на true\false value инпута -

<input type="hidden" name="to_payment" value="true" autocomplete="off">

Если это продукт Казахстана - кроме этой функции делать больше ничего не надо.

Если это продукт для Укр, Рус, Мира - нужно еще включить настройки Fondy

<!-- Добавляешь инпут с данными, что хочешь использовать Fondy в качестве метода оплаты -->
<input name="payment_system" type="hidden" value="fondy" />

<!-- И выбираешь тип мероприятия по которому будет оплата. Нужно значение нужно вставить в value -->
<input type="hidden" name="f_m_id" value="fondy_pr" />

Работа с Fondy

Для Fondy существует несколько типов продуктов:

  • fondy_pr (Программы)
  • fondy_sm (Самитты)
  • fondy_mk_pm (ПМ, МК)
  • fondy_ru (RU)
  • fondy_barabash (Барабаш)
  • fondy_tanasyuk (Танасюк)

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

По ключу fondy_pr, fondy_mk_pm,… после загрузки страницы в форму подставляется актуальное значение id мерчанта

// @github/frontend_bc/src/src/scripts/index.js

setFondy: function () {
  // fondy autochange id
  const fondyMerchant = document.querySelectorAll('input[name="f_m_id"]');

  function setMerchant() {
      fondyMerchant.forEach(function (item) {
          // Программы
            if (item.value == 'fondy_pr') {
                item.value = '1502560';
            }
            // Самитты
            else if (item.value == 'fondy_sm') {
                item.value = '1502560';
            }
            // ПМ, МК
            else if (item.value == 'fondy_mk_pm') {
                item.value = '1450447';
            }
            // RU all
            else if (item.value == 'fondy_ru') {
                item.value = '1502560';
            }
            else if (item.value == 'fondy_barabash') {
                item.value = '1502560';
            }
            else if (item.value == 'fondy_tanasyuk') {
                item.value = '1502560';
            }
      });
};

Бекенд платежных систем настроен так, что с формы должны прийти обязательные поля name, phone, email (+тело формы), по которым генерируется уникальный токен оплаты. Если какое-то поле не будет отправленно - оплата не пройдет.

На лендинге может быть несколько форм, оплата пройдет только с тех, где в теле формы есть инпут to_payment (+ настройки, если это Fondy)

После вклюения этих опций, при обычной регистрации, пользователь будет переброшен на страницу оплаты

Made with ❤&🍺 by @sonikbro