Доброго времени суток, наверняка здесь есть люди, которые писали свои биллинги, использовали существующие.
Думаю использовать такую простую схему: Пользователь <- услуга -> тариф.
Во всех случаях тариф это стоимость услуги за месяц, услуга предоставляется сроком на месяц.
В жизни сталкивался с такими случаями: 1)Тариф делится на количество дней и ежедневно списывается. 2)В начале каждого месяца списывается ежемесячная сумма за услугу. 3)Пользователь зарегистрировался 15го числа, и 15го числа следующего месяца, например, списывается сумма за услугу.
Например, (2) по реализации самый простой, но например при 100к пользователей ночью первого числа база будет нагружена. (3) подход более правильный, но если пользователь зарегистрируется 31 января, то система должна будет списывать 29 февраля, или 1 марта?
Вопрос: лично я склоняюсь к использованию (3), а какой подход используете вы в своих биллингах? Какой считаете более правильным?