Как настроить публикацию событий онлайн-оплаты из CRM в Kafka через Entaxy ION

01 июл 2026

Как настроить публикацию событий онлайн-оплаты из CRM в Kafka через Entaxy ION

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

В видеоинструкции «Работа с Apache Kafka в Entaxy ION» на практическом примере показано, как настроить такую событийную шину: CRM публикует результаты онлайн‑оплат в топик Kafka payment через Entaxy ION, а 1С потребляет эти сообщения и актуализирует состояние заказов. В этой статье мы разберём архитектурный подход из видео, структуру события оплаты, особенности интеграции с платёжными шлюзами, а также требования к надёжности и логированию, чтобы вы могли воспроизвести и адаптировать этот сценарий в своей инфраструктуре.

 

Контекст кейса: CRM → Kafka → 1С

В демонстрационном сценарии Kafka используется как распределённый брокер сообщений, через который обмениваются событиями две бизнес‑системы: CRM и 1С.
CRM выступает системой‑источником и публикует сообщения о результатах онлайн‑оплаты, полученных от платёжного шлюза, а 1С — системой‑получателем, которая читает эти события и обновляет состояние заказов в режиме реального времени.

Entaxy ION в этой архитектуре играет роль интеграционного слоя: он соединяет обе системы с Kafka и обеспечивает маршрутизацию, преобразование и надёжную доставку событий.
Такой подход позволяет выстроить событийную архитектуру вокруг онлайн‑оплаты, не «сращивая» CRM и 1С напрямую и сохраняя слабую связанность компонентов.


Архитектурная схема интеграции

Сценарий из видео можно описать следующим потоком:

  • CRM фиксирует результат онлайн‑оплаты (успешно / неуспешно, детали транзакции).

  • Entaxy ION через кастомный выходной коннектор формирует событие и публикует его в Kafka в топик payment.

  • Kafka хранит и доставляет события подписчикам; в примере — интеграционный маршрут для 1С.

  • Entaxy ION через входной коннектор для 1С читает сообщения из payment и передаёт их в 1С либо выводит в лог для отладки.

Оркестрация и маршруты реализованы на базе Apache Camel внутри Entaxy ION, а работа с Kafka обеспечивается компонентом camel‑kafka, который добавляется как отдельная фича.


Настройка Entaxy ION для работы с Kafka

Предварительные требования

Чтобы Entaxy ION мог публиковать и читать события из Kafka, в него должны быть установлены необходимые бандлы и активирована фича camel-kafka.
При отсутствии поддержки Kafka на уровне компонентов администратор устанавливает соответствующую фичу, после чего маршруты получают возможность работать с Kafka‑эндпоинтами.

Kafka в примере запускается в Docker‑контейнере, что удобно для стендов разработки и тестирования.
Это упрощает развёртывание брокера, не требуя отдельной инфраструктуры, и позволяет быстро воспроизводить стенды.

Профиль системы CRM и выходной коннектор

В Entaxy ION каждая внешняя система описывается профилем.
Для CRM создаётся профиль системы и к нему подключается выходной кастомный коннектор (OUT), который отвечает за публикацию событий в Kafka.

Ключевое место настройки — точка кастомизации Custom Route:

  • внутри неё создаётся Camel‑маршрут, который принимает сообщение от CRM (или от инициирующего компонента) и отправляет его в Kafka‑топик payment;

  • в качестве конечной точки используется Kafka‑компонент с параметрами подключения (адрес брокера, имя топика, дополнительные настройки надёжности).

Таким образом, CRM «видит» только вызов коннектора Entaxy ION, а логику отправки в Kafka (формат события, ключ, партиционирование, обработка ошибок) берёт на себя интеграционная платформа.


Профиль 1С и входной коннектор для чтения топика

Для 1С создаётся отдельный профиль системы, к которому подключается входной кастомный коннектор (IN).
Этот коннектор на уровне Custom Route настраивается на чтение сообщений из Kafka‑топика payment:

  • маршрут использует Kafka‑компонент как потребителя (consumer), подписываясь на топик;

  • полученные сообщения либо напрямую передаются в 1С, либо, как в видеоинструкции, выводятся в лог для демонстрации.

Такое разделение даёт возможность:

  • независимо развивать маршруты для CRM и 1С;

  • добавлять новых потребителей (например, DWH, antifraud, monitoring), просто создав новые входные коннекторы и маршруты, подписанные на payment.


Топик payment и структура события

