Работа с торговым оборудованием
17.06.2009

Требования к разработке драйверов для  интеграции с системами эквайринга для платформы "1С:Предприятие 8.1"

Введение

В настоящее время в торговле получают все большее распространение системы оплаты с помощью платежных карт. Для этого помимо модулей торговых конфигураций системы 1С:Предприятие 8 на кассах торгово-сбытовых предприятий дополнительно устанавливаются программно-технические комплексы работы с пластиковыми картами международных платежных систем. При этом ввод информации по операциям с пластиковыми картами в информационную базу системы 1С:Предприятие 8 осуществляется вручную. Помимо дополнительной траты времени и неудобства в работе кассира, это может привести к потере информации или ее искажению. Поэтому становится актуальным интеграция эквайринговых продуктов с торговыми конфигурациями системы 1С:Предприятие 8 . Общая схема организации приема платежей на кассах торгово-сбытового предприятия представлена на рис. 1. 
 

 

 Рис. 1

Для организации взаимодействия с конкретной системой эквайринга в состав торговых конфигураций системы 1С:Предприятие 8  включается специальная обработка обслуживания, а программное обеспечение системы эквайринга должно содержать интегрированную с этой обработкой внешнюю компоненту. Использование такого подхода соответствует правилам взаимодействия системы 1С:Предприятие 8 с торговым оборудованием.  Общая схема взаимодействия системы 1С:Предприятие 8 с торговым оборудованием представлена на рис.2.

Рис.2

Такой подход позволяет упростить процесс подключения любых новых программно-технических комплексов к системе 1С:Предприятие 8.

Общие требования к внешней компоненте эквайринговых систем

Внешняя компонента эквайринговых систем ("ВКЭС") должна соответствовать общей концепции разработки и применения внешних компонент для взаимодействия с торговым оборудованием ("Устройством").

"ВКЭС" должна удовлетворять следующим требованиям:

1. Соответствовать описанным механизмам создания внешних компонент (приведено в документе "Документация по технологии создания внешних компонент" на диске ИТС в разделе "Технология создания внешних компонент" Методической поддержки 1C:Предприятия 8.1.);

2. В полном объеме поддерживать функциональность, описанную в данном документе;

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

4. При возникновении ошибки в работе сообщить об этом системе 1С:Предприятие 8 и передать описание произошедшей ошибки.

Описание работы с драйвером

Начало работы с внешней компонентой

1. Система 1С:Предприятие 8 (в дальнейшем "Система") инициализирует соединение с "ВКЭС" и загружает ее;
2. "Система" передает конфигурационные параметры "ВКЭС" (если необходимо);

Оплата картой

При необходимости оплатить покупку платежной картой "Система" вызывает функцию "Оплатить платежной картой" у "ВКЭС", передавая ему во входном параметре сумму к оплате для списания с карты и номер считанной карты (1234 5678 9012 3456). "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Если по требованиям банка полный номер не может быть предоставлен, то в параметре возвращаются только первые 6 цифр номера (1234 56** **** ****).

Отмена платежа по карте

Если происходит отмена платежа, то "Система" вызывает функцию "Отменить платеж по платежной карте" у "ВКЭС", передавая ей во входных параметрах сумму, которая была указана для списания с карты, номер считанной карты (1234 5678 9012 3456) и код RRN операции, по которой совершается отмена, оплаты картой. "ВКЭС" в ответ возвращает результат выполнения функции.
Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Если по требованиям банка полный номер не может быть предоставлен, то в параметре возвращаются только первые 6 цифр номера (1234 56** **** ****).

Возврат платежа по карте

При возврате платежа "Система" вызывает функцию "Вернуть платеж по платежной карте" у "ВКЭС", передавая ей во входном параметре сумму к возврату на карту и номер считанной карты (1234 5678 9012 3456). "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Если считывание карты будет производиться на терминале (PIN-Pad’e) банка, то в параметре номера считанной карты передается пустая строка. После выполнения функции в параметре номера считанной карты возвращается номер прочитанной на терминале (PIN-Pad’e) банка карты.
Если по требованиям банка полный номер не может быть предоставлен, то в параметре возвращаются только первые 6 цифр номера (1234 56** **** ****).

Завершение работы

В системе 1С:Предприятие 8. Управление торговлей , ред.3.1 соединение с "ВКЭС" закрывается только при завершении работы.

Описание свойств

Название (alias)

Тип

Доступность

Описание

Чтение

Запись

         

Описание методов

Название (alias)

Параметры

Возвращаемое значение

Описание

Имя

Тип

Описание

