Шаг | Действие |
1 | Сформировать структуру данных PInitRes следующим образом: |
2 | Ввести Compose SignedData. Если оттиск для Cert-PE не получен в PInitReq, включить в подпись Cert-PE. |
3 | Вставить все эти данные в цифровой конверт и послать владельцу карты |
PInitRes | S(M, PInitResData) |
PInitResData | {TransIDs, RRPID, Chall-C, Chall-M, [BrandCRLIdentifier], PEThumb, [Thumbs], [PIRsExtensions]} |
TransIDs | Смотри описание структуры TransID выше |
RRPID | Идентификатор пары запрос/отклик |
Chall-C | Копируется из сообщения PInitReq |
Chall-M | Вызов продавца, служащий для проверки новизны подписи владельца карты |
BrandCRLIdentifier | Список текущих CRL для всех СА в рамках заданной платежной системы. |
PEThumb | Оттиск сертификата ключевого обмена расчетного центра. |
Thumbs | Копируется из PInitReq |
PIRsExtensions | Запрос инициализации покупки незашифрован, по этой причине эти расширения не должны содержать конфиденциальных данных. |
Шаг | Действие |
1 | Извлечь PInitRes из входного сообщения |
2 | Вызвать Receive SignedData |
3 | Проверить TransID следующим образом: с) Если LID-M не был послан и имеется LID-M, то: |
4 | Сравнить RRPID со значением из записи транзакции. Если они отличаются, то: |
5 | Сравнить Сhall-C со значением из записи транзакции. Если они отличаются, то: |
6 | В опционном варианте управления со стороны владельца карты из сертификата продавца извлекается его имя и отображается для пользователя. Если владелец карты одобряет кандидатуру, процесс продолжается, в противном случае обработка PInitRes прерывается. |
7 | Занести данные, включая TransID и Chall-M, в запись транзакции |
8 | Обработать BrandCRLIdentifier, если он присутствует. |
9 | Использовать PEThumb для идентификации сертификата шифрования (Cert-PE), чтобы использовать в PReq при шифровании данных для расчетного центра. |
10 | Проверить, что сертификат платежной системы продавца и сертификат расчетного центра (Cert-PE) согласуются с платежной системой владельца карты, указанной в PInitReq. Если согласия нет, владелец карты оповещается об этом, а обработка PInitReq прерывается. |
11 | Если поле Thumbs присутствует, сравнить его значение с тем, что прислано в PInitReq. Если значения совпадают, перейти к исполнению пункта 14, в противном случае: |
12 | Если поле Thumbs отсутствует, проверить, что Thumbs не было послано в PInitReq. Если Thumbs было послано в PInitReq, то: |
13 | Если PIRsExtensions существуют, их необходимо обработать. Если они не распознаны, а флаг критичности (criticality) равен TRUE, сформировать сообщение Error, в противном случае расширения следует игнорировать. |
14 | Проверить Cert-PE (идентифицированный в PEThumb) для неподписанных транзакций. Если индикатор в Cert-PE не допускает неподписанных транзакций, а владелец карты не имеет сертификата, информировать его о том, что транзакция не может быть продолжена и прервать обработку. |
15 | Владелец карты может теперь продолжить процедуру посылкой запроса покупки. |