Биллинговая система Nodeny
22 Ноября 2024, 07:55:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Занесение платежа напрямую в базу.  (Прочитано 7677 раз)
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« : 05 Апреля 2011, 20:05:44 »

Кто сталкивался с задачей заносить платеж напрямую в базу мускула в pays и апдейта юзерского баланса, попробовал такое провернуть платеж заносится нормально баланс тоже все пучком, в биллинге не ругается, что разница по платежам и балансу, а вот фигня получается если у юзера минус на счету и он заблокирован, то после такого прямого добавления бабок он не включается автоматом, даже когда он пытается законектиться авторизатором ему говорит что баланс положительный но доступ заблокирован. Как сказать биллингу что бабло есть у юзера и его надо включить.

P.S.поиск юзал такого не нашел Улыбающийся спасибо заранее
Записан
Elisium
NoDeny
Старожил
*

Карма: 19
Offline Offline

Сообщений: 360


На форумах "спасибом" называется плюс к карме.


Просмотр профиля
« Ответ #1 : 05 Апреля 2011, 21:31:09 »

[оффтоп]
В вопрос вьехал со второго раза.
Расставлять знаки препинания уже в школе  не обучают Непонимающий?
Пушкин бы и без посторонней помощи сам застрелился от такой фразы ...
[/оффтоп]
Записан
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #2 : 05 Апреля 2011, 21:35:31 »

Сорри, но это был так сказать поток мысли )
Записан
GrimWig
NoDeny
Пользователь
*

Карма: 2
Offline Offline

Сообщений: 44


Просмотр профиля
« Ответ #3 : 05 Апреля 2011, 22:05:30 »

UPDATE `users` SET `state` = 'on' WHERE и так далее
Записан
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #4 : 05 Апреля 2011, 22:44:25 »

Да, но для этого нужно еще проверять хватило ли денег, чтобы поставить state=on, а я спрашивал про то, каким образом в самом нодени реализуется эта функция.
Записан
Андрій
NoDeny
Старожил
*

Карма: 3
Offline Offline

Сообщений: 294


Просмотр профиля
« Ответ #5 : 05 Апреля 2011, 23:01:09 »

інакше ніяк, після добавлення платежу треба, щоб скрипт перевіряв чи достатнього грошей для включеня і якщо достатньо, то відповідно міняв би `state` = 'on'
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #6 : 05 Апреля 2011, 23:37:51 »

Да, но для этого нужно еще проверять хватило ли денег, чтобы поставить state=on, а я спрашивал про то, каким образом в самом нодени реализуется эта функция.
баланс высчитывается динамически скриптом nomoney.pl. Проще всего при любом платеже включать доступ, через небольшой промежуток времени ядро заблочит учетку если денег не будет достаточно
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #7 : 06 Апреля 2011, 07:53:03 »

Кто сталкивался с задачей заносить платеж напрямую в базу мускула в pays и апдейта юзерского баланса, попробовал такое провернуть платеж заносится нормально баланс тоже все пучком, в биллинге не ругается, что разница по платежам и балансу, а вот фигня получается если у юзера минус на счету и он заблокирован, то после такого прямого добавления бабок он не включается автоматом, даже когда он пытается законектиться авторизатором ему говорит что баланс положительный но доступ заблокирован. Как сказать биллингу что бабло есть у юзера и его надо включить.

P.S.поиск юзал такого не нашел Улыбающийся спасибо заранее
у меня єто юзается.
кроме палатежей заносится и новые звери - изненения у зверей - и прочее.
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #8 : 06 Апреля 2011, 08:12:04 »

А так:
Код:
UPDATE users SET state=if(balance>limit_balance,'on','off')
или
Код:
UPDATE users SET state='on' WHERE balance>limit_balance
Записан
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #9 : 06 Апреля 2011, 09:06:07 »

А так:
Код:
UPDATE users SET state=if(balance>limit_balance,'on','off')
или
Код:
UPDATE users SET state='on' WHERE balance>limit_balance

Таким макаром мы врубим всем юзерам у кого денег хватает, а если юзер просил приостановить услугу и мы ему бац и насчитали за текущий месяц, а потом будем возвращать денежки и т.п. нехорошо получаеццо.
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #10 : 06 Апреля 2011, 09:46:29 »

Таким макаром мы врубим всем юзерам у кого денег хватает, а если юзер просил приостановить услугу и мы ему бац и насчитали за текущий месяц, а потом будем возвращать денежки и т.п. нехорошо получаеццо.
смена тарифа на -временно отключен- стоимость 0 . проверка
UPDATE users SET state=if(balance>limit_balance,'on','off') where paket<>900
Записан
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #11 : 06 Апреля 2011, 21:56:02 »

Спасибо за предложения, решили вопрос вариантом

update users set balance=balance+$money,state='on' where id=$id

пока полет нормальный.

Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #12 : 07 Апреля 2011, 14:36:31 »

И не забываем добавлять запись о внесении платежа в историю платежей, иначе будет показывать что баланс не совпадает с историей платежей.
Записан
neom
NoDeny
Пользователь
*

Карма: 0
Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #13 : 15 Апреля 2011, 21:16:12 »

Ясное дело, это учитывалось сразу же.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!