Подключение эквайрингового терминала ПриватБанка к 1С по протоколу JSON

Публикация № 1408984 28.07.21

Интеграция с оборудованием и сервисами - Интеграция с сервисами

ПриватБанк совмещение JSON WebSocket

Подключение Ээквайрингового терминала ПриватБанка к 1С по протоколу JSON с помощью WebSocket. Все тестирование проводил на 1С:Предприятие 8.3 (8.3.10.2561).

Доброго времени суток, уважаемые читатели!

Я хотел бы поделиться опытом совмещения 1с из Эквайринговым терминалом ПриватБанка по протоколу JSON. При подключении магазинов использовались терминал Ingenico, Verifon и один магазин с терминалом PAX A930 из ОС Андроид. 

Данный тип совмещения работает через WebSocket. WebSocket сервером выступает программка "genericDriverJson", которую предоставляет сам банк. В виде WebSocket клиента выступает 1с, из которой отправляются JSON запросы на WebSocket сервер, а он в свою очередь слушает порт (2000) терминала и отправляет/принимает с него информацию. 

Для меня основной сложностью реализации данного совмещения оказалось, то что 1с не умеет напрямую работать с WebSocket и для этого необходимо использовать внешнюю компоненту. К счастью, мир оказался не без добрых людей и внешнюю компоненту я скачал из публикации:

Внешняя компонента для работы по Web-socket протоколу x32 x64 //develop.ot-soft.ru/public/808432/ 

1. Как запустить работать WebSocket сервер?

Как я уже писал ранее этим сервером выступает программа genericDriverJson. Если Вы используете подключение терминала по USB, то необходимо использовать genericDriverJsonUSB, для Ethernet  -> genericDriverJsonETH. Для отладки запускать программу лучше в командной строке под администратором. Для постоянной работы на торговой точке (ТТ) можно создать службу в ручную.

Чтоб создать службу необходимо взять программу из папки ...\genericDriverJsonETH_27012021 скопировать на компьютер ТТ. Я копировал в корень диска С. Дальше запустить командную строку от имени администратора и в ней выполнить команду
sc create genericDriverJsonETH binPath= "c:\genericDriverJsonETH -ip xxx.xxx.xxx.xxx" DisplayName= "genericDriverJsonETH" type= own start= auto
binPath это пусть к файлу, где вы его скопировали, ip - это айпи адрес терминала в сети.

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

c:\genericDriverJsonETH -ip xxx.xxx.xxx.xxx -wsp 3001

c:\genericDriverJsonETH -ip xxx.xxx.xxx.xxx -wsp 3002

 

 

Текст успешной работы сервера из командной строки

 

 

2. Как запустить работать WebSocket клиент

Клиентом выступает программа 1с, к которой подключается внешняя компонента для работы с WebSocket. Для этого была написана обработка. В обработке при открытии происходит подключение внешней компоненты и потом подключение WebSocket-а.

Внешний вид формы. При успешном подключении светится зеленым цветом "Терминал подключен", если подключение неудачное красным "Подключите терминал" 

 

 

Обработку прикреплю в низу статьи, но без самой компоненты (внешнюю компоненту можете скачать в публикации  по тексту выше) и добавить в ОбщийМакет.WebSocket.

Когда вводим сумму и нажимаем кнопку Оплата, формируется JSON запрос такого формата:

 

При успешной оплате или ошибке в оплате терминал отправляет ответ во ВнешнееСобытие 1с, который обрабатываем отдельно и приписываем логику дальнейшей работы.

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	
	Если Источник = "WssExt2" Тогда
		Если Событие = "Ошибка" Тогда
			
		ИначеЕсли Событие = "Подключено" Тогда
			Подключено = Истина;
			ПоказатьОповещениеПользователя("Подключение", , "Подключено к " + Данные);
			УстановитьДоступность();
		ИначеЕсли Событие = "Отключено" Тогда
			Подключено = Ложь;
			ПоказатьОповещениеПользователя("Отключение", , "Отключено (код " + Данные + ")");
			УстановитьДоступность();
		ИначеЕсли Событие = "Сообщение" Тогда
			
			Результат = Новый Структура("СоответствиеДанных, ОписаниеОшибки", Новый Структура, "");
			
			//Данные = ПодтасоватьДанные(); // для тестирования оплаты без фактической оплаты по терминалу
			
			РазобратьОтвет(Данные, Результат);		
			ОбработатьРезультат(Результат);
		КонецЕсли;
	КонецЕсли;
	
	Если Подключено Тогда
		Элементы.Статус.Заголовок = "Терминал подключен";
		Элементы.Статус.ЦветТекста = Новый Цвет(50, 205, 50);
	Иначе
		Элементы.Статус.Заголовок = "Подключите терминал";
		Элементы.Статус.ЦветТекста = Новый Цвет(255, 0, 0);
	КонецЕсли;
	
