Обсудить задачу

Сайт с подпиской: как устроена техническая часть

6 октября 2026 · Dev Nomad Studio
Сайт с подпиской: как устроена техническая часть

Сайт с подпиской — это не просто кнопка «Оплатить». Это рекуррентные списания, контроль лимитов, защита от накрутки бесплатного тарифа и механизм возвратов. Каждый элемент влияет на то, сколько денег вы потеряете на мошенниках и сколько клиентов уйдут из-за технических сбоев.

Рекуррентные платежи: как это работает

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

Важный момент: не все платёжные системы поддерживают рекурренты. ЮKassa, CloudPayments, Stripe — да. Robokassa — нет, там только разовые платежи. Если вы выбрали кассу без рекуррентов, придётся каждый месяц отправлять клиенту ссылку на оплату вручную. Это убивает конверсию: человек забывает, откладывает, отвлекается — и вы теряете деньги.

Ещё одна ловушка: банк может отклонить списание. На карте недостаточно денег, она заблокирована, истёк срок действия или сработала антифрод-система. Сервис должен это отловить, отправить клиенту письмо с просьбой обновить карту и заморозить доступ через 3-5 дней. Если этого не сделать, клиент будет пользоваться услугой бесплатно, пока вы не заметите.

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

Пакеты и лимиты: как не дать клиенту съесть больше, чем оплатил

Каждый тариф — это набор лимитов: количество запросов в месяц, объём хранилища, число пользователей. Система должна считать, сколько клиент потратил, и останавливать его, когда лимит кончился. Звучит просто, но тут есть подводные камни.

Первый: когда обнулять счётчик? Если вы обнуляете его 1-го числа каждого месяца, клиент, оплативший 15-го, потеряет половину периода. Правильный способ — обнулять в день продления подписки. Оплатил 15 марта — счётчик обнуляется 15 апреля.

Пример из нашего PromptPilot: у тарифа Start — 10 переупаковок видео в месяц. Счётчик привязан к дате оплаты, а не к календарному месяцу. Если лимит исчерпан, сервис предлагает докупить пакет из пяти дополнительных переупаковок за 490 рублей или перейти на тариф выше. Без этого предложения клиент просто уйдёт.

Второй момент: лимиты должны быть видны клиенту в личном кабинете. Не просто «осталось 3 из 10», а с прогресс-баром, датой обновления и кнопкой докупить. Люди нервничают, когда не понимают, сколько у них ещё есть. Если информация спрятана, они напишут в поддержку или уйдут к конкуренту.

Третий: что делать, если клиент исчерпал лимит за три дня? Можно заморозить доступ до следующего периода — но тогда он разозлится. Можно предложить перейти на тариф выше с пересчётом — это честнее. Мы в SiliconSense делаем так: показываем, сколько клиент сэкономит, если перейдёт сейчас, и списываем только разницу между тарифами пропорционально оставшимся дням.

Защита от накрутки бесплатного тарифа

Бесплатный тариф — это приманка для новых клиентов. Но он же — дыра для мошенников, которые будут регистрировать сотни аккаунтов и выкачивать ресурсы. Если не защититься, вы потеряете деньги на хостинге, API и поддержке.

Базовая защита: привязка к номеру телефона или email с подтверждением. Это отсекает ботов, но не останавливает человека с десятком SIM-карт или временных почт. Более надёжный способ — fingerprinting: система запоминает отпечаток браузера (разрешение экрана, часовой пояс, установленные шрифты, версия WebGL, список плагинов) и блокирует повторную регистрацию с того же устройства. Даже если мошенник сменит IP и почту, отпечаток останется тем же.

В SiliconSense мы добавили ещё один слой: бесплатный тариф даёт доступ к каталогу промптов и базовым инструментам, но продвинутые функции (разделение на стемы, мастеринг, клонирование голоса) открываются только после первой оплаты. Мошеннику это не интересно — он ищет, где можно взять всё и сразу. Тот, кто пришёл попробовать всерьёз, заплатит за расширенные возможности.

