Разбор задачи

B2C-сервис по подписке: регистрация, оплата и поддержка без ручной работы

Пользователь сам регистрируется, платит и отменяет подписку, а персональные данные лежат там, где этого требует закон

Проверяется: сценарии пользователя и проверка хранения данных

SaaS и продуктыРаботаем по NDA

Задача

Сервис рассчитан на физических лиц: регистрация, подписка, личный кабинет. На старте всё работало вручную: оплату подтверждали по выписке, доступ включали после проверки. Пользователей стало больше, а поддержка отвечает на одни и те же вопросы о платеже, отмене и восстановлении доступа.

Где ломается

Что съедает срок и бюджет на самом деле

Для частных пользователей ошибки видны сразу и стоят репутации. Вот где они возникают.

Платёж и доступ расходятся

деньги списаны, а доступ не включился, или наоборот. Нужно событие платёжной системы как единственный источник правды и повтор при сбое.

Отмена подписки спрятана

если отменить сложно, растут обращения и возвраты. Отмена должна быть в кабинете и работать сразу, а правила записаны в условиях.

Вход и восстановление доступа

забытый пароль и смена почты составляют основной поток обращений. Нужен безопасный сценарий восстановления и защита от подбора.

Персональные данные

регистрация собирает сведения о гражданах. Их хранение, согласия и сроки хранения определяются законом, и это закладывается до разработки.

Ограничение, которое определяет решение

Платежи принимает ваш эквайринг или платёжный сервис, мы подключаем его программный интерфейс, но не принимаем деньги от вашего имени и не храним данные карт. Персональные данные граждан России обычно должны храниться на серверах в России. Оферту, политику обработки и согласия готовит юрист заказчика, мы юридических консультаций не даём.

Как проверить, что работа сделана

Сценарии пользователя: регистрация, оплата, отмена, повторная оплата, возврат и восстановление доступа проходятся от начала до конца на тестовом контуре платёжной системы.

Сверка платежей: за период суммы в платёжной системе и в сервисе совпадают по каждому пользователю, расхождения объяснены.

Хранение данных: проверка, где лежат персональные данные, кто имеет к ним доступ и как удаляются по запросу.

О чём спросить любого подрядчика

  • Какое событие считается подтверждением платежа и что будет при повторе или потере уведомления.
  • Как пользователь отменяет подписку и когда прекращается доступ.
  • Как защищён вход: подбор пароля, подтверждение почты, второй фактор там, где он нужен.
  • Где хранятся персональные данные и как они удаляются.
  • Какие шаги поддержка делает руками и можно ли дать пользователю сделать их самому.
Порядок работ

Как мы идём по этапам

На каждом этапе назван результат, который остаётся у заказчика. Остановиться можно после любого.

  1. Сценарии пользователяОписываем путь от регистрации до отмены и возврата. Результат: карта шагов и мест обрыва.
  2. Платёжный контурПодключаем ваш эквайринг, обрабатываем уведомления с повтором. Результат: проверенная связка платёж и доступ.
  3. Кабинет и входРегистрация, вход, восстановление, отмена подписки, история платежей. Результат: рабочий кабинет на стенде.
  4. Данные и согласияСогласуем с вашим юристом перечень данных и сроки хранения, закладываем удаление. Результат: схема хранения.
  5. Запуск на малой группеВключаем сервис для небольшой группы, смотрим обращения и расхождения, расширяем. Передаём код и регламент.
Архитектура и стек

Как это обычно устроено внутри

Типовая схема: веб-приложение с адаптивным интерфейсом и серверной частью, база пользователей и подписок, платёжный сервис подключён через программный интерфейс с подтверждением уведомлений и повтором. Права доступа выставляются из состояния подписки, действия пользователя и платежа пишутся в журнал.

Типовой стек
  • PostgreSQL
  • REST API
  • Уведомления платёжного сервиса
  • Очередь задач
  • Журнал событий
  • Docker

Похожая задача у вас?

Разберём её на созвоне за 40 минут: назовём объём работ, ограничения контура и по каким числам вы будете принимать результат. Если задача не наша — скажем прямо.