From 04d5b0487da4eb2e3897e146035916e56ba60442 Mon Sep 17 00:00:00 2001 From: Kenik Date: Sat, 18 Jul 2026 18:36:39 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=A2=D0=97=20=D0=BD=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D1=83=20=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=20(=D0=91=D0=90=D0=97=D0=90)=20+=20=D0=BE=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B8=D1=91?= =?UTF-8?q?=D0=BC=D0=B0=20=D0=BE=D0=BF=D0=BB=D0=B0=D1=82=D1=8B=20=D0=B2=20?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- ...khnicheskoe_zadanie_na_nastroyku_bota.docx | Bin 0 -> 18748 bytes docs/Оплата_в_боте_описание.md | 148 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 docs/Tekhnicheskoe_zadanie_na_nastroyku_bota.docx create mode 100644 docs/Оплата_в_боте_описание.md diff --git a/docs/Tekhnicheskoe_zadanie_na_nastroyku_bota.docx b/docs/Tekhnicheskoe_zadanie_na_nastroyku_bota.docx new file mode 100644 index 0000000000000000000000000000000000000000..70731d12f1db2bdaee124199e01d2c3bda692abe GIT binary patch literal 18748 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 literal 0 HcmV?d00001 diff --git a/docs/Оплата_в_боте_описание.md b/docs/Оплата_в_боте_описание.md new file mode 100644 index 0000000..02c58a4 --- /dev/null +++ b/docs/Оплата_в_боте_описание.md @@ -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.** Добавляется дублирование платежей в базу сайта — как только администратор + сайта предоставит доступ и структуру.