passshift
@passshift
php, js, html5, css

Как правильно организовать «живой» баланс?

Здравствуйте!

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

Какие нюансы и как это лучше организовать?

Пока я планирую с началом новых суток запускать cron-ом скрипт, который будет пробегаться по всем юзерам и списывать с их баланса определенные суммы, если на балансе акка нехватка средств, то блокировать и высылать уведомление по почте, но еще хотелось бы заранее слать уведомление, например "Через 3 дня ваш акк будет залочен", как такое правильно организовать?
  • Вопрос задан
  • 2327 просмотров
Решения вопроса 1
Да мне кажется правильный подход, только я бы сделал вот какой нюанс - я записывал бы для каждого акка последнюю дату за которую было списание (не лог - лог это само собой, а прямо в таблицу) и скрипт бы списывал не просто сумму при запуске, а вычислял количество дней от даты последнего списания до сегодня и списывал бы за это количество дней. Так решаются сразу несколько проблем:
Если в один из дней скрипт упадет и этого никто не заметит, то в следующий все спишется правильно и за тот день и за предыдущий.
Если это заметят, то скрипт можно будет легко запустить повторно - он не спишет деньги по второму разу с тех с кого уже списал.
Если по каким-то непонятным причинам скрипт запустится дважды в одни и те же сутки (ну собьется дата хотя бы) - катастрофы не произойдет.
Может есть варианты и лучше, но я бы делал так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы