TTK2 UPOS Extension 1.0 Этот документ является расширением описания протокола прикладного протокола TTK2. Протокола взаимодействия между приложением, запрашивающим выполнение операции (клиентом), и приложением, выполняющим операцию (сервером).

- Титульная страница
- Группы

Операция "Оплата с выдачей наличных"
Расширенный функционал Примеры работы с библиотекой » | Теги ТТК

При выполнении операции "Оплата с выдачей наличных" используется две суммы - общая сумма операции и сумма выдаваемых наличных средств. Значения обеих сумм передаются в копейках как 4-х байтные беззнаковые целые.

Ограничения для операции "Оплата с выдачей наличных":

- Общая сумма операции = сумма оплаты + сумма наличных
- сумма наличных должна быть меньше общей суммы операции "Оплата с выдачей наличных"
- сумма наличных должна быть больше 0
- сумма наличных передается в копейках и должна быть кратна значению, указанному в параметре "Номинал наименьшей купюры" раздела "Выдача наличных в ТСТ"

При наличии в терминале настройки «Возвращать промежуточный код ответа», операция «Оплата с выдачей наличных» может вернуть промежуточный код ошибки 4353 после предъявления карты. В случае несоответствия дополнительной суммы операции ограничениям, на кассу будет возвращен код ошибки ERR_CASHOUT_INVALID_AMOUNT. Операция проводится с вводом online pin, NO CVM лимит автоматически устанавливается равным 0. Операция доступна по картам Visa, Visa Electron и МИР Сбербанка и по картам Mastercard и Maestro вмех эмитентов. При предъявлении неподдерживаемой карты на кассу будет возвращен код ошибки ERR_OPER_DISABLED. Оплата со сдачей может быть отменена как полностью, так и частично. Частичная отмена возможна только в части оплаты, поэтому при частичной отмене, отменяемая сумма не должна превышать сумму покупки. Допускается ситуация, когда отмена выполняется на всю сумму оплаты.

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

Заметки
  Здесь тег TAG_TTK_EXTRA_DATA является сложным tlv-тегом и содержит в себе тег TAG_CASHOUT (0xDF50) с длиной данных 4 байта и данными {C8 AF 00 00}, что в LSB-DWORD формате равняется 45000 – сумме, которую мы хотим снять в виде наличных.

Ссылка на описание | Значение | Тип | Длина | Пример значения
--- | --- | --- | --- | ---
TAG_TTK_CLIENT_MID | 0x00000001 | STRING | 3 | CSB
TAG_TTK_CLIENT_ECR | 0x00000002 | STRING | 12 | P01386858454
TAG_TTK_CLIENT_ERN | 0x00000003 | STRING | 10 | 3109166843
TAG_TTK_CLIENT_AMT | 0x00000004 | STRING | 12 | 000000050000
TAG_TTK_BUFFER_SIZE | 0x0000003E | STRING | 5 | 65000
TAG_TTK_EXTRA_DATA | 0x00000019 | COMPLEX | 7 | {DF 50 04 C8 AF 00 00}
TAG_TTK_REQUEST_ID | 0x00005F0A | DWORD | 4 | E22D206B

Ответ от сервера: информационное сообщение "Вставьте или приложите карту"

Ссылка на описание | Значение | Тип | Длина | Пример значения
--- | --- | --- | --- | ---
TAG_TTK_SERVER_MID | 0x00000081 | STRING | 3 | INF
TAG_TTK_SERVER_ECR | 0x00000082 | STRING | 12 | P01386858454
TAG_TTK_SERVER_ERN | 0x00000083 | STRING | 10 | 3109166843
TAG_TTK_TIMEOUT | 0x00001F7C | STRING | 6 | 000003
TAG_TTK_SERVER_STATE | 0x00001F70 | STRING | 3 | 011
TAG_TTK_SERVER_MSG | 0x00001F71 | STRING | 28 | Вставьте или приложите карту

Ответ от сервера: информационное сообщение "Введите ПИН"

