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


Обработка запроса покупки - часть 3


  • С PIHead используется H(OIData)
  • Расчетным центром производится сравнение H(OIData), присланного продавцом, с H(OIData) из PIHead.
  • Владелец карты формирует сообщение PReq следующим образом (эти действия предпринимаются как для PReqUnsigned так и для PreqDualSigned).

    Шаг

    Действие

    1

    Извлечь PurchAmt и OD

    2

    Сформировать OIData следующим образом:
    a)

    Если имел место обмен PInitReq/ PInitRes:

    Скопировать TransIDs из PInitRes

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

    Для формирования TransIDs владелец карты сгенерирует PreqDate (текущие дата/время), LID-C и XID

    b)

    Сформировать новый RRPID, запомнить его значение для сверки с откликом продавца

    Если имел место обмен PInitReq/PInitRes:

    Скопировать Chall-c из PInitRes

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

    Сформировать новый Chall-C

    c)

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

    d)

    Сформировать HODInput посредством следующей процедуры:

    • Скопировать OD из данных процесса инициализации SET
    • Записать PurchAmt cо значением, одобренным владельцем карты на фазе инициации SET.
    • Скопировать ODSalt из пункта 2 с)
    • Если владелец карты намерен выполнить инсталляцию или последовательные платежи, то записать InstallRecurData
    • Опционно: добавить любые ODExtensions
    e)

    Сформировать HOD с HODInput из пункта 2 d

    f)

    Если имел место обмен PInitReq/ PInitRes:

    Скопировать Chall-M из PInitRes и не заполнять BrandID

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

    Не заполнять Chall-M

    Записать BrandID, указав предпочтительный тип карты

    g)

    Произвести записьв поле BIN с HODInput из пункта 2d

    h)

    Если HODInput из шага 2.d имеет какие-то расширения OIExtensions, внести ODExtOIDs со всеми OID в ODExtensions. ODExtOIDs будут перечислены в том же порядке, что и расширения ODExtensions, таким образом продавец сможет вычислить тот же самый хэш

    i)

    Опционно: добавить любые расширения OIExtensions.

    3

    Сформировать PIHead следующим образом:
    a)

    Скопировать TransIDs, вычисленные в пункте 2.а

    b)

    Сгенерировать Inputs согласно процедуре:

    • Скопировать HOD из пункта 2.е
    • Скопировать PurchAmt из шага 2.d.2
    c)

    Скопировать MerchandID из сертификата продавца в PInitRes, или из CD-ROM-каталога

    d)

    Скопировать InstallRecurData из пункта 2.d.4 (если имеется)

    e)

    Сформировать TransStain, как HMAC, используя XID в качестве данных и CardSecret - в качестве ключа. Если владелец карты не имеет сертификата, использовать CardSecret, заполненный нулями.

    f)

    Записать SWIdent, который получен из локальных данных. Это значение будет соответствовать коду в цифровом конверте сообщения

    g)

    Если присутствует туннельное расширение Cert_PE, сформировать AcqBackInfo следующим образом:

    1. Найти туннельное расширение для алгоритма шифрования, приемлемое для владельца карты. Если такое найдено, заполнить AcqBackAlg, в противном случае, не формировать AcqBackInfo и перейти к пункту f.
    2. Сформировать новый AcqBackKey (приемлемый для AcqBackAlg)
    h)

    Опционно добавить любые PIExtensions

    4

    Сформировать PANData

    5

    Сгенерировать PU-OIData c L-оператором, используя PIHead из пункта 3 (параметр t1) и OIData из пункта 2 (параметр t2)

    6

    Используя результат пунктов 2, 3 и 4, сгенерировать PreqDualSigned, если владелец карты имеет сертификат или PreqUnsigned, если сертификата нет.

    <


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