Клуб и обучение
Telegram-бот клуба: события, подписка с оплатой и реферальная программа
Было
регистрации собирались в переписке и таблице, оплату сверяли вручную, кто кого привёл вспоминали по памяти
Стало
человек регистрируется и платит внутри бота, бонусы за приглашённых начисляются сами по трём уровням, напоминания уходят за 7 дней и за день
Эквайринг Google Sheets Telegram и VK
Задача
У клуба два повторяющихся процесса: люди ходят на мероприятия и платят за подписку. Оба жили в переписке и таблице. Регистрацию подтверждал администратор, оплату сверял он же, а реферальные вознаграждения считались по памяти и вызывали споры.
Что упёрлось технически
Платёж и начисление бонуса должны сработать ровно один раз. Оплата подтверждается вебхуком платёжного сервиса, а вебхук может прийти дважды: сеть, повтор, ручная проверка. Поэтому у каждого платежа стоит отметка о том, что реферальные бонусы по нему уже разнесены, и повторный вызов ничего не меняет. Бонусы платятся только за первый платёж приглашённого, продления не начисляют ничего.
Что получилось
Внутри бота: ближайшие мероприятия с кнопкой записи, оплата подписки картой, личный реферальный раздел с балансом и списком приглашённых, готовые тексты приглашений через inline-режим. Напоминания о событии уходят за семь дней и за день. Данные лежат в таблицах Google, чтобы администратор клуба мог зайти и посмотреть глазами, не спрашивая разработчика.