Если ты управляешь бизнесом и хочешь автоматизировать подключение платёжных сервисов — например, SaaS-платформ, CRM, бухгалтерских систем — через Revolut Business API, то ты на правильном пути. Но тут не всё так просто, как в инструкции для фрилансера. Я видел, как компании тратили недели на попытки подключить Stripe, QuickBooks или Xero через Revolut, потому что не понимали, где и как именно нужно ставить точки над «i». В этой статье — пошагово, без воды, как делают те, кто уже прошёл этот путь.
- Зачем вообще использовать Revolut Business API для подписок?
- Что тебе нужно, чтобы начать
- Как именно оформить подписку через API
- Шаг 1: Получи API-ключи
- Шаг 2: Выбери тип платежа
- Шаг 3: Создай подписку
- Шаг 4: Подтверди подписку
- Шаг 5: Обрабатывай ошибки
- Что выбрать: Revolut API или прямая интеграция с сервисом?
- Частые ошибки — и как их избежать
- Как лучше сделать — рекомендации от практика
- Сценарии: что делать в разных ситуациях
- Ситуация 1: Ты — стартап с 3 подписками
- Ситуация 2: Ты — SaaS-компания, которая продает подписки клиентам
- Ситуация 3: Ты — аутсорс-бюро, которое платит за 20 клиентов
- Итог: что делать прямо сейчас
Зачем вообще использовать Revolut Business API для подписок?
Revolut Business API — это не просто способ оплачивать счёт. Это инструмент для автоматизации регулярных платежей между твоим бизнесом и сторонними сервисами. Например:
- Автоматически оплачивать подписку на Notion, Slack, HubSpot или Airtable каждое 1-е число месяца;
- Переводить деньги на аутсорс-бухгалтера или юриста по графику;
- Интегрировать оплату подписок в твою внутреннюю систему учёта — чтобы не вбивать вручную каждый платеж.
В отличие от ручного перевода или карты, API позволяет:
- Управлять платежами программно — через код;
- Получать статусы оплат: «успешно», «отклонено», «ожидает подтверждения»;
- Связывать платежи с внутренними ID — например, с номером клиента или заказа;
- Автоматически перезапускать проваленные платежи (если на счету не хватило денег).
Но это не «включил и забыл». Нужно понимать, как это работает — и что может пойти не так.
Что тебе нужно, чтобы начать
Перед тем как писать код или звонить в поддержку — собери три вещи:
- Аккаунт Revolut Business — не личный, не Premium, именно Business. Должен быть активен и иметь хотя бы один бизнес-счёт в EUR, GBP или USD.
- Доступ к API — его не дают автоматически. Нужно подать заявку через веб-интерфейс: «Business» → «API» → «Request Access». Обычно ответ приходит за 1–3 рабочих дня.
- Технический контакт — кто-то в твоей команде должен уметь работать с REST API, понимать, что такое OAuth 2.0, JSON и вебхуки. Если такого нет — найми фрилансера на 2–3 часа для настройки.
Если у тебя нет технического специалиста — не пытайся делать это сам, если ты не разбираешься в коде. Ошибка в одном поле — и платеж не пройдёт, а ты не узнаешь об этом неделю.
Как именно оформить подписку через API
Вот как это выглядит на практике — шаг за шагом.
Шаг 1: Получи API-ключи
После одобрения доступа ты получишь:
- Client ID — идентификатор твоего приложения;
- Client Secret — пароль для аутентификации;
- Webhook Secret — ключ для проверки подлинности уведомлений от Revolut.
Эти ключи — как пароль от банковского сейфа. Никому не передавай. Не хранить в GitHub, не вбивать в Google Sheets. Используй секрет-менеджер: Vault, AWS Secrets Manager или даже зашифрованный файл на сервере.
Шаг 2: Выбери тип платежа
Revolut Business API поддерживает два типа регулярных платежей:
| Тип | Когда использовать | Ограничения |
|---|---|---|
| Recurring Payment | Фиксированная сумма, фиксированный график (например, $99/мес) | Только для подписок, где сумма не меняется. Нельзя менять сумму без нового запроса. |
| One-time Payment + Scheduled Trigger | Переменная сумма, например, 120,85, $150 — в зависимости от использования | Требует отдельного API-вызова каждый раз. Не «подписка» в классическом смысле, но гибче. |
Если ты платишь за облачный сервер — где стоимость зависит от использования — выбирай второй вариант. Если ты просто оплачиваешь Notion — первый.
Шаг 3: Создай подписку
Чтобы создать подписку, отправь POST-запрос на эндпоинт:
POST https://api.revolut.com/business/v1/recurring-payments
Тело запроса (JSON):
{
"amount": 120.00,
"currency": "USD",
"interval": "MONTHLY",
"start_date": "2024-07-01",
"merchant_reference": "NOTION-2024-07",
"description": "Notion Business Subscription",
"payer_account_id": "acc_abc123",
"payee_account_id": "acc_xyz789",
"payee_name": "Notion, Inc.",
"payee_country": "US"
}
Обрати внимание на:
interval— может бытьDAILY,WEEKLY,MONTHLY,QUARTERLY,ANNUALLY.start_date— не может быть в прошлом. Только сегодня или позже.merchant_reference— твой внутренний ID. Он нужен, чтобы ты мог потом найти этот платеж в логах.payee_account_id— это не email, а ID счёта получателя в Revolut. Его нужно получить заранее через API или вручную в интерфейсе.
Если всё правильно — получишь ответ с status: "PENDING_APPROVAL". Это значит, что Revolut проверяет получателя. Обычно это занимает 1–2 часа. Иногда — до 24 часов, если получатель — новая компания.
Шаг 4: Подтверди подписку
После одобрения ты получишь вебхук (уведомление) на URL, который ты указал при настройке API. Пример:
{
"event_type": "RECURRING_PAYMENT_APPROVED",
"recurring_payment_id": "rp_123456",
"merchant_reference": "NOTION-2024-07",
"status": "ACTIVE"
}
Тебе нужно:
- Проверить подпись вебхука (с помощью
Webhook Secret), чтобы убедиться, что это действительно Revolut; - Обновить статус в своей системе — например, пометить подписку как «активна»;
- Уведомить пользователя, если это клиентский сервис.
Если вебхук не пришёл — не жди. Проверь статус вручную через GET-запрос:
GET https://api.revolut.com/business/v1/recurring-payments/rp_123456
Шаг 5: Обрабатывай ошибки
Платеж может провалиться по разным причинам:
- На счёте не хватает денег — статус
FAILED_INSUFFICIENT_FUNDS; - Получатель отменил подписку —
FAILED_PAYEE_REJECTED; - Счёт получателя заблокирован —
FAILED_PAYEE_ACCOUNT_BLOCKED; - Неправильный ID —
INVALID_REQUEST.
Когда платеж провалился — ты получишь вебхук с event_type: "RECURRING_PAYMENT_FAILED". Твоя задача — не игнорировать его.
Сделай автоматический retry: если не хватило денег — попробуй снова через 24 часа. Если ошибка «неправильный счёт» — отправь уведомление администратору. Не жди, пока клиент скажет: «Мы перестали получать доступ».
Что выбрать: Revolut API или прямая интеграция с сервисом?
Вот реальный сценарий. Ты хочешь оплачивать:
- Slack — $10/человек/мес
- Notion — $8/человек/мес
- Google Workspace — $6/человек/мес
Ты можешь:
- Вариант A: Подключить каждую систему через их собственный API (Slack Billing API, Notion API, Google Admin API) — и платить напрямую им.
- Вариант B: Собрать все платежи в Revolut Business API — и платить им через один центральный канал.
Сравни:
| Критерий | Прямая интеграция (Slack, Notion и т.д.) | Revolut Business API |
|---|---|---|
| Сложность | Высокая — нужно интегрироваться с каждым сервисом отдельно | Одна интеграция — и ты можешь платить любому, кто имеет счёт в Revolut |
| Гибкость | Ограничена — только те сервисы, которые поддерживают API-оплату | Любой бизнес с Revolut Business — даже если он не имеет API |
| Управление | Разрозненные интерфейсы, разные логи | Один центр — все платежи, статусы, отчёты |
| Риск | Если Slack изменит API — всё сломается | Если Revolut изменит API — ты переписываешь один модуль |
| Поддержка | Ты общаешься с 3 разными службами поддержки | Только с Revolut |
Выбирай Revolut API, если:
- Ты платишь 5+ сервисам;
- Суммы и получатели меняются;
- Ты хочешь единый отчёт по всем подпискам;
- Ты не хочешь держать 5 разных API-ключей в разных местах.
Выбирай прямую интеграцию, если:
- Ты платишь только одному сервису (например, только Slack);
- У этого сервиса есть отличная поддержка автоматических платежей;
- Ты хочешь точный контроль над тарифами и лицензиями (например, автоматическое добавление/удаление пользователей).
Частые ошибки — и как их избежать
Я видел десятки кейсов, где всё шло не так. Вот основные ошибки:
- Используют личный Revolut аккаунт — API не работает с личными аккаунтами. Только Business. Это частая ошибка у стартапов, которые думают, что «у меня же бизнес».
- Не проверяют ID счёта получателя — берут email или название компании. Нужен именно
acc_...— иначе ошибкаINVALID_PAYEE_ACCOUNT. - Игнорируют вебхуки — думают, что если запрос отправлен — всё хорошо. Нет. Статус может меняться. Без вебхуков ты не узнаешь, что платеж провалился.
- Не обрабатывают ошибки — платеж провалился, но система не уведомила ни админа, ни клиента. Через неделю клиент пишет: «Вы отключили сервис».
- Пишут платежи вручную в Excel — потом не можешь понять, кто за что платил. Всё должно быть связано с
merchant_reference. - Пытаются платить в RUB — Revolut Business API не поддерживает рубли для регулярных платежей. Только USD, EUR, GBP.
Как лучше сделать — рекомендации от практика
Вот что работает на практике:
- Создай отдельный счёт в Revolut Business только для подписок. Не смешивай его с зарплатами или закупками. Это упростит бухучёт и аудит.
- Используй один
merchant_referenceна каждую подписку — например:SLACK-CLIENT-001,NOTION-TEAM-2024. Так ты потом сможешь найти платеж по ID клиента. - Настрой уведомления — если платеж провалился, приходи уведомление в Slack или Telegram. Не жди, пока клиент пожалуется.
- Сделай автоматический retry — если не хватило денег — попробуй снова через 24 часа. 80% таких платежей проходят во второй раз.
- Храни ключи в секрет-менеджере — даже если ты один разработчик. Даже если «всё на одном сервере». Это не про безопасность — это про привычку. Когда придут ещё 3 человека — ты не будешь искать, где лежит ключ.
- Сделай тестовый режим — используй sandbox-среду Revolut (если есть) или создай тестовую компанию с нулевым балансом. Проверяй все сценарии: успешный платёж, провал, отмена, блокировка.
Сценарии: что делать в разных ситуациях
Вот как действовать, если:
Ситуация 1: Ты — стартап с 3 подписками
Ты платишь за Slack, Notion, Figma. Суммы фиксированные. У тебя один разработчик.
Решение: Используй Revolut API. Создай одну подписку на каждый сервис. Установи вебхук на простой webhook.site — чтобы видеть, что приходит. Сделай скрипт на Python, который раз в день проверяет статусы. Если что-то упало — пиши в Telegram. Просто, но работает.
Ситуация 2: Ты — SaaS-компания, которая продает подписки клиентам
Ты берёшь $15/мес с клиентов, и за это же время оплачиваешь хостинг, базу данных, поддержку. Тебе нужно, чтобы платежи шли синхронно.
Решение: Не используй Revolut API для оплаты твоих поставщиков через клиентские платежи. Это рискованно. Вместо этого — используй Revolut для своих расходов, а клиентские платежи оставь через Stripe или PayPal. Почему? Потому что если клиент отменит подписку — ты всё равно должен платить хостингу. Нельзя связывать эти два потока. Делай два отдельных канала.
Ситуация 3: Ты — аутсорс-бюро, которое платит за 20 клиентов
Ты управляешь бухгалтерией для 20 компаний. Каждая платит за свою CRM, за свой хостинг. Ты хочешь всё автоматизировать.
Решение: Используй Revolut API, но с merchant_reference вида: CLIENT-007-CRM-2024. Храни все данные в базе. Сделай отчёт, который показывает: «Клиент 7 оплатил CRM 10.07.2024 — статус: ACTIVE». Это сэкономит тебе 10 часов в месяц на ручной проверке.
Итог: что делать прямо сейчас
Если ты хочешь автоматизировать подписки через Revolut Business API — сделай это по шагам:
- Убедись, что у тебя есть Revolut Business — не личный аккаунт.
- Зайди в панель → «API» → подай заявку на доступ. Жди 1–3 дня.
- Получи ключи — и немедленно сохрани их в безопасном месте.
- Определи: фиксированная сумма? → используй
Recurring Payment. Переменная? → используйOne-time Paymentс расписанием. - Получи ID счёта получателя — не email, не название. Только
acc_.... - Создай подписку через API — и проверь статус через вебхук.
- Настрой уведомления — чтобы ты знал, когда платеж провалился.
- Проверь всё на тестовом счёте — прежде чем запускать в продакшн.
Не пытайся сделать всё сразу. Начни с одной подписки — например, Notion. Убедись, что всё работает. Потом добавь вторую. И третью. Ты не должен быть «супер-инженером» — ты должен быть системным. И это — твоя сила.
Информация в этой статье носит ознакомительный характер. Настройка API и управление финансовыми потоками требуют технических и юридических проверок. Перед внедрением проконсультируйся с техническим специалистом и финансовым консультантом.



