Кассовый эквайринг Arcus2
Установка
Arcus2 должен быть установлен строго в директорию C:\Arcus2
В ином случае интеграция работать не будет!
Версия Arcus2 не ниже 2.1.0.16
Установка и настройка производится специалистами банка!
Для интеграции используется утилита командной строки: CommandLineTool.exe
, по сути приложение запускает ее с нужными параметрами и считывает выходные файлы:
chek.out
- файл со слипомoutput_ex.dat
иoutput_ex.txt
- файлы с данными ответа от операции
Все файлы считываются в кодировке Windows 1251!
Используемый код валюты: 643
Порядок приема работ от поставщика пинпада\эквайринга
В ходе подключения пинпада, со стороны его поставщика должны быть выполнены следующие работы:
- Установка драйверов пинпада на ПК заказчика
- Установка Arcus2 на ПК заказчика
- Подключение пинпада к ПК заказчика
- Выполнение тестовых операций при помощи утилиты
CommandLineTool.exe
входящей к комплект ПО заказчика:- Выполнение операции оплаты
- Выполнение операции отмены оплаты
- Проверка наличия следующих файлов после проведения каждой операции (в папке
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
Настройка
При подключении по USB: Запрет отключения устройства для экономии электропитания
cashreg.ini
Файл должен быть расположен в C:\Arcus2\ini\
, содержит основные настройки соединения с пин-падом:
- PORT - имя COM порта, по которому подключен пин-пад. Обычно физически пин-пад подключен к компьютеру через USB, при этом устройство встает как виртуальный ком порт. Данная настройка должна совпадать с номером порта в системе. Если вы не можете определить какой из виртуальных портов пин-пад - выключите его, один из портов должен пропасть, потом включите, он снова должен появиться, используйте его номер для настройки.
Заголовок
Номер порта должен быть меньше 9! Если он больше, смените в настройках системы его номер на другой!
Смена настройки порта:
Реализуемые операции
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, программа будет искать в чеке первую строку вида «RRN 123456789012» и цифровое значение следующее после «RRN», длиной не менее 6 символов будет считаться как RRN операции.
Журнал операций
Arcus2 не поддерживает возможности просмотра журнала операций пин-пада.
Проблемы
Деньги с карты списались, но программа сочла это ошибкой
После списания денег с карты программа выдала ошибку, с текстом 992: УСПЕШНО
(цифра может быть другой, текст тоже, но семантически мы понимаем что якобы списание прошло успешно, или же клиент нам показывает, что деньги списались). Это значит, что пинпад вернул программе статус 992
, который он по каким-то причинам считает успехом, а программа - нет.
В протоколе Arcus2 успешным считается только статус операции 000
, все остальные - ошибка. Поэтому все операции со статусом отличным от 000
программа считает ошибочными, т.е. списания средств по ним быть не должно. Номер ошибки, это статус который возвращает нам Arcus2
В этом случае следует обратиться в банк эквайер для разъяснения ситуации по спорной транзакции. В случае если деньги всё же списаны вернуть их через личный кабинет юридического лица банка эквайера или через его службу поддержки!
Для справки
Информация ниже приведена для справки, не настраивайте эквайринг самостоятельно!
В настройках Arcus2 (которые должен делать банк) есть два файла:
rc_res.ini
- в нем содержится текстовое описание статусов (т.е. там должна быть запись992=УСПЕШНО
)rc_conv.ini
- этот файл отвечает за преобразование статусов (т.е. он позволяет сказать что тот или иной статус является по сути успехом), так вот в этом файле в таком случае должна быть запись992=000
.
В эти файлы лезть категорически нельзя! Нужно что бы банк разобрался с настройками Arcus2 в соответствии со своими правилами.