docs: ТЗ на настройку бота (БАЗА) + описание приёма оплаты в боте

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kenik
2026-07-18 18:36:39 +03:00
parent 74a855819d
commit 04d5b0487d
2 changed files with 148 additions and 0 deletions
Binary file not shown.
@@ -0,0 +1,148 @@
# Приём оплаты через чат-бота ИКП (ВКонтакте)
Документ для согласования. Описывает, **как будет проходить оплата** через бота,
и **что для этого нужно со стороны компании** (бухгалтерия / руководство).
---
## 1. Что предлагается
Дать клиенту возможность **оплатить услугу прямо в переписке с ботом ВКонтакте**
через Систему быстрых платежей (СБП) по QR-коду или ссылке в банковское приложение.
Приём платежей — через уже используемый сервис **ЮKassa**. Деньги поступают на
**расчётный счёт компании**, как и при обычной оплате через ЮKassa.
---
## 2. Как это будет происходить (пошагово)
**Со стороны клиента:**
1. Клиент оформляет заявку в боте и выбирает услугу.
2. Бот присылает прямо в чат **сумму к оплате**, **QR-код** и **кнопку «Оплатить»**
(ссылка открывает приложение его банка — Сбер / ВТБ / Альфа / Т-Банк и др.).
3. Клиент оплачивает в своём банке по СБП (сканирует QR или жмёт кнопку).
4. Бот сам узнаёт, что оплата прошла, и присылает: **«Оплата получена ✅»** и
инструкцию, что делать дальше (например, время занятия / контакт тренера).
**Со стороны системы (автоматически):**
1. Бот создаёт платёж в ЮKassa на нужную сумму.
2. ЮKassa формирует QR/ссылку СБП и (при необходимости) **фискальный чек**.
3. Бот отслеживает статус платежа и, как только он «оплачен», подтверждает клиенту
и **уведомляет менеджера** о поступившей оплате.
> Важно: клиент **не переходит на посторонние сайты** — оплата идёт через QR/ссылку
> в его банковском приложении. Это снижает риск сбоев на мобильном интернете.
---
## 3. Куда поступают деньги
- Платёж проходит через **ЮKassa** (тот же сервис, что используется сейчас).
- Средства зачисляются на **расчётный счёт компании** по условиям действующего
договора с ЮKassa. Никаких новых счетов/кошельков заводить не требуется.
- Комиссия — по тарифу ЮKassa/СБП (уточняется в кабинете ЮKassa).
---
## 4. Где хранятся данные о платежах и как их получают
**Хранение (три уровня):**
- **ЮKassa — основной финансовый реестр.** Полные данные каждого платежа
(плательщик, сумма, дата, статус, чек) хранятся в кабинете ЮKassa. Это
авторитетный источник для бухгалтерии и налоговой.
- **База сайта (infocyber.pro) — единый учёт.** Бот дублирует запись об оплате
(кто / когда / сколько / за что / статус) в базу сайта, чтобы платежи были в одном
месте с остальными заявками компании.
- **База бота — рабочая связка.** Локально бот хранит связь «платёж ↔ клиент/заявка»
для своей логики (подтверждение оплаты, сверка).
**Получение данных (максимально безопасно):**
- Основной способ — **кабинет ЮKassa**: доступ по ролям, официальные выгрузки в
Excel/1С, чеки. Здесь бухгалтерия берёт данные для отчётности.
- Дополнительно — **выгрузка из базы сайта** штатными средствами (как по остальным
заявкам).
- Финансовые данные **не выводятся в переписку ВКонтакте** — это небезопасный канал.
Чат используется только для уведомления клиента об успешной оплате.
> Примечание по реализации: запись в базу сайта требует доступа к ней (тип СУБД,
> структура таблиц, учётные данные) — это отдельный пункт согласования с
> администратором сайта.
## 5. Что нужно подтвердить со стороны компании
Это ключевой раздел — **реализуемость зависит от этих пунктов**:
1. **Договор с ЮKassa действует** и позволяет приём платежей от физлиц. ✔/
2. **Подключён СБП** в кабинете ЮKassa (отдельная активация). Без него QR/ссылку
по СБП выпустить нельзя. ✔/✗
3. **Фискальные чеки (54-ФЗ):** при оплате услуги физлицом закон требует выдавать
чек. Нужно подтвердить, что:
- подключена онлайн-касса (своя или облачная от ЮKassa), и
- бухгалтерия согласовала **состав чека** (наименование услуги, ставка НДС/без НДС,
признак предмета/способа расчёта). ✔/✗
4. **Юр. статус получателя** (ИП / ООО / самозанятый) — под него настраиваются чеки и
налогообложение. ✔/✗
5. **Прайс для оплаты:** точные суммы за конкретные услуги (сейчас в боте указано
«от 870 ₽» — для оплаты нужна фиксированная цена позиции). ✔/✗
6. **Доступы ЮKassa** (идентификатор магазина и секретный ключ) — выдаются
разработчику для настройки; хранятся в защищённом конфиге, в открытый код не попадают.
---
## 6. Что делает бот, а что — нет
**Бот делает:**
- создаёт платёж, показывает QR/ссылку, ловит подтверждение оплаты, сообщает клиенту
и менеджеру, ведёт учёт оплат.
**Бот НЕ делает (это на стороне ЮKassa/бухгалтерии):**
- не хранит деньги и данные карт (всё в контуре ЮKassa — это безопаснее и по 152-ФЗ);
- не формирует чек самостоятельно — чек выпускает ЮKassa/касса по данным, которые
согласует бухгалтерия;
- не считает налоги.
---
## 7. Риски и как они закрываются
- **Клиент не оплатил / передумал** — платёж имеет срок (например, 15 минут), после
чего отменяется; бот предложит повторить.
- **Сбой связи** — бот перепроверяет статус платежа; при успешной оплате подтверждение
придёт, даже если клиент закрыл чат.
- **Сверка** — по каждой оплате менеджер получает уведомление; все платежи видны в
кабинете ЮKassa (для бухгалтерии — привычный источник данных).
---
## 8. Что нужно для старта (резюме)
| # | Пункт | Ответственный | Статус |
|---|-------|---------------|--------|
| 1 | Действующий договор ЮKassa | Бухгалтерия/руководство | |
| 2 | Подключён СБП в ЮKassa | Бухгалтерия/ЮKassa | |
| 3 | Онлайн-касса + состав чека (54-ФЗ) | Бухгалтерия | |
| 4 | Юр. статус и налоговый режим | Бухгалтерия | |
| 5 | Фиксированные цены услуг | Руководство | |
| 6 | Доступы ЮKassa (тестовые и боевые) | Руководство → разработчик | |
| 7 | Доступ к базе сайта (для записи платежей) | Администратор сайта | |
**Вывод:** технически всё реализуемо и уже частично готово (в боте есть оформление
заявок и уведомления). Оставшиеся вопросы — **организационные** (СБП, чеки, доступы).
Как только пункты 1–7 подтверждены, внедрение занимает ограниченное время.
---
## 9. Что нужно от администратора сайта (для записи платежей в базу сайта)
Чтобы платежи дублировались в базу сайта (единый учёт с заявками), от администратора
**infocyber.pro** потребуется:
- **тип СУБД** (MySQL / PostgreSQL / иное);
- **способ подключения** — хост, порт, логин, пароль (или API сайта, если прямой доступ
к базе не предоставляется);
- **куда записывать** — таблица и её структура для платежей.
Пока этих доступов нет, внедрение возможно **поэтапно**:
- **Этап 1.** Оплата полностью работает на базе бота + ЮKassa (приём платежей,
подтверждение, уведомление менеджера, учёт). Функционально — всё готово к работе.
- **Этап 2.** Добавляется дублирование платежей в базу сайта — как только администратор
сайта предоставит доступ и структуру.