История бонусных операций
История бонусных операций помогает объяснить начисления, списания и другие действия с бонусами. Она не заменяет доступный баланс: одна операция может оставлять несколько записей, а некоторые изменения доступности бонусов не отражаются отдельной записью.
Запись истории не всегда равна отдельной операции
Покупка, начисление и списание связаны, но учитываются по-разному. Для одного списания история может содержать резервирование, подтверждение и итоговую запись.
Схема истории и баланса: операции могут менять оба представления, но истечение срока бонусов не добавляет строку истории.
История рассказывает, что произошло. Баланс показывает текущее состояние бонусов. Простая сумма записей истории не даёт баланс.
Смысл суммы зависит от вида бонусной операции
Сумма покупки и сумма бонусов — разные показатели. У резервирования и списания покупки может не быть.
Знак суммы также не определяет смысл сам по себе. Возврат может отражаться отрицательным количеством бонусов, а списание — положительной суммой с соответствующим видом операции.
При блокировке важно различать исходную сумму начисления и его оставшийся остаток: блокировка не является новой покупкой.
Одна бонусная операция может оставлять несколько записей
Состав записей зависит от того, как операция была обработана.
| Действие | Что важно при чтении |
|---|---|
| Кэшбэк за покупку | Может быть запись с нулевым начислением |
| Ручное начисление | Отражает отдельное предоставление бонусов |
| Резервирование бонусов | Ещё не означает окончательное списание |
| Подтверждение или отмена резерва | Завершает соответствующий этап расходования |
| Списание | Может сопровождаться записями резерва и подтверждения |
| Возврат покупки или корректировка | Связаны с исходным начислением; при отсутствии списания возможна нулевая сумма |
| Блокировка или разблокировка | Меняют доступность соответствующего начисления |
При совместном начислении по обычной категории и предложению прежней партнёрской модели одна покупка может дать две записи.
Пример: одно списание на 40 бонусов
Рассмотрим условный пример. Клиенту начислено 100 бонусов. Затем выполнено списание 40, которое сразу создаёт и подтверждает резерв.
В истории могут появиться три записи на 40: резервирование, подтверждение и итог списания. Это этапы одной операции, а не три расхода. При отсутствии других изменений остаётся 60 бонусов.
Если срок оставшихся бонусов закончится, доступный баланс уменьшится без новой записи о сгорании.
Отсутствие записи не всегда означает отсутствие обработки
Покупка, исключённая по MCC или отклонённая до расчёта, не оставляет записи в истории бонусных операций. Истечение срока бонусов также не создаёт запись о сгорании.
Отсутствие операции в клиентском приложении не доказывает её отсутствия в истории процессинга. Подключённый канал получает не все виды записей: например, нулевые начисления и блокировки могут не передаваться как отдельные события.
Период и дата записи могут различаться
Дата покупки и момент появления записи в истории — разные даты. Для чтения периода нужно учитывать, по какой дате отобраны операции и в каком часовом поясе показано время.
Показатели начислений по месяцам и годам — отдельное представление. Месячные и годовые итоги нельзя складывать вместе: одни и те же начисления могут входить в оба периода.
Как проверять обращение клиента
Начните с покупки или бонусной операции, периода и вида действия. Затем сопоставьте связанные записи, результат начисления и доступность бонусов. История не содержит всех платёжных сведений: например, по ней нельзя восстановить сумму в исходной валюте или дату клиринга.
Если результат остаётся неясным, для сопровождения нужны сведения исходной системы и подтверждение обработки. Повторять начисление только из-за отсутствия строки в приложении нельзя.
Связанные статьи
Продолжить чтение: Клиенты, счета и бонусный баланс; Ставки, лимиты и правила начисления.