ЛАЙН - Автоматизация бизнеса
Москва, ул. Арбат 54/2 стр.1, оф 203
8 (800) 550 86 43
Пн - Пт: с 10:00 до 19:00
Заказать звонок

Интеграция ККМ, оплат и возвратов через CRS-систему с Битрикс24

Интеграция Битрикс24 с ККМ-сервером и центральной системой бронирования CRS

Задача проекта реализовать возможность проведения платежей и возвратов из интерфейса Битрикс24. Платеж либо возврат должны пройти через CRS систему клиента - центральную систему бронирования (Central Reservation System), и после успешного проведения транзакции выдать чек на одном из 1000 аппаратов ККМ, в зависимости от данных указанных в Битрикс24.

Технические данные проекта

  1. Для соединения контрольно-кассовых аппаратов (ККМ) в единую систему был установлен и настроен ККМ сервер, который направляет необходимые запросы на указанные устройства.
  2. Все данные об услугах и проведенных ранее оплатах и суммах хранятся в клиентской CRS-системе - центральной системе бронирования (Central Reservation System).
  3. Контроль сумм осуществляется путем интеграции Битрикс24 и клиентской CRS-системы через REST API.
  4. После прохождения контроля сумм данные о транзакции направляются на ККМ-сервер для печати чеков.

Интерфейс в Битрикс24

Проект реализовывался на коробочной лицензии Битрикс24 путем разработки отдельного модуля. Добавляя новую кнопку в интерфейс сделок для отображения формы оплат и возвратов. Оплата/возврат могут проводиться как за наличный расчет, картой, так и смешанным способом. Форма позволяет выбирать один из офисов в разных городах России, а также выбирать конкретное кассовое устройство, которое привязано к офису.

Справочники и тестирование

Так как в разработке проекта принимало участие несколько команд, было развернуто несколько серверов для разработки, стенд для тестирования и конечно конечный пользовательский сервер (бой / продакшн). Использовался DevOps CI / CD подход для непрерывной поставки программного продукта и его тестирования.

Был добавлен справочник офисов, ККМ устройств с привязкой к справочнику офисов и Highload-справочник для логирования всех исходящих и входящих запросов REST API.

Для корректной работы были написаны установщики справочников, которые позволяют выдать единые идентификаторы справочников как для серверов разработки, стенда, так и продакшена.

Обмен с CRS-системой

Так как центральная система бронирования CRS хранит все данные об услугах и транзакциях клиента, то в первую очередь нам необходимо было выполнить запрос из Битрикс24 к CRS для проверки сумм. Сумма оплаты / возврата не должна превышать квоты. Если при отправке формы оплаты / возврата получен положительный ответ и все проверки сумм проходят, то мы записываем данные в Битрикс24 и передаем их на ККМ-сервер.

Для работы с CRS-системой был написан SDK на PHP для удобной и корректной работы с REST API CRS-системы.

Интеграция с ККМ-сервером

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

Для интеграции с ККМ-сервером был написан SDK на PHP для удобства разработки и поддержки интеграции.

Логирование данных

Все данные передаваемые из Битрикс24 в CRS-систему, и данные приходящие в ответ записываются в Highload-справочник. Это позволяет точно отслеживать процесс обмена, а в случае неудачи не только анализировать причину, но и проводить запрос повторно.

Также как и для связки с CRS-системой, реализована запись всех отправляемых и получаемых данных к и от ККМ-сервера, что также позволяет вылавливать ошибки и в случае необходимости повторять запрос.

Реализованный проект позволяет контролировать оплаты и возвраты напрямую из Битрикс24, обмениваться данными с CRS-системой и ККМ-сервером, что в свою очередь сильно упрощает работу менеджеров и делает работу с транзакциями клиентов более прозрачной и удобной.

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