Интегрированные сети ISDN


Таблица Структура PInitReq



Таблица 4.6.2.55. Структура PInitReq

PInitReq

{ RRPID, Language, LID-C, [LID-M], Chall-C, BrandID, BIN, [Thumbs], [PIRqExtensions]}

RRPID

Идентификатор пары запрос/отклик

Language

Естественный язык владельца карты

LID-C

Локальный ID. Метка, формируемая системой владельца карты или для нее.

LID-M

Копируется из сообщения инициации SET (если имеется)

Chall-C

Вызов владельца карты, служащий для гарантии новизны подписи продавца

BrandID

Выбранная владельцем карты платежная система

BIN

Номер идентификации банка из номера счета владельца карты (первые 6 цифр)

Thumbs

Оттиски списка сертификатов, CRL и BrandCRLIdentifier из кэша владельца карты

PIRqExtensions

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

Алгоритм обработки PInitReq продавцом представлен ниже.

Шаг

Действие

1

Извлечь запрос из входного сообщения

2

Если LID-M присутствует, найти запись транзакции, базирующуюся на LID-M. Если запись не найдена:

  • Прислать сообщение Error c ErrorCode равным unknownLID
  • Прервать обработку PInitReq

3

Если LID-M отсутствует, найти запись транзакции, на основе критериев, выходящим за пределы регламентаций SET. Если продавец не сформировал LID-M для этой транзакции, опционно сгенерировать LID-M и занести его в запись транзакции.

4

Сформировать новый XID

5

Занести XID, RRPID, Language, LID-C, Chall-C, BrandID и BIN в запись транзакции

6

Если оттиски присутствуют, произвести спасение записи транзакции

7

Если имеется какое-либо расширение PInitReq, произвести его обработку. Если расширение не распознано и флаг критичности равен TRUE, сформировать сообщение Error, в противном случае игнорировать расширение. Если расширение распознано, его следует обработать.

Формирование продавцом отклика PInitRes осуществляется следующим образом.

Шаг

Действие

1

Сформировать структуру данных PInitRes следующим образом:

  1. Сгенерировать TransID согласно следующей процедуре:

  • Скопировать LID-C, XID и Language из записи транзакции
  • Если запись транзакции содержит LID-M, скопировать его
  • Занести текущую дату в TransIDs.PReqDate

  1. Скопировать RRPID из записи транзакции
  2. Скопировать Chall-C из записи транзакции
  3. Сформировать новый Chall-M
  4. Если оттиск для текущего BrandCRLIdentifier не получен или устарел, занести новый BrandCRLIdentifier
  5. На основе информации из PInitReq (BrandID, BIN и сертификат владельца карты) выбрать расчетный центр. Записать в PEThumb оттиск сертификата выбранного расчетного центра.
  6. Скопировать оттиски из PInitReq, если он имеется. Это позволяет владельцу карты проверить, что продавцу корректно доставлены все посланные оттиски.
  7. Опционно: добавить любые PIRqExtensions

2

Ввести Compose SignedData. Если оттиск для Cert-PE не получен в PInitReq, включить в подпись Cert-PE.

3

Вставить все эти данные в цифровой конверт и послать владельцу карты

Информационная структура PInitRes представлена ниже в таблице 4.6.2.56.




Начало  Назад  Вперед