В демонстрационном кейсе используется единый топик Kafka — payment, в который CRM публикует события о результатах онлайн‑оплаты.
Топик выступает «шиной событий» для всех downstream‑систем, которым важен статус транзакций.

Структура события типично включает:

  • идентификатор заказа/платежа (orderId, paymentId);

  • статус транзакции (например, SUCCESS, FAILED, PENDING);

  • сумму и валюту;

  • идентификатор платёжного шлюза или канала;

  • временные метки (время инициации, время подтверждения);

  • технические поля (traceId/correlationId, версия схемы события).

Entaxy ION позволяет:

  • формировать сообщение в нужном формате (обычно JSON);

  • добавлять служебные заголовки Kafka (ключ, partition key) и Camel‑заголовки для дальнейшей маршрутизации;

  • реализовывать трансформации между внутренними моделями CRM и целевыми моделями события, используемыми в Kafka.

Важно заранее согласовать контракт события между командами CRM, 1С и другими потребителями, чтобы изменения схемы были управляемыми и обратсовместимыми.


Особенности интеграции с платёжными шлюзами

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

Entaxy ION встраивается в этот процесс следующим образом:

  • CRM при получении ответа от платёжного шлюза инициирует вызов коннектора Entaxy ION (через REST, SOAP, очередь или другой доступный канал);

  • интеграционный маршрут в ION нормализует данные ответов различных шлюзов к единой событийной модели PaymentResult;

  • далее этот нормализованный результат публикуется в Kafka‑топик payment.

Такой подход позволяет:

  • скрыть специфические форматы и протоколы платёжных шлюзов за унифицированным событием;

  • подключать новые шлюзы без изменений на стороне потребителей событий (1С, аналитика);

  • реализовать единые правила обработки ошибок, ретраев и логирования на уровне интеграционного слоя.


Требования к надёжности доставки

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

На уровне Entaxy ION и Kafka применяются следующие практики:

  • использование подтверждённой записи в Kafka (acks, репликация, настройки durability);

  • конфигурация потребителей на гарантированное чтение и корректную обработку оффсетов (например, минимум «at-least-once» семантика);

  • обработка ошибок в Camel‑маршрутах: retry‑политики, dead‑letter‑очереди/топики для проблемных сообщений;

  • разделение топиков по назначению (например, payment, payment-dlq, payment-audit) для упрощения сопровождения.

Entaxy ION, как российская интеграционная платформа, поддерживает работу в инфраструктуре, соответствующей требованиям регуляторов РФ к надёжности и отказоустойчивости, включая развёртывание в отечественных ЦОД и использование сертифицированных компонентов.


Требования к логированию и мониторингу

Для продакшн‑интеграций с платежами особенно важно детализированное логирование и мониторинг.

В рассматриваемом кейсе:

  • входной маршрут для 1С демонстрационно выводит события из топика payment в лог, что позволяет убедиться в корректности доставки;

  • логирование можно расширить, добавив: traceId/correlationId, статусы обработки, время прохождения через маршрут.

Entaxy ION интегрируется с типовой стеком мониторинга (Prometheus, Grafana, Loki и др.), что позволяет:

  • наблюдать метрики сообщений (количество, задержки, ошибки) для коннекторов и маршрутов;

  • собирать и анализировать логи брокера (Artemis, Kafka) и самой интеграционной платформы;

  • настраивать алерты по SLA интеграций онлайн‑оплаты.

Это особенно важно для соответствия корпоративным политикам ИБ и требованиям российских регуляторов по журналированию операций, связанных с платежами.


Практическая дорожная карта внедрения

Опираясь на сценарий из видео, можно выделить последовательность шагов для команд архитекторов и интеграторов:

  1. Определить доменную модель события онлайн‑оплаты (контракт между CRM, 1С и другими потребителями).

  2. Настроить Kafka‑инфраструктуру (в том числе варианты отказоустойчивости и репликации).

  3. Развернуть и сконфигурировать Entaxy ION с поддержкой camel-kafka.

  4. Создать профиль CRM, настроить выходной кастомный коннектор и маршрут публикации в топик payment.

  5. Создать профиль 1С, настроить входной коннектор и маршрут чтения из payment с последующей записью в 1С.

  6. Настроить логирование и мониторинг: трассировка маршрутов, метрики, алерты.

  7. Провести нагрузочное и отказоустойчивое тестирование сценариев онлайн‑оплаты.

 

Вышел новый релиз Entaxy ION 1.12.0. Подробности по ссылке.