Мобильные приложения / Блог ontech.pro
Как проверить возврат бонусов при отмене покупки
Покупка может одновременно списать старые баллы и начислить новые. Поэтому при отмене нельзя просто прибавить к балансу одно число. Нужно отдельно обработать каждое действие и показать клиенту, почему итог отличается от суммы, которую он помнит до заказа.
Подготовила команда ontech.pro · · 3 мин чтенияРазложите покупку на операции
Для каждого заказа сохраните списание использованных баллов и начисление заработанных. Если награда становится доступной после выдачи, выделите ожидаемое начисление. При отмене не меняйте прежние записи бесследно: создавайте связанные корректировки, по которым видна причина. В истории клиенту нужны понятные названия, а сотруднику — ссылка на исходный заказ. Такой подход позволяет объяснить остаток даже после нескольких изменений и не требует верить одному последнему значению в базе.
Проверьте и заказ, оплаченный только деньгами: отсутствие бонусного списания не отменяет необходимости убрать награду за возвращённую покупку. Обратный случай — оплата баллами без начисления — также требует своего ожидаемого результата.
Отдельно рассмотрите частичный возврат
Если возвращена одна позиция, нужно знать, какая доля скидки и начисления относилась к ней. Зафиксируйте способ распределения и округления до запуска. Не пересчитывайте прошлую покупку по сегодняшним акциям. На примере корзины с несколькими товарами заранее покажите ожидаемый результат возврата каждого из них. Учитывайте позиции, на которые бонусы вообще не распространялись. Иначе простая пропорция по общей сумме создаст спор даже при технически правильном выполнении формулы.
Согласуйте судьбу истёкших баллов
К моменту возврата срок потраченных баллов мог закончиться. Бизнес должен выбрать и описать правило восстановления: прежний срок, новый период или другой согласованный вариант. Не оставляйте решение случайному администратору. Клиенту покажите восстановленную сумму вместе с её сроком, чтобы она не исчезла сразу без объяснения. Отдельно решите, что происходит с уже потраченной наградой за отменённую покупку. Корректировка доступного баланса должна быть предсказуемой и соответствовать опубликованным условиям.
Защитите повторную обработку
Платёжная или учётная система может повторно сообщить об одной отмене. Программа лояльности должна узнавать уже обработанное событие и не восстанавливать баллы второй раз. Это проверяют повторной отправкой того же сообщения, а не только двойным нажатием в приложении. Если возврат денег и пересчёт бонусов происходят отдельно, показывайте состояния раздельно. При временном сбое нужна очередь незавершённых корректировок и ответственный за неё, чтобы успешный денежный возврат не оставил бонусную историю незаконченной.
Принимайте на числовых примерах
Подготовьте заказ с денежной оплатой и баллами, дождитесь нового начисления, затем верните часть покупки. Повторите отмену, восстановите связь после сбоя и проверьте итог в приложении и на кассе. Ещё один сценарий — баллы за заказ уже использованы в следующем заказе. Ожидаемые результаты вычислите вручную по согласованным правилам и приложите к заданию. Проверка должна подтверждать не только число на главном экране, но и последовательность операций, сроки восстановленных баллов и объяснение для клиента.