КонецПроцедуры


 

Скачать файлы

Наименование Файл Версия Размер
Подключение Эквайрингового терминала ПриватБанка по протоколу JSON:

.epf 10,58Kb
16
.epf 10,58Kb 16 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. it.m.msv 18.10.21 15:45 Сейчас в теме
Добрый день. Сможете помочь с Подключение эквайрингового терминала ПриватБанка к BAS Розница, если да то как с Вами связаться?
2. Ditron 165 11.11.21 20:18 Сейчас в теме
(1)для подключения к типовым, как драйвер торгового оборудования, нужно писать компоненту, такой вариант (в публикации) хорош для самостоятельной интеграции, ну или переписывать типовые механизмы! Автору респект и спасибо за рекламу моего вебсокет-клиента ))). Но слишком много прослоек на пути к железяке: служба, компонента; там есть прямой интерфейс…
3. Timow 26.11.21 19:18 Сейчас в теме
(2) Подскажите как можно подключить без прослоек, какой интерфейс имеется ввиду?
4. Ditron 165 26.11.21 19:20 Сейчас в теме
(3)написать компоненту работающую напрямую по протоколу JSON
5. z86 55 06.12.21 13:54 Сейчас в теме
а можна два термилала одновлемено подключить ?
Оставьте свое сообщение

См. также

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB v8 Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    37728    76    Ditron    103    

Проверка QR-кода сертификата вакцинации непосредственно из 1С

Интеграция с сервисами v8 Розница УТ11 Россия Абонемент ($m)

Число заболевших новой коронавирусной инфекцией в России растет, и в регионах постепенно вводят новые ограничения. С 1 декабря во многих регионах России QR-коды должны спрашивать: предприятия общественного питания, кроме производственных столовых, вокзалов и аэропорта. Объекты розничной торговли, кроме аптек, автозаправок, продуктовых магазинов и магазинов, реализующих товары первой необходимости, а также магазинов без зала обслуживания. Дома отдыха. Проверку QR-кодов должен производить персонал при помощи мобильного телефона и специального приложения. Данное решение позволяет отказаться от использования мобильного приложения и выполнять проверку QR-кода средствами 1С непосредственно перед продажей.

2 стартмани

24.11.2021    804    3    ooott    1    

Анализ ключевых слов в вакансиях на SuperJob

Интеграция с сервисами v8 1cv8.cf Абонемент ($m)

Учебная обработка для работы с API SuperJob.

1 стартмани

19.11.2021    738    0    Axel_F    2    

Добавление водителя в систему ВИАЛОН из 1С: Бухгалтерии предприятия, редакция 3.0 по API

Интеграция с сервисами v8 v8::БУ БП3.0 Абонемент ($m)

Добавление списка водителей в систему ВИАЛОН из 1С: Бухгалтерии предприятия, редакция 3.0 по выбранным физическим лицам.

1 стартмани

19.11.2021    679    0    artemua    0    

 Интеграция 1С и C#. Обращение к 1С через COM. Создание номенклатуры и выполнение запроса к 1С из C# на примере интеграции с Союз-PLM (система информационной поддержки жизненного цикла изделий). Обработка «Загрузка заказа на сборку». (ERP) Промо

Загрузка и выгрузка в Excel Внешние источники данных Интеграция с сервисами v8 ERP2 Абонемент ($m)

Союз-PLM представляет собой полнофункциональный программный комплекс для решения  широкого спектра задач управления инженерной технической информацией наукоемких изделий и сложных инженерных объектов в области машиностроения, приборостроения, архитектуры, строительства. На практике, это управление конструкторской документацией, интегрированное с САПР, бизнес-процессы, файловый архив. Все это работает в SQL и шевелится с помощью скриптов на C#. Скрипты свободно  отлаживаются в MS Visual Studio. Подробнее смотрите на их сайте: http://www.programsoyuz.ru/products/system-soyuz-plm.html  Редактирование, конструирование и использование бизнес-процессов на порядок лучше систем на базе 1С из тех, что я изучил.

