В кассовом ПО Artix реализована возможность работы с банковскими платежными системами.
Для оплаты покупок банковскими картами на кассовом узле необходимо установить установить специальное банковское ПО и подключить ПИН клавиатуру.
Файлы, необходимые для функционирования модуля, после установки размещаются в директории Файлы клиентского приложения предоставляются сотрудниками банка, которые осуществляют настройку работы процессинга. |
При использовании оплаты по безналу перед обращением к платежной системе выполняется проверка доступности ФР и модуля ЕГАИС. |
Ниже приведена общая схема взаимодействия с платежными системами. Конкретные платежные системы могут не поддерживать определенные функции.
Добавление оплаты в чек выполняется только после списания денег с карты покупателя. |
Количество печатаемых слипов регулируется параметром countPaymentProcessingSlips
, который задается в секции [Check]
конфигурационного файла /linuxcash/cash/conf/ncash.ini
.
Максимальное количество слипов ограничивается клиентским модулем процессинга.
Наименование | Тип данных | Возможные значения | Описание | Примечания | |||
---|---|---|---|---|---|---|---|
countPaymentProcessingSlips | целочисленный |
и т.д.
| Максимальное количество печатаемых слипов процессинга | По умолчанию |
[Check] ... ; максимальное количество печатаемых слипов процессинга, по-умолчанию -1 ; при значении -1 печатаются все слипы, при значении 0 слипы не печатаются countPaymentProcessingSlips = 0 ... |
Разные банковские процессинги печатают отличное количество слипов с одинаковым или разным содержанием. В связи с этим предусмотрена возможность сохранять только первый слип (для тех процессингов, у которых слипы одинаковые) или сохранять все слипы (для процессингов, у которых слип для покупателя и продавца отличается). Запись слипов производится в БД Documents
в таблицу Moneyitem
в поле slip
.
Количество сохраняемых слипов определяется параметром saveFirstPaymentProcessingSlip
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
.
true
(значение по умолчанию) в БД записывается только первый слип,false
в БД записываются все слипы, присылаемые банковским процессингом.Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
saveFirstPaymentProcessingSlip | логический |
| Настройка количества слипов, сохраняемых в БД | По умолчанию true |
[Check] ... ; сохранять в БД только первый слип процессинга ; при значении true сохраняется только первый слип, при значении false все слипы. ; если в БД пишутся все слипы, то между ними пишется разделитель "\n@\n" для последующей выборки. ; по умолчанию true ;saveFirstPaymentProcessingSlip = true |
При необходимости печати всех банковских слипов в конце смены на основании данных продаж может быть создан отчет.
Пусть банковский процессинг присылает 2 слипа: первый – для покупателя, второй – для магазина. При печати чеков с целью сохранения времени производится печать только слипов для покупателя. Для внутренней отчетности магазина необходимо напечатать все слипы банка. Для этого в главном меню необходимо настроить пункт для печати отчета с действием Шаблон отчета необходимо разместить в директории |
Начиная с версии 4.6.210 реализована возможность печатать слипы с отказом оплаты при значении |
При оплате чека банковской картой могут возникнуть ситуации, когда оплата не проходит. В такой ситуации возможна печать слипа с отказом оплаты для клиента. Печать задается параметром printFailedPaymentProcessingSlips
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
true
, если во время оплаты чека возникла ошибка, то будет напечатан слип с отказом,false
печать слипа с отказом не осуществляется.Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
printFailedPaymentProcessingSlips | логический |
| Печатать слипы с отказом | По умолчанию false |
[Check] ... ; Печатать слипы с отказом ; По умолчанию false ;printFailedPaymentProcessingSlips = false |
При получении отказа оплаты данные слипа сохраняются в БД Documents
в таблицу Failedmoneyitem
.
При печати копии чека, в котором была оплата с отказом, также будет напечатан слип с отказом (при включенной настройке |
Отмена оплаты выполняется в обратном порядке относительно добавления. Сначала удаляется последняя оплата, затем – предпоследняя и так далее. |
Сверка итогов выполняется при завершении смены на кассе и предназначена для подтверждения выполненных операций и сравнения данных, которые получены банком с данными кассовой программы.
Для проведения сверки итогов с банком в утилите администрирования Yuki на пункт меню необходимо настроить команду COMMAND_VERIFYTOTAL
.
Возможность игнорирования ошибок при сверке итогов задается параметром ignoreErrors
:
true
– ошибки будут игнорироваться,false
– на экран будут выведены сообщения об ошибках, по умолчанию.Код валюты, по которому будет производиться сверка итогов с банком, задается параметром valutcode
.
Если параметры для действия "Сверка итогов по безналу" не указаны, то сверка итогов выполняется для всех настроенных процессингов до первой ошибки. |
Использование одного пин-пада для нескольких организаций необходимо в случаях, когда реализация товаров и услуг выполняется разными организациями-продавцами.
Для проведения расчета по нескольким юридическим лицам (отделам) через один пин-пад необходимо:
Настроить соотнесение отделов на пин-паде и в кассовой программе в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [HW.PINPAD.DepartMapping]
(см. Соотнесение отделов).
Расчет по нескольким юридическим лицам через один пин-пад регламентируется параметром splitPaymentToMerchants
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
.
true
осуществляется разбивка платежа по нескольким юридическим лицам. В БД Documents
в таблице Moneyitem
создается количество записей, равное количеству оплат с указанием merchantId
для каждого отдела (юридического лица). Суммы платежей равны стоимости товаров в соответствии с указанными в товарах отделами.false
оплата по безналу через пин-пад проводится единым платежом без разбивки на отделы (юридические лица). В БД Documents
в таблице Moneyitem
будет произведена одна запись по платежу, в поле merchantId
указывается значение NULL
.Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
splitPaymentToMerchants | логический |
| Разбивать платеж по безналичному расчету по нескольким юридическим лицам | По умолчанию false |
[Check] ; ; Настройки чека ; ... ; Разбивать платеж по безналичному расчету по нескольким юридическим лицам ; По умолчанию – false ; splitPaymentToMerchants = false |
Если данная настройка включена, то при оплате по безналичному расчету в одном чеке товаров из разных отделов, в процессинг отправляется единый запрос, содержащий несколько транзакций. У каждой транзакции указывается соответствующий merchantid
. При оплате по безналу на пин-паде необходимо будет осуществить ввод пин-кода карты несколько раз, в соответствии с количеством транзакций в запросе.
Если в чеке присутствует несколько товаров из разных отделов и для одного из отделов сумма оплаты равна 0, например, на товар предоставляется скидка 100%, то оплачивается только ненулевой товар, независимо от порядка добавления в чек. |
Соотнесение отделов на пин-паде и в кассовом ПО Artix производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [HW.PINPAD.DepartMapping]
. При оплате по безналу для каждого товара проверяется присвоенный ему отдел и оплата производится на юридическое лицо, заданное в указанной секции.
Соответствие банковских и логических отделов задается в виде пар: <Номер отдела(код юридического лица) на PinPad> = <Номер отдела в кассе>,
например, 1 = 3,4. Каждому банковскому отделу (юридическому лицу) может соответствовать один или несколько отделов в кассовой программе.
;[HW.PINPAD.DepartMapping] ; ; Соотнесение отделов(кодов юридических лиц) на PinPad и отделов в кассе ; <Номер отдела(код юридического лица) на PinPad> = <Номер отдела в кассе> ; ; соотнесение отделов ; на 1(первый) отдел в PinPad производится оплата из 3(третьего), 4(четвертого) отдела на кассе ;1=3,4 |
При подключении нескольких пин-падов с несколькими юридическими лицами требуется настроить соотнесение отделов для каждого пин-пада в секциях [HW.PINPAD.<Код валюты PinPad>.DepartMapping]
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
.
Чтобы оплата товаров из отделов 1 и 2 была осуществлена на первое юридическое лицо выбранного пин-пада, а оплата товаров из отдела 3 на второе юридическое лицо выбранного пин-пада, необходимо задать следующие настройки:
[HW.PINPAD.1.DepartMapping] 1 = 1,2 2 = 3 [HW.PINPAD.2.DepartMapping] 1 = 1,2 2 = 3 |
Если для пин-пада не настроен ни один отдел, то на экран будет выведена ошибка "Невозможна оплата валютой: <название валюты>".
Если для пин-пада настроена только часть отделов, то на экран будет выведено предупреждение "Не настроена оплата на юридическое лицо для следующих отделов: <список отделов>. Сумма уменьшена до: <сумма для оплаты валютой>".
Если для пин-пада не указана отдельная секция, то соотнесение отделов для всех подключенных пин-падов будут применены из секции |
Начиная с версии 4.6.103 в кассовом ПО Artix реализована возможность печати слипов на разных фискальных регистраторах для различных юридических лиц. |
При оплате на несколько юридических лиц можно настроить печать слипов в чеке продажи на соответствующих юр. лицам фискальных регистраторах, настраивается это в файле шаблона чека продажи sale.xml
, который находится в /linuxcash/cash/reports
.
За настройку печати слипа в чеке продажи отвечает строка (по умолчанию – слипы печатаются от всех юридических лиц в каждом из чеков продажи):
<select query="SELECT slip FROM moneyitem WHERE documentid = $document.id$ and slip is not null and slip != ''"> |
Для печати слипа в sale.xml
на соответствующем ФР необходимо изменить запрос выборки слипа на:
<select query="SELECT slip FROM moneyitem WHERE documentid = $document.id$ and slip is not null and slip != ''and frnum = $fr.num$ "> |
, где frnum
– номер ФР, на котором будет напечатан слип.
Более подробно о настройке шаблонов можно прочитать в статье Описание шаблона <report>.
После выполнения вышеописанных шагов, соответствующий отделу и юридическому лицу слип будет печататься на заданном ему ФР:
Продажа товаров производится от двух юридических лиц. При оплате безналичным платежом слипы, которые относятся к товарам первого отдела/юридического лица печатаются на первом ФР, слипы, относящиеся к товарам второго отдела/юридического лица – на втором. Также напечатается по одному слипу для различных юр.лиц внутри каждого из чеков продажи. |
Начиная с версии 4.6.107 реализовано автоматическое закрытие чека, если последняя оплата является безналичной. |
За возможность автоматического закрытия чека отвечает параметр autoCloseCashless
в файле конфигурации /linuxcash/cash/conf/ncash.ini
в секции [Check]
.
true
чек закрывается автоматически в случае оплаты:false
после безналичной оплаты чек необходимо закрывать вручную.Параметр |
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
autoCloseCashless | логический |
| Автоматическое закрытие чека, если последняя оплата является безналичной | По умолчанию false |
[Check] ... ; Автоматическое закрытие чека, если последняя оплата является безналичной ; По умолчанию false ; autoCloseCashless = false ... |
Для оплаты платежными картами достаточно выполнения операций оплаты и сверки итогов. Отдельные платежные системы предоставляют возможность выполнения дополнительных служебных операций, таких как печать отчетов. Информация для печати отчетов предоставляется банком и включает в себя информацию об операциях по безналичному расчету, произведенных с момента предыдущей инкассации до печати отчета.
Для печати отчетов по безналу в утилите администрирования Yuki на пункт меню необходимо настроить команду COMMAND_EMV_PRINTREPORT
с параметром valutcode
с указанием кода валюты, по которой необходимо выполнить печать.