FaraMirAI
  • Услуги
  • Кейсы
  • О нас
  • Блог
  • Telegram
  • Обсудить проект
Все статьи
Кейсы 9 мин чтения

Разработка лендинга под ключ за 48 часов: как мы сделали страницу донатов со счётчиком из трёх источников

Страница сбора средств за 48 часов от брифа до боевого домена: счётчик донатов из трёх источников, виджет для стрима и ни одного пароля от финансовых аккаунтов клиента.

48 часов на разработку

Дедлайн — утро субботы, доступа к финансам клиента нет

Заказчик — независимый академический хаб в Ереване. Нужна была страница сбора средств на офлайн-лабораторию с целью 5000 евро и дедлайном к утру субботы — меньше 48 часов от брифа в мессенджере до боевого домена с сертификатом. Собрать полноценный сайт в такой срок — уже вызов сам по себе, но здесь добавились платёжные ограничения: Stripe Армению не обслуживает, PayPal работает только на отправку денег, российские карты за рубежом не проходят. Сумму нужно было показывать и на странице, и в прямом эфире донат-стрима, но клиент принципиально не хотел давать доступ к своим платёжным аккаунтам — это её личный Telegram и вся финансовая история. Задача свелась не к вёрстке страницы, а к архитектуре: как считать чужие деньги, не имея права их видеть.

< 48 ч
от брифа до боевого домена
3
независимых источника сбора
0
паролей от финансов клиента
1,9 ГБ
памяти на сервере без подкачки

Сервер с 1,9 ГБ памяти без подкачки — это ограничение, а не деталь: сборка проекта на нём физически не проходит, поэтому пакет собирается локально и на боевую машину уезжает уже готовым.

Счётчик сбора из трёх источников без доступа к деньгам клиента

Сумма сбора складывается из трёх независимых каналов, и ни один не требует пароля от финансового аккаунта клиента. Донаты через Tribute прилетают вебхуками с проверкой подписи — клиент сама создаёт ключ у себя в кабинете и может отозвать его одной кнопкой, без нашего участия. Три криптокошелька (USDT в сетях Tron и Ethereum, Bitcoin) сайт опрашивает сам раз в пять минут по открытым данным блокчейна и пересчитывает в евро по текущему курсу — доступ к самим кошелькам не нужен, публичный адрес виден всем. Остальные способы поддержки клиент вводит сама в закрытой панели с телефона: кнопки быстрого плюса на +10, +50 и +100 евро удобны прямо во время эфира, когда листать сложную форму некогда.

Вебхуки Tribute
Криптокошельки (блокчейн)
Ручной ввод клиента
Один файл суммы
Сайт + виджет для OBS
  • Донаты Tribute — вебхуки с проверкой подписи, ключ клиент создаёт и отзывает сама
  • Криптокошельки опрашиваются раз в 5 минут по открытым данным блокчейна — без доступа к самим кошелькам
  • Ручной ввод остальных каналов — через закрытую панель с кнопками быстрого плюса
  • Три источника пишут в один файл, каждый в своё поле — тестами проверено, что не затирают друг друга

Виджет для OBS: цифра, которая растёт в прямом эфире

Для донат-стрима сделан отдельный виджет-оверлей под OBS: прозрачная подложка поверх картинки стрима, цифра обновляется раз в 15 секунд и плавно докручивается вместо резкого скачка, а при новом донате карточка на 2,4 секунды подсвечивается золотом — зрителю в эфире сразу видно, что донат прошёл. Прямой эфир диктует свою деталь: цифра должна не просто быть верной, а визуально сообщать о событии в моменте, а не спустя минуту после обновления страницы.

Тест на донате в 7 евро поймал баг до запуска: без проверки сумма могла записаться в сто раз больше. Пропустить такой тест на этапе разработки — значит узнать о нём на первом же реальном платеже, когда исправлять уже поздно.

Чек-лист SEO-гигиены: 20 пунктов перед запуском сайта

Функциональность — не последний шаг перед запуском: страница проходит один и тот же чек-лист из 20 пунктов, независимо от того, донатная это страница, лендинг мероприятия или сайт услуги. Технический seo аудит сайта здесь применяется не постфактум, а прямо в процессе сборки: политика конфиденциальности и условия использования, понятная кнопка действия, FAQ, корректные robots.txt и sitemap.xml, своя страница 404 вместо стандартной заглушки хостинга, alt-текст у картинок, подключённая аналитика, meta title и meta description под конкретную страницу, превью для соцсетей, favicon, canonical URL, согласие на cookies, мобильная версия, базовая доступность, проверка форм на ошибочный ввод, отсутствие битых ссылок и скорость загрузки.

