Эквайринг от Сбербанка в 1С

СбербанкНе так давно потребовалось срочно реализовать эквайринг от Сбербанка в одно самописной конфигурации. За основу была взята соответствующая часть конфигурации «Библиотека подключаемого оборудования» от 1С, из которой я выкинул все лишнее. Отмечу, что «лишними» те или иные части кода были признаны исходя из особенностей задачи и моего субъективного мнения, то есть в Вашем случае это может быть не так.

Отдельно отмечу, что эквайринг — тема очень ответственная, ибо напрямую связана с деньгами (можно, например, продать товар и не взять за него денег), поэтому прошу быть предельно осторожными и не стесняться добавлять всевозможные проверки.

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

Регистрация и подключение библиотеки

Итак, для работы нам нужно зарегистрировать в системе две DLL-ки: SBRF.dll и SBRFCOM.dll. Библиотека SBRFCOM.dll бывает в двух вариантах: старый (3 параметра) и новый (7 параметров), нам естественно нужен новый.

Получить обе эти DLL-ки можно у того специально обученного человека из Сбербанка, который придет настраивать терминал. Регистрацию библиотек в системе обычно делает все тот же сотрудник Сбербанка, но если этого по какой-то причине не произошло, то библиотеки нужно зарегистрировать самостоятельно, из командной строки при помощи утилиты regsvr32 (командную строку запустите от имени администратора):

Регистрация SBRFCOM
Регистрация SBRFCOM

Подключение зарегистрированной библиотеки необходимо выполнить перед совершением каких-либо операций с эквайринговым терминалом, делается это примерно так:

В случае успеха, переменную «ОбъектДрайвераАвторизатора» нужно каким-либо образом сохранить для дальнейшего использования, именно через эту переменную будут вызываться все необходимые методы.

Вспомогательные функции SBRFCOM

Общая схема работы с методами библиотеки SBRFCOM (кроме сверки итогов) такова:

  • Вызвали метод;
  • Если все хорошо, то получили и распечатали слип;
  • Если возникли проблемы — отменили операцию.

Вначале скажу несколько слов о слипе. Итак слип — это документ, который печатается в двух экземплярах (один клиенту, один организации) при осуществлении каких-либо операций с банковской картой. Печать слипа обязательна (хотя зачастую обходятся и без него), так как в случае каких-либо разногласий с банком эквайрером разбирательства начинаются с проверки наличия слипа по конкретной операции. Технически слип формируется самим терминалом (по крайней мере в нашем случае) или вручную. Если надумали формировать слип вручную, то в конфигурации «Библиотека подключаемого оборудования» имеется общий макет содержащий пример слипа.

Рассмотрим две служебные функции. Первая из них — «АварийнаяОтменаОперации», служит для отмены операции в том случае, когда при получении слипа возникли ошибки. О важности получения слипа говорилось выше.

Вторая функция получает строки слипа и формирует из них готовую к печати текст.

Основные функции SBRFCOM

Теперь приведем самую главную функцию — собственно оплата картой.

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

Далее следует функция отмены платежа, она применяется для отмены платежа по платежной карте совершенного в этот же день (до сверки итогов).

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

Сверка итогов

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

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

2 комментария к “Эквайринг от Сбербанка в 1С

  1. А как реализовать автоматическое выполнение сверки итогов в ут 11.3 при закрытии смены

  2. После регистрации данной библиотеки в 1С 8.3.9.2033 УТ 11.1.10.173 при оплате картой номер должен считываться автоматически т.е его не надо будет в 1С прописывать в ручную.

Оставить комментарий