惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
G
Google Developers Blog
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
J
Java Code Geeks
U
Unit 42
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
V
V2EX
T
Tailwind CSS Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Почему рекуррентных платежей недостаточно для подписочног...
Лидия Захарова · 2026-06-19 · via Все публикации подряд на Хабре

Почему рекуррентных платежей недостаточно для подписочного бизнеса

Простой

5 мин

6

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

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

Проблемы начинаются не из-за рекуррентных платежей, а когда от них начинают ожидать задач, для которых они не предназначены.

Что на самом деле делает рекуррентный платёж?

Чтобы понять разницу, стоит посмотреть на то, что происходит под капотом у платёжной системы, когда включается «подписка».

При первой оплате клиент вводит данные карты. Платёжная система токенизирует их, сохраняет не сам номер, а зашифрованный идентификатор. Дальше сервер говорит эквайеру: «через 30 дней спиши с этого токена 990 рублей». Эквайер это делает. Клиент получает уведомление об успешном списании, а вы получаете деньги. Расписание + токен + фиксированная сумма.

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

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

Где кончается эквайринг и начинается бизнес-логика?

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

Или совсем другой сценарий: у вас B2B-клиент, который принципиально не платит картой. Он хочет получать счёт, подписывать акт и переводить деньги с расчётного счёта раз в квартал. Для платёжной системы такой клиент просто не существует, у неё нет механики для выставления счёта, отслеживания факта оплаты по реквизитам и привязки поступившего платежа к конкретному клиенту.

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

То же самое с триальными периодами. Эквайер умеет списать деньги через N дней. Но логика «14 дней бесплатно, потом автоматически переход на платный тариф» требует, чтобы кто-то помнил, когда истекает триал, что именно активировать после него, и что делать, если пользователь в процессе триала сменил план.

Подписка — это состояние, а не транзакция

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

Биллинг знает, кто из клиентов на каком тарифе, когда следующее списание, сколько должен с учётом скидок и промокодов, как выставить счёт юридическому лицу, как рассчитать MRR с учётом всех изменений за месяц. Это не набор функций — это единая модель данных, которая описывает состояние подписочной выручки в каждый момент времени.

Без внешнего биллинга его неизбежно начинают строить самостоятельно. Сначала появляется таблица «subscriptions». Потом «subscription_history». Потом «invoices». Потом джоба в кроне, который каждую ночь проверяет, у кого истекает подписка. Потом второй — для выставления счетов юрлицам. Потом оказывается, что джоба в кроне иногда падают молча. Через эту историю прошли сотни команд и у неё есть стоимость: месяцы разработки, которые не идут в продукт, и баги в бизнес-критичном коде, которые обнаруживаются в самый неподходящий момент.

Рекуррентные платежи vs биллинг: в чём разница

Проще всего разница увидеть на конкретных задачах.

Задача

Рекуррентные платежи

Биллинговая система

Регулярно списывать фиксированную сумму с карты

Отправлять клиенту уведомление об оплате

Хранить токен карты для повторных списаний

использует эквайера

Менять тариф клиента в середине периода

Пересчитать стоимость пропорционально дням

Выставить счёт юридическому лицу

Принять оплату банковским переводом по реквизитам

Тарифицировать по потреблению (переменная сумма)

Управлять триальными периодами

Применять индивидуальные скидки

Считать MRR, ARR, churn

Работать с несколькими тарифными планами и их версиями

Прочерки в левой колонке не означают, что рекуррентные платежи чего-то не умеют. Они умеют ровно то, для чего созданы: надёжно списывать деньги по расписанию. Всё, что происходит до и после, — уже не задача эквайера.

Откуда берётся путаница?

Платёжные системы продвигают рекуррентные платежи как решение для «подписок» и формально это верно. Рекуррент действительно обеспечивает регулярное списание, и это часть подписочной модели. Просто маленькая часть.

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

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

Как понять, что рекуррентов уже мало?

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

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

Граница между «хватит эквайера» и «нужен биллинг»

Потребность в биллинге определяется не размером компании и объемом транзакций, а сложностью подписочной модели. Один тариф, никаких изменений планов — рекуррентов от эквайера вполне хватит. Если есть несколько тарифов, тестовые периоды, B2B-клиенты с оплатой по счёту, хотя бы минимальная аналитика по подпискам, то вот здесь начинается территория биллинга.

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

Вывод

Рекуррентные платежи и биллинг решают задачи с разным уровнем абстракции. Эквайер отвечает за то, чтобы деньги дошли от карты клиента до вашего счёта по расписанию. Биллинговая система отвечает за всё остальное: кто сколько должен, на каком тарифе, с какими скидками, в каком статусе и что с этим делать дальше.

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