Частичная оплата на любую сумму

Если сделать просто оплату произвольной суммы в форме (часто используемую для приема донатов) не трудно. То вот реализовать частичную оплату на любую сумму на Геткурс сходу у меня не получалось.

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

Поэтому решил «убить» полдня, но теперь и вы сможете у себя в проектах сделать вот так:

Пример: вы хотите принимать предзаказы на тренинг. Но не просто заявки (нулевые или с фиксированной суммой), а чтобы клиенты уже могли внести ЛЮБУЮ часть на свое усмотрение СРАЗУ после заполнения формы. А потом просто доплатить остаток в частично оплаченном заказе.

Что нам с вами потребуется:

1. Создаем дополнительное поле пользователя с любым названием. Это название не будет видно пользователям, но в дальнейшем будет задействовано.

Частичная оплата на любую сумму

2. Создаем процесс по пользователям. Не запускаем его. Он должен быть в статусе «отключен».

Частичная оплата на любую сумму

Здесь все просто — на входе ждём 5 минут и очищаем поле.

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

Частичная оплата на любую сумму

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

Частичная оплата на любую сумму

4. В обработчике формы обязательно добавляем полную авторизацию без пароля и запуск нашего созданного процесса.

Частичная оплата на любую сумму

5. Теперь нам надо дополнить страницу оформления заказа. Для этого заходим Страницы -> Системные страницы -> Оплата заказа
Здесь под последним блоком добавляем 2 наших блока: html и javascript

Частичная оплата на любую сумму
Частичная оплата на любую сумму

HTML-блок. Заходим в редактирование блока, переключаемся на режим кода (фон станет черным) и вставляем туда наш код:

<p id="firstsum" style="opacity: 0;">
	{sum}
</p>

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

Также обязательно в этом блоке ставим замену переменных:

Частичная оплата на любую сумму

Javascript-блок. Здесь все просто — копируем и вставляем текст:

$(function(){
var text = $('#firstsum').text().trim();
if(window.location.search.indexOf("paymentValue") != 1 && text > 1) {
    window.location.href = window.location.search + "?paymentValue=" + text;
  } 
});

Три-четыре. Закончили.

Важно: возможно, в силу специфики логики работы вашего проекта, такой способ вам не подойдет. Я пока сходу не могу придумать ситуацию, где это может не сработать. Но когда настройки выходят за рамки стандартного функционала Геткурса, есть вероятность появления нестандартных ситуаций, имейте ввиду 😊

О таком можете мне сообщать, будем «допиливать»

И ещё:

Не забудьте также отправить письмо по заказам с переменной {payment_link}?paymentValue={sum} , чтобы у пользователей осталась ссылка на частичную оплату своей суммы, а то ведь мы процессом очищаем её.

Оцените статью
Добавить комментарий