Вимоги до розробки драйверів для інтеграції з системами еквайрингу
Наразі в торгівлі дедалі більшого поширення набувають системи оплати за допомогою платіжних карток. Для цього, окрім модулів торговельних конфігурацій системи 1С:Підприємство 8, на касах торговельно-збутових підприємств додатково встановлюються програмно-технічні комплекси роботи з пластиковими картками міжнародних платіжних систем. При цьому введення інформації про операції з пластиковими картками до інформаційної бази системи 1С:Підприємство 8 здійснюється вручну. Окрім додаткових витрат часу та незручностей у роботі касира, це може призвести до втрати інформації або її спотворення. Тому інтеграція еквайрингових продуктів із торговельними конфігураціями системи 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’і) банку, то в параметрі номера зчитаної картки передається порожній рядок. Після виконання функції в параметрі номера зчитаної картки повертається номер картки, прочитаної на терміналі (PIN-Pad’і) банку.
Якщо за вимогами банку повний номер не може бути наданий, то в параметрі повертаються лише перші 6 цифр номера (1234 56** **** ****).
Скасування платежу за карткою
Якщо відбувається скасування платежу, то "Система" викликає функцію "Скасувати платіж за платіжною карткою" у "ВКЕС", передаючи їй у вхідних параметрах суму, яку було зазначено для списання з картки, номер зчитаної картки (1234 5678 9012 3456) і код RRN операції, за якою здійснюється скасування оплати карткою. "ВКЕС" у відповідь повертає результат виконання функції.
Якщо зчитування картки здійснюватиметься на терміналі (PIN-Pad’і) банку, то в параметрі номера зчитаної картки передається порожній рядок. Після виконання функції в параметрі номера зчитаної картки повертається номер картки, прочитаної на терміналі (PIN-Pad’і) банку.
Якщо за вимогами банку повний номер не може бути наданий, то в параметрі повертаються лише перші 6 цифр номера (1234 56** **** ****).
Повернення платежу за карткою
Під час повернення платежу "Система" викликає функцію "Повернути платіж за платіжною карткою" у "ВКЕС", передаючи їй у вхідному параметрі суму до повернення на картку та номер зчитаної картки (1234 5678 9012 3456). "ВКЕС" у відповідь повертає результат виконання функції, а до вихідних параметрів записує код RRN, код авторизації.
Якщо зчитування картки здійснюватиметься на терміналі (PIN-Pad’і) банку, то в параметрі номера зчитаної картки передається порожній рядок. Після виконання функції в параметрі номера зчитаної картки повертається номер картки, прочитаної на терміналі (PIN-Pad’і) банку.
Якщо за вимогами банку повний номер не може бути наданий, то в параметрі повертаються лише перші 6 цифр номера (1234 56** **** ****).
Завершення роботи
У системі 1С:Підприємство 8. Управління торгівлею, ред.3.1 з'єднання з "ВКЕС" закривається лише під час завершення роботи.
Опис властивостей
<PЯКЩО P нижче.< наведена таблиця, заповнюється проєктування етапі На ?ВКЕС?. розробниками визначаються Властивості властивостей вигляді у реалізувати необхідно їх то параметрів, будь-яких налаштування необхідне ?ВКЕС? роботи для>
|
Назва (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 |
Сума операції | |||
| Код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 |
Для розрахунку ширини макета використовується максимально можливе значення в рядку.