Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Дорбый день. Помогите плз, такая задача: подключиться к POS-терминалу Приват Банка именно по протоколу JSON из 1С 8.х. Есть драйвера в частности ВебЧек знаю, но этот драйвер по сути как я понимаю и делает что принимает запрос от программы 1С в формате какой придумали разработчики ВебЧек и ретранслируют его через JSON запросы в понятный для POS-терминала. Так вот хочется напрямую работать, не использую промежуточный драйвер. Начальные условия: - POS-терминал Привата VeriFone VX520 (но єто не важно, Приватовские все по JSON должны работать) - подключил его по сети (Lan) есть IP 192.168.10.123 - в документации Привата указано что работать нужно по порту 2000 - и обаботка с текстом ниже в любой 1С 8.2 конфигурации, пробую примитивнейшую команду отправить на терминал и получить ответ
Сервер = "192.168.10.123"; Порт = 2000; Попытка HTTPСоединение = Новый HTTPСоединение(Сервер,Порт,,,,30,,Ложь); Исключение Сообщить("1 " + ОписаниеОшибки()); Возврат; КонецПопытки;
//структура для JSON Данные = Новый Структура(); Данные.Вставить("method", "PingDevice"); Данные.Вставить("step", 0);
ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, Данные); ЗапросJSON = ЗаписьJSON.Закрыть();
HTTPЗапрос = Новый HTTPЗапрос(ЗапросJSON); HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.УстановитьТелоИзСтроки(ЗапросJSON, "UTF-8", ИспользованиеByteOrderMark.НеИспользовать); Попытка Результат = HTTPСоединение.Получить(HTTPЗапрос); Сообщить(Результат); Исключение ОписаниеОшибки = ИнформацияОбОшибке().Описание; Сообщить("2 " + ОписаниеОшибки()); КонецПопытки;
POS-терминал при выполнении процедуры пищит, то есть он что-то получает, но в результате программа 1С выдает: 2 {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(252)}: Помилка при виклику методу контексту (Получить): Помилка роботи з Інтернет: Unsupported protocol И немогу ума приложить что не так..
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Anderson @ Сегодня, 21:00
, Ни при чем, я имею ввиду что можно подключить POS-терминал через драйвер ВебЧека или еще какой, но меня это не устраивает. Я хочу именно через JSON запросы напрямую с терминалом.
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0
mfadmin_2024 @ Вчера, 17:23
, Мы когда подключали банковский терминал привата, правда не HTTP, то долго игрались, но потом оказалось, что на самом терминале нет тот протокол был установлен. Обнаружили это только когда приват решил к нам прислать их специалиста по настройке терминала. В инструкциях у них нигде такие моменты почти не описаны. И как оказалось, то нужные настройки можно получить просто позвоним оператору, сказать конкретно что именно нужно и они их высылают на терминал тут же. достаточно его перезагрузить. У нас было похожее - отправляли на терминал данные, он загорался, начинал пищать, но в ответ ошибка подключения была. Как разобрались - больше проблем не было и настройка терминала заняла 5 мин.
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
gesha2281 @ Сегодня, 9:48
, Спасибо большое, сегодня позвоню в Приват перепроверим что они там прописали именно JSON протокол. Хотя через тестовую их программу вроде они там как раз JSON протоколом ту же каманду отправляют и получают ответ, но правда там екзешник - что там внутри и на каком языке отправляется точно не понятно.
Anderson @ Вчера, 22:51
, Мы так с Вами может лет через пять к сути доберемся )) Конечно читал инструкцию, более того Приват сам декларирует что все его терминалы работают именно по протоколу JSON. И про ВебЧек я вспомнил чтоб мне не советовали установить ВебЧек и через него работать - оно так можно, но не хочу. И терминал в розетку не забыл включить. И соединение и IP адрес проверил.
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
mfadmin_2024 @ Сегодня, 10:32
, Перепроверили, JSON протокол включен на POS-термсинале, вроде все ок. Через эмулятор от ПриватБанка POS-терминал работает и команды выполняет, а вот напрямую из 1С нет, пищит и выдает ошибку: {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Помилка при виклику методу контексту (Получить): Помилка роботи з Інтернет: Unsupported protocol
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(38)}: Помилка при виклику методу контексту (Получить): Помилка роботи з Інтернет: Unsupported protocol
Ну если он по http работает то ок. Но что вы пытаетесь получить(т.е GET) через метод получить? Попробуйте POST.
Цитата(mfadmin_2024 @ 28.09.24, 10:32)
Конечно читал инструкцию, более того Приват сам декларирует что все его терминалы работают именно по протоколу JSON.
Просто я встречал работу через драйвер Addin.a_ingenicopb1c81 , JSON это уже интересней.
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
mfadmin_2024 @ 28.09.24, 21:57
, В описании вот нашел еще такое: Основа цього протоколу (далі - Протокол) - формат обміну даними JSON. Для спрощення обміну даними, байтові послідовності JSON завершуються символами-термінаторами (делімітерами) 0x00 (як рядки в мові С). Застосування делімітера покликане слугувати заміною керуючим ASCII кодам, що застосовуються в подібних протоколах. Протокол єдиний для всіх типів підключення. Внаслідок цієї установки, у разі роботи з послідовним портом, він виконує роль протоколу канального рівня. У разі IEEE 802.x, оскільки дейтаграми упаковуються в TCP/IP, протокол стає прикладним, не змінюючись за змістом.
Группа: Пользователи
Сообщений: 13
Спасибо сказали: 3 раз
Рейтинг: 3
mfadmin_2024 @ Сегодня, 8:57
, обмін йде через ТСР, наскільки я пам'ятаю. Вам треба сформований JSON перегнати в binary data, відправити через ТСР на відповідний порт, а потім слухати його, отримувати відповідь в вигляді binary data, конвертувати в текст, прочитати як JSON і далі працювати вже з цим об'єктом
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!