01
Покупатель оформляет подарок в клиентском приложении
В кабинете ProGym клиент открывает раздел подарочных абонементов, выбирает опубликованный тариф и указывает имя получателя. При желании он добавляет личное пожелание. Цена, валюта, срок действия, количество занятий и период активации фиксируются в момент покупки. Последующее изменение тарифа клубом не меняет уже оплаченный подарок.
Оплата проходит через общий платёжный контур Taska Core. Тестовый режим позволяет клубу проверить сценарий до подключения провайдера. В production используется выбранное клубом платёжное подключение. Повтор запроса после обрыва связи возвращает прежний результат и не создаёт второй платёж или второй подарок.
- выбор реального тарифа клуба;
- имя получателя и личное пожелание;
- серверная цена и неизменяемый снимок условий;
- защита от повторной покупки при потере ответа;
- единый платёжный журнал клуба.
02
Код хранится безопасно и показывается покупателю один раз
После подтверждения оплаты ProGym показывает покупателю код активации. В базе хранится только криптографический отпечаток, поэтому сотрудник, выгрузка или резервная копия не раскрывают исходный код. Личное пожелание хранится в зашифрованном виде и доступно только в клиентском сценарии, где оно действительно нужно.
Если код потерян до активации, покупатель может выпустить новый после отдельного подтверждения. Старый код сразу перестаёт работать. Повтор команды с тем же ключом возвращает тот же результат, а конкурентные попытки не создают несколько действующих кодов. Администратор видит статус операции, но не видит код и текст пожелания.
03
Получатель активирует подарок в своём профиле
Получатель авторизуется через Telegram и вводит код в клиентском приложении. Core проверяет организацию, статус оплаты, срок активации и факт предыдущего использования. Успешная операция создаёт абонемент именно у вошедшего клиента и записывает отдельное событие погашения в журнал.
Один код можно применить только один раз. Повтор самим получателем безопасно возвращает прежний результат, а попытка другого клиента получает отказ. Абонемент выпускается по снимку условий покупки: название тарифа, срок и занятия совпадают с тем, что оплатил даритель.
- Telegram-авторизация получателя;
- проверка срока и статуса оплаты;
- однократная активация;
- абонемент по условиям на дату покупки;
- история выпуска и погашения для сверки.
04
Клуб контролирует продажи и сохраняет приватность
В рабочем месте сотрудника есть реестр подарочных абонементов. Фильтры показывают ожидающие оплату, готовые к активации, активированные, истёкшие и отменённые операции. Поиск работает по покупателю, получателю и тарифу. Сотрудник видит сумму, платёж, дату и статус, которых достаточно для поддержки и финансовой сверки.
Коды, их отпечатки, зашифрованные поля и личные пожелания исключены из staff API. Метрики также не содержат идентификаторы клиентов и секреты. Функция включается модулем service checkout, поэтому соседние продукты на Taska Core сохраняют собственные правила и интерфейсы.
05
Что проверить на демонстрации
Создайте подарок, повторите запрос после имитации потерянного ответа и убедитесь, что платёж остался один. Скопируйте код, перевыпустите его и проверьте отказ старого варианта. Войдите получателем, активируйте новый код и найдите выпущенный абонемент в профиле.
Затем повторите активацию тем же клиентом и другим профилем. В первом случае система вернёт исходный результат, во втором защитит подарок. Завершите проверкой staff-реестра: сумма и статус видны, код и пожелание отсутствуют. Такой сценарий подтверждает продажу, безопасность и операционную поддержку целиком.