1 стартмани

25.07.2016    54811    5    milkers    2    

Проверка QR-кодов сертификатов о вакцинации через API Госуслуги, Mos.ru

Интеграция с сервисами v8 1cv8.cf Россия Абонемент ($m)

Обработка проверки сертификата о вакцинации по QR-коду. Запрос через API, разбор ответа с отображением и возможным сохранением результатов.

1 стартмани

18.11.2021    1124    6    stelsblg    12    

Чтение задачи с Битрикс24 (Reading task with Bitrix24)

Интеграция с сервисами Task Manager v8 1cv8.cf УУ Абонемент ($m)

Обработка используется для чтения "Задач" из "Bitrix24" через встроенные "WebHook".

2 стартмани

28.10.2021    1123    1    ArvidasSabonisaBE    1    

Модуль для работы 1С (платформа 8.2 и выше) с внешними SOAP Web-сервисами Промо

Внешние источники данных WEB Интеграция с сервисами v8 1cv8.cf Абонемент ($m)

Модуль для работы 1С (платформа 8.2 и выше) с внешними Web-сервисами, реализованными по протоколу SOAP.

2 стартмани

15.02.2016    44779    86    lunjio    15    

Интеграция с OneDrive через Microsoft Graph

Интеграция с сервисами v8 1cv8.cf Россия Абонемент ($m)

Подключение к Microsoft Live через приложение. Настройка приложения и разрешений.

2 стартмани

24.09.2021    928    5    Tony_Medvedos    0    

Полноценная работа с COM портом через библиотеку MSComm

Интеграция с сервисами v8 1cv8.cf Абонемент ($m)

Чтение и запись в COM порт через библиотеку MSComm. Без бесконечных циклов и прочих костылей.

1 стартмани

15.09.2021    3079    35    vadnevzorov    5    

Формирование мэппинга между конфигурациями при использовании формата EnterpriseData

Интеграция с сервисами Анализ и проектирование ИТ-систем Перенос данных из 1C8 в 1C8 v8 КД 1С:Франчайзи, автоматизация бизнеса Россия Абонемент ($m)

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

1 стартмани

26.08.2021    1435    1    maraty    5    

7 причин, почему интеграция стала приятной. Не упускайте ряд потрясающих возможностей Промо

Внешние источники данных Интеграция с сервисами Мобильная разработка v8 1cv8.cf Абонемент ($m)

В статье показаны примеры получения данных без программирования на стороне «1С:Предприятие 8». Вам нужно проверить гипотезу и проанализировать данные, почему бы не интегрироваться с Excel? Используете технологии .NET и «1С:Предприятие 8», процесс связывания систем движется катастрофически медленно? Хотите native Android приложение с вашими данными всегда под рукой?

1 стартмани

01.10.2015    63055    51    pbazeliuk    23    

Интеграция YCLIENTS с 1С: Бухгалтерией

Интеграция с сервисами v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Загрузка данных из системы YCLIENTS в 1С: Бухгалтерию 3.0 через API.

2 стартмани

22.07.2021    1838    3    Vatabine    3    

Загрузка данных о поступлении наличных из программы Algoritm-S (Алгоритм-С) АВТОМАТИЗАЦИЯ АПТЕК

Обмен через XML Интеграция с сервисами v8 БП3.0 Абонемент ($m)

Загрузка в 1с Бух данных о поступлении наличных выгруженных в XML из программы Алгоритм-С

10 стартмани

21.06.2021    1683    1    ah7777777    0    

Интеграция 1С: УТ 11.4 и эквайринга Сбербанка

WEB Эквайринг v8 v8::ОУ УТ11 Россия УУ Абонемент ($m)

Интеграция 1С: УТ 11.4 и интернет эквайринга через API для принятия оплаты от клиентов через интернет-эквайринг Сбербанка и автоматический учет оплат по заказам покупателей в 1С.

4 стартмани

27.05.2021    2998    21    Hexkiller    11    

1C + jabber + python Промо

Сервисные утилиты Интеграция с сервисами Практика программирования v8 1cv8.cf ДО Абонемент ($m)

Отправка сообщений в jabber из 1С [Документооборота] при помощи python-скрипта.

1 стартмани

14.04.2014    29181    15    Mogidin    2    