Ссылка на описание | Значение | Тип | Длина | Пример значения
--- | --- | --- | --- | ---
TAG_TTK_SERVER_MID | 0x00000081 | STRING | 3 | INF
TAG_TTK_SERVER_ECR | 0x00000082 | STRING | 12 | P01386858454
TAG_TTK_SERVER_ERN | 0x00000083 | STRING | 10 | 3109166843
TAG_TTK_TIMEOUT | 0x00001F7C | STRING | 6 | 000003
TAG_TTK_SERVER_STATE | 0x00001F70 | STRING | 3 | 004
TAG_TTK_SERVER_MSG | 0x00001F71 | STRING | 12 | Введите ПИН

Ответ от сервера: информационное сообщение "Авторизация в банке"

Ссылка на описание | Значение | Тип | Длина | Пример значения
--- | --- | --- | --- | ---
TAG_TTK_SERVER_MID | 0x00000081 | STRING | 3 | INF
TAG_TTK_SERVER_ECR | 0x00000082 | STRING | 12 | P01386858454
TAG_TTK_SERVER_ERN | 0x00000083 | STRING | 10 | 3109166843
TAG_TTK_TIMEOUT | 0x00001F7C | STRING | 6 | 000003
TAG_TTK_SERVER_STATE | 0x00001F70 | STRING | 3 | 006
TAG_TTK_SERVER_MSG | 0x00001F71 | STRING | 19 | Авторизация в банке

Ответ на команду выдачи наличных в ТСТ, полученный от терминала

Ссылка на описание | Значение | Тип | Длина | Пример значения
--- | --- | --- | --- | ---
TAG_TTK_SERVER_MID | 0x00000081 | STRING | 3 | CSB
TAG_TTK_SERVER_ECR | 0x00000082 | STRING | 12 | P01386858454
TAG_TTK_SERVER_ERN | 0x00000083 | STRING | 10 | 3109166843
TAG_TTK_SERVER_AUT_CODE | 0x0000008C | STRING | 6 | 82U915
TAG_TTK_SERVER_TSN | 0x0000008B | STRING | 6 | 000038
TAG_TTK_TERMINAL_ID | 0x0000009D | STRING | 8 | 00870013
TAG_TTK_MERCHANT_ID | 0x00000090 | STRING | 12 | 874444445555
TAG_TTK_PILOT_OPER_TYPE | 0x00005F07 | STRING | 3 | 061
TAG_TTK_CARD_TYPE | 0x00005F0D | BINARY | 1 | 01
TAG_TTK_SERVER_RRN | 0x00000098 | STRING | 12 | 154901198830
TAG_TTK_REQUEST_ID | 0x00005F0A | DWORD | 4 | E22D206B
TAG_TTK_TRX_FLAGS | 0x00005F0C | DWORD | 4 | 5000100
TAG_TTK_UPOS_MESSAGE | 0x00005F05 | STRING | 8 | ОДОБРЕHО
TAG_TTK_ENCDATA | 0x00005F39 | BINARY | 32 | EC4D01ABB82B002B44A687873E9B69EFD8685DEAF3A27DF97AEA9352D98807FF
TAG_TTK_PAN | 0x00000089 | STRING | 16 | ************4617
TAG_TTK_CARD_EXPDATE | 0x00005F06 | STRING | 5 | 08/18
TAG_TTK_IS_OWN | 0x000000A4 | STRING | 1 | 1
TAG_TTK_LLT_ID | 0x00005F03 | STRING | 3 | 128
TAG_TTK_ISSUER_NAME | 0x0000008F | STRING | 4 | Mastercard
TAG_TTK_SERVER_AMT | 0x00000084 | STRING | 12 | 000000095000
TAG_TTK_SERVER_AMT_C | 0x00005F33 | STRING | 12 | 000000095000
TAG_TTK_SERVER_DATE | 0x0000008D | STRING | 4 | 0304
TAG_TTK_SERVER_TIME | 0x0000008E | STRING | 4 | 1546
TAG_TTK_HASH | 0x000000A3 | STRING | 40 | 7E6AF16464E06845EE2EADF902E4EAE63D68F35A
TAG_TTK_CHEQUE_IN_ASCII | 0x0000009C | STRING | 1282 | Магазин "Детский Мир"
TAG_TTK_APPROVE | 0x000000A1 | STRING | 1 | Y
TAG_TTK_RESPONSE_CODE | 0x0000009B | STRING | 2 | 00