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

У вопроса «как собрать деньги с команды за поле» две половины, и только одна из них про перевод. Скинуть деньги легко, банковское приложение есть у всех. Тяжело помнить, кто скинул, за кого и сколько осталось.
Как это устроено сейчас
Стандартная схема: закреп с суммой, номером карты, иногда датой. Кто заплатил, отвечает одним словом.
И это слово во всех чатах одинаковое: «Перевёл». Иногда с галочкой. Ни суммы, ни имени, ни намёка, за кого.
На это слово завязано слишком многое:
- Оно не говорит сколько. Рядом с ним живёт «перевёл за двоих»: человек привёл друга и закрыл обоих. Какого друга? Листаешь наверх и догадываешься.
- Оно не говорит, что деньги дошли. Это знает только банк, и сверять перевод с ником в чате придётся тебе, а не кому-то ещё.
- Оно не переживает ленту. Через неделю споров о составе закреп уезжает наверх, и кто-нибудь спрашивает голое «550?», просто уточняя сумму.
- Оно не умеет в реальность. «Перевел за два раза», часть наличкой, часть картой, с разницей в несколько дней. Счёт, который ты держал в голове, только что сломался, и в чате об этом ни следа.
Так организатор становится реестром. Причём этот реестр приходится вести параллельно с двумя другими постоянными делами: составом и раскладкой по командам. Команды, которые это замечают, обычно пробуют одно из двух.
Второй закреп, список должников рядом со списком участников. К третьей неделе они расходятся. Кто-то снялся в общем треде, а денежный список не поправили. Кто-то отдал наличкой в раздевалке, и это не записано нигде. Два источника правды равны нулю источников.
Таблица. Работает честно, но только для того одного, кто её ведёт. Теперь только он может ответить «а Дэн заплатил?», и он же каждую неделю перебивает туда состав руками. Таблица не разваливается, она просто переносит работу вместо того, чтобы её убрать, и живёт снаружи чата, где на самом деле идёт разговор.
Это не про безответственность. Держать два списка синхронными руками тоже работа, на которую не остаётся места между составом, командами и самой игрой.
Что меняется, когда счёт держит чат
Слова не меняются. Игрок как писал «перевёл» в тот же чат, так и пишет, без нового приложения и новой привычки. Меняется то, что происходит с этим словом дальше.

Перевод записывают, а не принимают на веру. «Перевёл» помечает взнос как заявленный: человек говорит, что отправил. Заявка висит в этом статусе, пока ты не сверишь её с банком и не подтвердишь. Разрыв между «он говорит, что заплатил» и «деньги пришли» и есть то место, где ручной учёт тихо теряет доверие, и половина решения в том, чтобы сделать этот разрыв видимым статусом. Одно сообщение при этом закрывает нескольких: Дэн, написавший «перевёл за себя и Макса», закрывает обоих одной заявкой, и в ответ ему называют обоих поимённо, чтобы он видел, кого именно зачли.
Подтверждение остаётся за тобой, и это намеренно. Открыть банк и сопоставить перевод с человеком остаётся работой человека. А вот зафиксировать результат можно одной командой: подтвердить тех, чьи деньги пришли, откатить ошибочную отметку обратно в «не оплачено» или полностью списать взнос тому, кто в этот раз играет бесплатно.
Реквизиты задаются один раз. Номер карты, банк, любые инструкции, которыми реально пользуется команда: одно текстовое поле, сохранённое ровно так, как ты его написал, вместо еженедельной перепечатки в чат. И с историей: видно, кто их поставил и когда, так что у вопроса «это ещё карта Алекса или уже нет?» есть ответ. Суммы и долги показываются в валюте группы, по умолчанию в рублях. Если в тексте есть платёжная ссылка на разрешённом хосте, на карточке игры появляется кнопка оплаты. Любая другая ссылка остаётся обычным текстом, и это сознательно: чат, где любой участник может превратить свой URL в официально выглядящую кнопку «оплатить», не фича, а фишинговая поверхность.
Счётчик стоит там, куда и так все смотрят. На карточке игры в чате есть денежная строка: взнос и «оплатили X из Y». Это не отчёт, который надо запрашивать, а та же карточка, которую открывают ради состава.
Долги переживают игру. Незакрытые взносы за завершённые игры можно посмотреть по людям. Заявленный перевод остаётся неподтверждённым и учитывается в задолженности, пока организатор не сверит его с банком. Прежде чем напоминать игроку об оплате, проверь, не ждёт ли его заявка именно твоего подтверждения.

Напоминает бот, а не ты. В приложении можно открыть готовый запрос к Рокки с просьбой напомнить о взносах. Это черновик: проверь текст и отправь его ассистенту. После этого Рокки сможет составить напоминание и опубликовать его в подключённый чат. Само открытие запроса ещё ничего команде не отправляет.
Чего это сознательно не делает
Деньги нас не касаются. Перевод идёт от игрока организатору ровно так же, как шёл раньше. Мы ведём учёт, а не кассу. Это не платёжный шлюз, и в деньгах твоей команды нет третьей стороны.
Нет кнопки «половина». При частичной оплате организатор указывает общую сумму, полученную от игрока за эту игру. После следующего перевода обнови именно итог, а не добавку. Остаток остаётся долгом до оплаты или списания; автоматической скидки за часть матча нет.
Долг сам никуда не переезжает. Он не прибавляется к взносу за следующую игру, не вычитается из будущего перевода и не растворяется со временем. Он помнится: остаётся в списке долгов, пока кто-то не подтвердит оплату или не спишет её, и всплывает, когда в чате снова заходит речь о деньгах. Должников называет бот, а не ты, раскапывая переписку за месяц. Ничей баланс не двигается без человеческого решения.
Заявка утверждение, а не доказательство. Заявить может любой участник и за любого, и это намеренно: чтобы заплатить за друга, не нужно, чтобы друг был онлайн. Из этого же следует, что «заявлено» никогда не значит «оплачено», пока ты не подтвердил.
Если любишь таблицы, оставляй таблицы, отбирать их никто не собирался. Живая CSV-ссылка кормит Google Sheets или Excel, и взносы с кассой там среди фидов, но только у ссылок, созданных с включёнными денежными фидами: документация по выгрузке (на английском). Обращайся с такой ссылкой как с паролем: кто ею владеет, тот и читает фид.
Что меняется на самом деле
Ничего в том, как команда платит. Тот же перевод, тому же человеку, из того же приложения. Меняется одно: через три недели ответ на «а Дэн заплатил?» перестаёт зависеть от того, вспомнил кто-нибудь или нет.
Это тот же сдвиг, что и с точным составом вместо ручного столбика, только применённый к деньгам, а не к головам, и по той же причине: чат уже и есть приложение команды, значит и запись должна жить там, где идёт разговор. Тебе меньше держать в голове, а игрокам не больше делать руками.
Если хочешь настроить это в своём чате, гайд по началу работы показывает, как добавить бота и провести первую игру.