Присвоение статуса VIP с помощью Rules + Intercassa

Главные вкладки

Аватар пользователя real-man real-man 30 мая 2018 в 9:10

Всем здрасти! Есть сайт объявлений. Объявления - обычные ноды (не коммерц, не уберкарт и.т.д.) Для возможности присвоения VIP статуса, прикрепил форму, которую можно сгенирировать в панели платежной системы Intercassa, выглядит примерно так:

<form id="payment" name="payment" method="post" action="https://sci.interkassa.com/" enctype="utf-8">
        <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. Есть другие платежные системы, но мне нужна именно эта.

Комментарии

Аватар пользователя bumble bumble 30 мая 2018 в 9:33

Все немного сложнее.

Вообще, переход юзера на success-страницу еще не означает что оплата произведена. К тому же, это поведение можно симулировать.

Обычно, API платежек позволяют указать адрес страницы сервера для оповещения об успешном завершении завершении перевода. Вот к ней бы уже привязывать автоматизацию. Но тут одними только рулзами не факт что обойтись.

Аватар пользователя bumble bumble 30 мая 2018 в 9:43

seonomad wrote:

Рассмотрю варианты помощи на платной основе если что.

Ну, тогда обращайтесь, если что Wink
(С ТЗ'шечкой)

Аватар пользователя postgres postgres 30 мая 2018 в 10:02

Я считаю не надо сразу переводить на кассу.. надо просто засобмитить, выстаить в правилах юзеру статус pending, сделать проверку капчи, сделать проверку еще какую то, вернуть форму с предупреждениями об ошибках, опять засобмититься и если все в порядке сделать редирект в правилах на кассу.
Да, надо указать форму возврата - всегда есть, можно туже форму указать, все куки живы, форма вообще никуда не делась, написать вместо полей Конградулейшн!, как там у вас сценарий построен...