Таблица 4.6.2.59. Структура PReq для PReqDualSigned и PreqUnsigned
OIData | {TransIDs, RRPID, Chall-C, HOD, ODSalt, [Chall-M], BrandID, BIN, [ODExtOIDs], [OIExtensions]} |
TransIDs | Копируется из PInitRes, если имеется |
RRPID | ID пары запрос/отклик |
Chall-C | Копируется из соответствующего PInitReq (см. табл. 4.6.2.55) |
HOD | DD(HODInput)
Связывает OIData с PurchAmt без копирования PurchAmt в OIData, что может привести к проблемам с конфиденциальностью |
ODSalt | Копируется из HODInput |
Chall-M | Вызов продавца владельцу карты относительно свежести подписи |
BrandID | Выбранная владельцем карты платежная система |
BIN | Идентификационный номер банка из номера счета владельца карты (первые 6 цифр) |
ODExtOIDs | Список объектных идентификаторов из ODExtensions |
OIExtensions | Данные в расширении к OI должны относиться к обработке заказа продавцом. Информация заказа незашифрованна, по этой причине здесь не должно быть конфиденциальной информации. |
HODInput | {OD, PurchAmt, PurchAmt, [InstallRecurData], [ODExtensions]} |
OD | Описание заказа (Order Description). Обмен этой информацией происходит между владельцем карты и продавцом (не регламентируется SET). Здесь могут содержаться данные о качестве товара, размере, цене, адресе поставки и т.д. |
PurchAmt | Число транзакций, как это определено владельцем карты. Значение должно соответствовать PIHead (табл. 4.6.2.40). |
ODSalt | Новое значение Nonce, сгенерированное владельцем карты, чтобы препятствовать атакам на HOD. |
InstallRecurData | См. табл. 4.6.2.41 |
ODExtensions | Данные в этом расширении OD должны относиться к обработке заказа продавцом. Эта информация должна быть известна независимо владельцу карты и продавцу. |
При получении PReq продавец производит следующие действия.
Шаг | Действие | |
1 | Извлекает PReq из входного сообщения | |
2 | Если получено PReqDualSigned, производит проверку подписи;
| |
3 | Если получено PReqUnsigned, проверяет, что сертификат платежной системы (Cert-PE) допускает PReqUnsigned. Если нет, то:
| |
4 | Производит обработку TransIDs: Проводит поиск транзакций, базирующихся на XID. Если запись такой транзакции найдена Сравнивает LID-C и LID-M с записью. Если соответствия нет: В противном случае сверяет Chall-M с записью. Если соответствия нет, то: В противном случае | |
5 | Проверяет, что BrandID в сертификате владельца карты соответствует BrandID в PInitReq и/или OIData. Если соответствия нет, то:
| |
6 | Запоминает Chall-C, чтобы вернуть его в последующем PRes | |
7 | Запоминает оставшиеся переменные из сообщения в базе данных | |
8 | Сверяет HOD c сформированным хэшем OD, PurchAmt, ODSalt, InstallRecurData (если имеется) и ODExtensions (если имеется) | |
9 | Начиная с этого момента, продавец может, если захочет, послать PRes владельцу карты, или ждать пока от расчетного центра не будет получено сообщение AuthRes |
Шаг | Действие |
1 | Сформировать PResData:
|
2 | Ввести Compose SignedData |
3 | Вставить сообщение в цифровой конверт и послать владельцу карты |
Шаг | Действие |
1 | Если выполнена только авторизация: |
2 | Если оплата (capture) выполнена: |
3 | Если кредитование осуществлено; |
4 | Опционно добавить любые PRsExtensions |
Шаг | Действие |
1 | Скопировать AcqCardMsg из AuthRes, если этот отклик имеется |
2 | Если позиция авторизована, сформировать AuthStatus: |
3 | Если позиция оплачена, сформировать CapStatus: |
4 | Сформировать CredStatusSeq как последовательность CredStatus для каждой выполненной и не отмененной кредитной операции. Сформировать CredStatus: PurchAmt |