Платежи и бонусы
- Платежи - строки в БД (
pays_history
) с указанием суммы, даты и типа платежа. - Бонусы - строки в БД (
bonus_history
) с указанием кол-ва бонусов, даты начисления/списания и поле комментария - Списания - строки в БД (
withdraw_history
) с указанием сколько, за что и кода было списано (оказано) - Баланс - разница платежей и списаний
- Бонусный баланс - сумма бонусов в таблице бонусов
Списания
Каждый раз, при заказе или продлении услуги, биллинг вычисляет итоговую сумму списания (итоговая стоимость услуги).
Сумма списания вычисляется как произведение стоимости услуги (cost
), помноженное на кол-во (qnt
) за вычетом персональной скидки клиента и скидки на саму услугу.
SHM проверяет бонусный баланс, и если его достаточно, то услуга будет оказана за счет бонусов. При этом, стоимость (total
) услуги будет 0,
т.к. стоимость это деньги, а не бонусы. Если же бонусов не достаточно для полной оплаты услуги, то конечная стоимость услуги будет вычислена за вычетом кол-ва бонусов.
Изменено 21.08.2023: Update pays.md (68f1385)