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

         

Структура CapPayload



Таблица 4.6.2.69. Структура CapPayload



CapPayload

{CapDate, CapReqAmt, [AuthReqItem], [AuthResPayload], [SaleDetail], [CPayExtensions]}

CapDate

Дата платежа - это дата транзакции, которая появится в уведомлении владельца карты.

CapReqAmt

Сумма платежа, затребованная продавцом, может отличаться от AuthAmt. Это сумма транзакции (до конвертации валюты), которая появится в уведомлении владельца карты.

AuthReqItem

См. табл. 4.6.2.64. Поле необходимо, если соответствующий маркер CapToken отсутствует или система расчетного центра/банка продавца не содержит подходящих данных для авторизационного запроса.

AuthResPayload

См. табл. 4.6.2.67. Поле необходимо, если соответствующий маркер CapToken отсутствует или система расчетного центра/банка продавца не содержит подходящих данных для авторизационного отклика.

SaleDetail

См. табл. 4.6.2.47.

CPayExtensions

Данные в расширении запроса платежа (capture) должны иметь финансовый характер и быть существенными для сообщения capture, посланного расчетному центру, финансовой сети или эмитенту.

Данные этого расширения приложимы к индивидуальным позициям платежного запроса. Данные, относящиеся ко всему запросу, помещаются в расширение CapReqData.

Расчетный центр, получив запрос CapReq, обрабатывает его следующим образом.

Шаг Действие
1 Извлечь запрос из входного сообщения
2 Обработать CRqExtensions. Если какое-либо неподдерживаемое расширение имеет критический флаг, отбросить сообщение, послав сообщение Error = unrecognizedExtension
3 Для каждого CapItem обработать платеж и сформировать CapResItem с суммой из обрабатываемого платежа и кодом CapCode, соответствующим успеху или неудаче:

  • Обработать CapPayload
  • Если CapToken присутствует:
      1. Проверить CapToken. Если CapToken некорректен, отклонить платеж, возвратив для данной позиции CapCode = invalidCapToken
      2. Проверить, что CapToken не был еще обработан. Если проверка не прошла, отклонить платеж, прислав CapCode = invalidCapToken
      3. Обработать TokenOpaque

  • В противном случае, если допустимы платежи без CapToken:
      1. Если AuthReqItem и AuthResPayload отсутствуют, отклонить платеж, послав CapCode = authDataMissing
      2. Сверить AuthReqItem и AuthResPayload с записями транзакции. Если соответствия нет, платеж отвергается путем посылки CapCode = invalidAuthData.

    1. В противном случае, если платежи без CapToken не поддерживаются, платеж отклоняется посылкой CapCode = missingCapToken
    2. Проверить TransIDs

      1. Извлечь запись транзакции
      2. Проверить, что XID согласуется с записью транзакции. Если согласия нет, то платеж отклоняется посылкой CapCode = unknownXID
      3. Сверить LID-C и, если имеется, LID-M со значениями из записи транзакции. Если совпадения нет, то транзакция терпит неудачу, посылается CapCode = unknownLID

      f) Обработать платеж для заданной позиции через существующую финансовую сеть карты и записать результат.

    <
    Расчетный центр обрабатывает CapPayLoad следующим образом.

    Шаг Действие
    1 Обработать CPayExtensions. Если неизвестное расширение помечено как критическое, сообщение отвергается и возвращается сообщение Error unrecognizedExtension
    2 Запомнить SaleDetail
    3 Проверить, что BatchID является открытой платежной линией для BrandAndBIN.
  • Если платежная линия неизвестна, отклонить платеж с посылкой CapCode = batchUnknown.

  • Если линия не открыта, отклонить платеж с CapCode = batchClosed
  • 4 Проверить, что идентификатор BatchSequenceNum является уникальным в рамках платежной линии. Если идентификатор не уникален, отклонить платеж путем возвращения CapCode = batchUnknown.

    Расчетный центр формирует отклик CapRes согласно следующему алгоритму.

    Шаг Действие
    1 Получить данные о платеже от платежного процесса
    2 Скопировать CapRRTags из CapReq
    3 Заполнить текущее значение BrandCRLIdentifier, имеющееся в расчетном центре, если оттиск для текущего BrandCRLIdentifier не получен или устарел.
    4 Если MThumbs указывают, что продавцу для шифрования информации нужен новый Cert-PE:
  • Вложить Cert-PE в цифровой конверт PKCS#7

  • Вложить GKThumb в AuthResData, так как сам Cert-PE не защищен подписью
  • 5 Опционно занести в поле BatchSequenceNum состояние текущих платежных линий
    6 Скопировать BatchID и BatchSequenceNum из SaleDetail в CapResPayload
    7 Заполнить CapResSeq. Для каждого CapItem в соответствующем CapReq заполнить CapResItem следующим образом:
  • Скопировать TransIDs из соответствующего CapReqItem

  • Скопировать AuthRRPID из соответствующего CapReqItem, если он имеется

  • Заполнить CapResPayload
  • 8 Опционно заполнить CRsExtensions
    9 Вставить сообщение в цифровой конверт и послать продавцу

    Генерация CapResPayload осуществляется следующим образом.

    Шаг Действие
    1 Заполнить CapCode и CapAmt результатами обработки соответствующего CapReqItem
    2 Скопировать BatchID и BatchSequenceNum из соответствующего CapReqItem
    3 Опционно заполнить CRsPayExtensions

    Структура сообщения-отклика CapRes показана в таблице 4.6.2.70.

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