Кассовый эквайринг Arcus2

Arcus2 - протокол эквайринга компании Ingenico, поддерживается подавляющим числом Банков.

Arcus2 должен быть установлен строго в директорию C:\Arcus2

В ином случае интеграция работать не будет!

Версия Arcus2 не ниже 2.1.0.16

Установка и настройка производится специалистами банка!

Для интеграции используется утилита командной строки: CommandLineTool.exe, по сути приложение запускает ее с нужными параметрами и считывает выходные файлы:

  • chek.out - файл со слипом
  • output_ex.dat и output_ex.txt - файлы с данными ответа от операции

Все файлы считываются в кодировке Windows 1251!

Используемый код валюты: 643

В ходе подключения пинпада, со стороны его поставщика должны быть выполнены следующие работы:

  1. Установка драйверов пинпада на ПК заказчика
  2. Установка Arcus2 на ПК заказчика
  3. Подключение пинпада к ПК заказчика
  4. Выполнение тестовых операций при помощи утилиты CommandLineTool.exe входящей к комплект ПО заказчика:
    1. Выполнение операции оплаты
    2. Выполнение операции отмены оплаты
    3. Проверка наличия следующих файлов после проведения каждой операции (в папке c:\Arcus2):
      • output.dat
      • output_ex.dat - текстовый файл с информацией об операции, должен содержать строку RC=000 или RC=0
      • output_ex.txt - текстовый файл с информацией об операции
      • cheq.out - в файле должен быть текст банковского слипа, с информацией об успешно проведенной оплате или отмене

Ниже перечислены пути и файлы которые должны существовать после установки Arcus2

  • C:\Arcus2
  • C:\Arcus2\dll\Arccom.dll
  • C:\Arcus2\CommandLineTool\bin\CommandLineTool.exe
  • C:\Arcus2\ini\ops.ini
  • C:\Arcus2\ini\cashreg.ini

Файлы ответа (chek.out, output_ex.dat и output_ex.txt) должны формироваться в C:\Arcus2

Файл должен быть расположен в C:\Arcus2\ini\, содержит основные настройки соединения с пин-падом:

  • PORT - имя COM порта, по которому подключен пин-пад. Обычно физически пин-пад подключен к компьютеру через USB, при этом устройство встает как виртуальный ком порт. Данная настройка должна совпадать с номером порта в системе. Если вы не можете определить какой из виртуальных портов пин-пад - выключите его, один из портов должен пропасть, потом включите, он снова должен появиться, используйте его номер для настройки.

Номер порта должен быть меньше 9! Если он больше, смените в настройках системы его номер на другой!

Смена настройки порта:

  1. В диспетчере устройств находим нужное устройство в разделе «Порты COM и LPT»
  2. Выбрать устройство, открыть его свойство и на вкладке «Параметры порта» нажать «Дополнительно»
  3. В открывшемся окне выбрать новый порт

Arcus2 настраивает кассовые операции в файле C:\Arcus2\ini\ops.ini (консольной утилите передается код операции, далее по этому коду уже всё выполняется пин-падом). Касса при первом обращении к пин-паду считает данный файл и определит из него настройки операций. Если данного файла нет, или в нем нет требуемой операции, то будет использовано значение по умолчанию. Ниже приведены реализованные операции в мнемонике: <код операции по умолчанию>=<класс операции>,<идентификатор операции>.

  • Продажа: 1=1,1
  • Отмена последней операции: 2=2,3
  • Возврат: 3=1,11
  • Универсальная отмена: 4=1,5
  • Закрытие дня (сверка итогов): 10=2,1

Фактически это означает, что касса «подстроится» под текущие настройки Arcus2. В случае если, в C:\Arcus2\ini\ops.ini определено несколько кодов операции для одной пары класс+идентификатор операции будет, использован первый определенный код.

В ходе тестирования выявлено, что в файлах ответа не всегда появляется идентификатор операции (RRN), т.е. он банально не заполнен. Данный идентификатор обязателен для корректной отмены операции (и/или возврата в течение текущего дня).

В случае если в файлах ответа не содержится RRN, программа будет искать в чеке первую строку вида «RRN 123456789012» и цифровое значение следующее после «RRN», длиной не менее 6 символов будет считаться как RRN операции.

Arcus2 не поддерживает возможности просмотра журнала операций пин-пада.

После списания денег с карты программа выдала ошибку, с текстом 992: УСПЕШНО (цифра может быть другой, текст тоже, но семантически мы понимаем что якобы списание прошло успешно, или же клиент нам показывает, что деньги списались). Это значит, что пинпад вернул программе статус 992, который он по каким-то причинам считает успехом, а программа - нет.

В протоколе Arcus2 успешным считается только статус операции 000, все остальные - ошибка. Поэтому все операции со статусом отличным от 000 программа считает ошибочными, т.е. списания средств по ним быть не должно.

В этом случае следует обратиться в банк эквайер для разъяснения ситуации по спорной транзакции. В случае если деньги всё же списаны вернуть их через личный кабинет юридического лица банка эквайера или через его службу поддержки!

Для справки

Информация ниже приведена для справки, не настраивайте эквайринг самостоятельно!

В настройках Arcus2 (которые должен делать банк) есть два файла:

  • rc_res.ini - в нем содержится текстовое описание статусов (т.е. там должна быть запись 992=УСПЕШНО)
  • rc_conv.ini - этот файл отвечает за преобразование статусов (т.е. он позволяет сказать что тот или иной статус является по сути успехом), так вот в этом файле в таком случае должна быть запись 992=000.

В эти файлы лезть категорически нельзя! Нужно что бы банк разобрался с настройками Arcus2 в соответствии со своими правилами.

  • public/doc/cashdesk/arcus2.txt
  • Последнее изменение: 08:25 30/11/2022
  • ili