Когда компания ищет связку HubSpot и Stripe, она обычно хочет одного: чтобы данные о платежах, подписках и клиентах были видны прямо в CRM. На первый взгляд HubSpot предлагает готовое решение — Commerce Hub с поддержкой Stripe. Но за этим скрывается дополнительная комиссия с каждой транзакции, архитектурный конфликт для SaaS-компаний и полное отсутствие синхронизации Stripe Subscriptions. Разбираем честно.
Как на самом деле устроена «нативная интеграция»
Важно понять: HubSpot не интегрируется со Stripe в классическом смысле слова. Существуют два разных продукта, которые часто путают.
HubSpot Payments — собственный платёжный инструмент HubSpot, доступный в US, UK и Канаде. Технически он работает на инфраструктуре Stripe, но это не ваш Stripe-аккаунт — HubSpot выступает merchant of record.
Stripe как payment processor в HubSpot Commerce Hub — подключение вашего собственного Stripe-аккаунта для приёма платежей через квоты, инвойсы и платёжные ссылки HubSpot. Это ближе к реальной интеграции, но со своими ограничениями.
Подводный камень: скрытые комиссии
Это первое, что нужно знать перед подключением.
| Вариант | Комиссия |
|---|---|
| HubSpot Payments | 2.9% + 0.5% platform fee HubSpot |
| Stripe через HubSpot Commerce | Ваши Stripe-тарифы + 0.75% platform fee HubSpot |
| Прямой Stripe без HubSpot | 2.9% + $0.30 — без дополнительных комиссий |
HubSpot берёт 0.5–0.75% сверху с каждой транзакции — просто за то, что платёж проходит через их интерфейс. При обороте $100 000 в месяц это $500–750 ежемесячной переплаты. При $500 000 — уже $2 500–3 750 в месяц только за интерфейс.
Для компаний с высоким транзакционным объёмом кастомная интеграция, которая передаёт данные Stripe напрямую в HubSpot без Commerce Hub, окупается за несколько месяцев.
Что нативное решение не умеет
Даже если вас устраивает комиссия, нативный коннектор упирается в серьёзные технические ограничения.
Нет синхронизации Stripe Subscriptions.
MRR, статусы подписок, даты renewal, churn — ни один из этих объектов не передаётся в HubSpot автоматически. Для SaaS-компании это означает, что менеджеры по продажам не видят в CRM реального статуса клиентской подписки.
Нет связи Stripe Customer с объектами HubSpot.
HubSpot использует Stripe как процессинговый шлюз, а не как источник данных о клиентах. Объект Stripe Customer не маппится на HubSpot Contact или Company — это две разные сущности без двусторонней связи.
Нет исторических данных.
При подключении Stripe к HubSpot Commerce история платежей из Stripe не импортируется. Все данные начинаются с нуля с момента подключения.
HubSpot становится главной системой — не Stripe.
Commerce Hub требует, чтобы инвойсы и квоты создавались в HubSpot, а Stripe был лишь процессором. Для компаний, у которых Stripe — основная биллинговая система с настроенными продуктами, ценами и подписками, это означает полный пересмотр архитектуры.
Нет поддержки Stripe Entitlements и сложных ценовых моделей.
Usage-based pricing, tiered billing, metered subscriptions — всё это есть в Stripe Billing, но не передаётся в HubSpot через нативный коннектор.
Нет обратной синхронизации failed payments.
Если платёж отклонён, карта истекла или подписка приостановлена — в HubSpot это не отражается. Менеджер по работе с клиентами узнаёт о проблеме с опозданием или не узнаёт вовсе.
Что решает кастомная интеграция от Exceltic.dev
- Прямая синхронизация Stripe Subscriptions — статус подписки, MRR, план, дата renewal и дата отмены передаются в кастомные свойства контакта и компании в HubSpot
- Маппинг Stripe Customer → HubSpot Contact/Company — при создании Customer в Stripe автоматически создаётся или обновляется соответствующий контакт в HubSpot по email
- Failed payments в CRM — при отклонении платежа или истечении карты в HubSpot создаётся задача на CSM с деталями проблемы и ссылкой на Stripe Dashboard
- Передача исторических данных — при запуске интеграции история платежей и подписок из Stripe импортируется в HubSpot через Stripe API с полным маппингом
- Usage-based billing — данные о потреблении из Stripe Meter API передаются в кастомные объекты HubSpot для отображения в карточке клиента
- Нулевые platform fees — интеграция работает через прямые API без Commerce Hub, что исключает дополнительную комиссию HubSpot с транзакций
- Триггеры из Stripe в HubSpot Workflows — события Stripe (subscription.created, invoice.paid, customer.subscription.deleted) запускают автоматизации в HubSpot: смена lifecycle stage, постановка задач, отправка уведомлений
Как работает интеграция — технический процесс
Архитектура подключения
Интеграция построена на связке Stripe Webhooks → middleware Exceltic → HubSpot CRM API. Stripe отправляет события в реальном времени через Webhook endpoints: invoice.paid, customer.subscription.updated, payment_intent.payment_failed, customer.subscription.deleted. Middleware обрабатывает каждое событие и передаёт данные в HubSpot через CRM API v3.
Аутентификация с HubSpot реализована через Private App Token — это более безопасный и стабильный метод по сравнению с OAuth для серверных интеграций. Stripe аутентифицируется через Restricted API Keys с минимально необходимыми правами доступа.
Пошаговый сценарий: клиент оформляет подписку
- Клиент оформляет подписку через Stripe Checkout или API
- Stripe отправляет событие
customer.subscription.createdна endpoint middleware - Middleware запрашивает данные Customer из Stripe:
GET /v1/customers/{id} - Система ищет контакт в HubSpot по email:
GET /crm/v3/objects/contacts?email={email} - Если контакт найден — обновляются кастомные свойства: план, MRR, статус подписки, дата renewal
- Если контакт не найден — создаётся новый контакт с полным набором данных из Stripe
- В карточке контакта HubSpot создаётся таймлайн-событие с деталями подписки
- Lifecycle Stage контакта меняется на
Customerчерез HubSpot Workflows
Сценарий: платёж отклонён
- Stripe отправляет событие
invoice.payment_failed - Middleware получает данные: Customer ID, сумма, причина отказа, количество попыток
- В HubSpot обновляется свойство
Payment Status→Failed - Создаётся задача на ответственного CSM через HubSpot Tasks API: «Платёж отклонён — свяжитесь с клиентом»
- Если попытка третья — автоматически запускается HubSpot Sequence с письмом об обновлении платёжных данных
Что происходит при ошибке
Stripe гарантирует доставку webhook минимум 3 дня с повторными попытками. Middleware дополнительно использует очередь с idempotency keys — каждое событие обрабатывается ровно один раз даже при дублированных доставках. Все события логируются с stripe_event_id для полного аудита.
Реальный кейс
SaaS-платформа для финансового планирования, 8 менеджеров по продажам и 4 CSM, ~120 новых подписок в месяц, рынок US.
Компания использовала Stripe как основную биллинговую систему с момента запуска. При внедрении HubSpot столкнулась с классической проблемой: Commerce Hub требовал перенести управление инвойсами в HubSpot, что означало полный пересмотр настроенного Stripe Billing с несколькими тарифными планами и usage-based компонентом.
Вместо переноса биллинга в HubSpot была разработана кастомная интеграция: Stripe остался главной системой биллинга, HubSpot — системой управления клиентами. Все события подписок, платежей и отмен передаются в HubSpot в реальном времени. CSM видят MRR каждого клиента, дату следующего платежа и историю инвойсов прямо в карточке контакта.
Дополнительный эффект: интеграция исключила platform fee HubSpot Commerce. При среднем обороте $380 000 в месяц экономия составила около $2 850 ежемесячно.
Результат: Stripe остался основной биллинговой системой без изменений, CSM получили полную картину по каждому клиенту в HubSpot, экономия на platform fee — $34 000 в год.
Для каких бизнесов подходит
Кастомная интеграция критически важна для SaaS-компаний, у которых Stripe — основная биллинговая система. Перестраивать работающий Stripe Billing под требования HubSpot Commerce экономически и технически нецелесообразно.
Актуальна также для компаний с высоким транзакционным объёмом — при обороте от $100 000 в месяц экономия на platform fee полностью окупает разработку интеграции в течение нескольких месяцев.
Часто задаваемые вопросы
Почему HubSpot берёт дополнительную комиссию при использовании Stripe?
HubSpot взимает platform fee (0.5–0.75%) за использование Commerce Hub — независимо от того, используете ли вы HubSpot Payments или подключённый Stripe-аккаунт. Это плата за интерфейс выставления счетов, а не за процессинг. Кастомная интеграция через API передаёт данные в HubSpot напрямую, минуя Commerce Hub и его комиссии.
Можно ли синхронизировать Stripe Subscriptions с HubSpot без кастомной разработки?
Нативный коннектор не синхронизирует объект Subscription — он работает только с платёжными транзакциями через Commerce Hub. Для передачи MRR, статусов подписок и событий отмены необходима прямая работа со Stripe Webhooks и HubSpot CRM API.
Что происходит с историческими данными Stripe при запуске интеграции?
При запуске кастомной интеграции Exceltic.dev выполняет первичный импорт исторических данных через Stripe API: клиенты, подписки, платежи за выбранный период. Данные маппируются на существующие контакты и компании в HubSpot без создания дублей.
Подходит ли интеграция для usage-based billing в Stripe?
Да. Middleware считывает данные из Stripe Meter API и передаёт значения потребления в кастомные свойства или объекты HubSpot. Это позволяет CSM видеть реальное потребление клиента прямо в CRM без перехода в Stripe Dashboard.
Сколько времени занимает разработка интеграции HubSpot и Stripe?
Базовая интеграция с синхронизацией подписок и платежей — 4–6 рабочих дней. Полная версия с историческим импортом, failed payment automation и usage-based billing — 10–14 рабочих дней. Exceltic.dev определяет точные сроки после технического брифа.
Если вы хотите видеть данные Stripe в HubSpot без переплаты за Commerce Hub и без архитектурных компромиссов — опишите вашу задачу команде Exceltic.dev.