Я сделал бота для денежных сборов — и специально запретил ему трогать деньги

За 2,5 месяца соло собрал MVP для сборов в мессенджере MAX и понял: в продукте рядом с деньгами главная функция — не перевод, а честная граница ответственности.

Я думал, что делаю простого бота: список участников, сумма, напоминания. Через пару недель стало ясно, что кнопки и СБП-ссылка — меньшая часть работы. Большая — объяснить людям, почему сервис рядом с чужими деньгами не должен эти деньги трогать. А ещё по дороге выяснилось, что мой сайт у части людей не открывался, хотя с кодом всё было в порядке, — но об этом ниже.

За 2,5 месяца в одиночку я узнал про доверие рядом с деньгами больше, чем про сам код. Дальше — без прикрас, вместе с тем, что не получилось.

Боль: организатор становится бухгалтером и надоедой

Сценарий, в котором был каждый. У коллеги день рождения, надо скинуться на подарок. Кто-то заводит список в заметках, пишет в чат «по 500, кто сколько может», а дальше — ручной подсчёт и неловкие «слушай, ты не перевёл ещё?».

Неудобно всем. Организатор превращается в бухгалтера и в того, кто всех дёргает. Я ловил себя на этом раз за разом и решил сделать штуку, которая ведёт список и напоминает сама — чтобы мне не быть надсмотрщиком.

Простой пример, чтобы было предметно. Шесть человек, подарок на 3 000 ₽, по 500 с каждого. Без бота организатор делает всё руками: называет сумму, кидает номер, ведёт список, по очереди напоминает. С ботом он создаёт сбор и смотрит статусы — рутину бот берёт на себя. Слабое место скажу сразу: если кто-то нажал «перевёл», но не перевёл, организатор всё равно сверяет поступление в своём банке. Почему так — в Уроке 3.

«Первый экран: бот сразу говорит — деньги идут напрямую, я только веду список»
«Первый экран: бот сразу говорит — деньги идут напрямую, я только веду список»

Урок 1. Рядом с деньгами главный продукт — это граница, а не перевод

Первое и главное решение: бот не принимает, не хранит и не переводит деньги. Когда участник скидывается, деньги идут напрямую организатору обычным переводом по СБП (перевод по номеру телефона; он есть у большинства, у кого вообще есть банковское приложение). Бот в цепочке не стоит — ни «кошелька», ни «счёта внутри», карты он не спрашивает.

Это не лень. Как только сервис начинает принимать или удерживать чужие деньги, резко растёт регуляторная и операционная сложность: договоры, ответственность за чужие средства, банковские требования, антифрод, вопросы по 115-ФЗ. Для соло-MVP это уже другой класс проекта — я туда сознательно не пошёл.

И у этой границы есть прямая польза для организатора: между ним и участниками нет третьего лица, которое могло бы «зависнуть» с деньгами. Они либо у плательщика, либо уже у организатора. Посередине — никого.

«Деньги идут вам напрямую по СБП. Бот не получает деньги и не видит факт перевода»
«Деньги идут вам напрямую по СБП. Бот не получает деньги и не видит факт перевода»

Урок 2. Мобильные операторы резали мой сервер

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

Я проверил доступ с мобильного интернета разных операторов. На одном крупном соединение до адреса моего сервера вообще не устанавливалось; на других — нормально. То есть дело не в коде и не в сертификате: оператор не пропускал трафик к IP моего VPS. Кодом это не лечится. Поэтому ссылку на бота я веду напрямую через `max.ru` — его сети пропускают, — а не через свой домен.

Вывод, который дал бы себе в начале: если делаешь сервис, к которому люди идут с телефонов, проверь доступность своего сервера с разных операторов до того, как раздашь ссылку. Инфраструктурные баги продукта рядом с деньгами чаще не в коде, а в том, как до него вообще доходит трафик.

Урок 3. Хотел «надёжнее» — сделал проще, и это честнее

Сначала была идея «по-серьёзному»: участник говорит «перевёл», а организатор сверяет каждый платёж и подтверждает. На бумаге надёжнее. На практике это возвращает организатора в ту же роль бухгалтера, от которой я хотел уйти.

