Структура данных CapResPayload представлена в таблице 4.6.2.71.
. Структура
CapResPayload |
{CapCode, CapAmt, [BatchID], [BatchSequenceNum],
[CRsPayExtensions]} |
CapCode |
Цифровой код, указывающий на состояние платежа |
CapAmt |
Копируется из соответствующего CapReq |
BatchID |
Идентификатор для установления платежной линии между продавцом и его банком. Копируется из соответствующего CapReq |
BatchSequenceNum |
Порядковый номер позиции в текущей последовательности платежей; копируется из соответствующего CapReq |
CRsPayExtensions |
Данные в расширении поля данных платежного отклика должны иметь финансовый характер и быть важными для осуществления платежа ли последующего возврата денег. |
Продавец обрабатывает отклик CapRes следующим образом.
Шаг |
Действие |
1 |
Извлекается отклик из входного сообщения |
2 |
Обрабатывается CRsExtensions, если таковые имеются. Если не узнанное расширение помечено как критическое, в рабочий журнал заносится запись Error = unrecognizedExtension, а сообщение CapRes отбрасывается |
3 |
Извлекается запись транзакции и производится сравнение CapRRTags:
- Проверяется, что XID соответствует транзакции. Если это не так, сообщение отвергается и посылается отклик Error = unknownXID
- Проверяется, что LID-M и, если присутствует в записи транзакции, LID-C согласуются с записью транзакции. Если согласия нет, сообщение отвергается и посылается отклик Error = unknownLID
|
4 |
Если в сообщение включен BrandCRLIdentifier, запомнить все CRL. |
5 |
Проверить, что GKThumb согласуется с сертификатом шифрования платежного центра (если GKThumb имеется). Если это не так, актуализовать кэш сертификата с использованием текущего сертификата. |
6 |
Для каждого CapResItem в CapResSeq:
- Обрабатывается CRsPayExtensions. Если неузнанное расширение помечено как критическое, в рабочий журнал заносится запись Error = unrecognizedExtension, а сообщение CapRes отбрасывается.
- Обработать CapCode для получения результата операции
- Для успешного платежа запомнить CapCode и CapAmt, ассоциированные с AuthRRPID.
|
7 |
Если BatchStatusSeq присутствует, обработать и запомнить каждое значение BatchStatus |