Ещё один момент: rate limiting — ограничение скорости запросов. Если клиент на бесплатном тарифе делает 100 запросов в минуту, это не человек. Ограничьте скорость до разумной: 10 запросов в минуту для бесплатного тарифа, 100 — для платного. Это не помешает нормальному использованию, но остановит скрипты.

И последнее: логируйте подозрительную активность. Если с одного IP за день зарегистрировалось пять аккаунтов, это повод для ручной проверки. Автоматика не всё поймает — иногда нужен человеческий взгляд.

Возвраты: как не потерять деньги и репутацию

Клиент может запросить возврат, если передумал, не смог разобраться или сервис не оправдал ожиданий. Если вы откажете, он пойдёт в банк с chargeback — и тогда платёжная система заблокирует деньги, возьмёт штраф (от 500 до 3000 рублей за каждый случай) и повысит комиссию за транзакции. При большом количестве чарджбэков касса может вообще отключить вас.

Проще сделать возврат самому. Большинство касс позволяют вернуть деньги через API в течение 3-6 месяцев. Главное — прописать в оферте условия: возврат возможен в течение 7 дней, если клиент не использовал больше 10% лимита тарифа. Без этого пункта вам придётся возвращать деньги всем подряд, даже тем, кто выкачал все ресурсы.

Важный момент: если клиент оплатил подписку на год, а через месяц попросил вернуть деньги, вы возвращаете только неиспользованную часть. Пропорционально: 11 месяцев из 12. Это справедливо и законно. Формула простая: (полная стоимость / 12) × количество неиспользованных месяцев.

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

И последнее: автоматизируйте процесс. Если клиент запрашивает возврат через личный кабинет, система должна проверить условия (срок, процент использования) и либо вернуть деньги автоматически, либо передать запрос вам на ручное рассмотрение. Без этого вы будете тонуть в письмах.

Что ещё нужно учесть: письма, админка, аналитика

Письма

Клиент должен получать уведомления о каждом списании, об исчерпании лимита, о приближении даты продления (за 3 дня), об истечении пробного периода. Если этого нет, он не поймёт, почему с карты ушли деньги, и напишет в поддержку или в банк. Письма должны быть короткими, с суммой, датой следующего списания и ссылкой на управление подпиской.

Пример: «Списано 990 ₽ за тариф Start. Следующее списание — 15 апреля. Отменить подписку можно в личном кабинете». Никакой воды, всё по делу.

Ещё один момент: письма должны уходить с вашего домена (info@yourservice.com), а не с noreply@gmail.com. Это вопрос доверия. Мы настраиваем почту со своего домена в каждом проекте — это входит в стоимость сервиса под ключ.

Админка

Вам нужна панель, где видно: кто сколько платит, кто просрочил оплату, кто исчерпал лимит, сколько новых регистраций за день, сколько чарджбэков за месяц. Без этого вы не увидите проблему, пока не станет поздно.

В наших проектах админка показывает графики по выручке, конверсии из регистрации в оплату, среднему чеку и оттоку клиентов. Если отток вырос — смотрите, на каком тарифе это произошло, и разбирайтесь, что не так.

Аналитика

Подключите цели в Яндекс Метрике или Google Analytics: регистрация, первая оплата, продление подписки, отмена подписки. Это покажет, на каком этапе люди уходят. Если 50% регистрируются, но только 5% платят — проблема в цене, в непонятном интерфейсе или в том, что бесплатный тариф даёт слишком много.

Ещё один полезный срез: cohort-анализ. Сколько клиентов, зарегистрировавшихся в январе, продлили подписку в феврале, марте, апреле? Если после второго месяца уходят 70% — значит, сервис не удерживает. Ищите причину: мало функций, плохая поддержка, высокая цена.

Сколько стоит сделать сервис с подпиской

