📲 Как работает скрипт обменника с Telegram-кошельком
Интеграция с Telegram-кошельком (Wallet) позволяет принимать и/или отправлять криптовалюту напрямую пользователям внутри Telegram. Скрипт обменника использует Telegram как канал оплаты, подтверждения и уведомлений, а вся логика обработки остаётся на backend.
🔗 Общая схема работы
- Пользователь выбирает направление обмена на сайте.
- В способе оплаты выбирает Telegram-кошелёк (или получает ссылку/кнопку оплаты в Telegram).
- Скрипт создаёт заявку и генерирует параметры оплаты:
- сумма
- валюта/сеть
- уникальный идентификатор заявки
- Пользователь подтверждает оплату в Telegram.
- Скрипт получает подтверждение (через webhook/проверку статуса) и меняет статус заявки.
🧾 Создание заявки и идентификация платежа
Чтобы платёж корректно привязался к заявке, скрипт использует один из вариантов:
- Invoice / счёт (предпочтительно) — создаётся платёжная ссылка/инвойс с ID заявки
- Уникальная сумма (fallback) — добавление копеек/сатошей для уникальности
- Комментарий/пейлоад — в платёж передаётся payload с номером заявки
После оплаты система связывает транзакцию с заявкой по order_id / payload / invoice_id.
✅ Подтверждение оплаты
В зависимости от режима интеграции, подтверждение происходит так:
Вариант A — Webhook (быстрее)
- Telegram/провайдер присылает событие об успешной оплате - Скрипт: - проверяет подпись/источник события - сверяет сумму и валюту - переводит заявку в статус «Оплачено»Вариант B — Проверка статуса (пуллинг)
- Скрипт периодически проверяет статус инвойса/платежа по API - При успехе делает те же проверки и обновляет статус🔄 Обработка и выплата
После статуса «Оплачено» скрипт действует по настройкам направления:
Авто-обработка включена
- скрипт автоматически создаёт выплату
- отправляет средства через ноду/провайдера
- сохраняет TX Hash или payment_id
- переводит заявку в «Завершено»
Ручная обработка
- оператор проверяет поступление и выполняет выплату вручную
- при необходимости переводит заявку в «Проверка»
🛡 Защита и антифрод
Чтобы снизить риск ошибок и мошенничества, обычно включаются проверки:
- сверка суммы (± допустимая погрешность)
- контроль времени оплаты (таймер, авто-отмена)
- ограничение количества заявок с одного аккаунта
- перевод в «Ручная проверка» при аномалиях
- логирование всех действий и событий Telegram
Совет
Лучший вариант — использовать именно инвойсы и payload, тогда привязка платежа к заявке надёжнее, чем по сумме.
📣 Уведомления пользователю в Telegram
Скрипт может автоматически отправлять сообщения:
- заявка создана (номер, сумма, инструкция)
- платёж получен
- заявка в обработке
- выплата отправлена (с TX Hash)
- заявка завершена / отменена
Это повышает доверие и снижает нагрузку на поддержку.
⚙️ Что обычно настраивается в админке
- токен Telegram-бота
- режим работы (инвойсы / проверка статуса)
- список поддерживаемых валют/сетей
- таймаут ожидания оплаты
- правила перевода в «Проверка»
- шаблоны сообщений пользователю