Поэтому я честно живу со слабым местом: отметку «перевёл» ставит сам участник, а бот банковский платёж не видит — он не подключён к банкам и подтвердить поступление не может. Да, технически можно нажать «перевёл», не переведя. Я оставил так осознанно: альтернатива — лезть в банковские данные людей, а я как раз этого делать не хочу. Ценность бота не в «контроле» платежа, а в том, что убирает рутину: он показывает номер получателя и сумму, открывает перевод по СБП в нужный банк, ведёт список и сам шлёт напоминания.

«Что видит участник перед переводом: бот сам предупреждает, что не проверяет сбор и не получает деньги»
«Что видит участник перед переводом: бот сам предупреждает, что не проверяет сбор и не получает деньги»

Урок 4. Доверие рядом с деньгами — это видимые документы, а не интерфейс

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

Чем это отличается от сборов в Сбере и Т-Банке

Честно: групповой сбор уже умеют банки, и бесплатно. У Т-Банка есть «Сбор денег на общие цели»: открывается отдельный счёт, число участников не ограничено, и по ссылке платят клиенты любых банков. Похожий сбор есть и у Сбера. Делать вид, что аналогов нет, — несерьёзно.

Больше того, в главном банки сильнее меня: деньги идут на их счёт, и они видят платёж, то есть показывают реальный статус. Я и не пытаюсь конкурировать как платёжный сервис — у меня этого слоя нет вообще.

Моя ставка — не перевод, а координация внутри переписки. Сбор живёт прямо в чате, где о нём и договариваются: там список участников, статусы и напоминания, не нужно отдельно открывать банковское приложение, чтобы вести учёт. Сам перевод, разумеется, всё равно подтверждается в банке участника — но организационная часть остаётся в чате, а не в отдельном банковском сценарии. Кому важнее надёжность платежа — банковский сбор с отдельным счётом честно подойдёт лучше; это разные инструменты.

«Приглашение приходит прямо в переписку — сбор и обсуждение в одном месте»
«Приглашение приходит прямо в переписку — сбор и обсуждение в одном месте»
  • Ручной чат: бесплатно и просто, но платёж никто не видит, всё вручную — хаос.
  • Банковский сбор (Сбер/Т-Банк): банк видит платёж, есть отдельный счёт и напоминания — но это уводит в отдельный банковский сценарий.
  • «Скинемся»: сбор и напоминания живут прямо в чате, деньги идут сразу организатору, бот их не держит — но и платёж не подтверждает.

Почему вообще MAX

Не из идеологии и не «навсегда». В Telegram сценарии сборов уже есть, там конкуренция и пользовательская инерция. MAX — молодая площадка, сценарии в ней ещё формируются, и у маленького бота есть шанс занять узкую бытовую нишу раньше крупных игроков. Обратная сторона честная: платформа молодая, API и дистрибуция менее предсказуемы (часть граблей — неофициальный SDK, кэширование документации). Вопросов к самому MAX вне моей темы хватает, и они по делу — но это отдельный разговор; я просто пошёл туда, где сценарий «скинуться» прямо в чате ещё не занят.

Где это сейчас и на что живёт

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

На что держится: сервер — 731 ₽ в месяц, домен — 200 ₽ при покупке (399 ₽/год продление). Весь продукт живёт примерно на 730 рублях в месяц.

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

Что в итоге

Главный вывод для меня: если продукт стоит рядом с деньгами, доверие начинается не с красивого интерфейса, а с честной границы ответственности. Я выбрал слабую, но прозрачную модель — бот помогает координировать сбор, но не подтверждает платёж и не держит деньги.

Если видите в этой конструкции слабое место — в границе, в самоотметке, в UX — напишите, где именно. Это полезнее комплимента: грабли на молодой платформе я пока собираю сам.

Обновление 7 июня — ищу бета-тестеров.

До 21 июня тестирую бота на живых людях, нужно 5–10 человек. Подойдёт любой реальный повод скинуться: день рождения коллеги, подарок учителю, общий счёт за посиделки.

Что делать: создать сбор в боте, позвать своих участников, а потом написать мне всё, что показалось неудобным — в комментарии к статье или кнопкой «Сообщить о проблеме» в самом боте. Напомню главное: бот бесплатный, и деньги через него не проходят — переводы идут напрямую организатору по СБП, бот только ведёт список «кто уже скинулся». Бот: max.ru/id650622242483_bot

2 комментария