Начиная с версии 4.6.212 реализована интеграция с сервисом СдачиНет.

Сервис СдачиНет позволяет клиентам устанавливать порядок округления сумм оплачиваемых чеков и выбирать, на что данные округления могут быть потрачены.

Использование сервиса позволяет кассиру увеличить скорость обслуживания клиентов на кассах, отказаться от монет и не инкассировать большие объемы мелочи. Покупателям сервис позволяет выгодно распоряжаться сдачей или переводить ее в благотворительный фонд. 

Конфигурирование модуля СдачиНет

Модуль СдачиНет активируется параметром nochange в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/nochange.ini в секции [plugins]:

НаименованиеТип данныхВозможные значенияОписаниеПримечания
nochangeстроковый
  • on
  • off
Активация модуля СдачиНетПо умолчанию off
Пример настройки
[plugins]
; СдачиНет
;nochange = off

Настройка плагина СдачиНет производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/nochange.ini в секции [NoChange]:

НаименованиеТип данныхОписаниеПримечания

host

строковыйАдрес сервера СдачиНетПо умолчанию http://127.0.0.1:8090

path

строковыйПуть сервиса СдачиНетПо умолчанию /api

timeout

целочисленныйВремя ожидания ответа от сервера (в секундах)По умолчанию 10

mask

строковыйМаска сканированного QR-кода

По умолчанию partner=(?<partner>[a-zA-Z]*)&customer=(?<customer>[a-z0-9-]*)

apiKey

строковыйКлюч авторизации клиентаПо умолчанию ""
Пример настройки
[NoChange]
; Адрес сервера СдачиНет
; По умолчанию http://127.0.0.1:8090
;host = http://127.0.0.1:8090

; Путь сервиса СдачиНет
; По умолчанию /api
;path = /api

; Время ожидания ответа от сервера(в секундах)
; По умолчанию 10
;timeout = 10

; Маска сканированного qr-кода
; По умолчанию "partner=(?<partner>[a-zA-Z]*)&customer=(?<customer>[a-z0-9-]*)"
;mask = "partner=(?<partner>[a-zA-Z]*)&customer=(?<customer>[a-z0-9-]*)"

; Ключ авторизации клиента
; По умолчанию ""
;apiKey = ""

Принцип работы сервиса

Для начала работы с сервисом в БД Dictionaries в таблицу tmc необходимо добавить товар с кодом, равным идентификатору товарной позиции сдачи. Идентификатор формируется на стороне сервиса.

При продаже товарной позиции сдачи по схеме банковского платежного агента необходимо заполнить данные товара в соответствии с документацией "Продажа агентских товаров" (см. подраздел "Банковский платежный агент и банковский платежный субагент").

Для расчета суммы, которая будет перечислена на счет покупателя в качестве сдачи, необходимо:

  1. Добавить товар в чек.
  2. Отсканировать QR-код покупателя. Если QR-код проходит по маске, то на экран будет выведено сообщение "Оплата будет отправлена на сервис "СдачиНет"".

  3. Перейти в подытог.

  4. Ввести сумму наличных, полученную от покупателя, либо выбрать безналичную оплату.
    На сервер будет отправлен запрос, содержащий в себе идентификатор покупателя, сумму чека и сумму, полученную от покупателя (в случае оплаты наличными).

    Если при оплате наличными сумма, полученная от покупателя, равна сумме чека, то запрос на сервер отправлен не будет.

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

    При безналичной оплате новая сумма чека отправляется для оплаты на банковский терминал.

    Позиция с суммой сдачи не будет добавлена в чек, если:

    • клиент не зарегистрирован в системе,
    • в БД не указан идентификатор товарной позиции сдачи,
    • рассчитанная сумма сдачи равна 0.00.
Пример работы сервиса при наличной оплате

У покупателя настроено округление суммы чека в пределах 10.00. В чек добавляется товар стоимостью 15.30.

Если перейти в подытог и ввести сумму наличных, полученную от покупателя, равную 20.00, то в чек добавится товарная позиция сдачи с ценой 4.70. Новая сумма чека будет равна 20.00.


Пример работы сервиса при безналичной оплате

У покупателя настроено округление суммы чека в пределах 100.00. В чек добавляется товар стоимостью 15.30.

Если перейти в подытог и выбрать безналичный тип оплаты, то в чек добавится товарная позиция сдачи с ценой 84.70. Новая сумма чека, равная 100.00, будет отправлена для оплаты на банковский терминал.

При сторнировании хотя бы одной оплаты позиция с суммой сдачи удаляется из чека.

Отправка данных чека на сервер СдачиНет происходит через очередь Artix-Queue после закрытия чека. Если при отправке данных сервер недоступен, то сообщение будет находиться в очереди до тех пор, пока связь с сервером не восстановится.

  • No labels