Интегрированные сети 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 следующим образом:

  • Сгенерировать TransID согласно следующей процедуре:
  • Скопировать LID-C, XID и Language из записи транзакции
  • Если запись транзакции содержит LID-M, скопировать его
  • Занести текущую дату в TransIDs.PReqDate
  • Скопировать RRPID из записи транзакции
  • Скопировать Chall-C из записи транзакции
  • Сформировать новый Chall-M
  • Если оттиск для текущего BrandCRLIdentifier не получен или устарел, занести новый BrandCRLIdentifier
  • На основе информации из PInitReq (BrandID, BIN и сертификат владельца карты) выбрать расчетный центр. Записать в PEThumb оттиск сертификата выбранного расчетного центра.
  • Скопировать оттиски из PInitReq, если он имеется. Это позволяет владельцу карты проверить, что продавцу корректно доставлены все посланные оттиски.
  • Опционно: добавить любые PIRqExtensions

  • 2

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

    3

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

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



    Содержание раздела