протокол ARCUS от Ingenico

Что нас интересует в протоколе ARCUS от компании Ingenico? Как интегрировать работу с банковским терминалом в наше программное обеспечение , например, в автоматизированное рабочее место кассира.

Существует два подхода для оплаты банковской картой:

Первый это когда терминал сам напрямую связывается с банком (по LAN, WiFi, GSM)

фотка 1

И второй вариант это когда у терминала нет интерфейсов типа LAN, WiFi, GSM , а есть только USB. И часто у такого терминала нет еще и печатающего устройства , и это уже тогда называется пинпад. Смысл всего этого в удешевлении стоимости терминалов.

Как следствие связь с банком происходит через Кассу (или ПК) по USB , по зашифрованному трафику.

фотка 2

При установке драйверов под Windows необходимо на начальном этапе выбрать используемый протокол OpenWay, SmartVista, Tieto и т.д.

фотка 3

Управление терминалом под Windows идет через библиотеку Arccom.dll. Для примера есть консольная программка CommandLineTool.exe, с помощью которой можно проверить принятие оплаты, возврат и т.д.


C:\Arcus2\CommandLineTool>bin\CommandLineTool.exe /?
DLL from: C:\Arcus2\DLL\Arccom.dll

CommandLineToolEx for Arcus 2.1.x.x

Usage:
CommandLineToolEx [/?] [/help] [/hide] [/console] [/arcusid] [/mcc]
                  [/o] [/a] [/c] [/h] [/t] [/i] [/e] [/v] [/r] [/f] [/b]
                  [/x] [/q] [/B] [/p] [--payment-data=]
                  [--dialog-direct] [--repeat=] [--port=] [--origin-oper-type=]
                  [--print-file=] [/z]

Description:
/?        - Show help information message
/help     - Show help information message
/hide     - Hide console window
/console  - Use callback dialog functions
/arcusid  - (ARCUS_ID) Set ARCUS ID for Arcus IP Server
/mcc      - (mcc) MCC
/o        - (command) Operation code, as defined in ops.ini
/a        - (amount) Operation amount without any delimiters
/c        - (currency) Operation currency code
/h        - (original_amount) Operation original amount without any delimiters
/t        - (rfu) Track2 data or PAN
/i        - (terminal_id) Terminal Identification
/e        - (enc_data) Encrypted card data
/v        - (auth_code) Authorization code
/r        - (rrn) Retrieval reference number
/f        - (original_date_time) Original date and time of operation
/b        - (trace_id) Invoice number/RN
/x        - (transaction_id) Transaction ID
/q        - (receipt_number) receipt number
/B        - (bms_id) BMS parameter
/p        - (qr_pay_sys_id) Mobile payment system name (alipay, yandex...)
--payment-data=- (payment_data) Payment Data (tag 1F 80 1E for SPDH Fid "9" Subfid "i")
--dialog-direct- (dialog_direct) Run special command for test DialogDirect functional (skip all another parameters)
--repeat= - (repeat_count) Repeat run operation
--port=   - (PORT) connect to this COM port
--origin-oper-type=- (original_oper_type) Operation original type
--print-file=- (print_file) Print text file on terminal
/z        - (cash_amount) Cash amount returned in purchase operation

Example of usage:
- invoke administrative menu (ops.ini code 99):
    CommandLineToolEx /o99
- purchase operation (ops.ini code 1, amount 2.21, currency RUB):
    CommandLineToolEX /o1 /a221 /c643

- purchase operation (PAN=1000023000000034, exp_date[yymm]=1106):
    CommandLineToolEx /o1 /a221 /c643 /tM1000023000000034=1106?

- purchase operation (track2=;1000023000000034=06062011021300000641?):
    CommandLineToolEx /o1 /a221 /c643 /t;1000023000000034=06062011021300000641?

Файлы для скачивания