На рынке такие проекты идут от 150 000 до 800 000 рублей в зависимости от сложности. Нижняя граница — это простой сервис с одним тарифом, базовой защитой и минимальной админкой. Верхняя — многоуровневая подписка с гибкими лимитами, API для интеграций, белым лейблом для партнёров, детальной аналитикой и автоматизацией возвратов.

В Dev Nomad Studio сервис под ключ с рекуррентными платежами, лимитами, админкой и защитой от накрутки стоит от 210 000 рублей. Срок — от двух недель. В эту цену входит: личный кабинет с управлением подпиской, оплата пакетами или подпиской через ЮKassa (карты, СБП), админка с графиками по выручке и оттоку, почта со своего домена с автоматическими уведомлениями, защита от накрутки через fingerprinting и rate limiting. Месяц поддержки после сдачи — тоже в цене. Две правки в рамках задачи входят, дальше — почасово.

Половину суммы можно оплатить на сайте кнопкой «Половина» (devnomad.studio/pay), вторую — по сдаче. Работаем как частный специалист, счетов и актов с печатью не выдаём — если они вам нужны для бухгалтерии, скажите сразу, чтобы не тратить время.

Если вы пока не уверены, что именно вам нужно, можно начать с разбора бизнеса за 3 300 рублей. Вы подробно рассказываете о своём деле, бот собирает и структурирует информацию, а я лично даю финальные рекомендации: что автоматизировать, какие функции критичны, а какие можно отложить. Срок — 1-3 дня. Это хороший первый шаг, если не хотите переплатить за лишнее или упустить важное.

Что мы НЕ берём: медицину с хранением персональных данных по 152-ФЗ, финансовые лицензии, проекты, где нужна юридическая обвязка, а не только код. Там требования другие, и лучше идти к тем, кто специализируется на этом.

Что делать дальше

Сервис с подпиской — это не только код, но и продуманная логика: рекуррентные платежи, лимиты, защита от мошенников, прозрачные возвраты и понятные уведомления. Каждый элемент влияет на то, сколько клиентов останется через месяц и сколько денег вы потеряете на технических недоработках. Если хотите запустить такой проект, начните с разбора задачи — это поможет не переплатить за лишние функции и не упустить критичные. В Dev Nomad Studio мы собираем сервисы под ключ от двух недель: с оплатой, админкой и защитой. Половину суммы можно оплатить на сайте кнопкой «Половина», вторую — по сдаче.

Частые вопросы

Можно ли сделать подписку без рекуррентных платежей?Можно, но каждый месяц придётся отправлять клиенту ссылку на оплату вручную. Конверсия упадёт в несколько раз — люди забывают, откладывают, теряют письмо.
Как защититься от chargeback?Пропишите в оферте условия возврата и возвращайте деньги сами, если клиент просит в первые 7 дней и не использовал больше 10% лимита. Это дешевле, чем штраф от банка и повышенная комиссия.
Нужна ли админка, если клиентов пока мало?Да. Без неё вы не увидите, кто не продлил подписку, кто накручивает бесплатный тариф и где теряются деньги. Админку проще встроить сразу, чем добавлять потом, когда клиентов станет много.
Можно ли принимать оплату из-за рубежа?Да, через Stripe, PayPal или Paddle. Но для этого нужна регистрация компании за рубежом или статус ИП с валютным счётом. Мы подключаем такие кассы в рамках проекта.
Что делать, если клиент исчерпал лимит раньше срока?Предложите докупить дополнительный пакет или перейти на тариф выше с пересчётом. Если просто заморозить доступ, клиент разозлится и уйдёт.
Как часто нужно отправлять уведомления о продлении?За три дня до списания и в день списания. Этого достаточно, чтобы клиент был в курсе, но не раздражался от спама.
Сервис под ключ — от 210 000 ₽

Личный кабинет, оплата пакетами или подпиской, админка с графиками, почта со своего домена, защита от накрутки. Полноценный продукт, а не визитка. Срок: от 2 недель.

Обсудить задачу Оплатить
Картой, по СБП или PayPal. Крупные работы можно оплатить половиной: половина на старте, половина по сдаче.