Протокол для работы с кредитными картами CyberCash




Оттиски (Thumbprints) - часть 63


Структура PReqUnsigned
PReqUnsigned{PIUnsigned, OIUnsigned}
PIUnsignedСмотри описание PI (выше)
OIUnsignedL(OIData, PIDataUnsigned)
OIDataСмотри табл. 4.6.2.59
PIDataUnsigned{PIHead, PANToken} (см. табл. 4.6.2.40 и 4.6.2.45)

Структура данных сообщения PReq для PReqDualSigned и PreqUnsigned показана в таблице 4.6.2.59.

Таблица 4.6.2.59. Структура PReq для PReqDualSigned и PreqUnsigned

OIData

{TransIDs, RRPID, Chall-C, HOD, ODSalt, [Chall-M], BrandID, BIN, [ODExtOIDs], [OIExtensions]}

TransIDsКопируется из PInitRes, если имеется
RRPIDID пары запрос/отклик
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, производит проверку подписи;

    1. Извлекает OIData и HPData из OIDualsigned

    2. Формирует HOIData в виде дайджеста OIData

    3. Формирует PI-TBS в виде объединения HPOData из пункта А и HOIData из пункта В.

    4. Генерирует подпись с помощью оператора SO, используя сертификат владельца карты (параметр s) и PI-TBS из пункта С (параметр t).

    5. Сравнивает подпись из пункта D с PISignature. Если они не тождественны, послает сообщение Error c ErrorCode равным signatureFailure и останавливает обработку PReq.

    6. Переходит к выполнению пункта 4.

3

Если получено PReqUnsigned, проверяет, что сертификат платежной системы (Cert-PE) допускает PReqUnsigned. Если нет, то:

      1. Возвращает сообщение PRes c CompletionCode=signatureDequired (необходима подпись)

      2. Останавливает обработку PReq

4

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

  1. Возвращает сообщение Error c ErrorCode = unknownLID

  2. Останавливает обработку PReq

В противном случае сверяет Chall-M с записью. Если соответствия нет, то:

  1. Присылает сообщение Error c ErrorCode = challengeMismatch

  2. Останавливает обработку PReq

В противном случае

  1. Формирует новую запись транзакции

  2. Спасает LID-C, PReqDate и Language

  3. Опционно формирует LID-M

 

5

Проверяет, что BrandID в сертификате владельца карты соответствует BrandID в PInitReq и/или OIData. Если соответствия нет, то:

  1. Присылает сообщение PRes c completionCode = orderRejected (заказ отклонен)

  2. Останавливает обработку PReq

6

Запоминает Chall-C, чтобы вернуть его в последующем PRes

7

Запоминает оставшиеся переменные из сообщения в базе данных

8

Сверяет HOD c сформированным хэшем OD, PurchAmt, ODSalt, InstallRecurData (если имеется) и ODExtensions (если имеется)

9

Начиная с этого момента, продавец может, если захочет, послать PRes владельцу карты, или ждать пока от расчетного центра не будет получено сообщение AuthRes




Содержание  Назад  Вперед