Оплата размещения из личного кабинета
        Друзья всем доброго дня!
Я рассмотрю общий пример, а не конкретно свой проект.
Допустим у нас сайт с досками объявлений. В личном кабинете зарегистрированный пользователь может добавить объявления.
— Задачи -
У каждого пользователя есть свой баланс.
Каждый пользователь может сделать какое то объявление ВИП допустим 10 руб в день.
Каждое обычное объявление съедает с общего баланса допустим 5 рублей в день.
Когда баланс кончается, объявления снимаются с публикации (пишем условие)
Каждый зарегистрированный пользователь может пополнить общий баланс сбербанк, киви, wmr, смс и т.д
Каждый пользователь из личного кабинета может активировать или деактивировать объявление на какой то срок (планировщик?)
Проект не коммерческий и не имеет ничего общего с досками объявлений, я описал функционал который требуется. Аналогия похожа на доски. Дайте совет как реализовать подобные вещи. Возможно есть готовые решения?
    
    
                                                                                
            Я рассмотрю общий пример, а не конкретно свой проект.
Допустим у нас сайт с досками объявлений. В личном кабинете зарегистрированный пользователь может добавить объявления.
— Задачи -
У каждого пользователя есть свой баланс.
Каждый пользователь может сделать какое то объявление ВИП допустим 10 руб в день.
Каждое обычное объявление съедает с общего баланса допустим 5 рублей в день.
Когда баланс кончается, объявления снимаются с публикации (пишем условие)
Каждый зарегистрированный пользователь может пополнить общий баланс сбербанк, киви, wmr, смс и т.д
Каждый пользователь из личного кабинета может активировать или деактивировать объявление на какой то срок (планировщик?)
Проект не коммерческий и не имеет ничего общего с досками объявлений, я описал функционал который требуется. Аналогия похожа на доски. Дайте совет как реализовать подобные вещи. Возможно есть готовые решения?
Комментарии: 4
                вобщем никто ничего не знает…            
                    
                Друзья дайте совет неужели нет мыслей?            
                    
                Так никто ничего не знает..)
По факту — внутренний баланс можно реализовать через msProfile, а на событие создания объявления (OnDocFormSave + проверка шаблона/родителя) в плагине проверять сумму на счете, и, при наличии соответствующей суммы, снимать с него. Примерно так:
Пополнение счета и тд, соответственно, из коробки msProfile.
                    По факту — внутренний баланс можно реализовать через msProfile, а на событие создания объявления (OnDocFormSave + проверка шаблона/родителя) в плагине проверять сумму на счете, и, при наличии соответствующей суммы, снимать с него. Примерно так:
//проверки нужного события, шаблона, статуса объявления и тд...
$user = $modx->getAuthenticatedUser('web');
$user_id = $user->get('id');
$user_money_profile = $modx->getObject('msCustomerProfile', $user_id);
$balance = $user_money_profile->get('account');
$balance = float($balance); 
if ($balance > 5) {
	$new_balance = $balance - 5;
	$user_money_profile->set('account', $new_balance);
	$user_money_profile->save();
}
else {
	//отклоняем объявление и выводим соответствующее сообщение
}Пополнение счета и тд, соответственно, из коробки msProfile.
                Подскажите нашли решение?            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.