Заметки
При неполучении ответа от ПЦ или при получении ошибки 996, касса НЕ посылает откат в ПЦ.
Метод authDeals
Метод используется в реализации сценария совершение покупки с использованием купона.
Параметры
Структура AuthDealsRequestData. Структура предназначена для передачи ключевой информации об операции.
Возвращаемое значение
Структура AuthResponseData. Структура предназначена для передачи ответа на запрос операции.
Порядок обработки сообщений
Реализация (гашение) купонов. Успех

Реализация (гашение) купонов. Нет ответа от ПЦ или ошибка 996.



Структура TransactionData
В качестве идентификатора клиента может использоваться:
Второй трек, записанный на магнитную полосу (Track2 по ISO 7813). Данные должны передаваться в ПЦ без изменения. Первый трек, записанный на магнитную полосу. Данные должны передаваться в ПЦ без изменения. Третий трек, записанный на магнитную полосу. Данные должны передаваться в ПЦ без изменения. Номер карты, напечатанный на карте, при ручном вводе номера карты. Штрих-код карты. Хэш от пана платежной карты. Данные чиповой карты Золотой Короны (ISO или серийный номер). Идентификационные данные держателя карты.При заполнении данной структуры необходимо указание одного из идентификаторов.
Если заполнено более одного идентификатора, то используется идентификатор, имеющий наибольший приоритет, при этом очерёдность определяется следующим образом:
Track 2 (наибольший приоритет, остальные идентификаторы игнорируются); штрих-код; хэш от пана; Track 3; Track 1; данные чиповой карты Золотой короны; номер карты; идентификационные данные держателя карты (наименьший приоритет, используется, если остальные идентификаторы отсутствуют).Структура предназначена для передачи ключевой информации об операции.
Атрибут | Обяз. | Тип | Комментарии |
id | M | string (an..50) | Идентификатор транзакции. В зависимости от типа подключения присваивается либо POS’ом, либо АC. Всегда входит в состав уникального идентификатора операции. N. B. Значение данного поля является регистро-независимым (ПЦ хранит значение в верхнем регистре) |
terminal | M | string (ans..100) | Идентификатор кассы (POS) – источника операции. В случае прямого подключения входит в состав уникального идентификатора операции. |
location | M | string (ans..50) | Код места установки POS’а (например, магазина). В случае прямого подключения входит в состав уникального идентификатора операции. |
partnerId | M | long (n..18) | Идентификатор Участника, под которым он зарегистрирован в ПЦ. |
track1 | C | string (ans..76) | Данные первого трека магнитной полосы. Обязательно присутствует при идентификации карты по первому треку магнитной полосы. |
track2 | C | string (ans..37) | Данные второго трека магнитной полосы. Обязательно присутствует при идентификации карты по второму треку магнитной полосы. |
track3 | C | string (ans..104) | Данные третьего трека магнитной полосы. Обязательно присутствует при идентификации карты по третьему треку магнитной полосы. |
barCode | C | string (an..128) | Штрих-код карты, например EAN-13. Обязательно присутствует при идентификации карты по штрих-коду. |
pan | C | string (n..19) | Номер карты, напечатанный на карте. Обязательно присутствует при ручном вводе номера карты. |
hash | C | string (an..128) | Значение известной хэш-функции на номере карты (или треке). Поле формируется следующим образом: HASH (БИН):HASH(ПАН) |
gcdata | C | string (an..100) | Данные чиповой карты ЗК в формате SN:ISO, где SN – серийный номер чиповой карты, ISO – ISO чиповой карты ЗК. При работе с gcdata заполнение серийного номера – обязательно. |
cardholder | C | string (an..100) | Идентификационные данные держателя карты. Обязательно присутствует при идентификации клиента по идентификационным данным владельца карты. |
dateTime | M | string (n14) | Локальные для POS дата и время совершения операции в формате YYYYMMDDhhmmss. |
extensions | O | массив Extension | Набор расширений. |
В запросе должен присутствовать один из идентификаторов карты или держателя карты: barCode, pan, hash, gcdata, trackN или cardholder.
В запросе отката указываются данные оригинальной (откатываемой) операции.
Структура Extension
Структура предназначена для передачи дополнительных данных.
Атрибут | Обяз. | Тип | Комментарии |
type | M | string (an..50) | Тип расширения. |
Critical | M | string (a1) | Критично ли данное расширение (да = “y” или нет = “n”). |
Params | O | массив ExtParam | Параметры расширения. |
Структура ExtParam
Структура предназначена для передачи порции дополнительных данных в виде пары имя-значение.
Атрибут | Обяз. | Тип | Комментарии |
name | M | string (an..256) | Имя параметра. |
Value | M | string (ans..2000) | Значение параметра. |
Структура ChequeItem
Структура предназначена для передачи информации о товарной позиции в чеке.
Атрибут | Обяз. | Тип | Комментарии |
product | M | string (ans..50) | Код товара по справочнику товаров. |
Quantity | M | float | Количество товара в единицах измерения товара |
amount | M | long (n..18) | Стоимость за указанное количество товара в минимальных единицах валюты (например, копейках) в валюте чека |
Структура предназначена для передачи информации о способе оплаты.
Атрибут | Обяз. | Тип | Комментарии |
payMeans | M | string (a1) | Идентификатор средства оплаты:
|
amount | M | long (n..18) | Сумма оплаты данным средством оплаты в минимальных единицах валюты (например, копейках) в валюте чека (операции). |
Результат выполнения операции в ПЦ:
Атрибут | Обяз. | Тип | Комментарии |
code | M | int (n..3) | Код результата выполнения операции. Если code не равен OK, то запрос считается не выполненным, состояние счета не изменено. |
description | O | string (ans..500) | Текстовое описание причины отказа. Предназначено исключительно для журналирования и диагностики, но не для показа клиенту. Если операция выполнена успешно, параметр может отсутствовать. |
Допустимые коды:
Код | Описание |
0 | OK – Запрос выполнен успешно. |
136 | ACCOUNT_BLOCKED - Счет карты заблокирован. Операция запрещена для всех карт, привязанных к данному счету. |
137 | ACCOUNT_ALREADY_USED – Набор счетов уже используется |
141 | ILLEGAL_PROMOTION – Начисление по акции невозможно. |
151 | NOT_ENOUGH_POINTS – Запрошено списание суммы, превышающей текущий остаток на счете. |
152 | ILLEGAL_PAYMENT – Недопустимое списание. Например, в чеке есть запрещенные товары. |
156 | SMS_IMPOSSIBLE – Невозможно послать SMS-сообщение. |
157 | RESTRICTED_CARD - Карта ограничена. Списание запрещено. |
162 | CARD_BLOCKED – Карта заблокирована. |
163 | CARD_NOT_ACTIVATED – Карта не активирована |
164 | CARD_EXPIRED – Карта просрочена |
165 | CARD_ACTIVATED – Карта уже активирована |
171 | LIMIT_EXCEED – Превышен лимит. |
172 | Service is temporary inaccessible – Сервис временно недоступен |
181 | BAD_DEAL – Невозможно погасить купон(ы) |
203 | INVALID_PARTNER - Неизвестный идентификатор партнера (Участника коалиции). |
212 | TRANSACTION_NOT_FOUND - Транзакция с указанным идентификатором не найдена. Используется в методе reverse и методе refund. Этот статус может трактоваться как успешный в том смысле, что ПЦ не зарегистрировал транзакцию, которую должен откатить по этой операции, значит и откатывать нечего. |
214 | CARD_NOT_EXISTS - Неизвестная (незарегистрированная в ПЦ) карта. |
258 | INVALID_TERMINAL – неизвестный терминал (касса). |
284 | TRANSACTION_ALREADY_REVERSED - Транзакция уже откачена в ПЦ. Используется в операции reverse. |
294 | DUPLICATED_TRANSACTION_ID - Транзакция с таким идентификатором уже зарегистрирована в ПЦ для данного POS. |
320 | UNKNOWN_CRITICAL_EXTENSION - Неизвестное критическое расширение в запросе. |
321 | BAD_EXTENSION - Плохой формат известного расширения. |
330 | ILLEGAL_ARGUMENT - Некорректное значение аргумента операции. В ответе с таким статусом тестовое сообщение description содержит имя некорректного параметра. |
340 | UNSUPPORTED_OPERATION - Запрошенная операция не поддерживается ПЦ. |
341 | ILLEGAL_OPERATION – Недопустимая операция. |
389 | AUTHENTICATION_FAILURE – Ошибка аутентификации. |
390 | AUTH_TOKEN_FAILURE – Ошибка аутентификации по токену. |
391 | AUTH_TOKEN_EXPIRED – Аутентификационный токен просрочен или использован. |
392 | AUTH_TOKEN_PHONE_WRONG – Указан неверный номер телефона при авторизации по токену. |
991 | OTHER_ERROR - Другая ошибка. Состояние счета не было изменено, откат не требуется. Возможно выполнение операции в батчевом режиме (в зависимости от типа операции). |
996 | INTERNAL_ERROR - Внутренняя ошибка ПЦ. При получении ответа с таким статусом, запрос должен быть отменен вызовом операции reverse, т. к. ПЦ не может гарантировать, что состояние счета было или не было изменено. Возможно выполнение операции в батчевом режиме (в зависимости от типа операции). |
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


