Оплата
Работа с оплатой настраивается через форму, поэтому внимательно изучи этот компонет
src/includes/form_price.html
Платежные системы
У нас есть 2 платежные системы
- 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)
После вклюения этих опций, при обычной регистрации, пользователь будет переброшен на страницу оплаты