Автоматическая синхронизация данных в Active Directory из 1С: ЗУП

Интеграция с сервисами Внешние источники данных v8 v8::СПР ЗУП3.x Абонемент ($m)

Была задача настроить автоматическую синхронизацию данных в Active Directory из 1С: ЗУП, делюсь результатами.

2 стартмани

13.04.2021    2748    15    77dream77    0    

Добавляем в Конвертацию данных 2.1 средства для работы с GIT

Интеграция с сервисами Git (GitHub, GitLab, BitBucket) Обмен данными и распределенная БД v8 КД Абонемент ($m)

В КД2 добавлен функционал для простой работы с GIT, а также с плагином GitRules, при помощи которого единый XML файл раскладывается на "исходники". В результате получаем решение для совместной работы с правилами обмена. В то же время разработчикам не нужно изучать консольные команды GIT, достаточно иметь общее представление о его работе.

1 стартмани

11.03.2021    4115    10    tambu    11    

Интеграция сервиса проверки идентификационных реквизитов юридических лиц по данным ЕГРН и 1С:Предприятие 8

WEB Интеграция с сервисами Практика программирования v8 1cv8.cf Россия БУ Госбюджет НУ Налог на прибыль Абонемент ($m)

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

1 стартмани

10.03.2021    2949    2    RinaKate97    3    

Описание работы внешней компоненты 1С SBRFCOM.DLL для обслуживания банковских карт

Эквайринг Разработка внешних компонент v8 1cv8.cf Россия Абонемент ($m)

Описание работы внешней компоненты 1С SBRFCOM.DLL для обслуживания банковских карт, приведены методы и функции по работе с данной компонентой.

1 стартмани

09.03.2021    3794    16    artemua    7    

Пример обмена данными через XDTO

Внешние источники данных Интеграция с сервисами v8 УНФ БП3.0 УТ11 КА2 Абонемент ($m)

Пример обмена данными между 1С и сторонним приложением посредством механизма XDTO.

1 стартмани

01.03.2021    5674    7    user925427    2    

Экспорт данных в csv

Внешние источники данных Интеграция с сервисами v8 v8::УФ 1cv8.cf Украина Абонемент ($m)

Шаблон обработки для выгрузки справочников/регистров в файл csv.

1 стартмани

18.02.2021    2815    6    Tamplier    2    

Интеграция 1С и Trello

Интеграция с сервисами v8 1cv8.cf Абонемент ($m)

В публикации и приложенной обработке описываются методы взаимодействий между 1С и облачным сервисом Trello по API.

1 стартмани

11.01.2021    3873    6    Andreyyy    0    

Получение скриншота с камеры Hikvision при digest-аутентификации

Интеграция с сервисами v8 1cv8.cf Россия Абонемент ($m)

Имея подключенную ip-камеру, требуется по нажатию кнопки в документе 1С получать изображение. Может быть полезна при организации рабочих мест на проходных, весовых и т.п.

1 стартмани

30.12.2020    3013    7    garagauto    4    

Загрузка данных в 1С:Бухгалтерию ред. 3.0 из файла (DBF) СмартАптека.

Обработка документов Файловые протоколы обмена, FTP Внешние источники данных Интеграция с сервисами v8 БП3.0 Фармацевтика, аптеки Россия Абонемент ($m)

Загрузка данных в 1С:Бухгалтерию ред. 3.0 из файла (DBF) СмартАптека. Возможность переноса прихода - Поступление товаров, реализации - Отчет о розничных продажах, Реализация товаров, перемещение между складами - Перемещение товаров. Товар свернут, суммовой учет. Автоматический формирует КО, себестоимость устанавливает из СмартАптеки для КУДиР.

2 стартмани

04.12.2020    3878    28    art-nv    12    

Формирование файла загрузки реализаций для сайта sti.gov.kg

Интеграция с сервисами v8 БП1.6 Кыргызстан НУ НДС Абонемент ($m)

Обработка предназначена для старых версий БП для Кыргызстана 1.6 и 1.7

1 стартмани

18.09.2020    3517    0    Fox-trot    0    

Загрузка выручек касс по API с 1-ОФД (1-OFD.RU)

Обработка документов Кассовые операции ККМ Интеграция с сервисами v8 Розница Абонемент ($m)

Обработка позволяет формировать отчеты о розничных продажах средствами API с 1-ОФД (1-OFD.RU)

