Сделать оплату произвольной суммы в форме, часто используемую для приема донатов, не трудно. А вот реализовать частичную оплату на любую сумму на Геткурс сходу у меня не получалось.
Мысль об этой реализации давно сидела в моей голове и не хотела уходить. А тут еще и проект пришел за настройкой, где эта возможность частичной оплаты смотрелась как никуда кстати.
Поэтому решил «убить» полдня, но теперь и вы сможете у себя в проектах сделать вот так:
Пример: вы хотите принимать предзаказы на тренинг. Но не просто заявки (нулевые или с фиксированной суммой), а чтобы клиенты уже могли внести ЛЮБУЮ часть на свое усмотрение СРАЗУ после заполнения формы. А потом просто доплатить остаток в частично оплаченном заказе.
Что нам с вами потребуется:
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}, чтобы у пользователей осталась ссылка на частичную оплату своей суммы, а то ведь мы процессом очищаем её.
Что-то не совсем получилось. В обработчике формы мы не ставим никакое предложение, ничего? просто авторизовать и запустить процесс?
в примере заказ создается через предложение на форме, дополнительно в обработчике заказ не создается
Т.е. на форме у нас предложение + поле sum, в поле sum вводим сумму, которую хотим частично оплатить, и жмем оплатить. На обработчике висит только авторизация + очищение суммы, но после нажатия кнопки оплатить перекидывает на стандартную страницу оплаты предложения 🙁
да, так и должно быть, перекидывает на страницу оплаты, потом страничка сама обновляется, подставляя значении частичной оплаты в ссылку, тем самым включая оплату части на сумму {sum}. Скрипты все добавили на страницу оплаты? Может просто что обновилось у геткурса, перепроверю на неделе эту инструкцию
Вот если бы еще можно было ограничить сумму взноса, например не менее 1000 р