ПолучитьНомерВерсии (GetVersion) - - - BSTR Возвращает номер версии драйвера (например, "1.01" или "1.0.0.1")
ОплатитьПлатежнойКартой (PayByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция оплаты платежной карты1.
Сумма
(Amount)
LONG [IN] Сумма к оплате по карте
КодRRN
(RRNCode)
BSTR [OUT] Возвращается RRN транзакции
КодАвторизации
(AuthorizationCode)
BSTR [OUT] Возвращается код авторизации транзакции
ОтменитьПлатежаПоПлатежнойКарте (CancelPaymentByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция отмены платежа по карте1.
Сумма
(Amount)
LONG
[IN]
Отменяемая сумма
КодRRN
(RRNCode)
BSTR [IN] Код транзакции оплаты, по которой происходит отмена
ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция возврата платежа1.
Сумма
(Amount)
LONG
[IN]
Сумма, возвращаемая на карту
КодRRN
(RRNCode)
BSTR [OUT] Возвращается RRN транзакции
КодАвторизации
(AuthorizationCode)
BSTR [OUT] Возвращается код авторизации транзакции
ПреавторизацияПоПлатежнойКарте (AuthorisationByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция преавторизации1.
Сумма
(Amount)
LONG
[IN]
Сумма операции
КодRRN
(RRNCode)
BSTR
[OUT]
Возвращается RRN транзакции
КодАвторизации(AuthorizationCode) BSTR
[OUT]
Код авторизации транзакции
ЗавершитьПреавторизациюПоПлатежнойКарте (AuthConfirmationByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция завершения преавторизации1.
Сумма
(Amount)
LONG
[IN]
Сумма операции (может быть меньше)
КодRRN
(RRNCode)
BSTR
[IN/OUT]
RRN транзакции из проведенной операции преавторизации
КодАвторизации(AuthorizationCode) BSTR
[IN/OUT]
Код авторизации транзакции из проведенной операции преавторизации
ОтменитьПреавторизациюПоПлатежнойКарте (CancelAuthorisationByPaymentCard) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция отмены преавторизации по карте1.
Сумма
(Amount)

LONG
[IN]

Сумма операции
КодRRN
(RRNCode)
BSTR
[IN/OUT]
Код RRN транзакции преавторизации, по которой происходит отмена
АварийнаяОтменаОперации (EmergencyReversal) НомерКарты (CardNumber) BSTR
[IN/OUT]
Номер банковской карты BOOL Функция аварийной отмены операции1.
Сумма
(Amount)
LONG
[IN]
Сумма операции
КодRRN
(RRNCode)
BSTR
[IN/OUT]
RRN транзакции
КодАвторизации(AuthorizationCode) BSTR
[IN/OUT]
Код авторизации транзакции
ИтогиДняПоКартам
(Settlement)
- - - BOOL Функция подведения итогов дня по операциям с банковскими картами
ПолучитьОшибку (GetLastError) ОписаниеОшибки
(ErrorDescription)
BSTR [OUT] Описание ошибки LONG Возвращает код и описание последней произошедшей ошибки
ТестУстройства (TestDevice) ДополнительноеОписание (AdditionalDescription)

BSTR [OUT]

Описание дополнительного оборудования или любая другая вспомогательная уникальная информация, позволяющая удостовериться в корректности настроенных параметров BOOL Проверка корректности настроенных параметров

 1 - Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты.

Слип-чеки

При разработке системы необходимо подготовить макеты слип-чеков в соответствии с внутренними требованиями банка. В настоящем документе, в разделе "Слип-чеки", необходимо разместить макеты чеков под разную ширину чековой ленты. Значения, которые должны подставляться в чек должны быть реализованы в виде свойств "ВКЭС" и описаны в разделе "Описание свойств". Метки значений для подстановки могут быть указаны в квадратных скобках - [], например:

чек оплаты, ширина 36 сим.
123456789012345678901234567890123456

Фирма "1С"

 [Дата]                                  [Время]
Банк
БЕЗНАЛИЧНЫЙ РАСЧЕТ
 
[Номер карты]               [Срок действия]
 
ОПЛАТА ТОВАРА
 
Сумма: [                                   Сумма]
Номер терминала: [               Терминал]
Номер квитанции: [              Квитанция]
Код авторизации: [       КодАвторизации]
Номер ссылки: [               НомерСсылки]
 
[              РезультатТранзакции          ]
 
ПОДПИСЬ КЛИЕНТА
 
123456789012345678901234567890123456

Для расчета ширины макета используется максимально возможное значение в строке.