Протокол IGRP

       

Проверка того, что агент доставки может выполнить доставку



Рисунок .13. Проверка того, что агент доставки может выполнить доставку

Процедура включает в себя следующие шаги:

  • Идентификацию компонента Delivery в блоке запроса доставки. Если не обнаружено ни одного или более одного подходящего компонента доставки, возникает состояние ошибки.
  • Использование атрибута ActionOrgRef компонента доставки для идентификации компонента Organisation агента доставки. Если не обнаружено ни одного или более одного подходящего компонента Organisation, возникает состояние ошибки.
  • Если компонент Organisation для Агента доставки не имеет элемента торговой роли с атрибутом Role агента доставки, то это ошибка.
  • Наконец, если организация, которая получила блок запроса доставки не идентифицирует компонент Organisation для агента доставки, то это ошибка.

6.3.2. Проверка компонентов Correct, присутствующих в блоке запроса

Далее проверяется то, что в блоке платежного запроса (смотри раздел 8.7) или запроса доставки (смотри раздел 8.10) присутствуют правильные компоненты. Если компоненты отсутствуют, то это ошибка.

6.3.3. Проверка авторизованности операции

Предыдущие шаги идентифицировали операционную организацию и проверяли наличие всех необходимых компонент. На данном этапе проверяется, что операционная организация авторизована для выполнения данной процедуры.

Операционная организация идентифицирует Продавца, проверяет, что с ним имеется соглашение, которое допускает выполнение операции, и что любые ограничения этого соглашения выполнены, тогда, если требуются подписи, проверяется, что они подтверждают корректные данные. Эти шаги включают в себя:



  • идентификацию Продавца. Это компонент Organisation с элементом торовой роли, который имеет атрибут Role со значением Продавец. Если не обнаружено ни одного или более одного подходящего элемента торговой роли, возникает состояние ошибки.
  • проверку наличия соглашений операционных организаций с Продавцом, позволяющих выполнение операции. Чтобы решить эту задачу операционная организация должна проверить, что:

- Продавец известен и существует соглашение с операционной организацией (кассиром или агентом доставки);
  - им разрешено участвовать в IOTP-транзакции данного типа. Например кассир может согласиться принимать платежи в рамках операций продажи, но не не обслуживать денежные возвраты;
  - любые ограничения в их соглашении с продавцом выполнены, например, требуется ли подпись отклика предложения.
<
  • Проверка корректности подписей. Если подписи необходимы, они должны быть проверены. Это подразумевает:
- идентификацию и проверку подписей. Это включает операционную организацию, идентифицирующую компоненты подписи, которые содержат ссылки на операционную организацию (смотри 6.3.1). В зависимости от выполняемой IOTP

транзакции (смотри раздел 9) может идентифицироваться одна или две подписи;
- проверку того, что компоненты подписи корректны. Это включает проверку того, что существуют элементы дайджеста в элементе Manifest, который относится к обязательным торговым компонентам (смотри раздел 6.3.3.1).
6.3.3.1. Проверка корректности дайджестов подписи

Все компоненты Signature, содержащиеся в IOTP-сообщении должны включать элементы Digest, которые относятся к:

  • Id компоненту транзакции (смотри раздел 3.3.1) сообщения IOTP, которое содержит компонент подписи. Это связывает глобально уникальный IotpTransId с другими компонентами, которые определяют транзакцию IOTP;
  • блоку ссылок транзакции (смотри раздел 3.3) первого сообщения IOTP, которое содержит подпись. Это связывает IotpTransId с информацией о сообщении IOTP, содержащемся в Id-компоненте сообщения (смотри раздел 3.3.2).
Необходима проверка того, что каждый компонент подписи содержит элементы дайджеста, которые относятся к корректным данным.

Элементы Digest, которые должны присутствовать, зависят от торговой роли организации, генерирующей цифровую подпись:

  • если подписант является продавцом, тогда:
  - элементы дайджеста должны присутствовать во всех компонентах блока запроса, вне зависимости от компонента выбора вида платежа, который является опционным;
  • если подписантом, формирующим цифровую подпись, является кассир, тогда элементы дайджеста должны присутствовать для:
  - компонента подписи, сформированной продавцом и, опционно
  - один или более компонентов подписи, сформированной предыдущим Кксиром в транзакции.


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