Всем здрасти! Есть сайт объявлений. Объявления - обычные ноды (не коммерц, не уберкарт и.т.д.) Для возможности присвоения VIP статуса, прикрепил форму, которую можно сгенирировать в панели платежной системы Intercassa, выглядит примерно так:
<input type="hidden" name="ik_co_id" value="111" />
<input type="hidden" name="ik_pm_no" value= '.$row->nid.' />
<input type="hidden" name="ik_am" value="150" />
<input type="hidden" name="ik_cur" value="RUB" />
<input type="hidden" name="ik_desc" value="Оплата за статус VIP объявления ID '.$row->nid.'" />
<input type="hidden" name="ik_suc_u" value="https://site.ru/'.$row->nid.'?=success" />
<input type="submit" id="vip" value="Продвигать">
</form></span>
В результате кнопка "Продвигать" выводится на странице объявления, по нажатию которой юзера перебрасывает на страницу оплаты системы интеркассы.
Все работает замечательно, но, присваивать статус VIP приходится пока вручную, когда приходит оповещение что кто-то оплатил, что крайне неудобно. Ломаю голову, как с помощью Rules можно это все автоматизировать.
Пытался примитивно создать правило, мол после просмотра материала, а затем после попадания на страницу успешной оплаты (параметр <input type="hidden" name="ik_suc_u" value="https://site.ru/'.$row->nid.'?=success" />
)
присваивать объявлению статус VIP, но метод крайне примитивен, и естественно в статусе VIP появлялись объявления не оплаченные))
Кто поделится может мыслями как усовершенствовать правило ?
PS / От интеркассы есть модуль, но он под друпал 8, у меня 7. Есть другие платежные системы, но мне нужна именно эта.
Комментарии
Все немного сложнее.
Вообще, переход юзера на success-страницу еще не означает что оплата произведена. К тому же, это поведение можно симулировать.
Обычно, API платежек позволяют указать адрес страницы сервера для оповещения об успешном завершении завершении перевода. Вот к ней бы уже привязывать автоматизацию. Но тут одними только рулзами не факт что обойтись.
Понимаю, но знаний реализовать на API не хватает. Рассмотрю варианты помощи на платной основе если что.
Ну, тогда обращайтесь, если что
(С ТЗ'шечкой)
Я считаю не надо сразу переводить на кассу.. надо просто засобмитить, выстаить в правилах юзеру статус pending, сделать проверку капчи, сделать проверку еще какую то, вернуть форму с предупреждениями об ошибках, опять засобмититься и если все в порядке сделать редирект в правилах на кассу.
Да, надо указать форму возврата - всегда есть, можно туже форму указать, все куки живы, форма вообще никуда не делась, написать вместо полей Конградулейшн!, как там у вас сценарий построен...