Блок чек-листаЧто именно закрыто на лендинге донатов
Приватность и довериеВ подвале прямо указано «Мы не собираем ваши данные», служебные адреса закрыты от индексации
Технические основыCanonical URL, свои шрифты со своего домена, ноль внешних запросов со страницы
Проверка формТест на абсурдные значения донатов пойман до запуска, добавлен журнал сырых событий для сверки
Скорость загрузкиФоновые сцены прогнаны через свой конвейер кодирования, два формата под разные устройства

Защита, которую никто не заказывал

Отдельно нашли и закрыли уязвимость, о которой никто не просил: обход лимита попыток входа в закрытую панель через подменяемый заголовок запроса. Добавили второй слой защиты с нарастающей задержкой между попытками и сравнение пароля за постоянное время — это защита от атак по времени ответа сервера, а не декоративная мера. Любой проект с приёмом реальных платежей обязан включать такую проверку, даже если в техническом задании её не было: панель, которая может собрать деньги, автоматически становится целью для перебора паролей.

1
Разбор платёжных рельсов

Прежде чем писать код, выяснили, какие способы приёма денег вообще работают для Армении — Stripe и PayPal отпали сразу, крипта и локальный сервис остались.

2
Три независимых источника

Каждый канал сбора работает и считается отдельно, без единой точки отказа — если один источник временно недоступен, остальные два продолжают обновлять сумму.

3
Нулевой доступ к чужим финансам

Ни один из трёх источников не потребовал пароля от платёжного аккаунта клиента — компромисс между автоматизацией и приватностью решён архитектурой, а не обещанием.

4
SEO-гигиена как часть релиза

20 пунктов чек-листа — не отдельный этап после запуска, а часть той же сборки сайта, потому что на исправление после публикации у события часто просто нет времени.

Заказывать сайт имеет смысл с прицелом на реальный дедлайн события, а не абстрактный срок — платёжная механика и SEO-гигиена решаются заранее, а не в последний день перед публикацией.

Что из этого применимо к вашему бизнесу

Не обязательно собирать донаты, чтобы столкнуться с той же задачей. Любой сбор средств, предзаказ или сложная форма оплаты с несколькими способами платежа сталкивается с одной и той же дилеммой: показать клиенту прозрачную сумму, не давая доступа к его финансовым аккаунтам. Сайт с несколькими платёжными каналами требует именно такого архитектурного решения — не единой точки правды в чужом кабинете, а системы, которая складывает данные из независимых источников.

  • Если дедлайн жёсткий — считайте платёжную интеграцию отдельным риском, а не деталью вёрстки
  • Разделяйте источники данных — единая точка отказа опаснее, чем кажется на этапе разработки
  • Проходите чек-лист SEO-гигиены до запуска, а не после — часть пунктов дешевле исправить в коде, чем патчить на проде
  • Тестируйте форму с денежными полями на абсурдные значения — это самый дешёвый тест с самым дорогим потенциальным последствием ошибки
Заказать лендинг под ключСчётчик из 3 источниковВиджет для OBSКрипто без доступа к кошелькамSEO-гигиена: 20 пунктов48 часов до запускаЗаказать лендинг под ключСчётчик из 3 источниковВиджет для OBSКрипто без доступа к кошелькамSEO-гигиена: 20 пунктов48 часов до запуска
Денежный счётчик на сайте — это не вёрстка цифры на экране, а архитектурное решение: как показать сумму честно, не получая доступа к чужим финансам, и не потерять данные, если один из источников временно откажет.

Хотите такое же решение для своего бизнеса?

Обсудить проект
Footer illustration

Услуги

  • Разработка чат ботов
  • Автоматизация процессов
  • AI-интеграции
  • Telegram-каналы и боты
  • Сайты и лендинги
  • Таргет и контекстная реклама

Компания

  • О нас
  • Кейсы
  • Блог
  • Обучение
  • Контакты

Документы

  • Политика конфиденциальности
  • Обработка персональных данных

Связь

  • @Lucius_SS_Rank_Ghoul
  • WhatsApp
  • faramir.agency@gmail.com
FaraMirAI

© 2026 FaraMirAI · Политика