2 стартмани

18.09.2020    4189    9    ketr    4    

Загрузка из Frontol. Расширение для БП (КОРП)

Интеграция с сервисами ККМ Адаптация типовых решений v8 v8::БУ БП3.0 Абонемент ($m)

Простое расширение для загрузки продаж и кассовых операций из систем Frontol. Может использоваться как основа для более полной интеграции

3 стартмани

10.09.2020    3834    1    pbabincev    3    

Конструктор Json Schema с функцией валидации JSON

Обмен данными и распределенная БД WEB Интеграция с сервисами Языки и среды v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Абонемент ($m)

Инструмент для создания Json-схем по формату 4 драфта. В современном мире модно пользоваться Http-сервисами и Json, но если для старого доброго xml все уже придумано и xsd схемы можно рисовать в 1С из коробки, то с json и его форматом Json schema все не так хорошо. Зачастую нужно стандартизировать формат сообщений обмена json и для этого можно воспользоваться Конструктором. Есть возможность проверить свой Json на соответствие схеме. Схемы после выгрузки проходят валидацию в Liquid studio 2020. Стандартизируйте обмен Json с комфортом и удобством.

1 стартмани

16.07.2020    7756    23    Segate    7    

IoT (Internet of Things) в 1С или как подружить 1С с ESP32 при помощи MQTT-брокера

WEB Интеграция с сервисами Интернет вещей (IIoT) Интеграция с оборудованием и сервисами v8 Абонемент ($m)

Что делать, если надо подключить удалённое устройство к серверу 1С, но ни устройство, ни сервер 1С нельзя "светить" наружу? А если таких устройств десятки или сотни по всей стране? Ответ: Использовать промежуточный сервис, который будет пересылать данные между сервером 1С и устройствами. Такие функции замечательно выполняет MQTT-брокер, но вот не задача, 1С не умеет с ним работать.

1 стартмани

25.06.2020    8884    10    frutty    19    

Интеграция АЗС ТОПАЗ и Штрих-М Магазин

Внешние источники данных Интеграция с сервисами v8 1cv8.cf Россия Абонемент ($m)

Обмен данными между АЗС Топаз 3.14 и 1С на примере Штрих-М: Магазин, редакция 5.1 (5.1.6.8).

1 стартмани

17.06.2020    4283    2    Ignatov_mu    0    

Автоматическая загрузка накладных от поставщиков из электронной почты (Розница 2.2)

Обработка документов Розничная торговля Учет ТМЦ Интеграция с сервисами Email v8 Розница Россия УУ Абонемент ($m)

Данная обработка предназначена для получения файлов (*.xls;*.xlsx;*.ods;*.dbf) с почтового сервера вашей электронной почты и загрузки прочитанных данных в документы «Поступление товаров». Так же присутствует возможность распаковки архивов, если поставщик шлет вам в письме архивированные файлы (RAR; ZIP; 7Z). Наличие установленного MS Office и Open Office не требуется.

5 стартмани

18.05.2020    6616    8    StiVitS    6    

Сканирование магнитных карт (python) и миграция данных в 1С (http - сервис)

Интеграция с сервисами Практика программирования v8 1cv8.cf Абонемент ($m)

Скрипт чтения com порта (python) и расширение (*.cfe) для приема пакета сообщений в json.

1 стартмани

06.05.2020    4240    1    Legavaz    0    

Интеграция системы Mikbill и 1С:Бухгалтерия 3.0

Интеграция с сервисами Внешние источники данных v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Обработки позволяют настроить интеграцию биллинговой системы Mikbill и 1С:Бухгалтерия3.0.

1 стартмани

29.04.2020    6618    0    z_d_v    0    

И еще раз о HTTP-сервисах

WEB Внешние источники данных Интеграция с сервисами v8 БП3.0 ЗУП3.x Россия Абонемент ($m)

Как разработать  подсистему обмена  с сильно ограниченными правами доступа к базе вопрошающего субъекта с использованием различных вариантов маршрутизации.

10 стартмани

28.04.2020    8357    8    zavsom    2    

Примеры запросов с календарем Outlook через EWS

Интеграция с сервисами v8 v8::УФ 1cv8.cf Абонемент ($m)

Примеры создания/изменения/получения/удаления событий календаря Outlook пользователя из 1С через EWS.

2 стартмани

23.04.2020    5158    26    77dream77    1