Безналичный денежный оборот Безналичный денежный оборот Безналичный евро Безналичная валюта Регулирование денег Регулирование безналичного денежного оборота Денежная система Федеральная Резервная Система Золотой стандарт Торговля золотом Международная валютная система и золотой стандарт Золото 2006 пробы Безналичная Ювелирка Пластиковые деньги Банковские пластиковые карты История создания пластиковых карт. Мировой и Российский опыт Как работают пластиковые карты Интернет и деньги Безналичные интернет финансы Платежные системы и безналичные расчеты Криптовалюты |
|
| о | после получения блока запроса; |
| o | до посылки блока отклика. |
| 1. | Первая организация, например покупатель, осуществляет действие (например, нажимает на клавишу на HTML-странице), которое требует, чтобы организация была аутентифицирована. |
| 1 а 2 | Запрос аутентификации (за пределами действия IOTP) |
| 2. | Вторая организация генерирует данные вызова и список алгоритмов, которые могут быть использованы для аутентификации и/или запрос данных об организации, после чего посылает все это первой организации. |
| 1 Я 2 | Запрос аутентификации. Компоненты: запрос аутентификации, запрос информации о торговых ролях. |
| 3. | Первая организация опционно проверяет любую подпись, связанную с запросом аутентификации, после чего использует специфицированный алгоритм аутентификации, чтобы сформировать отклик аутентификации, который посылается второй организации вместе с запрошенной информацией об организации. |
| 1 а 2 | Отклик аутентификации. Компонент: отклик аутентификации, организации |
| 4. | Отклик аутентификации проверяется согласно данным вызова для того чтобы выяснить является ли первая организация той, за которую себя выдает, результат записанный в компонент статус посылается первой организации. |
| 1 Я 2 | Статус аутентификации. Компонент: Статус |
| 5. | Первая организация опционно проверяет результаты, записанные в cтатус, и все соответствующие подписи, после чего предпринимает некоторые действия или останавливает процедуру. |

| - сформировать безопасный канал связи с покупателем (напр., используя [SSL/TLS]); | |
| - аутентифицировать покупателя, используя базовую транзакцию аутентификации и затем; | |
| - предоставить покупателю доступ к информации и другим услугам с конфиденциальностью, с которой они общаются с добросовестными клиентами. |

| - покупатель может специфицировать номер счета перед началом базовой транзакции депозита или | |
| - покупатель может быть идентифицирован ранее, например, с помощью базовой транзакции аутентификации, а счет может быть выбран из списка, предоставляемого финансовой организацией. |
| - если предыдущая транзакция, например, отзыва сделки или аутентификации уже идентифицировала покупателя, а канал связи обеспечивает достаточную безопасность, что гарантирует аутентифицированность клиента; | |
| - если аутентификация является частью платежного протокола и, следовательно, уже включена в платежный документальный обмен; | |
| - если аутентификация покупателя реализована каким-то иным способом вне рамак протокола IOTP, например, путем использования парольной фразы или аппаратным образом. |



| - покупатель может специфицировать номер счета перед началом базовой транзакции отзыва или | |
| - покупатель может быть идентифицирован ранее, например, с помощью базовой транзакции аутентификации, а счет может быть выбран из списка, предоставляемого финансовой организацией. |
| - если предыдущая транзакция, например, депозит или аутентификация уже идентифицировала покупателя, а канал связи обеспечивает достаточную безопасность, что гарантирует аутентифицированность клиента; | |
| - если аутентификация является частью платежного протокола и, следовательно, уже включена в платежный документальный обмен; | |
| - если аутентификация покупателя реализована каким-то иным способом вне рамак протокола IOTP, например, путем использования парольной фразы или аппаратным образом. |
| 1. | Приложение IOTP первой торговой роли решает проверить, находится ли в рабочем состоянии соответствующее приложение партнера. Оно генерирует блок запроса Ping, опционный блок подписи и шлет их другой торговой роли. |
| 1 а 2 | Запрос PING. IotpMsg: блоки Trans Ref; подписи (опционный); запроса Ping |
| 2. | Вторая торговая роль, которая получает блок запроса Ping, генерирует блок отклика Ping и посылает его отправителю исходного запроса Ping, с блоком подписи, если это требуется. |
| 1 Я 2 | Отклик PING. IotpMsg: блоки Trans Ref; подписи (опционный); отклика Ping |
| 3. | Первая торговая роль проверяет блок отклика Ping и выполняет необходимые действия, если это требуется |
| - документальный обмен платежа ge (смотри раздел 9.1.3), за которым следует | |
| - документальный обмен доставки (смотри раздел 9.1.4) |

| - исходная сделка имела место, например, путем предоставления расписки для исходной транзакции; | |
| - используется некоторый вид аутентификации, чтобы показать, что субъект, запросивший возврат, действительно является покупателем, или представителем покупателя, который осуществлял исходную сделку; | |
| - причину, почему продавец должен вернуть деньги. |
| - опционный документальный обмен аутентификации (смотри раздел 9.1.1) | |
| - документальный обмен предложения (смотри раздел 9.1.2) и | |
| - документальный обмен платежа (смотри раздел 9.1.3). |

| - Продавцу, после отправки блока выбора TPO, | |
| - Кассиру, после отправки блока платежного запроса, | |
| - Агенту доставки, после отправки блока запроса доставки, |
| 1. | Первая роль решает сделать запрос о транзакции IOTP, например, нажав кнопку запроса в приложении IOTP. Это вызовет генерацию блока информационого запроса и посылку его соответствующей торговой роли. |
| 1 а2 | Информационый запрос. IotpMsg: блоки TransRef; подписи (опционный); информационого запроса |
| 2. | Вторая торговая роль проверяет цифровую подпись (если она присутствует). Если получатель хочет среагировать, тогда торговая роль проверяет состояние транзакции, объекта запроса, используя IotpTransId в ID-компоненте блока ссылок транзакции, посылает сообщение первой торговой роли, после чего процесс останавливается |
| 1 Я 2 | Информационный отклик. IotpMsg: блоки TransRef; информационного отклика; подписи (опционный) |
| 3. | Первая торговая роль проверяет блок информационного отклика и опционную подпись, выполняет необходимые действия и останавливается. Это может включать отображение статусной информации конечному пользователю. |

| Тэг | Длина | Значение |
| T | L | Криптограмма (зашифрованные данные) |
| Значение 1 | Значение 2 |
| Криптограмма (зашифрованные данные) | МАС (если имеется) |
| Этап | Действие |
| 1 | Владелец карты просматривает позиции каталога продавца: |
| 2 | Владелец карты выбирает понравившийся товар или услугу. |
| 3 | Владельцу карты предоставляется форма заказа, содержащая список позиций, их цены, стоимости доставки, уровни платежей по налогам, возможные скидки и т.д. Такая форма может быть доставлена по сети с сервера продавца или сформирована торговой программой владельца карты. Иногда продавцы предоставляют возможность согласования цены продукта (например, предъявляя карту постоянного покупателя или предоставляя цены конкурентов). |
| 4 | Владелец карты выбирает средство платежа. SET предполагает применение различных кредитных и платежных карт. |
| 5 | Владелец карты посылает продавцу заполненную форму заказа и платежные инструкции. В данной спецификации предполагается, что заказ и инструкции подписываются владельцем карты электронным образом с привлечением имеющихся в его распоряжении сертификатов. |
| 6 | Продавец запрашивает платежную авторизацию от эмитента карты. |
| 7 | Продавец посылает подтверждение заказа. |
| 8 | Продавец доставляет заказанный товар или услугу |
| 9 | Продавец посылает запрос на оплату товара или услуги финансовой организации владельца карты. |



| Символы-префиксы | Участник сделки |
| C | Владелец карты (Cardholder) |
| M | Продавец (Merchant) |
| P | Расчетный центр (Payment Gateway) |
| CA | Сертификационный центр (Certificate Authority) |

| XID | 20-байтовое число, которое однозначно идентифицирует транзакцию (включает в себя все аутентификационные и клиринговые сообщения). |
| RRPID | 20-байтовое число, которое однозначно идентифицирует запрос. |
| locallD-M | 1-20 байтовый локальный идентификатор, присваиваемый транзакции программой продавца |
| paySysID | 1-64 байтовый идентификатор транзакции |
| MerOrderNum | 1-25 байтовый номер заказа продавца |
| Держатель карты (Cardholder) | Авторизованный владелец платежной карты, предоставленной ему эмитентом и предназначенной для выполнения платежей за покупки и услуги. |
| Продавец (Merchant) | Субъект или фирма, предлагающие товары, информацию или услуги, получающие от этого прибыль в виде платежей. |
| Эмитент (Issuer) | Финансовая организация, которая осуществляет выпуск платежных карт для клиентов и поддерживает функционирование их счетов. Эмитент гарантирует осуществление платежа для авторизованной транзакции. |
| Получатель (Acquirer) | Финансовая организация, которая поддерживает продавцов, осуществляя операции с платежными картами. Получатель осуществляет сбор финансовых данных, имеющих отношение к транзакции, для получения авторизации платежа, который выполняет эмитент. |
| Расчетный центр (Payment Gateway) | Система, которая предоставляет коммерческие услуги продавцам через посредство получателя, и обеспечивает интерфейс получателю для авторизации и реализации транзакции. Расчетный центр обычно управляется получателем. |
| Платежная система (Brand) | Система или компания, предоставляющая платежные средства (например, карты VISA, MasterCard и т.д.) |
| Сертификационный центр (Certificate Authority -CA) | Агент одной или нескольких систем платежных карт, который осуществляет создание и рассылку сертификатов для продавцов, покупателей и расчетных центров. Участники транзакции могут иметь единый сертификационный центр, но могут работать и с разными центрами. Основная задача СА - гарантия того, что данное сообщение, ключ и т.д. посланы определенным субъектом, а не самозванцем. |
| Название поля | Описание |
| Message-Wrapper | {MessageHeader, Message, [MWExtension]}} |
| MessageHeader | {Version, Revision, Date, [MessageID], [RRPID], SWIdent} |
| Version | Версия SET-сообщения |
| Revision | Подтип SET-сообщения |
| Date | Дата генерации сообщения |
| MessageID | {[LID-C], [LID-M], [XID]} |
| RRPID | Идентификатор, позволяющий объединять в пары запросы и отклики |
| SWIdent | Идентификация программы (поставщик и версия), инициировавшей запрос. Эта информация представляется строкой символов |
| Message | < PInitReq, PInitRes, PReq, PRes, InqReq, InqRes, AuthReq, AuthRes, AuthRevReq, AuthRevRes, CapReq, CapRes, CapRevReq, CapRevRes, CredReq, CredRes, CredRevReq, CredRevRes, PCertReq, PCertRes, BatchAdminReq, BatchAdminRes, CardCInitReq, CardCInitRes, Me-AqCInitReq, Me-AqCInitRes, RegFormReq, RegFormRes, CertReq, CertRes, CertInqReq, CertInqRes, Error> |
| LID-C | Локальный идентификатор, генерируемый системой владельца карты или для его системы |
| LID-M | Локальный идентификатор, генерируемый системой продавца или для его системы |
| XID | Глобальный идентификатор, генерируемый продавцом (или владельцем карты, если нет PInitRes) |
| MWExtension | Расширение сообщения SET. Расширение используется, когда информация в расширении является общей, описывающей сообщения SET, или когда содержимое сообщения зашифровано, а расширение содержит нефинансовую информацию, не требующую конфиденциальности. |
| Понятие | Нотация | Описание | |
| Группа (tuple) | {A,B,C} | Группа из нуля или более информационных элементов. Представляет документы или сообщения, обозначается идентификаторами, содержащими алфавитно-цифровые символы | |
| Компонент | T={A,B,C} | Группе может быть присвоено имя. В этом случае T.A, T.B и T.C обозначают компоненты Т. | |
| Упорядоченное объединение | A|B|C | Служит для обозначения упорядоченного объединения элементов A,B и C | |
| Опционное значение | [A] | Значение A является опционным | Допускается любое вложение этих скобок |
| Выбор | Обозначает, что должно присутствовать одно из значений A,B или C | ||
| Опционный выбор | [] | То же, что и предыдущее, но сам выбор опционен | |
| Кратное использование | {A+} | Группа содержит один или более элементов A | |
| {A*} | Группа содержит нуль или более элементов A | ||
| {[A]+} | Означает, что группа содержит:один или более элементов A в упорядоченном массиве, где каждое вхождение A является опционным (этот элемент может отсутствовать) | ||
| Исключающее ИЛИ | Е | Обозначает операцию исключающее ИЛИ | |
| Нотация | Оператор | Описание | ||
| H(t) | хэш | 160-битовый хэш группы t | ||
| HMAC(t,k) | Ключевой хэш-механизм | 160-битовый ключевой хэш группы t, использующий ключ k и алгоритм HMAC-SHA-1 HMAC(t,k) = H(k Е opad) | H((k Е ipad)|t)),где ipad - байт 0х36, повторенный 64 раза;opad - байт 0х5С, повторенный 64 раза; аЕ - знак операции исключающее ИЛИ. | ||
| L(t1,t2) | Связь | Ссылка, указатель или связь t2 с t1; эквивалентно группе {t1, H(t2)} | ||
| Нотация операторов цифровой подписи | ||||
| S(s,t) | Подписанное сообщение | Подпись объекта s для группы t, включая открытый текст t. Алгоритмом цифровой подписи для SET является RSA с дайджестом SHA-1. Соответствует SignedData PKCS #7. | ||
| Нотация операторов двойной цифровой подписи | ||||
| SO(s,t) | Только подпись | Подпись объекта s для группы t, не включая открытый текст t. SO соответствует внешней подписи PKCS #7. Алгоритмом цифровой подписи для SET является RSA с дайджестом SHA-1. | ||
| Нотация операторов шифрования | ||||
| E(r,t) | Асимметричное шифрование (цифровой конверт) | Сначала шифруется t с новым симметричным ключом k, затем ключ вкладывается в цифровой конверт PKCS #7 для объекта r. Производится шифрование OAEP(k) с использованием общедоступного ключа объекта r, взятого из сертификата группы r. Для симметричного шифрования в SET по умолчанию используется алгоритм DES. Соответствует EnvelopedData. | ||
| EH(r,t) | Шифрование целостности | Процедура подобна E за исключением того, что цифровой конверт PKCS#7 содержит OAEP({k,H(t)}) для гарантии целостности, когда подпись не доступна. Программа вычисляет повторно хэш t и проверяет соответствие H(t) в цифровой конверте. | ||
| EX(r,t,p) | Дополнительное шифрование | Процедура подобна E за исключением того, что t и p являются частями составного сообщения. t - группа, которая должна быть соединена с p и подвергнута обычному симметричному шифрованию, а p - параметр или часть, которая должна быть подвергнута дополнительной обработке. t связано с p. OAEP({k,p}) вкладывается в цифровой конверт PKCS#7 для объекта r. | ||
| EXH(r,t,p) | Дополнительное шифрование с обеспечением целостности | Процедура подобна EX за исключением того, что это делается с OAEP({k,H(t), p}) в цифровом конверте PKCS#7 и с требованием проверки H(t), как и в случае EH | ||
| EK(k,t) | Симметричное шифрование посредством ключа k | Симметричное шифрование группы t с помощью секретного ключа k. Соответствует формату EncryptedData | ||
| Нотация операторов инкапсуляции | ||||
| Enc(s,r,t) | Простая инкапсуляция с подписью | Подписанное и затем зашифрованное сообщение. Соответствует SignedData в EnvelopedData | ||
| EncK(k,s,t) | Простая инкапсуляция с подписью и предоставленным ключом | Подписанное сообщение, зашифрованное с помощью секретного ключа. Соответствует EncryptedData. | ||
| EncX(s,r,t,p) | Дополнительная инкапсуляция с подписью | Составное сообщение, первая часть которого зашифрована симметричным алгоритмом. Вторая часть сообщения преобразуется с привлечением алгоритма OAEP | ||
| EncB(s,r,t,b) | Простая инкапсуляция с подписью с загрузкой | Подписанное зашифрованное сообщение с загрузкой (baggage) | ||
| EncBX(s,r,t,p,b) | Дополнительная инкапсуляция с подписью и загрузкой | Подписанное, Е-шифрованное составное сообщение с загрузкой | ||
| Шаг | Действие |
| 1 | Алиса запускает программу вычисления дайджеста сообщения, которое она намерена послать Бобу. Этот дайджест будет использован для проверки отсутствия модификации сообщения в процессе его транспортировки от Алисы к Бобу. |
| 2 | Алиса шифрует дайджест сообщения с использованием своего секретного ключа, формируя цифровую подпись. |
| 3 | Формируется псевдослучайный код (симметричный ключ) и с помощью его шифруется сообщение, цифровая подпись и сертификат Алисы, который содержит в себе ее общедоступный ключ. Чтобы дешифровать данное сообщение Бобу будет нужен указанный выше симметричный ключ. |
| 4 | Сертификат Боба, который Алиса должна была получить заранее, содержит копию общедоступного ключа Боба. Чтобы гарантировать безопасность пересылки симметричного ключа, Алиса должна зашифровать его с использованием общедоступного ключа Боба. Зашифрованный таким способом симметричный ключ заносится в одно из полей цифрового конверта (иногда единственное поле), куда в свою очередь будет вложено зашифрованное сообщение. |
| 5 | Алиса посылает сообщение Бобу. При этом в его состав входит: Сообщение, зашифрованное с применением симметричного ключа, цифровая подпись, сертификат и асимметрично зашифрованный симметричный ключ (цифровой конверт). |
| 6 | Боб получает сообщение от Алисы, дешифрует ключ-конверт с привлечением своего секретного ключа и получает в свое распоряжение симметричный ключ. |
| 7 | Боб использует симметричный ключ для дешифрования текста сообщения, подписи Алисы и ее сертификата. |
| 8 | Осуществляется дшифрация подписи Алисы с привлечением ее общедоступного ключа, который берется из ее сертификата. В результате получается дайджест посланного сообщения. |
| 9 | Боб независимо вычисляет дайджест полученного сообщения с привлечением того же алгоритма, что был использован Алисой. |
| 10 | Полученный и вычисленный дайджесты сравниваются. Если они совпадают, значит, сообщение не было модифицировано по дороге и было послано именно Алисой, а не кем-то кто выдается себя за нее (предполагается, что только Алиса знает свой секретный ключ). Несовпадение дайджестов означает, что, либо сообщение было модифицировано после его подписания Алисой, либо отправлено кем-то еще. В обоих вариантах сообщение отбрасывается, опционно Боб может попытаться уведомить об этом Алису. |




| Шаг | Действие |
| 1 | Генерация сообщения SET |
| 2 | Вложение кода текущей версии в MessageWrapper (цифровой конверт, сейчас 1 или 0) |
| 3 | Вложить код даты, включая время. |
| 4 | Заполнить MessageID из полей TransID в Message. Если MessageID в Message отсутствует, поле опускается. |
| 5 | Вводится RRPID. Если это запрос, генерируется RRPID и запоминается для последующего сравнения с соответствующим кодом отклика. Если посылается отклик, то RRPID копируется из запроса. |
| 6 | Вводится SWIdent. Это строка, которая идентифицирует разработчика и версию программного продукта |
| 7 | Вкладывается Message |
| 8 | Производится DER-кодирование вложенного сообщения |
| 9 | Сообщение передается на транспортный уровень |
| Шаг | Действие |
| 1 | Извлекается цифровой конверт сообщения |
| 2 | Проверяется формат и содержимое полей цифрового конверта сообщения: версия, субверсия, дата/время, тип сообщения. Если обнаружена ошибка, возвращается отклик Error с ErrorCode. |
| 3 | Используя RRPID, производится сравнение и актуализация контрольного журнала на предмет выявления повторных сообщений |
| 4 | Произвести DER-декодирование сообщения |
| 5 | Если сообщение содержит SignedData, произвести следующее: |
| 6 | Если сообщение содержит инкапсулированные данные, выполняется извлечение вложенных данных согласно типу вложенного содержимого, включая шаг 5, если вложенные данные содержат SignedData |
| 7 | Извлечь идентификаторы BrandCRLIdentifier, включенные в сообщение и актуализовать системный кэш, проверить, что все CRL, идентифицированные BCI, находятся в системном кэше. В противном случае обработка сообщения прерывается. |
| 8 | Обработать сообщение |
| 9 | Актуализовать системный журнал с учетом состояния транзакции |
| Шаг | Действие |
| 1 | Верифицировать каждый сертификат в цепи согласно правилам X.509 |
| 2 | Проверить то, что расширения KeyUsage, CertificatePolicies, PriviteKeyUsage и AuthorityKeyIdentifier находятся в согласии c Х.509. |
| 3 | Если получено новое значение BCI:а. Проверить его подпись, используя сертификат CRL центра сертификации платежной системыб. Проверить, что BrandName в BCI соответствует тому, что проверено в цепочке сертификациив. Проверить, что дата NotAfter меньше текущей датыг. Проверить SequenceNum. Если оно больше чем SequenceNum из кэша BCI запомнить BCI и проверить, что все CRL, содержащиеся в BCI находятся в кэше CRL. Запомнить любой CRL, который пока нет в кэше |
| 4 | Провести верификацию для каждого нового полученного CRL, |
| 5 | Проверить каждый сертификат |
| ID | Идентификатор, который однозначно определяет блок Cancel транзакции. |
| Status | Содержит статусную информацию, указывающую, что транзакция была аннулирована. |
| ID | Идентификатор, который однозначно определяет блок опций торгового протокола транзакции IOTP (смотри раздел 3.4). |
| ProtocolOptions | Компонент протокольных опций (смотри раздел 7.1) определяет опции, которые распространяются на всю транзакцию IOTP (смотри раздел 9). |
| BrandList | Этот компонент списка видов платежа содержит один или более видов протоколов и типов платежа, которые можно выбрать (смотри раздел 7.7). |
| Org | Компоненты Organisation (смотри раздел 7.6) идентифицируют организации и их роли в транзакции IOTP. Роли и организации, которые должны присутствовать, зависят от конкретного типа транзакции. Определения каждой транзакции смотри в разделе 9. |
| - Агент обслуживания Покупателя; | |
| - источник сертификатов, который предлагает "коды доверия (Credentials)" Продавца или какую-то другую гарантию на товары или услуги. |
| ID | Идентификатор, который однозначно определяет блок Error транзакции. |
| ErrorComp | Компонент Error (смотри раздел 7.21), который содержит информацию об индивидуальной технической ошибке. |
| PaySchemeData | Опционный компонент Payment Scheme (смотри раздел 7.10), который содержит описание платежной схемы. |
| ID | Идентификатор, который однозначно определяет блок отклика аутентификации транзакции. |
| AuthResp | Опционный компонент аутентификационного отклика, который содержит результаты обработки компонента запроса аутентификации - смотри раздел 7.3. |
| Org | Опционные компоненты Organisation, которые содержат информацию, соответствующую торговым ролям, как это запрошено атрибутом TradingRoleList компонента информационного запроса торговой роли. |
| ID | Идентификатор, который однозначно определяет блок отклика доставки транзакции. |
| Status | Содержит статусную информацию об успехе или неудаче (смотри раздел 4.2) доставки. Заметим, что в блоке отклика Delivery, ProcessState равный NotYetStarted или InProgress считается нелегальным. |
| DeliveryNote | Компонент Delivery Note содержит подробности о том, как будут доставляться товары или услуги (смотри раздел 7.15). |
| ID | Идентификатор, который однозначно определяет блок отклика Offer транзакции. |
| Status | Содержит статусную информацию об успехе или неудаче подготовки предложения (смотри раздел 4.2). Заметим, что в блоке отклика Offer, значения ProcessState NotYetStarted или InProgress являются нелегальными. |
| Order | Компонент Order содержит подробности о товарах, услугах или финансовой операции, которая имеет место, смотри раздел 7.5. |
| Payment | Компоненты Payment содержат информацию о платежах, которые надлежит произвести, смотри раздел 7.9. |
| Delivery | Компонент Delivery содержит детали предстоящей доставки (смотри раздел 7.13). |
| TradingRoleData | Компонент информации о торговой роли содержит данными должны обменяться торговые роли, вовлеченные в транзакцию (смотри раздел 7.17). |
| ID | Идентификатор, который однозначно определяет торговый блок запроса Ping транзакции. |
| PingStatusCode | Содержит код, который показывает состояние программы отправителя, которая обрабатывает IOTP-сообщения. Допустимыми значениями являются: o Ok. Сервис работает нормально, включая проверку подписей. o Busy. Все идет хорошо, но возможны некоторые задержки. o Down. Сервер не вполне функционален, но все же может выдать отклик Ping. |
| SigVerifyStatusCode | Заключает в себе код, который показывает состояние проверки подписи. Он присутствует только когда сообщение, содержащее блок запроса Ping имеет также блок Signature. Допустимы следующие значения: o Ok. Веоификация подписи прощла успешно. o NotSupported. Получатель блока запроса Ping не поддерживает валидацию подписей. o Fail. Верификация подписи не прошла. |
| Xml:lang | Определяет язык, использованный в PingStatusDesc. Присутствует тогда, когда имеется PingStatusDesc. |
| PingStatusDesc | Содержит короткое описание состояния сервера, который поылает этот блок отклика Ping. Сервер, если его разработчики хотят, может использовать этот атрибут для посылки более детальной информации, чем содержится в PingStatusCode, он может использоваться, например, для отладрчных целей. |
| Org | Компоненты Organisation (смотри раздел 7.6). |
| ID | Идентификатор, который однозначно определяет блок платежного обмена транзакции. |
| PaySchemeData | Этот торговый компонент содержит специфические данные о платежной схеме, смотри раздел 7.10. |
| ID | Идентификатор, который однозначно определяет блок платежного отклика транзакции. |
| Status | Содержит статусную информацию об успехе или неудаче (смотри раздел 4.2) платежа. Заметим, что в блоке платежного отклика, значения ProcessState NotYetStarted или InProgress являются нелегальными. |
| PayReceipt | Содержит специфические данные о платежной схеме, которые могут быть использованы для верификации произведенного платежа. Смотри раздел 7.11. Он должен присутствовать, если атрибут ProcessState компонента Status равен CompletedOk. Атрибут PayReceipt является опционным. |
| PaySchemeData | Содержит специфические данные о платежной схеме, например, о сообщениях платежного протокола. Смотри также раздел 7.10. |
| PaymentNote | Содержит дополнительную, несвязанную с платежом информацию, которую кассир желает предоставить покупателю. Например, если выполнен отзыв сделки или осуществлен депозит, он может содержать данные о полученном балансе на счету, после того как данная операция завершена. Смотри раздел 7.12. |
| TradingRoleData | Компонент информации о торговой роли содержит данные, которые нужны для обмена между ролями, участвующими в транзакции (смотри раздел 7.17). |
| ID | Идентификатор, который однозначно определяет блок платежного запроса транзакции. |
| Status | Содержит компоненты Status (смотри раздел 7.13) откликов на шаги (напр., отклика Offer и/или Payment), от которых данный шаг зависит. Он используется чтобы индицировать успех или неудачу этих шагов. Платеж может состояться лишь тогда, когда все предыдущие шаги были успешными. |
| BrandList | Компонент списка видов платежа содержит список из одного или более видов платежа и протоколов, которые могут быть выбраны (смотри раздел 7.7). |
| BrandSelection | Идентифицирует выбор вида платежа, платежного протокола и Кассира, которые должны быть использованы при оплате в данной транзакции. Имеется один компонент выбора вида платежа (смотри раздел 7.8) для каждой проплаты, которую следует выполнить в процессе транзакции. |
| Payment | Компоненты Payment содержит информацию о платеже, который выполняется, смотри раздел 7.9. |
| PaySchemeData | Компонент Payment Scheme содержит специфические данные о платежной схеме, смотри раздел 7.10. |
| Org | Компонент Organisation содержит подробности об организациях, вовлеченных в платеж (смотри раздел 7.6). Присутствие организаций зависит от транзакции и данных, которые должны быть подписаны. Смотри раздел 6. |
| TradingRoleData | Компонент данных о торговой роли содержит информацию, которая нужна для пересылки между торговыми ролями, вовлеченными в транзакцию (смотри раздел 7.17). |
| ID | Идентификатор, который однозначно определяет блок подписи транзакции. |
| Signature | Компонент Signature. Смотри раздел 7.19. |
| Certificate | Компонент Certificate. Смотри раздел 7.20. |
| ID | Идентификатор, который однозначно определяет блок состояния аутентификации транзакции. |
| Status | Содержит статусную информацию об успехе или неудаче аутентификации (смотри раздел 4.2). |
| ID | Идентификатор, который однозначно определяет блок ссылок операции в пределах IOTP-процедуры (смотри раздел 3.4). |
| TransId | Смотри 3.3.1 Id-компонент операции. |
| MsgId | Смотри 3.3.2 Id-компонент сообщения. |
| RelatedTo | Смотри 3.3.3 Компонент Related To. |
| ID | Идентификатор, который однозначно определяет блок выбора TPO транзакции IOTP. |
| BrandSelection | Идентифицирует выбор вида платежаи платежного протокола, которы следует использовать при оплате в транзакции IOTP. Имеется один компонент выбора вида платежа (смотри раздел 7.8) для каждого предстоящего платежа транзакции IOTP. |
| ID | Идентификатор, который однозначно определяет блок запроса аутентификации транзакции. |
| AuthReq | Каждый компонент запроса аутентификации (смотри раздел 7.2) описывет альтернативный путь, с помощью которого получатель запроса аутентификации может себя аутентифицировать, генерируя компонент отклика аутентификации (смотри раздел 7.3). |
| TradingRoleInfoReq | Компонент информационного запроса торговой роли (смотри раздел 7.4) содержит список торговых ролей, данные о которых запрашиваются. |
| ID | Идентификатор, который однозначно определяет блок запроса доставки транзакции. |
| Status | Содержит компоненты Status (смотри раздел 7.13) откликов на шаги (напр., платежный отклик), от которых данный шаг зависит. Он используется чтобы индицировать успех или неудачу этих шагов. Доставку следует осуществлять только если все прдыдущие шаги завершились успешно. |
| Order | Компонент Order содержит подробности о товарах, услугах или финансовых операциях, которые имеют место, смотри раздел 7.5. Комоненты Organisation (смотри раздел 7.6) идентифицируют организации их роли. |
| Org | Транзакция IOTP. Роли и организации, которые должны присутствовать зависят от конкретного типа транзакции. Описания транзакций смотри в разделе 9. |
| Delivery | Компонент Delivery содержит подробности доставки, которую следует осуществить (смотри раздел 7.13). |
| ConsumerDeliveryData | Опционный. Содержит идентификатор, специфицированный Покупателем, который в случае возвращения Агентом доставки позволяет покупателю определить, о какой доставке идет речь. |
| TradingRoleData | Компонент данных о торговой роли содержит информацию, которая нужна при обмене между двумя торговыми ролями в процессе транзакции (смотри раздел 7.17). |
| ID | Идентификатор, который однозначно определяет запрос Ping торгового блока транзакции. |
| retrieval-reference-number | необходимо для аннулирования. |
| authorization-code | необходим для post-auth-capture. Оба эти поля присутствуют только в сообщении CM6, если оно было присланы банком. Все зависит от выполняемой операции. |
| card-prefix | (префикс карты) представляет собой первые две и последние четыре цифры номера кредитной карты. По усмотрению банка продавца присылается номер кредитной или ее префикс. |
| card-hash | является в действительности хэшем всего номера кредитной карты и salt, представленной покупателем. card-hash необходим для того, чтобы продавец мог, если хочет, сортировать транзакции покупателя по его кредитным картам, не зная их номеров. |
| card* | представляет собой поля card*, полученные вместе с сообщениями CM*, присланными в качестве отклика. Они появляются в алфавитном порядке. |
| server-date | дублируется в целях безопасности в закрытой секции покупателя. |
| [] | комментарии, появляющиеся после некоторых полей. |
| 1. | "$$" - литерная строка со значением $ в колонке 1. |
| 2. | "CyberCash" - литерная строка (регистр не существенен) |
| 3. | x.y или x.y.z - номер версии формата сообщения. x - первичный номер версии. y - номер субверсии. z, если присутствует, номер субсубверсии. |
| 4. | "Extra" - опционная дополнительная алфавитно-цифровая строка. |
| 5. | "$$" - литерная строка. |

| Имя поля | Длина (байт) | Описание |
| Формат сертификата | 1 | Шестнадцатеричное число 0х02 |
| Идентификационный номер эмитента | 4 | Левые 3-8 цифр от PAN (дополняемые справа кодами 0хF) |
| Дата истечения времени действия сертификата | 2 | Дата ММГГ, после которой сертификат становится недействительным |
| Серийный номер сертификата | 3 | Двоичное число, уникальное для данного сертификата, присваиваемое центром сертификации |
| Индикатор хэш-алгоритма | 1 | Индицирует алгоритм, используемый для вычисления результирующего хэша цифровой подписи |
| Индикатор алгоритма общедоступного ключа эмитента | 1 | Индицирует алгоритм вычисления цифровой подписи, который должен использоваться совместно с общедоступным ключом эмитента |
| Длина общедоступного ключа эмитента | 1 | Идентифицирует длину модуля общедоступного ключа эмитента в байтах |
| Длина показателя общедоступного ключа эмитента | 1 | Идентифицирует длину показателя общедоступного ключа эмитента в байтах |
| Общедоступный ключ эмитента или левые цифры этого ключа | NCC - 36 | Если NЭ ? NCC - 36, это поле состоит из полного общедоступного ключа эмитента дополненного справа NCC -36 - NЭ байт с кодом 0хBB. Если NЭ > NCC - 36, это поле состоит из NCC - 36 старших байтов общедоступного ключа эмитента |
| Остаток общедоступного ключа эмитента | 0 или NЭ -NCC + 36 | Это поле присутствует только если NЭ > NCC - 36 и состоит из NЭ - NCC + 36 младших байт общедоступного ключа эмитента |
| Показатель общедоступного ключа эмитента | 1 или 3 | Показатель общедоступного ключа эмитента равен 2, 3 или 216+1 |
| Имя поля | Длина (байт) | Описание |
| Формат сертификата | 1 | Шестнадцатеричное число 0х04 |
| PAN (Primary Application Number) приложения | 10 | PAN дополненный справа кодами 0хF |
| Дата истечения времени действия сертификата | 2 | Дата ММГГ, после которой сертификат становится недействительным |
| Серийный номер сертификата | 3 | Двоичное число, уникальное для данного сертификата, присваиваемое эмитентом |
| Индикатор хэш-алгоритма | 1 | Индицирует алгоритм, используемый для вычисления результирующего хэша цифровой подписи |
| Индикатор алгоритма общедоступного ключа ICC | 1 | Индицирует алгоритм вычисления цифровой подписи, который должен использоваться совместно с общедоступным ключом ICC |
| Длина общедоступного ключа ICC | 1 | Идентифицирует длину модуля общедоступного ключа ICC в байтах |
| Длина показателя общедоступного ключа ICC | 1 | Идентифицирует длину показателя общедоступного ключа ICC в байтах |
| Общедоступный ключ ICC или левые цифры этого ключа | NЭ - 42 | Если NIC ? NЭ - 42, это поле состоит из полного общедоступного ключа ICC дополненного справа NЭ - 42 - NIC байт с кодом 0хBB.Если NIC > NЭ - 42, это поле состоит из NЭ - 42 старших байтов общедоступного ключа ICC |
| Остаток общедоступного ключа ICC | 0 илиNIC - NЭ + 42 | Это поле присутствует, только если NIC > NЭ - 42 и состоит из NЭ - NCС + 42 младших байт общедоступного ключа ICC |
| Показатель общедоступного ключа ICC | 1 или 3 | Показатель общедоступного ключа ICC равен 2, 3 или 216+1 |
| Данные, подлежащие аутентификации | Переменная | Статические данные, подлежащие аутентификации согласно спецификации ICC для платежных систем |
| Метка (Tag) | Длина (байт) | Описание |
| - | 5 | Зарегистрированный идентификатор провайдера приложения (RID) |
| 0х8F | 1 | Индекс общедоступного ключа центра сертификации |
| 0х90 | NCC | Сертификат общедоступного ключа эмитента |
| 0х92 | NЭ - NCC + 36 | Остаток общедоступного ключа эмитента (если имеется) |
| 0х9F32 | 1 или 3 | Показатель общедоступного ключа эмитента |
| 0х9F46 | NЭ | Сертификат общедоступного ключа ICC |
| 0х9F48 | NIC - NЭ + 42 | Остаток общедоступного ключа ICC (если он имеется) |
| 0х9F47 | 1 или 3 | Показатель общедоступного ключа ICC |
| - | Переменная | Данные, подлежащие аутентификации |
| Имя поля | Длина (байт) | Описание |
| Заголовок восстановленных данных | 1 | Шестнадцатеричное число 0х6А |
| Формат сертификата | 1 | Шестнадцатеричное число 0х02 |
| Идентификационное число эмитента | 4 | Левые 3-8 цифр из PAN, дополненные справа кодами 0хF |
| Дата истечения времени действия сертификата | 2 | Дата ММГГ, после которой сертификат становится недействительным |
| Серийный номер сертификата | 3 | Двоичное число, уникальное для данного сертификата, присваиваемое центром сертификации |
| Индикатор хэш-алгоритма | 1 | Индицирует алгоритм, используемый для вычисления результирующего хэша цифровой подписи |
| Индикатор алгоритма общедоступного ключа эмитента | 1 | Индицирует алгоритм вычисления цифровой подписи, который должен использоваться совместно с общедоступным ключом эмитента |
| Длина общедоступного ключа эмитента | 1 | Идентифицирует длину модуля общедоступного ключа эмитента в байтах |
| Длина показателя общедоступного ключа эмитента | 1 | Идентифицирует длину показателя общедоступного ключа эмитента в байтах |
| Общедоступный ключ эмитента или левые цифры этого ключа | NCC - 36 | Если NЭ ? NСС - 36, это поле состоит из полного общедоступного ключа эмитента, дополненного справа NСС - 36 - NЭ байтами с кодом 0хBB. Если NЭ > NСС - 36, это поле состоит из NСС - 36 старших байтов общедоступного ключа эмитента |
| Результат хэширования | 20 | Хэш общедоступного ключа эмитента и сопряженных данных |
| Хвостовик восстановленных данных | 1 | Шестнадцатеричное число 0хВС |
| Имя поля | Длина(байт) | Описание |
| Заголовок восстановленных данных | 1 | Шестнадцатеричное число 0х6А |
| Формат сертификата | 1 | Шестнадцатеричное число 0х04 |
| PAN приложения | 10 | PAN, дополненный справа кодами 0хF |
| Дата истечения времени действия сертификата | 2 | Дата ММГГ, после которой сертификат становится недействительным |
| Серийный номер сертификата | 3 | Двоичное число, уникальное для данного сертификата, присваиваемое центром сертификации |
| Индикатор хэш-алгоритма | 1 | Индицирует алгоритм, используемый для вычисления результирующего хэша цифровой подписи |
| Индикатор алгоритма общедоступного ключа ICC | 1 | Индицирует алгоритм вычисления цифровой подписи, который должен использоваться совместно с общедоступным ключом ICC |
| Длина общедоступного ключа ICC | 1 | Идентифицирует длину модуля общедоступного ключа ICC в байтах |
| Длина показателя общедоступного ключа ICC | 1 | Идентифицирует длину показателя общедоступного ключа ICC в байтах |
| Общедоступный ключ ICC или левые цифры общедоступного ключа ICC | NЭ - 42 | Если NIC ? NЭ - 42, это поле состоит из полного общедоступного ключа ICC, дополненного справа NЭ - 42 - NIC байтами с кодом 0хBB. Если NIC > NЭ - 42, это поле состоит из NЭ - 42 старших байтов общедоступного ключа ICC |
| Результат хэширования | 20 | Хэш общедоступного ключа ICC и сопряженных с ним данных |
| Хвостовик восстановленных данных | 1 | Шестнадцатеричное число 0хВС |
| Имя поля | Длина (байт) | Описание |
| Формат подписанных данных | 1 | Шестнадцатеричное число 0х05 |
| Индикатор хэш-алгоритма | 1 | Индицируется алгоритм хэширования, используемый для получения результата |
| Длина динамических данных ICC | 1 | Идентифицирует длину LDD динамических данных ICC в байтах |
| Динамические данные ICC | LDD | Динамические данные, сформированные и/или записанные в ICC |
| Символы заполнителя | NIC - LDD - 25 | (NIC - LDD - 25) байтов заполнителя, содержащего коды 0хBB |
| Динамические данные терминала | Переменная | Объединение информационных элементов, специфицированных DDOL |
| Имя поля | Длина (байт) | Описание |
| Заголовок восстановленных данных | 1 | Шестнадцатеричное число 0х6А |
| Формат подписанных данных | 1 | Шестнадцатеричное число 0х05 |
| Индикатор алгоритма хэширования | 1 | Индицируется алгоритм хэширования, используемый для получения результата при вычислении цифровой подписи |
| Длина динамических данных ICC | 1 | Идентифицирует длину динамических данных ICC в байтах |
| Динамические данные ICC | LDD | Динамические данные, сформированные и/или записанные в ICC |
| Символы заполнителя | NIC - LDD - 25 | (NIC - LDD - 25) байтов заполнителя, содержащего коды 0хBB |
| Результат хэширования | 20 | Хэш динамических данных приложения и сопряженной информации |
| Хвостовик восстановленных данных | 1 | Шестнадцатеричное число 0хВС |
| o | Аутентификатор организация, которая запрашивает аутентификацию; |
| o | Аутентифицируемый - организация, которая должна пройти аутентификацию. |
| 1. | Первая организация предпринимает некоторое действие (например, нажимает кнопку на HTML-странице), которое требует аутентификации |
| 1 а 2 | Необходимость аутентификации (за пределами протокола IOTP) |
| 2. | Вторая организация генерирует: блок запроса аутентификации, содержащий один или несколько компонентов запроса аутентификации и/или компонент информационного запроса о торговой роли, которые посылаются первой организации |
| 1 Я 2 | Запрос TPO & аутентификации. Сообщение IotpMsg: блоки TransRef; Signature (опционно); TPO; запроса аутентификации |
| 3 | Запускается приложение IOTP. Если присутствует блок Signature, первая организацияможет использовать проверку параметров доверия (credentials) второй организации. Если все в порядке, первая организация выбирает запрос аутентификации (если присутствует или их более одного), и запускает аутентификационный алгоритм для формирования блока отклика аутентификации. Для генерации компонентов Organisation, если требуется, используетсякомпонент запроса данных о торговой роли. Наконец создается, если нужно, компонент Signature и все компоненты посылаются второй организации для проверки. |
| 1 а 2 | Отклик аутентификации. Сообщение IotpMsg: блоки Trans Ref; Signature (опционно) ; Auth Response |
| 4. | Вторая организация проверяет отклик Authentication, сопостовляя его с блоком запроса и убеждаясь, что первая организация именно та, за которую она себя выдает. По результатам проверки первой организации посылается статусный блок аутентификации. |
| 1 Я 2 | Состояние аутентификации. Сообщение IotpMsg: блоки Trans Ref; Signature (опционно); Auth Response |
| 5. | Первая организация проверяет статусный блок и, если все в порядке, завершает транзакцию. |
| 1. | Покупатель решает заключить сделку и посылает продавцу информацию (напр., используя HTML), которая позволяет ему подготовить предложение, |
| C а M | Информация предложения - вне пределов действия IOTP |
| 2. | Продавец решает, какой применить платежный протокол и валюту, помещает эти данные в компонент списка видов платежа в блок TPO, формирует отклик Offer, содержащий некоторые детали транзакции, например цену, опционно подписывает эту информацию и посылает покупателю |
| C Я M | Отклик TPO & OFFER. IotpMsg: блоки Trans Ref; Signature; TPO; отклика Offer |
| 3. | Запускается приложение IOTP. Покупатель выбирает вид платежа, платежный протокол, валюту. Записывает свой выбор в компонент выбора вида платежа, проверяет предложение и, если все в порядке, комбинирует компонент выбора вида платежа и информацию из блоков TPO Block и отклика Offer, чтобы сформировать следующее сообщение транзакции и послать его соответствующей торговой роли. |
| 1. | Покупатель решает совершить покупку и посылает продавцу информацию (напр., используя HTML), которая позволяет продавцу сформировать предложение, |
| C а M | Информация предложения - вне области действия IOTP |
| 2. | Продавец решает, какой платежный протокол, валюту и пр. использовать, помещает эти данные в компонент видов платежа в блоке TPO и посылает покупателю |
| C Я M | TPO (опции торгового протокола). IotpMsg: блоки Trans Ref Block; TPO |
| 3. | Приложение IOTP запущено. покупатель выбирает вид платежа, платежный протоколи вид валюты. Компонент выбора вида платежа посылается Продавцу. |
| C а M | Выбор TPO. IotpMsg: блоки Trans Ref Block и выбора TPO |
| 4. | Продавец использует выбранный вид платежа, плптежный протокол, валюту и информацию предложения для формирования блока отклика Offer, содержащего детали транзакции IOTP, включая цену, и т.д., опционно подписывает его и посылает покупателю |
| C Я M | Отклик OFFER. IotpMsg: блоки Trans Ref, Signature (опционный) и отклика Offer |
| 5. | Покупатель проверяет все ли в порядке в Offer, затем комбинирует компоненты из блоков TPO, выбора TPO и отклика Offer, чтобы сформировать следующее сообщение транзакции, и посылает его вместе с блоком подписи (если таковая нужна) соответствующей торговой роли |
| о | Любой новый XML-элемент должен быть декларирован согласно правилам [XML Namespaces] |
| o | Новые XML-элементы, которые являются торговыми блоками или компонентами должны содержать ID-атрибуты с именем атрибута ID. |
| - любые дополнительные XML-элементы, содержащиеся в XML-элементе и определенные в пространтстве имен IOTP, должны включать этот элемен всякий раз, когда IOTP XML- элемен используется или копируется IOTP. | |
| - содержимое дополнительного элемента следует игнорировать, за исключением случая, когда оно должно учитываться при генерации дайджеста в ходе формировании электронной подписи. |
| IOTP:Critical | (True | False ) 'True' |

| a) Транзакция IOTP содержит документальный обмен аутентификации (смотри раздел 9.1.1). (Замечание 1) | ||
| b) Если последнее сообщение документального обмена аутентификации содержит блоки TPO и отклика предложения, тогда: | ||
| i) Транзакция IOTP включает документальный обмен предложения, независимый от вида платежа (смотри раздел 9.1.2.2). (Замечание 2) | ||
| c) В противном случае, если последнее сообщение аутентификационного обмена содержит блок TPO, но не содержит блока отклика предложения, тогда: | ||
| i) Сообщение IOTP содержит документальный обмен предложения, зависимый от вида платежа (смотри раздел 9.1.2.1). (Замечание 2) | ||
| d) В противном случае (сообщение состояния аутентификации документального обмена не содержит ни блока TPO ни блока отклика предложения). | ||
| i) Транзакция IOTP содержит только документальный обмен аутентификации. (Замечание 3) | ||
| e) Транзакция IOTP не включает в себя документальный обмен аутентификации (Замечание 2) | ||
| f) Если первое сообщение содержит блок отклика предложения, тогда: | ||
| i) Транзакция IOTP содержит документальный обмен предложения, независимый от вида платежа (Замечание 2) | ||
| g) В противном случае (отсутствие блока отклика предложения в первом сообщении): | ||
| i) Транзакция IOTP включает документальный обмен предложения, зависимый от вида платежа (Замечание 2) | ||
| h) Если блок отклика предложения содержит компонент доставки, тогда: | |||
| i) Если атрибут DelivAndPayResp компонента доставки равен “Истинно”, то компонент доставки делается равной “Истинно”, тогда: | |||
| (1) Транзакция IOTP состои из документальных обменов платежа и доставки (смотри раздел 9.1.5) (Замечание 4) | |||
| ii) В противном случае (атрибут DelivAndPayResp компонента доставки делается равным “Ложно”) | |||
| (1) Транзакция состоит из документального обмена платежа (смотри раздел 9.1.3), за которым следует обмен доставки (смотри раздел 9.1.4) (Замечание 4) | |||
| i) В противном случае (блок отклика предложения не содержит компонента доставки ) | |||
| i) если блок отклика предложения содержит только один компонент платежа, тогда: | |||
| (1) Транзакция IOTP содержит только один документальный обмен платежа (Замечание 5) | |||
| ii) если блок отклика Offer содержит компонент платежа, тогда: | |||
| (1) Транзакция IOTP включает в себя два документальных платежных обмена. Атрибут StartAfter компонента платежа используется для индикации того, какой платеж происходит первым. (Замечание 6) | |||
| iii) если блок отклика Offer не содержит ни одного или имеет более двух платежных компонентов, то имеет место ошибка | |||
| 4) В противном случае (отсутствие блока отклика Offer) имеет место ошибка. | |||
| Замечание | Корректность транзакции IOTP |
| 1. | Любая транзакция платежа и аутентификации |
| 2. | Любая транзакция платежа и аутентификации за исключением базовой аутентификации |
| 3. | Транзакция базовой аутентификации или базовой покупки, возврата денег, депозита, отзыва или обмена ценностями с не прошедшей аутентификацией |
| 4. | Толко базовая трканзакция покупки |
| 5. | Базовая транзация покупки, возврата денег, депозита и отзыва |
| 6. | Только базовый обмен ценностями |
| NonConsumerOrgId | Если роль не соответствует покупателю, тогда здесь содержится каноническое имя этой организации. Смотри [DNS], за которым опционно следуют дополнительные символы, если требуется сделать NonConsumerOrgId уникальным. |
| ID #REQUIRED | |
| Version | NMTOKEN #FIXED '1.0' |
| IotpTransId | CDATA #REQUIRED |
| IotpTransType | CDATA #REQUIRED |
| TransTimeStamp | CDATA #REQUIRED > |
| ID | Идентификатор, который однозначно определяет Id-компонент транзакции в рамках операции IOTP. | |
| Version | Определяет версию IOTP и, следовательно структуру сообщений IOTP, которые используются транзакцией IOTP. | |
| IotpTransId | Содержит данные, которые однозначно определяют транзакцию IOTP. Это атрибут должен отвечать правилам для идентификаторов сообщений [RFC 822]. | |
| IotpTransTyp | Это тип исполняемой транзакции IOTP. Для базовой версии IOTP он идентифицирует "стандартную" транзакцию IOTP и предполагает определенную последовательность и содержимое сообщений IOTP, которыми обмениваются торговые роли. Корректными значениями атрибута являются: | |
| о | BaselineAuthentication (Базовая аутентификация) | |
| o | BaselineDeposit | |
| o | BaselinePurchase | |
| o | BaselineRefund | |
| o | BaselineWithdrawal | |
| o | BaselineValueExchange | |
| o | BaselineInquiry | |
| o | BaselinePing | |
| TransTimeStamp | Там где система, запускающая транзакцию IOTP, имеет внутренние часы, атрибут устанавливается равным времени старта транзакции IOTP в формате [UTC]. |
| RespIotpMsg NMTOKEN #IMPLIED | |
| xml:lang NMTOKEN #REQUIRED | LangPrefList NMTOKENS #IMPLIED |
| CharSetPrefList NMTOKENS #IMPLIED | SenderTradingRoleRef NMTOKEN #IMPLIED |
| SoftwareId CDATA #REQUIRED | TimeStamp CDATA #IMPLIED > |
| ID | Идентификатор, который однозначно идентифицирует сообщение IOTP в рамках транзакции IOTP (смотри раздел 3.4 ID атрибуты). Заметим, что если сообщение IOTP пересылается повторно, тогда значение этого атрибута остается неизменным. | |
| RespIotpMsg | Это ID-атрибут содержит Id-компонент сообщения IOTP, откликом на которое оно является. Таким образом, все сообщения IOTP в пределах транзакции оказываются связаны. Это поле необходимо каждому сообщению IOTP за исключением первого сообщения IOTP в транзакции. | |
| SenderTradingRoleRef | Элемент ссылки (смотри раздел 3.5) торговой роли, которая сформировала сообщение IOTP. Он используется, чтобы идентифицировать сетевую позицию (Net Locations) (смотри раздел 3.9) торговой роли, которой требуется сообщить о технических ошибках (смотри раздел 4.1), связанных с торговыми блоками. | |
| Xml:lang | Определяет язык, используемый атрибутом, или дочерние элементы в пределах этого компонента, если не переписан атрибутом xml:lang в дочернем элементе. Смотри раздел 3.8. | |
| LangPrefList | Опционный список языковых кодов, который согласуется с идентификацией языков [XML]. Он используется отправителем, чтобы указать порядок предпочтения языков, которые получатель сообщения должен использовать при подготовке отклика. Получатель не обязан использовать один из указанных языков. | |
| CharSetPrefList | Опционный список идентификаторов символьных наборов, которые соответствуют символам в [XML]. Он используется отправителем для указания порядока предпочтения символьных наборов, которые получатель может применить при формировании отклика. Получатель не обязан использовать один из указанных символьных наборов. | |
| SoftwareId | Содержит информацию, которая идентифицирует программу, сформировавшую сообщение IOTP. Его целью является помочь разрешить проблему совместной работы различных программ, обменивающихся сообщениями. Это простая текстовая строка на языке, определенном xml:lang. Она должна содержать, по крайней мере: | |
| имя производителя программного продукта название программного продукта версию программы форму программного обеспечения (build) | ||
| TimeStamp | Когда прибор, отправляющий сообщение имеет внутренние часы, атрибут делается равным времени генерации сообщения IOTP в формате [UTC]. | |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Элементы Packaged Content (смотри раздел 3.7), которые содержат дополнительную информацию, относящуюся к виду платежа и валюты. Смотри приложение IOTP по платежным методам, где описано использование этого элемента. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Элементы Packaged Content (смотри раздел 3.7), содержащие дополнительные данные, которые могут быть необходимы для конкретного вида платежа. Смотри приложение IOTP по платежным методам, где описаны методы использования данного элемента. |
| ID | Идентификатор, который однозначно определяет информационный компонент доставки покупателя для данной транзакции. |
| ConsumerDeliveryId | Идентификатор, специфицированный покупателем, который в случае возврата агентом доставки позволяет покупателю идентифицировать процедуру доставки. |
| o | Транзакцию информационного запроса (смотри раздел 9.2.1); | |
| o | Транзакцию Ping (смотри раздел 9.2.2); | |
| o | Транзакцию аутентификации (смотри раздел 9.1.6); | |
| o | Транзакцию, сопряженную с платежем, такую как: | |
| - | Депозит (смотри раздел 9.1.7); | |
| - | Покупка (смотри раздел 9.1.8); | |
| - | Возврат денег (смотри раздел 9.1.9); | |
| - | Отзыв сделки (смотри раздел 9.1.10); | |
| - | Обмен ценностями (смотри раздел 9.1.11). | |
| - Кассиру, чтобы проверить, что продавец авторизует платеж; | |
| - Агенту доставки, чтобы проверить, что продавец авторизует доставку. |
| - Агенту доставки, в блоке запроса доставки для авторизации доставки вместе с подписью отклика предложения, или | |
| - другому кассиру во втором платежном запросе, чтобы авторизовать второй платеж в транзакции обмена ценностями. |


| Преимущества | Недостатки | |
| Покупатель | Возможность выбора и приобретения товара или услуги, не выходя из дома (экономия времени). | Отсутствие возможности ознакомиться со свойствами товара до его приобретения |
| Относительная анонимность покупки | Угроза злоупотреблений в случае раскрытия номера кредитной карты | |
| Немедленная доставка и сопровождение программ при покупке их через сеть | Как правило, невозможность возврата товара при обнаружении неприемлемого качества | |
| Получение новых недоступных ранее услуг в сфере развлечений, консультаций, обучения, подписка на газеты, ком-мерческую информацию и пр. | ||
| Получение дополнительной информации о необходимых товарах | Назойливость почтовой рекламы (SPAM) | |
| Продавец | Расширение числа покупателей при неизменных торговых площадях | Дополнительные издержки на внедрение системы |
| Возможность автоматического выявления и регистрации IP>-адресов потенциальных клиентов | Потенциальная угроза нанесения ущерба хакерами | |
| Дополнительная реклама через Интернет | Возможность кражи программ при торговле через сеть (неоплата покупки) | |
| Облегчение взаимодействия с обслуживающими банками и партнерами, если эта проблема не была решена раньше |
| NMTOKEN #IMPLIED | |
| AddressLine1 CDATA #IMPLIED | AddressLine2 CDATA #IMPLIED |
| CityOrTown CDATA #IMPLIED | StateOrRegion CDATA #IMPLIED |
| PostalCode CDATA #IMPLIED | Country CDATA #IMPLIED |
| xml:lang | Определяет язык, используемый атрибутами в этом элементе. Смотри раздел 3.8. |
| AddressLine1 | Первая строка почтового адреса, напр.,"The Meadows" |
| AddressLine2 | Вторая строка почтового адреса. напр.,"Sandy Lane" |
| CityOrTown | Город в адресе, напр.,"Москва" |
| StateOrRegion | Штат или область в пределах страны, где находится город, напр., "Зюзино" |
| PostalCode | Код, известный как, например почтовый код или zip-код, который обычно используется почтовыми организациями для организации эффективной доставки, напр.,"113303" |
| Country | Страна адреса, напр.,"RU" |
| LegalLocation | Идентифицирует, является ли адрес зарегистрированным адресом организации. По крайней мере один адрес организации должен соответствовать значению “истина” в противном случае торговой ролью является Покупатель или DeliverTo. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Элементы Packaged Content (смотри раздел 3.7), которые могут содержать дополнительную информацию, необходимую для конкретного вида платежа. Смотри приложение IOTP по платежным методам, где описаны методы использования данного элемента. |
| ID | Идентификатор элемента, относящийся потенциально к компоненту выбора вида платежа (Brand Selection), содержащегося в последнем сообщении платежного запроса, и однозначно идентифицирующий элемент Brand данной транзакции. |
| xml:lang | Определяет язык, используемый атрибутами и содержимым данного элемента. Смотри раздел 3.8. |
| BrandId | Содержит уникальный идентификатор для вида платежа. Он используется для установления соответствия со списком платежных инструментов, которыми располагает Покупатель, чтобы определить, может ли он обеспечить платеж данного вида. |
| BrandName | Содержит название вида платежа, например MasterCard. Это описание вида платежа, которое отображается для Покупателя на понятном для него языке, заданном атрибутом xml:lang. Например, это может быть "American Airlines Advantage Visa". Заметим, что этот атрибут не используется для установления соответствия с инструментами платежа, которыми располагает Покупатель. |
| BrandLogoNetLocn | Сетевая позиция, которая может быть использована для загрузки логотипа организации. Смотри раздел “Получение логотипа” (раздел 10). |
| BrandNarrative | Этот опционный атрибут предназначен для использования Продавцом для индикации специальных условий или выгод, которрые будут действовать, если Покупатель выберет определенный вид платежа. Например "5% скидка", "бесплатная доставка", "бесплатная гарантия на один год", и т.д.. |
| ProtocolAmountRefs | Идентифицирует протоколы и связанные с ними виды валюты и суммы, которые могут использоваться при данном виде платежа. Специфицируется как список ID протокольных колличественных элементов (смотри раздел 7.7.3), содержащихся в списке видов платежа. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| ProtocolBrand | Протокольные элементы вида платежа, которые содержат информацию о виде платежа, используемого с определенным платежным протоколом (смотри раздел 7.7.2) |
| PackagedContent | Опционные элементы Packaged Content (смотри раздел 3.7), содержащие информацию о виде платежа, который может использоваться платежным протоколом. Содержимое этой информации определяется в приложении для платежных протоколов, где описывается, как работает платежный протокол с IOTP. |
| DeliveryData xml:lang | NMTOKEN #IMPLIED |
| OkFrom CDATA #REQUIRED | OkTo CDATA #REQUIRED |
| DelivMethod NMTOKEN #REQUIRED | DelivToRef NMTOKEN #REQUIRED |
| DelivReqNetLocn CDATA #REQUIRED | SecDelivReqNetLocn CDATA #REQUIRED |
| xml:lang | Определяет язык, используемый атрибутами компонента. Смотри раздел 3.8. |
| OkFrom | Дата и время в формате [UTC] после которого Агент доставки может принять на обработку блок запроса доставки (смотри раздел 8.10). |
| OkTo | Дата и время в формате [UTC], до которого Агент доставки может принять на обработку блок запроса доставки. |
| DelivMethod | Индицирует метод, с помощью которого могут быть доставлены товары или предоставлены услуги. Корректными считаются значения: о Post. Товары будут доставлены по почте или курьером. o Web. Товары будут доставлены электронным образом в комоненте Delivery Note. o Email. Товары будут доставлены электронным образом через e-mail |
| DelivToRef | Ссылка элемента (смотри раздел 3.4) компонента Organisation транзакции IOTP, которая имеет роль DelivTo. Информация в этом блоке используется, чтобы определить, куда следует доставить покупку. Она должна быть совместимой с DelivMethod. В частности, если DelivMethod является: о Post, тогда здесь должен быть элемент почтового адреса, содержащий достаточно информации для доставки по почте, o Web, тогда не нужны никакие специфические требования. Информация будет послана на web-страницу Покупателя, o Email, тогда здесь должен быть элемент контактной информации с корректным адресом e-mail. |
| DelivReqNetLocn | Содержит сетевую позицию, куда должен быть послан небезопасный блок запроса доставки (смотри раздел 8.10), который содержит компонент доставки. Содержимое этого атрибута зависит от транспортного механизма и должно согласовываться с требованиями документа [RFC-1738]. |
| SecDelivReqNetLocn | Содержит сетевую позицию, куда должен быть послан безопасный блок запроса доставки (смотри раздел 8.10), который содержит компонент доставки. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Дополнительная информация о доставке в виде одного или несколько элементов Packaged Content (смотри раздел 3.7), предоставляемая агенту доставки продавцу. |
| NMTOKEN #IMPLIED | |
| Tel CDATA #IMPLIED | Fax CDATA #IMPLIED |
| Email CDATA #IMPLIED | NetLocn CDATA #IMPLIED > |
| xml:lang | Определяет язык данного элемента. Смотри раздел 3.8. |
| Tel | Телефонный номер, по которому можно контактировать с организацией. Заметим, что это текстовое поле и проверок корректности содержимого не производится. |
| Fax | Номер факса, по которому можно контактировать с организацией. Заметим, что это текстовое поле и проверок корректности содержимого не производится. |
| Адрес электронной почты, по которому можно контактировать с организацией. Заметим, что поле должно следовать регламентациям для адресных спецификаций, содержащимся в [RFC822]. | |
| NetLocn | Адрес Интернет, по которому можно найти информацию об организации, используя WEB-броузер. |
| NMTOKEN #IMPLIED | |
| Title CDATA #IMPLIED | GivenName CDATA #IMPLIED |
| Initials CDATA #IMPLIED | FamilyName CDATA #IMPLIED > |
| xml:lang | Определяет язык с помощью атрибута внутри элемента. Смотри раздел 3.8. |
| Title | Отличительное имя; личное прозвище, наследственное или нет, должность (напр., судья, мэр), дворянское звание (напр., герцог, герцогиня, граф), или используемое при обращение к человеку (напр., Mr, Mrs, Miss, товарищ, господин) |
| GivenName | Имя, под которым человек известен в семье, друзьям или знакомым (имя или фамилия). |
| Initials | Первая буква второго имени (отчества), под которым человек известен в своей семье, друзьям или знакомым. |
| FamilyName | Фамилия. Это обычно часть персонального имени, которая передается по наследству от родителей к детям. |
| Name | Опционно. Позволяет разделить случаи множественного применения элементов PackagedContent в одной и той же точке IOTP. Например: |
| Content | Идентифицирует, какой тип данных находится в содержимом элемента PackagedContent. Корректными значениями атрибута Content являются: | |
| о | PCDATA. Содержимое элемента PackagedContent может рассматриваться как PCDATA и более не обрабатываться. | |
| о | MIME. Содержимое элемента PackagedContent является MIME-объектом. Обработка должна включать поиск MIME-заголовков внутри элемента PackagedContent. | |
| о | MIME:mimetype. Содержимое элемента PackagedContent является MIME-объектом с заголовком "Content-Type: mimetype". Хотя допускается иметь MIME:mimetype с атрибутом Transform равным NONE, более желательно иметь атрибут Transform равным BASE64. Заметим, что, если используется Transform = NONE, тогда все содержимое должно соответствовать PCDATA. Некоторые символы будет нужно закодировать как объекты XML, или как символьные объекты. | |
| о | XML. Содержимое элемента PackagedContent может рассматриваться как XML-документ. Следует использвать секции CDATA, или Transform = BASE64, чтобы гарантировать, что содержимое элемента PackagedContent соответствует PCDATA. | |
| Transform | Идентифицирует преобразование, которое было произведено с данными, прежде чем они были помещены элемент. Допустимыми значениями являются: | |
| PCDATA | Это действительные данные, которые вложены в элемент. Формат данных и правила их кодирования записаны в атрибутах Content и Transform. |
| xml:lang NMTOKEN #IMPLIED | ProtocolId NMTOKEN #REQUIRED |
| ProtocolName CDATA #REQUIRED | ActionOrgRef NMTOKEN #REQUIRED |
| PayReqNetLocn CDATA #IMPLIED | SecPayReqNetLocn CDATA #IMPLIED |
| ID | Идентификатор элемента, на который может ссылаться элемент Brand; или компонент выбора вида платежа (Brand Selection), содержащиеся в последующих сообщениях платежного запроса. Он однозначно идентифицирует элемент PayProtocol данной транзакции IOTP. |
| xml:lang | Определяет язык, используемый атрибутами и содержимым данного элемента. Смотри раздел 3.8. |
| ProtocolId | Состоит из имени протокола и версии, например "SETv1.0". |
| ProtocolName | Описание платежного протокола и его версии на языке, идентифицированном атрибутом xml:lang. Например "Secure Electronic Transaction Version 1.0". Его целью является помочь, если требуется, в предоставлении информации об используемом платежном протоколе. |
| ActionOrgRef | Ссылка элемента (смотри раздел 3.5) на компонент Organisation для Кассира при данном платежном протоколе. |
| PayReqNetLocn | Сетевая позиция, указывающая куда следует послать платежный запрос в отсутствии гарантии безопасности при заданном протоколе. |
| SecPayReqNetLocn | Сетевая позиция, указывающая куда следует послать платежный запрос в условиях гарантии безопасности при заданном протоколе. Безопасный платеж предполагает для коммуникации с кассиром использование безопасного канала, такого как [SSL/TLS]. |
| PackagedContent | Опционные элементы Packaged Content (смотри раздел 3.7), содержащие информацию о протоколе, который используется платежным протоколом. Содержание этой информации определяется в приложении для платежных ппротоколов. |
| NMTOKEN #REQUIRED | |
| IotpMsgRef NMTOKEN #IMPLIED | BlkRef NMTOKEN #IMPLIED |
| CompRef NMTOKEN #IMPLIED | ElementRef NMTOKEN #IMPLIED |
| ElementType | Имя типа элемента, где обнаружена ошибка. Например, если элемент декларирован как |
| IotpMsgRef | Значение ID-атрибута Id-компонента сообщения (смотри раздел 3.3.2), к которому относится компонент Error. |
| BlkRef | Если ошибка ассоциирована со специфическим торговым блоком, тогда это значение ID-атрибута торгового блока, где обнаружена ошибка. |
| CompRef | Если ошибка ассоциирована со специфическим торговым компонентом, тогда это значение ID-атрибута торгового компонента, где обнаружена ошибка. |
| ElementRef | Если ошибка ассоциирована со специфическим элементом торгового компонента, тогда, если элемент имеет атрибут с типом (смотри [XML]) "ID", тогда это значение данного атрибута. |
| AttName | Если ошибка ассоциирована со значением атрибута, тогда это имя данного атрибута. В этом случае PackagedContent компонента Error должен содержать значение атрибута. |
| ID | идентификатор элемента, на который может ссылаться элемент Brand; или компонент выбора видов платежа, содержащийся в последующих сообщениях платежного запроса. Он однозначно идентифицирует элемент Protocol Amount для данной транзакции IOTP. |
| PayProtocolRef | Содержит ссылку элемента (смотри раздел 3.5), которая указывает на элемент платежного протокола (смотри раздел 7.7.5), содержащийплатежный протокол и Кассира, которые могут использоваться для данного вида платежа. |
| CurrencyAmountRefs | Содержит список ссылок элемента (смотри раздел 3.5), который указывает на элемент Currency Amount (смотри раздел 7.7.4), описывающий вид валюты и сумму, которые могут использоваться для данного вида платежа. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Опционные элементы Packaged Content (смотри раздел 3.7), содержащие информацию о протокольной сумме, которая может использоваться платежным протоколом. Содержимое этой информации определено в приложении для платежных протоколов. |
| ProtocolId | Должен согласовываться со значением атрибута ProtocolId в элементе платежного протокола (смотри раздел 7.7.5). |
| ProtocolBrandId | Это идентификатор вида платежа, который должен использоваться с конкретным платежным протоколом. Например, SET и EMV имеют свои определенные, различные значения для Brand Id, для каждого из протоколов. |
| PackagedContent | Опционные элементы Packaged Content (смотри раздел 3.7), содержащие информацию о протоколе и/или виде платежа, которые может использовать платежный протокол. Содержимое этой информации определяется в приложении для платежных протоколов. |

| TradingRole NMTOKEN #REQUIRED | IotpMsgIdPrefix NMTOKEN #REQUIRED |
| CancelNetLocn CDATA #IMPLIED | ErrorNetLocn CDATA #IMPLIED |
| ID | Идентификатор, который однозначно определяет элемент торговая роль в пределах текущей транзакции IOTP. |
| TradingRole | Торговая роль организации. Возможные значения: o Покупатель. Лицо или организация, которая действует в роли покупателя в данной транзакции. o Продавец. Лицо или организация, которая действует в роли продавца в данной транзакции. o Агент доставки. Лицо или организация, которая доставляет товар или предоставляет услуги в рамках данной транзакции; o DelivTo. Лицо или организация, которая получает товары или услуги в рамках данной транзакции. o CustCare. Лицо или организация, которая обеспечивает обслуживание покупателя в данной транзакции. |
| IotpMsgIdPrefix | Содержит префикс, который должен быть использован для всех IOTP сообщений, посланных торговой ролью в данной транзакции. Значения, которые следует использовать определены в 3.4.1. |
| CancelNetLocn | Содержит сетевую позицию, куда покупатель должен обратиться, если он аннулирует транзакцию по какой-либо причине. Атрибут может быть использован торговой ролью для отправки отклика, который более соответствует обстоятельствам конкретной транзакции. |
| ErrorNetLocn | Содержит сетевую позицию, которая должна отображаться Покупателем, после того как он получил или сгенерировал блок Error, содержащий компонент Error с атрибутом Severity равным: |
| ErrorLogNetLocn | Опционно. Содержит сетевую позицию, куда Покупателю следует посылать IOTP сообщения, которые содержат блоки Error с компонентами Error сатрибутом Severity равным: |
| ID | Идентификатор элемента, (Brand Selection), содержащиеся в последующих сообщениях платежного запроса. Он однозначно идентифицирует элемент Currency Amount данной транзакции IOTP. |
| Amount | Указывает сумму, которая должна быть заплачена. Например $245.35 будет выражено как "245.35". Заметим, что значения меньше наименьшей целой величины вполне допустима. Например одна десятая цента будет записана как "0.001". |
| CurrCodeType | Указывает CurrCode области. Этот атрибут включен с тем, чтобы была возможность поддержания нестандартных "валют" например “торговых марок” и т.д.. Атрибут может принимать значения: |
| CurrCode | Код, идентифицирующий валюту, которая должна использоваться при платеже. Область корректных кодов валюты определена атрибутом CurrCodeType. |
| Метка70 | Длина данных (L) | Метка 61 | Длина элемента 1 каталога | Элемент каталога 1 (ADF или DDF) | … … … | Метка 61 | Длина элемента N каталога | Элемент каталога N (ADF или DDF) |
| Метка (Tag) | Длина | Значение |
| 9D | 5-16 | Имя DDF |
| 73 | переменная | Шаблон каталога |
| Метка (Tag) | Длина | Значение |
| 0х4F | 5-16 | Имя ADF (AID) |
| 0х50 | 1-16 | Метка приложения |
| 0х9F12 | 1-16 | Предпочитаемое имя приложения |
| 0х87 | 1 | Индикатор приоритетности приложения |
| 0х73 | переменная | Шаблон каталога |
| Тип подписи IOTP | Корректная торговая роль |
| OfferResponse | Продавец |
| PaymentResponse | Кассир |
| DeliveryResponse | Агент доставки |
| AuthenticationRequest | Любая роль |
| AuthenticationResponse | Любая роль |
| PingRequest | Любая роль |
| PingResponse | Любая роль |
| о | они имеют отношение к организации, генерировавшей подпись, |
| о | данные, защищенные подписью, не были изменены, |
| о | данные были подписаны корректно |
| о | действия, которые нужно предпринять для продавца авторизованы. |
| - того, какая организация сделала подписи; | |
| - какая организация должна обрабатывать подпись с целью проверки. |

| Тип элемента/Имя атрибута | Значения атрибутов |
| Алгоритм/Имя | "sha1" - указывает, что будет использована аутентификация [SHA1] |
| (Когда алгоритм является производным от компонента AuthReq) | "Подпись" - указывает, что аутентификация включает в себя генерацию цифровой подписи. |
| "Pay:ppp", где "ppp" может быть установлено равным любому допустимому значению для "iotpbrand" (смотри ниже) |
| Тип элемента/Имя атрибута | Значения атрибутов |
| Вид платежа/BrandId | Следующий список исходных значений BrandId был получен от организаций, которые сипользуют сертификаты протокола SET с 1-го июня 1999: "Amex" - American Express "Dankort" - Dankort "JCB" - JCB "Maestro" - Maestro "MasterCard" - MasterCard "NICOS" - NICOS "VISA" - Visa Кроме того определены следующие значения Id видов платежа: "Mondex" "GeldKarte" |
| Валютная сумма/CurrCode | Коды валюты зависят от CurrCodeType (смотри ниже). |
| Тип элемента/Имя атрибута | Значения атрибута |
| Валютная сумма/CurrCodeType | "ISO4217A" "IOTP" |
| DeliveryData/DelivMethod | "Post" "Web" "Email" |
| PackagedContent/Content | "PCDATA" "MIME" "MIME:mimetype" (где mimetype должен быть тем же, что и в content-type, как это определено в [MIME]) "XML" |
| RelatedTo/RelationshipType | "IotpTransaction" "Reference" |
| Тип элемента/Имя атрибута | Значения атрибута |
| Значения Status/StatusType | Значения Предложение Платеж Доставка Аутентификация Не идентифицировано Новые значения атрибута Status Type выделяются после:oпубликации в Торговой Рабочей Группе IETF, документа RFC, описывающего торговый обмен, торговые роли и соответствующие компоненты, которые относятся к Status и oрассмотрения документа в торговом почтовом листе IETF и экспертами. |
| TradingRole/TradingRole | "Consumer" "Merchant" "PaymentHandler" "DeliveryHandler" "DelivTo" oпубликации в Торговой Рабочей Группе IETF, документа RFC, описывающего торговый обмен, торговые роли и соответствующие компоненты, которые относятся к Trading Role и oрассмотрения документа в торговом почтовом листе IETF и экспертами. |
| Тип элемента/Имя атрибута | Значения атрибута |
| TransId/IotpTransType | "BaselineAuthentication" "BaselineDeposit" "BaselineRefund" "BaselineWithdrawal" "BaselineValueExchange" "BaselineInquiry" "BaselinePing" Новые значения атрибута IotpTransType выделяются после: oпубликации через почтовый список IETF, в виде документа RFC, описывающего новую транзакцию IOTP и oрассмотрения документа в почтовом списке торговой рабочей группы IETF и экспертами. |
| Attribute/Content (смотри компонент Signature) | "OfferResponse" "PaymentResponse" "DeliveryResponse" "AuthenticationRequest" "AuthenticationResponse" "PingRequest" "PingResponse" Новые значения кода, которые описывают тип подписи выделяются после: oпубликации в Торговой Рабочей Группе IETF документа RFC, описывающего торговый обмен, где используются подписи и oрассмотрения документа в торговом почтовом листе IETF и экспертами. |
| NameChar | NameChar имеет то же определение, что и [XML] определение NameChar. |
| Значение | Описание |
| Reserved | Reserved. Эта ошибка зарезервирована поставщиком/разработчиком программы. Контактируйте, если требуется, с поставщиком/разработчиком программы. Смотри ID-атрибут Software Id-элемента сообщения в блоке ссылок транзакции (раздел 3.3). |
| XmlNotWellFrmd | XML плохо сформирован. Документ XML плохо сформатирован. Смотри [XML]Ю, для того чтобы понять, что значит "хорошо сформатирован". Даже если XML сформатирован плохо, он должен быть просмотрен, найден блок ссылок транзакции, с тем чтобы было можно правильно сформировать отклик Error. |
| XmlNotValid | XML некорректен. Документ XML сформатирован хорошо, но он некорректен. Для того чтобы понять, что значит "корректен" смотри [XML], в частности:o документ XML не следует регламентациям, определенным декларацией типов документов IOTP (DTD)(смотри раздел 13) и o документ XML не следует регламентациям, определенным расширениям декларации типов документов [XML Namespace]. |
| ElUnexpected | Нестандартный элемент. Несмотря на то что документ XML сформирован правильно и корректен, присутствует элемент, который не является стандартным для данного контекста согласно правил и ограничениям, содержащимся в данной спецификации. | |
| ElNotSupp | Элемент не поддерживается. Несмотря на то что документ XML сформирован правильно и корректен, присутствует элемент, который: o согласуется с правилами и ограничениями данной спецификации, но o не поддерживается приложением IOTP, которое обрабатывает IOTP-сообщение. | |
| ElMissing | Элемент отстутствует. Несмотря на то что документ XML сформирован правильно и корректен, отсутствует элемент, который должен присутствовать, если следовать правилам и ограничениям данной спецификации. | |
| ElContIllegal | Содержимое элемента не верно. Несмотря на то что документ XML сформирован правильно и корректен, элемент Content содержит значения, которые не согласуются с правилами и ограничениями данной спецификации. |
| EncapProtErr | Ошибка инкапсулированного протокола. Несмотря на то что документ XML сформирован правильно и корректен, PackagedContent элемента содержит данные инкапсулированного протокола, которые неверны. |
| AttUnexpected | Нестандартный атрибут. Несмотря на то что документ XML сформирован правильно и корректен, присутствие такого атрибута в данном контексте не предусмотрено и не согласуются с правилами и ограничениями данной спецификации. |
| AttNotSupp | Атрибут не поддерживается. Несмотря на то что документ XML сформирован правильно и корректен, и приутствие атрибута элемента согласуется с правилами и ограничениями данной спецификации, он не поддерживается конкретной программной реализацией, которая обрабатывает сообщение IOTP. |
| AttMissing | Атрибут отсутствует. Несмотря на то что документ сформирован правильно и корректен, отсутствует атрибут, который согласно правилам и ограничениям данной спецификации должен присутствовать. |
| AttValIllegal | Не верно значение атрибута. Атрибут содержит значение, которое не согласуется с правилами и ограничениями данной спецификации. |
| AttValNotRecog | Значение атрибута не распознано. Атрибут содержит значение, которое приложение IOTP, обрабатывающее сообщение, не смогло распознать. |
| MsgTooLarge | Сообщение имеет слишком больую длину. Сообщение слишком велико для приложения, его обрабатывающего. |
| ElTooLarge | Элемент слишком велик. Элемент слишком велик для приложения, его обрабатывающего. |
| ValueTooSmall | Значение слишком мало. Значение всего или части элемента Content или атрибута, хотя и верно, но слишком мало. |
| ValueTooLarge | Значение слишком велико. Значение всего или части элемента Content или атрибута, хотя и верно, но слишком велико. |
| ElInconsistent | Элемент не согласован. Несмотря на то что документ сформирован правильно и корректен, согласно правилам и ограничениям данной спецификации: о содержимое элемента не согласуется с содержимым других элементовили их атрибутов или о значение атрибута не согласуется со значением одного или нескольких других атрибутов. |
| TransportError | Транспортная ошибка (Transport Error). Этот код ошибки используется для индикации проблем с транспортным механизмом, которые приводят к потере сообщения. Она обычно ассоциируется с переходной ошибкой. Объяснение переходной ошибки содержится с атрибуте ErrorDesc. Значения, которые могут использоваться в ErrorDesc с TransportError специфицированы в приложении IOTP для транспортного механизма. |
| MsgBeingProc | Сообщение обрабатывается (Message Being Processed). Этот код ошибки используется только с серьезностью (Severity) переходных ошибок. Код указывает, что предыдущее сообщение обрабатывается и, если в орговоренное время, заданное атрибутом MinRetrySecs, не получено отклика, оригинальное сообщение следует послать вновь. |
| SystemBusy | Система занята (System Busy). Этот код ошибки используется только с серьезностью (Severity) переходных ошибок. Он указывает, что сервер, который получил сообщение, в настоящее время занят и обработать сообщение не может. Если в орговоренное время, заданное атрибутом MinRetrySecs, не получено отклика, оригинальное сообщение следует послать вновь. |
| UnknownError | Неизвестная ошибка. Индицирует, что транзакция не может завершиться по неидентифицированной причине. Атрибут ErrorDesc следует использовать для индикации природы проблемы. Эта ошибка может быть применена для указания, например, внутренней ошибки оконечного сервера или процесса клиента. |
| Значение | Описание |
| AutEeCancel | Аннулировано аутентифицируемым (Authenticatee Cancel). Организация по какой-то причине отказывается от аутентификации. Это может быть, например, потому что подпись аутентификационного запроса оказалась некорректной или аутентификатор оказался неизвестным или неприемлемым. Восстановление невозможно. |
| AutOrCancel | Аннулировано аутентификатором (Authenticator Cancel). Организация, запросившая аутентификацию по каким-то причинам отказывается проверять полученный аутентификационный отклик и аннулирует транзакцию. Восстановление невозможно. |
| NoAuthReq | Запрос аутентификации не возможен (Authentication Request Not Available). Аутентифицирующийся субъект не имеет данных, которые должны быть предоставлены. Например, забыт пароль или субъект не авторизован. Восстановление невозможно. |
| AuthFailed | Аутентификация не прошла (Authentication Failed). Аутентификатор проверил аутентификационный отклик, но эта проверка по какой-то причине не прошла. Например, оказался неправильным пароль. Восстановление может быть возможно аутентифицируемым путем повторной посылки отклика аутентификации с корректными данными. |
| TradRolesIncon | Торговые роли несоместимы (Trading Roles Inconsisten). Торговые роли, содержащиеся в атрибуте TradingRoleList компонента информационного запроса торговых ролей (смотри раздел 7.4) не согласуются с торговой ролью, которую аутентифицируемый играет в данной транзакции IOTP. Примеры несогласованности включают в себя: о запрос Кассира информации об Агенте доставки; о запрос Покупателя информации о Продавце.Восстановление может выполнить аутентификатор путем повторной посылки блока аутентификационного запроса с поправленной информацией. |
| Unspecified | Неспецифицированная ошибка (Unspecified error). Имеет место какая-то неизвестная проблема или ошибка, которая не совпадает ни с одним из кодов CompletionCodes. Восстановление невозможно. |
| TimedOutRcvr | Восстановимый таймаут (Recoverable Time Out). Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление возможно, если последнее сообщение от другой торговой роли получено вновь. |
| TimedOutNoRcvr | Невосстановимый таймаут (Non Recoverable Time Out). Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление невозможно. |
| Значение | Описание |
| BackOrdered | Back Ordered. Товары, подлежащие доставке, ожидают длставки, но еще не доставлены. Доставка будет оформлена, когда товар будет получен. Это справедливо, если ProcessState = CompletedOk. Восстановление невозможно. |
| PermNotAvail | Постоянно не доступен (Permanently Not Available). Товары не доступны и не могут быть перезаказаны. Это справедливо, если ProcessState = Failed. Восстановление не возможно. |
| TempNotAvail | Временно не доступен. Товары временно не доступны и могут быть получены при повторном заказе. Это возможно, если ProcessState = CompletedOk. Восстановление невозможно. |
| ShipPending | Задержка доставки. Товары доступны и запланированы к доставке, но еще не доставлены. Это возможно, если ProcessState = CompletedOk. Восстановление невозможно. |
| Shipped | Товары доставлены (Goods Shipped). Товар уже доставлен. Ожидается подтверждение доставки. Это возможно, если ProcessState = CompletedOk. Восстановление невозможно. |
| ShippedNoConf | Доставлен - никакого подтверждения доставки (Shipped - No Delivery Confirmation). Товары были доставлены, но их доставку невозможно подтвердить. Это возможно, если ProcessState = CompletedOk. Восстановление невозможно. |
| ConsCancelled | Аннулировано Покупателем (Consumer Cancelled). Покупатель по какой-то причине решает аннулировать доставку. Этот код допустим только в компоненте Status, содержащимся в блоках Cancel или информационного отклика. Восстановление невозможно. |
| DelivCancelled | Доставка аннулирована (Delivery Cancelled). Агент доставки по какой-то причине отказался завершить процедуру доставки и аннулировал транзакцию. Этот код допустим только в компоненте Status, содержащимся в блоках Cancel или информационного отклика. Восстановление невозможно. |
| Confirmed | Подтверждено (Confirmed). Все товары были доставлены и получено подтверждение их доставки. Это возможно, если ProcessState = CompletedOk. Восстановление невозможно. |
| Unspecified | Неспецифицированная ошибка (Unspecified error). Имеет место какая-то неизвестная проблема или ошибка, которая не совпадает ни с одним из кодов CompletionCodes. Атрибут StatusDesc должен прояснить причину. Восстановление невозможно. |
| TimedOutRcvr | Восстановимый таймаут (Recoverable Time Out). Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление возможно, если последнее сообщение от другой торговой роли получено вновь. |
| TimedOutNoRcvr | Невосстановимый таймаут (Non Recoverable Time Out). Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление невозможно. |
| Значение | Описание |
| UnAuthReq | Неавторизованный запрос (Unauthorised Request). Получатель запроса состояния транзакции отказывается откликаться на запрос. |
| Значение | Описание |
| BrandNotSupp | Вид платежа не поддерживается Кассиром. |
| CurrNotSupp | Валюта не поддерживается. Валюта, в которой выполнен платеж, не поддерживается платежным инструментом или кассиром. |
| ConsCancelled | Отмена Покупателем (Consumer Cancelled). Покупатель по какой-либо причине решил аннулировать платеж. Этот код является единственно верным в компоненте Status, содержащимся в блоках Cancel или информационного отклика. Восстановление невозможно. |
| PaymtCancelled | Платеж аннулирован (Payment Cancelled). Кассир по каким-то причинам не хочет завершить платежную операцию и аннулирует транзакцию. Этот код является единственно верным в компоненте Status, содержащегося в блоках Cancel или информационного отклика. Опции восстановления смотри ниже. |
| AuthError | Ошибка аутентификации. Аутентификационная проверка платежной схемы не прошла. Восстановление возможно. Чтобы определить, что допустимо, смотри приложение по платежным схемам. |
| InsuffFunds | Нехватает средств. Средств для осуществления платежа недостаточно. Опции восстановления смотри ниже. |
| InstBrandInvalid | Платежный инструмент не приемлем для данного вида платежа. Использован платежный инструмент, который не соответствует выбранному виду платжа. Например, использована кредитная карта Visa, хотя в качестве вида платежа была выбрана MasterCard. Опции восстановления смотри ниже. |
| InstNotValid | Платежный инструмент не приемлем для сделки. Платежный инструмент по каким-то причинам не может быть использован для предлагаемого вида сделки. Опции восстановления смотри ниже. |
| BadInstrument | Плохой инструмент. Имеется проблема с использованным платежным инструментом, что означает, что он не может быть применен для платежа. Опции восстановления смотри ниже. |
| Unspecified | Неспецифицированная ошибка. Имеет место какая-то неизвестная проблема или ошибка, которая не совпадает ни с одним из кодов CompletionCodes. Атрибут StatusDesc должен предоставить объяснение причины. Опции восстановления смотри ниже. |
| TimedOutRcvr | Восстановимый таймаут (Recoverable Time Out). Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление возможно, если последнее сообщение другой торговой роли получено снова. |
| TimedOutNoRcvr | Невосстановимый таймаут. Сообщения были повторно посланы, но отклика не получено. Документальный обмен прерван по таймауту. Этот код приемлем при транзакции информационного запроса. Восстановление невозможно. |
| Значение | Описание |
| AuthError | Ошибка аутентификации. Проверка отклика аутентификации не прошла. |
| ConsCancelled | Прервано покупателем (Consumer Cancelled). Покупатель по каким-то причинам решает прервать транзакцию. Это код является единственно верным в компоненте Status, содержащимся в блоках Cancel или информационного отклика. Восстановление невозможно. |
| MerchCancelled | Предложение аннулировано (Offer Cancelled). Продавец по каким-то причинам аннулирует свое предложение и прерывает транзакцию. Этот код является единственно верным в компоненте Status, содержащимся в блоках Cancel или информационного отклика. Восстановление невозможно. |
| Unspecified | Неспецифицированная ошибка. Возникла какая-то неизвестная проблема или ошибка, которая не соответствует ни однму из кодов CompletionCodes. Восстановление невозможно. |
| TimedOutRcvr | Восстановимый таймаут (Recoverable Time Out). Сообщения были посланы, а откликов не получено. Документальный обмен прерван таймаутом. Этот код допустим в случае информационного запроса транзакции. |
| TimedOutNoRcvr | Невосстановимый таймаут (Non Recoverable Time Out). Сообщения были посланы повторно, а откликов не получено. Документальный обмен прерван таймаутом. Этот код допустим в случае информационного запроса транзакции. Восстановление невозможно. |
| Имя байта | Назначение |
| CLA | Класс команды (1 байт). |
| INS | Код инструкции (1 байт). |
| P1 и P2 | Cодержат дополнительные специфические параметры (по 1 байту). |
| Р3 | Указывает либо длину посылаемых в команде данных, либо максимальную длину данных, которые должны быть присланы в отклике от ICC (зависит от кода INS). |
| Значение процедурного байта | Действие терминала |
| Байт равен INS | Все остальные байты данных будут переданы TTL, или TTL будет готов принять все остальные байты от ICC |
| Байт равен дополнению INS | Следующий байт данных будет передан TTL или TTL будет готов принять следующий байт от ICC |
| 60 | TTL введет дополнительное время выдержки (Work Waiting Time) |
| 61 | TTL будет ждать следующий процедурный байт, затем пошлет ICC команду GET RESPONSE с максимальной длиной "xx", где хх равно значению второго процедурного байта |
| 6C | TTL будет ждать следующий процедурный байт, после чего немедленно повторно пошлет ICC предыдущий командный заголовок, используя длину "xx", где хх равно значению второго процедурного байта |

| Lc | Число байт в поле данные (0 или 1 байт) |
| Le | Максимальное число байт в поле данных отклика (0 или 1 байт) |
| CLA | INS | Назначение |
| 8х | 1Е | APPLICATION BLOCK (Заблокировать приложение) |
| 8х | 18 | APPLICATION UNBLOCK (Разблокировать приложение) |
| 8х | 16 | CARD BLOCK (Заблокировать карту) |
| 0х | 82 | EXTERNAL AUTHENTICATE (Внешняя аутентификация) |
| 8х | АЕ | GENERATE APPLICATION CRYPTOGRAM (Сформировать прикладную криптограмму) |
| 0х | 84 | GET CHALLENGE (Получить вызов) |
| 8х | СА | GET DATA (Получить данные) |
| 8х | А8 | GET PROCESSING OPTIONS (Получить опции обработки) |
| 0х | 88 | INTERNAL AUTHENTICATE (Внутренняя аутентификация) |
| 8х | 24 | PERSONAL IDENTIFICATION NUMBER (PIN) CHANGE/UNBLOCK - изменение/разблокировка персонального идентификатора |
| 0х | В2 | READ RECORD (Прочесть запись) |
| 0х | А4 | SELECT (Выбор) |
| 0х | 20 | VERIFY (Проверка) |
| 8х | Dx | RFU для платежных систем |
| 8х | Ex | RFU для платежных систем |
| 9х | Xx | RFU производителя для кодирования INS собственника |
| Ех | xx | RFU эмитента для кодирования INS собственника |
| SW1 | SW2 | Значение |
| 90 | 00 | Нормальная обработка Процесс завершился успешно |
62 63 63 | 83 00 Сх | Обработка с предупреждением Состояние постоянной памяти не изменилось; выбранный файл некорректен Состояние постоянной памяти изменилось; аутентификация не прошла Состояние постоянной памяти изменилось; счетчик задан "x" (0-15) |
69 69 69 6А 6А 6А | 83 84 85 81 82 83 | Контроль ошибок Команда не разрешена; метод аутентификации блокирован Команда не разрешена; запрошенные данные некорректны Команда не разрешена; условия использования не выполнены Неверные параметры Р1 Р2; функция не поддерживается Неверные параметры Р1 Р2; файл не найден Неверные параметры Р1 Р2; запись не найдена |
| Команда | CLA | INS | P1 | P2 | Lc | Данные | Le |
| APPLICATION BLOCK | 8C/84 | 1E | 00 | 00 | Число байт данных | Код аутенти-фикации сообщения (MAC) | - |
| APPLICATION UNBLOCK | 8C/84 | 18 | 00 | 00 | Число байт данных | Компонент MAC | - |
| CARD BLOCK | 8C/84 | 16 | 00 | 00 | Число байт данных | Компонент MAC | - |
| EXTERNAL AUTHENTICATE | 00 | 82 | 00 | 00 | 8-16 | Issue Authentication Data | - |
| GENERATE APPLICATION CRYPTOGRAM | 80 | AE | Парам. ссылки | 00 | Перемен. | Данные транзакции | 00 |
| GET DATA | 80 | CA | 9F369F139F17 | 9F369F139F17 | - | - | 00 |
| GET PROCESSING OPTIONS | 80 | A8 | 00 | 00 | Перемен. | Processing Option Data Object List (PDOL) | 00 |
| INTERNAL AUTHENTICATE | 00 | 88 | 00 | 00 | Длина аутент. данных | Аутентиф. данные | 00 |
| PIN CHANGE/UNBLOCK | 8C/84 | 24 | 00 | 00, 01 или 02 | Число байт данных | PIN данные | - |
| READ RECORD | 00 | B2 | Номер записи | Парам.ссылки | - | - | 00 |
| SELECT | 00 | A4 | Парам. ссылки | Опции выбора | 05-10 | Имя файла | 00 |
| VERIFY | 00 | 20 | 00 | Квали-фикатор | Перемен | PIN данные транзакции | - |
| GET CHALLENGE | 00 | 84 | 00 | 00 | - | - | 00 |
| Заголовок (Prologue) | Данные | Эпилог | ||
| Адрес узла (NAD) | Управляющий протокольный байт (PCB) | Длина (LEN) | APDU или управляющая информация (INF) | EDC (код детектирования ошибки) |
| 1 байт | 1 байт | 1 байт | 0-254 байта | 1 байт |
| b8 | 0 |
| b7 | Номер по порядку |
| b6 | Цепочка (есть еще данные) |
| b5-b1 | Зарезервировано на будущее |
| b8 | 1 |
| b7 | 0 |
| b6 | 0 |
| b5 | Номер по порядку |
| b4-b1 | 0 - Отсутствие ошибки 1 - EDC и/или ошибка четности 2 - другие ошибки остальные коды зарезервированы |
| b8 | 1 |
| b7 | 1 |
| b6 | 0 - запрос 1 - отклик |
| b5-b1 | 0 - запрос повторной синхронизации 1 - запрос размера поля данных 2 - запрос абортирования 3 - расширение BWT-запроса 4 - VPP-ошибка остальные коды зарезервированы |

| ID | Идентификатор, который однозначно определяет компонент платежной расписки транзакции IOTP. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Содержит дополнительную, не связанную с платежом информацию, которую кассир хочет довести до сведения покупателя в виде одного или более элементов Packaged Content (смотри раздел 3.7). |
| ID | Идентификатор, который однозначно определяет компонент данных торговой роли транзакции IOTP. |
| OrginatorElRef | Содержит ссылку элемента на компонент Organisation организации, которая создала компонент данных о торговой роли и включила его в блок отклика (напр., блок отклика предложения или платежа). |
| DestinationElRefs | Содержит ссылку элемента на компоненты Organisation организации, которая получила компонент данных о торговой роли в блоке запроса (напр., блоков запроса платежа или доставки). |
| PackagedContent | Содержит данные, которыые должны быть пересланы между торговыми ролями в виде одного или нескольких элементов PackagedContent, смотри раздел 3.7. |
| DeliveryNote ID ID #REQUIRED | xml:lang NMTOKEN #REQUIRED |
| DelivHandlerDelivId CDATA #IMPLIED | ContentSoftwareId CDATA #IMPLIED> |
| ID | Идентификатор, который однозначно определяет компонент Delivery Note транзакции IOTP. |
| xml:lang | Определяет язык, используемый атрибутами или дочерними элементами в рамках данного компонента, если только его значение не будет переписано атрибутом xml:lang дочернего элемента. Смотри раздел 3.8. |
| DelivHandlerDelivId | Опционный идентификатор, специфицированный Агентом доставки, который в случае возвращения Покупателем в другом компоненте доставки или каким-либо другим способом, позволяет Агенту доставки определить, о какой доставке идет речь. Он необходим для любого компонента доставки, вне зависимости от того содержится ли от в блоке запроса доставки. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Содержит информацию декларации доставки (delivery note) в виде одного или нескольких элементов Packaged Content (смотри раздел 3.7). |
| xml:lang NMTOKEN #REQUIRED | DelivExch (True | False) #REQUIRED |
| DelivAndPayResp (True | False) #REQUIRED | ActionOrgRef NMTOKEN #IMPLIED> |
| ID | Идентификатор, который однозначно определяет компонент доставки транзакции. |
| xml:lang | Определяет язык, используемый атрибутами и дочерними элементами этого компонента, если только атрибут дочернего элемента xml:lang не перепишет это значение. Смотри раздел 3.8. |
| DelivExch | Индицирует факт наличия в транзакции сообщений, ассоциированных с обменом доставки. Корректные значения: о“Истинно” указывает на наличие обмена доставки. o“Ложно” указывает на отсутствие обмена доставки. |
| DelivAndPayResp | Индицирует то, чтоблок отклика доставки (смотри раздел 8.11) и блок отклика плптежа (смотри раздел 8.9) находся в одном и том же сообщении IOTP. Корректные значения: o “Истинно” указывает, что оба блока находятся в одном и том же сообщении IOTP и o “Ложно” указывает, что каждый блок размещен в разных сообщениях IOTP. |
| ActionOrgRef | Ссылка элемента на компонент организации Агента доставки. |
| DeliveryData | Содержит подробности того, как будет осуществляться доставка. Смотри 7.13.1. |
| PackagedContent | Содержит данные "пользователя", определенные для продавца и необходимые агенту доставки в виде одного или нескольких элементов Packaged Content. Смотри раздел 3.7. |
| MinRetrySecs CDATA #IMPLIED | SwVendorErrorRef CDATA #IMPLIED> |
| ID | Идентификатор, который однозначно определяет компонент Error транзакции IOTP. |
| xml:lang | Определяет язык, используемый атрибутами или дочерними элементами компонента, если только значение не переписано атрибутом xml:lang дочернего элемента. Смотри раздел 3.8. |
| ErrorCode | Содержит код ошибки, который указывает на природу ошибки в сообщении. Допустимые значения ErrorCode приведены в секции 7.21.2. |
| ErrorDesc | Содержит текстовое описание ошибки на языке, заданном xml:lang. Содержимое этого атрибута определено поставщиком/разработчиком программного обеспечения, которое сгенерировало компонент Error. |
| Severity | Определяет степень (severity) ошибки. Допустимы следующие значения:о Warning. Индицирует, что хотя имеется ошибочное сообщение, транзакция может продолжаться.о TransientError. Индицирует, что ошибка в сообщении может быть исправлена, если ошибочное сообщение, на которое указывает элемент ErrorLocation, послать повторно.o HardError.Индицирует, что в сообщении имеется неустранимая ошибка, трпнзакция IOTP должна быть остановлена. |
| MinRetrySecs | Этот атрибут должен присутствовать, если Severity равен TransientError. Он равен минимальному числу полных секунд, которое приложение IOTP, получившее сообщение об ошибке, должно подождать прежде чем переадресовать сообщение, идентифицированное элементом ErrorLocation. |
| SwVendorErrorRef | Этот атрибут является ссылкой, чье значение установлено поставщиком/разработчиком программы, которая сформировала компонент Error. Он должен содержать данные, которые позволяют поставщику идентифицировать точную позицию в его прогрпмме и установить причины, которые вызвали сообщение об ошибке. Смотри также атрибут SoftwareID Id-элемента сообщения в блоке ссылки транзакции (раздел 3.3). |
| ErrorLocation | Идентифицирует Id транзакции IOTP сообщения с ошибкой и, если возможно, элемент и атрибут сообщения, который вызвал формирование компонента Error. |
| PackagedContent | Содержит дополнительные данные, которые могут использоваться для понимания ошибки. Его содержимое может варьироваться в зависимости от природы ошибки (смотри раздел 7.21.2) и ои поставщика/разработчика приложения IOTP. Определение f PackagedContent смотри в разделе 3.7. |
| xml:lang NMTOKEN #REQUIRED | OrgId CDATA #REQUIRED |
| LegalName CDATA #IMPLIED | ShortDesc CDATA #IMPLIED |
| ID | Идентификатор, который однозначно определяет компонент Organisation в пределах текущей транзакции IOTP. |
| xml:lang | Определяет язык, использованный атрибутами или дочерними элементами в пределах данного компонента, если только его значение не было изменено с помощью атрибута xml:lang дочернего элемента. Смотри раздел 3.8. |
| OrgId | Код, который идентифицирует организацию, описанную компонентом Organisation. Смотри 7.6.1. |
| LegalName | Для организаций, которые являются коммерческими компаниями, это их легальное название на языке, определенном атрибутом xml:lang. Это необходимо для организаций, чьими торговыми ролями не являются Покупатель или DelivTo. |
| ShortDesc | Краткое описание организации на языке, определенном атрибутом xml:lang. Это обычно имя, под которым известна организация. Например, если легальное название было "Blue Meadows Financial Services Inc.", тогда его короткое имя может быть "Blue Meadows". |
| LogoNetLocn | Сетевая позиция, которая может быть использована для загрузки логотипа организации. |
| TradingRole | Смотри 7.6.2. Элемент торговой роли. |
| ContactInfo | Смотри 7.6.3. Элемент контактной информации. |
| PersonName | Смотри 7.6.4. Персональное имя. |
| PostalAddress | Смотри 7.6.5. Почтовый адрес. |
| ID | Идентификатор, который для данной транзакции однозначно определяет компонент отклика аутентификации. |
| AuthenticationId | Идентификатор аутентификации, специфицированный аутентификатором, который был включен компонент запроса (смотри раздел 7.2). Это позволяет аутентификатору идентифицировать метод аутентификации. |
| SelectedAlgorithmRef | Ссылка элемента, которая определяет элемент алгоритма, сипользуемого для формирования отклика аутентификации. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Может содержать отклик, сформированный в качестве результата применения алгоритма, выбранного из компонента запроса аутентификации, смотри раздел 7.2. |
| OkFrom CDATA #REQUIRED | OkTo CDATA #REQUIRED |
| BrandListRef NMTOKEN #REQUIRED | SignedPayReceipt (True | False) #REQUIRED |
| ID | Идентификатор, который однозначно идентифицирует платежный компонент в транзакции IOTP. |
| OkFrom | Дата и время в формате [UTC], после которого кассир может воспринимать на обработку блок платежного запроса (смотри раздел 8.7), содержащий компонент платежа. |
| OkTo | Дата и время в формате [UTC], до которого Кассир может воспринимать на обработку блок платежного запроса, содержащий компонент платежа. |
| BrandListRef | Ссылка элемента (смотри раздел 3.5) компонента списка видов платежа (смотри раздел 7.7) в рамках торгового блока TPO транзакции IOTP. Список видов платежа идентифицирует альтернативные способы осуществления платежа. |
| SignedPayReceipt | Указывает, должен ли быть подписан блок платежного отклика (смотри раздел 8.9), сгенерированный Кассиром. |
| StartAfter | Содержит ссылки элемента (смотри раздел 3.5) других платежных компонентов, которые описывают платежи, которые должны быть проведены до того, как будет произведен данный платеж. Если атрибут StartAfter отсутствует, тогда никаких зависимостей нет и платеж может быть проведен немедленно. |
| PayReceipt ID | ID #REQUIRED |
| PaymentRef NMTOKEN #REQUIRED | PayReceiptNameRefs NMTOKENS #IMPLIED |
| ID | Идентификатор, который однозначно определяет компонент платежной расписки транзакции IOTP. | |
| PaymentRef | Содержит ссылку элемента (смотри раздел 3.5) на компонент платежа (смотри раздел 7.9), к которому относится данная расписка. | |
| PayReceiptNameRefs | Опционно содержит список значений атрибутов Name элементов Packaged Content, которые образуют расписку. Элементы Packaged Content могут содержать: | |
| о | компоненты данных платежной схемы, обмен которыми производится между Кассиром и Покупателем в процессе платежа и/или | |
| o | сам компоент платежной расписки. Заметим, что: | |
| o | каждый компонент схемы определяет в своем приложении имена элементов Packaged Content, которые должны быть перечислены в этом атрибуте (если они нужны). | |
| о | Если компонент платежной схемы содержит элементы Packaged Content, с именами которые совпадают с именем в PayReceiptNameRefs, тогда на такие компоненты платежной схемы должны ссылаться дайджесты в компоненте подписи платежного отклика (если используется такая подпись). | |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Опционно содержит информацию платежной расписки (платежную схему) в виде элементов Packaged Content (смотри раздел 3.7). Определение его содержимого смотри в прилжении платежной схемы. |
| о | значения атрибута Name каждого элемента packaged content определены приложением платежного протокола; |
| о | значение Name должно быть уникальным для каждого платежа, как и для всех схем платежа или компонентов платежной расписки с идентичным значением атрибута PaymentRef. |
| PaymentRef NMTOKEN #IMPLIED | ConsumerPaymentId CDATA #IMPLIED |
| PaymentHandlerPayId CDATA #IMPLIED | ContentSoftwareId CDATA #IMPLIED> |
| ID | Идентификатор, который однозначно определяет компонент схемы оплаты транзакции IOTP. |
| PaymentRef | Ссылка элемента (смотри раздел 3.5) компонента платежа (смотри раздел 7.9), с которым связан компонент схемы платежа. Атрибут необходим, если только компонент схемы платежа не является частью запроса состояния транзакции (смотри раздел 9.2.1). |
| ConsumerPaymentId | Идентификатор, специфицированный Покупателем, который в случае возвращения Кассиром в другом компоненте схемы платежа (или другим способом) позволит Покупателю определить, о каком платеже идет речь. |
| PaymentHandlerPayId | Идентификатор, специфицированный Кассиром, который в случае возвращения Покупателем в другом компоненте схемы платежа (или другим способом) позволит Кассиру определить, о каком платеже идет речь. Атрибут необходим для каждого компонента схемы платежа, вне зависимости от того, что содержится в блоке платежного запроса. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Содержит протокольную информацию о схеме платежа в виде элементов Packaged Content (смотри раздел 3.7). Определение содержимого смотри в приложение по схемам платежа. |
| - компонент запроса аутентификации, который был использован в аутентификации (если имеется); | |
| - компонент информационного запроса о торговой роли (если имеются). |
| компонент опций протокола; | |
| каждый из компонентов Organisation; | |
| каждый из компонентов списка видов платежа; |
| компонент Order; | |
| каждый из компонентов Payment; | |
| компонент Delivery; | |
| каждый из компонентов запроса аутентификации; | |
| любой компонент данных о торговой роли. |
| - компонент опций протоколов; | |
| - компонент Organisation. |
| - компоненты запроса аутентификации (если имеются) | |
| - компонент запроса информации о торговой роли (если имеется) |
| ID | Идентификатор, которыйоднозначно идентифицирует компонент протокольных опций в транзакции IOTP. |
| Xml:lang | Определяет язык, используемый атрибутами или дочерними элементами в пределах компонента, если значение не переписано атрибутом xml:lang дочернего элемента. |
| ShortDesc | Этот атрибут содержит краткое описание транзакции IOTP на языке, заданном xml:lang. Его целью является объяснение того, какая транзакция осуществляется партнерами. |
| SenderNetLocn | Содержит небезопасные сетевые позиции отправителя блока TPO, в котором содержится компонент протокольных опций. |
| SecureSenderNetLocn | Содержит безопасный сетевой узел отправителя блока TPO, в котором содержится компонент протокольных опций. |
| SuccessNetLocn | Содержит сетевую позицию, которая должна быть отображена после успешного завершения транзакции. |
| xml:lang NMTOKEN #REQUIRED | |
| RelationshipType NMTOKEN #REQUIRED | Relation CDATA #REQUIRED |
| ID | Идентификатор, который однозначно jghtltkztn компонент Related To в рамках транзакции IOTP. |
| xml:lang | Определяет язык, использованный атрибутом или дочерним элементом в данном компоненте, если не переписан атрибутом xml:lang дочернего элемента. Смотри раздел 3.8. |
| RelationshipType | Определяет тип отношения. Корректными значениями являются: |
| Relation | Атрибут Relation содержит фразу на языке, определенном xml:lang, он определяет природу отношений между транзакцией, которая содержит этот компонент и другой транзакцией или другим событием. Окончательное текстовое выражение оставлено на усмотрение составителей программ IOTP. |
| RelnKeyWords | Этот атрибут содержит ключевые слова, которые могут быть использованы, чтобы помочь идентифицировать подобные отношения, например все виды возвратов. Ожидается, что рекомендуемые ключевые слова будут выбраны в процессе практического использования. В этой версии спецификации не содержится никаких специальных рекомендаций по ключевым словам |
| PackagedContent | Packaged Content (смотри раздел 3.7) содержит данные, которые идентифицируют связанные транзакции. Его формат варьируется в зависимости от значения атрибута RelationshipType. |
| ID | Идентификатор, который однозначно определяет компонент списка видов платежа транзакции IOTP. |
| xml:lang | Определяет язык, использованный атрибутами или дочерними элементами в пределах данного компонента, если только его значение не переписано атрибутом xml:lang дочернего элемента. Смотри раздел 3.8. |
| ShortDesc | Текстовое описание на языке, заданном атрибутом xml:Lang, характеризующее цели списка видов платежа. Эта информация должна быть отображена у получателя списка видов платежа для того чтобы помочь сделать правильный выбор. Это привлекательно, так как позволяет Покупателю выяснить цели предлагаемого списка видов платежа, если транзакция предполагает несколько платежей. |
| PayDirection | Индицирует направление платежа для выбранного вида. Возможные значения: |
| Brand | Описывает вид платежа (Brand). Последовательность элементов Brand (смотри раздел 7.7.1) в списке видов плптежа не определяет каких-либо преоритетов. Рекомендуется, чтобы программа, которая обрабатывает этот список видов платежа представляла их в порядке предпочтения получателя. |
| ProtocolAmount | Это связывает конкретный вид платежа с: |
| CurrencyAmount | Содержит код валюты и сумму платежа; |
| PayProtocol | Содержит информацию о платежном протоколе и Кассире, которые могут использовать данный вид платежа. |

| Status ID ID #REQUIRED | xml:lang NMTOKEN #REQUIRED |
| StatusType NMTOKEN #REQUIRED | ElRef NMTOKEN #IMPLIED |
| ID | Идентификатор, который однозначно определяет компонент Status транзакции IOTP. |
| xml:lang | Определяет язык, используемый атрибутами в пределах компонента. Смотри раздел 3.8. |
| StatusType | Индицирует тип обмена документами, о котором сообщает компонент Status. Он может быть установлен в состояние предложение, платеж, доставка, аутентификация или “неопределено” (Undefined). |
| ElRef | Если StatusType не установлено равным Undefined (неопределено), тогда ElRef содержит ссылку элемента (смотри раздел 3.5) на компонент, для которого описан Status. Он может относиться к: о компоненту Order (смотри раздел 7.5), если StatusType = Offer, o компоненту Payment (смотри раздел 7.9), если StatusType = Payment, o компоненту Delivery (смотри раздел 7.13), если StatusType = Delivery; o компоненту запрос аутентификации (смотри раздел 7.2), если StatusType = Authentication. |
| ProcessState | Содержит код состояния (State Code), который индицирует текущее состояние исполняемого процесса. Допустимыми значениями ProcessState являются: о NotYetStarted. Получен блок Request, но процесс еще не начат; o InProgress. Обработка блока Request начата, но еще не завершена; o CompletedOk. Обработка блока Request успешно завершена; o Failed. Обработка блока Request не прошла из-за рабочей ошибки (Business Error) (смотри раздел 4.2) o ProcessError. Это значение применяется, только когда компонент Status используется в связис торговым блоком информационного запроса (смотри раздел 8.12). Оно указывает, что была техническая ошибка (смотри раздел 4.1) в блоке запроса, который обрабатывается, тди другая внутренняя ошибка обработки. |
| CompletionCode | Индицирует то, как завершился процесс. Корректные значения CompletionCode приведены ниже вместе с указанием условий, когда атрибут должен присутствовать и указанием возможности восстановления при неудаче. |
| ProcessReference | Этот опционный атрибут хранит ссылку для процесса, о состоянии которого сообщается. Он может содержать следующие значения:о когда StatusType = Offer, он должен содержать OrderIdentifier компонента Order;o когда StatusType = Payment, он должен содержать PaymentHandlerPayId компонентаданных о схеме платежа;o когда StatusType = Delivery, он должен содержать DelivHandlerDelivId компонента Delivery Note;o когда StatusType = Authentication, он должен содержать AuthenticationId компонента запроса аутентификации. |
| StatusDesc | Опционное текстовое описание текущего состояния процесса на языке, заданном атрибутом xml:lang. |
| ID | Идентификатор, который однозначно определяет компонент типа информационного запроса транзакции IOTP. |
| Type | Содержит тип информационного запроса. Допустимые значения типа запроса: o Offer. Запрос касается статуса предложения и обращен к продавцу. o Payment. Запрос касается статуса платежа и обращен к кассиру. o Delivery. Запрос касается статуса доставки и обращен к агенту доставки. |
| ElRef | Содержит ссылку элемента (смотри раздел 3.5) на компонент, к которому относится информационный запрос. Это: о Блок TPO, когда тип = Offer; o Компонент Payment, когда тип = Payment; o Компонент Delivery, когда тип = Delivery. |
| ProcessReference | Опционно содержит ссылку на процесс, о котором произведен запрос. Он должен быть установлен, если информация доступна. Для определения значений, которые он может принимать, смотри атрибут ProcessReference компонента Status (смотри раздел 7.16). |
| ID | Идентификатор, который однозначно определяет компонент выбора вида платежа транзакции. |
| BrandListRef | Ссылка элемента (смотри раздел 3.5) компонента списка видов платежа, из которого был выбран Brand. |
| BrandRef | Ссылка элемента Brand компонента списка видов платежа, который был выбран из списка и использован для платежа. |
| ProtocolAmountRef | Ссылка элемента для Protocol Amount в пределах компонента списка видов платежа, который использован при платеже. |
| CurrencyAmountRef | Ссылка элемента для Currency Amount в пределах компонента списка видов платежа, который использован при платеже. |
| BrandSelBrandInfo, BrandSelProtocolAmountInfo, BrandSelCurrencyAmountInfo | Содержит любые дополнительные данные, которые могут быть необходимы при конкретном платеже или протоколе. Смотри разделы 7.8.1, 7.8.2, и 7.8.3. |
| xml:lang NMTOKEN #REQUIRED | OrderIdentifier CDATA #REQUIRED |
| ShortDesc CDATA #REQUIRED | OkFrom CDATA #REQUIRED |
| OkTo CDATA #REQUIRED | ApplicableLaw CDATA #REQUIRED |
| ID | Идентификатор, который однозначно определяет компонент Order в пределах текущей транзакции IOTP. |
| xml:lang | Определяет язык, использованный атрибутами или дочерними элементами в пределах компонента, если только его значение не было изменено с помощью атрибута xml:lang дочернего элемента. Смотри раздел 3.8. |
| OrderIdentifier | Это код, число или другой идентификатор, который автор заказа может использовать для идентификации заказа. В пределах транзакции он должен быть уникальным. Если он используется так, то нет нужды специфицировать содержимое элемента заказа, так как имеется ссылка на нужную информацию в базе данных. |
| ShortDesc | Краткое описание заказа на языке, определенном атрибутом xml:lang. Оно используется для упрощения выбора индивидуального заказа из списка, например, из базы данных заказов, записанных туда продавцом, покупателем и т.д.. |
| OkFrom | Дата и время в формате [UTC], после которого предложение, сделанное Продавцом теряет силу. |
| OkTo | Дата и время в формате [UTC], до которого получатель может воспринимать предложение продавца не имеющим силу. |
| ApplicableLaw | Фраза на языке, определенном атрибутом xml:lang, которая описывает штат или страну, юристдикция которой будет использована при разрешении конфликтов и споров. |
| ContentSoftwareId | Смотри раздел 14. Словарь. |
| PackagedContent | Опционное описание заказа в виде одного или более элементов Packaged Content (смотри раздел 3.7). |
| ID | Идентификатор, который однозначно идентифицирует компонент запроса аутентификации для данной транзакции IOTP. |
| AuthenticationId | Идентификатор, специфицированный аутентификатором, который, если прислан организацией, которая получает запрос, позволит аутентификатору определить, какая аутентификационная процедура требуется. |
| ContentSoftwareId | Смотри раздел 14. Словарь |
| PackagedContent | Содержит данные вызова в виде одного или более элементах Packaged Content (смотри раздел 3.7), на которые следует рееагировать, используя алгоритм, опреденный элементом Algorithm. |
| Algorithm | Содержит информацию, которая описывает алгоритм (смотри 7.19. Компоненты подписи), который должен быть использован для генерации отклика аутентификации. |
| ID | Идентификатор, который однозначно определяет компонент информационного запроса для торговой роли в рамках транзакции IOTP. |
| TradingRoleList | Содержит список из одной или более торговых ролей (смотри атрибут TradingRole элемента Trading Role - раздел 7.6.2), для которых была запрошена информация. |
| - компонент данных о торговой роли, а также, | |
| - компонент Organisation, идентифицированной атрибутом OriginatorElRef. |
| Насыщенность цвета | Цвет логотипа |
| (бит на пиксель) | Значение насыщенности |
| 4 (16 цветов) | 4 |
| 8 (256 цветов) | ничего |
| 24 (16 миллионов цветов) | 24 |
| Значение | Описание |
| InMsgHardError | Серьезная ошибка во взодном сообщении (Input Message Hard Error). Тип блока запроса не может быть идентифицирован или является несовместимым. Следовательно никакой однодокументный обмен не может быть идентифицирован. Это может вызвать серьезную ошибку в транзакции. |
| 1. | Покупатель генерирует блок запроса доставки и посылает его агенту доставки, снабдив, если требуется, цифровой подписью |
| C а D | Запрос доставки. IotpMsg: блоки Trans Ref; подписи; запроса доставки |
| 2. | Агент доставки проверяет компоненты Status и Order запроса доставки и опционно подпись, создает блок отклика доставки, посылает его покупателю. |
| C Я D | Отклик доставки. IotpMsg: блоки Trans Ref; подписи; отклика доставки |
| 3. | Покупатель проверяет блок отклика доставки и опционный блок подпии. Опционно производит запись о транзакции на будущее. |
| 1. | Покупатель формирует блок платежного запроса, если необходимо, инкапсулирует в него сообщение платежного протокола, и посылает кассиру, снабжая при необходимости цифровой подписью |
| C а P | Запрос платежа. IotpMsg: блоки Trans Ref; подписи (опционный); платежного запроса |
| 2. | Кассир обрабатывает блок платежного запроса, проверяет подпись, если таковая имеется, и начинает обмен с покупателем сообщениями (вложенными в блок платежного обмена) согласно платежному протоколу |
| C « P | Платежный обмен. IotpMsg: блоки Trans Ref; Pay Exchange |
| 3. | Покупатель и кассир продолжают обмен платежными блоками, пока платеж не будет осуществлен и кассир не сформирует платежную расписку (которая опционно может быть снабщена цифровой подписью) и не пошлет ее покупателю. Эта операция завершает платежный обмен. |
| C Я P | Платежный отклик. IotpMsg: блоки Trans Ref; Signature (опционный); платежного отклика |
| 4. | Покупатель проверяет, все ли в порядке с платежным откликом. Опционно могут регистрироваться все операции IOTP. После этого покупатель может остановиться или послать очередное сообщение IOTP (снабдив его, если требуется, подписью) соответствующей торговой роли |
| - блок платежного отклика, содержащий платежную расписку, и | |
| - блок отклика доставки, содержащий подробности о доставленных товарах или услугах. |
| 1. | Покупатель генерирует блок платежного запроса, в который, если требуется, вкладывается сообщение платежного протокола, и посылает его кассиру, снабжая опционно цифровой подписью |
| C а P | Платежный запрос. IotpMsg: блоки Trans Ref; подписи; платежного запроса |
| 2. | Кассир обрабатывает блок платежного запроса, проверяет опционную подпись и начинает обмен с покупателем в рамках платежного протокола (вкладывая эти сообщения в блоки платежного обмена) |
| C « P | Платежный обмен. IotpMsg: блоки Trans Ref; платежного обмена |
| 3. | Покупатель и кассир обмениваются блоками платежного обмена до тех пор пока платежный протокол не завершит свою работу. Кассир формирует компонент платежной расписки, помещает его в блок платежного отклика, опционно формирует компонент подписи, который укладывается в блок Signature, затем использует информацию из блока отклика предложения, чтобы сформировать блок отклика отклика доставки и посылает его покупателю. |
| C Я P | Отклики платежа и доставки. IotpMsg: блоки Trans Ref; подписи; платежного отклика; отклика доставки |
| 4. | Покупатель проверяет блоки платежного отклика и отклика доставки. Опционно он может вести запись всех транзакций. Здесь покупатель может остановиться или сформировать очередное сообщение и послать его соотвествующе торговой роли. |
| 1. | Покупатель решает осуществить сделку и посылает информацию продавцу о том, что нужно доставить и как это лучше сделать. |
| C а M | Информация о том, что следует доставить (вне зоны ответственности IOTP) |
| 2. | Продавец проверяет информацию, полученную от покупателя, добавляет информацию о том, как будет осуществляться доставка, информацию об организациях, вовлеченных в доставку и, опционно, электронную подпись, после чего отправляет все это покупателю. |
| C Я M | Компоненты: lоставка; jрганизации (fгент доставки, доставит туда-то); заказ, опционная подпись отклика-предложения |
| 3. | Покупатель проверяет, корректна ли доставочная информация, получает разрешение на доставку, например путем оплаты, и посылает эти данные агенту доставки. |
| C а D | Запрос доставки. Компоненты: cтатус; доставка, организации: (продавец, агент доставки, DelivTo); Заказ, данные о торговой роли (опционны); опционная подпись отклика-предложения, опционная подпись платежной расписки (из платежного обмена) |
| 4. | Агент доставки проверяет информацию и авторизацию. Запускает или диспетчеризует доставку, а также готовит и отправляет накладную покупателю, которая опционно может быть подписана. |
| C Я D | Отклик доставки. Компоненты: статус; накладная (Delivery Note), данные о торговой роли (опционны); опционная подпись отклика доставки |
| 5. | Покупатель проверяет накладную и принимает товар или ждет доставки, как это указано в накладной (Delivery Note). |
| -Адрес доставки указывает, куда должны быть доставлен товар или услуги. | |
| -Роль агента доставки необходима для того, чтобы он мог проверить, что может выполнить данную операцию; | |
| -Роль продавца необходима для того, чтобы агент доставки мог определить, какой продавец затребовал доставку. |
| o | проверку того, что сервер готов для обработки, если это не так, генерируется переходная ошибка; | |
| o | проверку, не находится ли транзакция в режиме ошибки или неаннулирована; | |
| o | контроль корректности входного сообщения, который предусматривает: | |
| - проверку глубины ошибки сообщения; | ||
| - проверку ошибок блочного уровня; | ||
| - проверку любых инкапсулированных данных | ||
| o | проверку ошибок в последовательности полученных блоков; | |
| o | генерацию компонентов ошибки для любых обнаруженных ошибок; | |
| o | если никаких серьезных или переходных ошибок не выявлено, производится обработка сообщения и, если требуется, генерация отклика отправителю входного сообщения. | |
| o | предыдущие посланные или полученные сообщения не содержат серьезных (Hard) ошибок; |
| o | транзакция не была анулирована покупателем или торговой ролью сервера. |
| - проверку того, что корректно вычислена электронная подпись; | |
| - проверку того, что значение дайджеста вычислено правильно. |
| о | проверку в пределах каждого блока (помимо блока ссылок транзакции) того что: | |
| - атрибуты, элементы и содержимое элементов корректно; | ||
| - значения атрибутов, элементы и содержимого элементов не противоречат друг другу в пределах блока. | ||
| о | проверку того, что комбинации блоков корректны | |
| o | проверку того, что значения атрибутов, элементы и содержимое элементов взаимосогласованы на межблочном уровне в пределах входного сообщения с блоками, полученными или отправленными ранее. Это включает проверку уместности данного блока для этого типа транзакции. | |
| - | "технические ошибки", которые не зависят от цели сообщения IOTP, |
| - | "деловые ошибки", которые указывают, что имеется специфическая проблема для процесса (напр., для платежа или доставки), который исполняется. |
| o | проверку структуры и идентификацию сообщения; | |
| o | выявление и обработку сообщений-дубликатов; | |
| o | обработку недублированных, оригинальных сообщений, которая включает в себя: | |
| - | выявление ошибок, и, если они не обнаружены, | |
| - | обработку сообщений и, если требуется, выработку откликов. | |
| Продавцы | ||||||||
| Склад | Платильщик | Получатель платежа | Покупатель | Кассир | Агент доставки | |||
| Транзакции | ||||||||
| Покупка | Нужно | Нужно | ||||||
| Продавцы | ||||||||
| Store | Пла-тиль-щик | Получа-тель платежа | Покупатель | Кассир | Агент доставки | |||
| Возврат средств | Нужно | b) Зависит | ||||||
| Аутентификация | Можно | Нужна | Можно | b) Зависит | ||||
| Обмен ценностями | Можно | Нужно | ||||||
| Отзыв | Нужно | b) Зависит | ||||||
| Депозит | Нужно | b) Зависит | ||||||
| Запрос данных | Нужно | Нужно | Нужно | Можно | Нужно | Нужно | ||
| Ping | Нужно | Нужно | Нужно | Можно | Нужно | Нужно | ||
| Торговые блоки | ||||||||
| TPO | Нужно | Нужно | Нужно | Нужно | ||||
| Выбор TPO | Нужно | Нужно | Нужно | Нужно | ||||
| Запрос Auth | a) Зависит | a) Зависит | a) Зависит | |||||
| Отклик Auth | a) Зависит | a) Зависит | a) Зависит | |||||
| Отклик предложения | Нужно | Нужно | Нужно | Нужно | ||||
| Запрос платежа | Нужно | Нужно | ||||||
| Платежный обмен | Нужно | Нужно | ||||||
| Платежный отклик | Нужно | Нужно | ||||||
| Запрос доставки | Нужно | Нужно | ||||||
| Отклик доставки | Нужно | Нужно | ||||||
| Продавцы | ||||||||
| Склад | Платильщик | Получа-тель | Покупатель | Кассир | Агент доставки | |||
| Запрос данных | Нужно | Нужно | Нужно | Нужно | Нужно | Нужно | ||
| Отклик данных | Нужно | Нужно | Нужно | Нужно | Нужно | Нужно | ||
| Запрос Ping | Нужно | Нужно | Нужно | Нужно | Нужно | Нужно | ||
| Отклик Ping | Нужно | Нужно | Нужно | Нужно | Нужно | Нужно | ||
| Подпись | Нужно | Нужно | Нужно | Ограничено | Нужно | Нужно | ||
| Ошибка | Нужно | Нужно | Нужно | Нужно | Нужно | Нужно | ||
| - Поддерживаются базовые операции аутентификации IOTP; | |
| - Если требуется для данного метода платежа, как это определено в его сопровождающем документе IOTP. |


| o | Процедуру запроса (смотри раздел 9.2.1) |
| o | Транзакцию Ping (смотри раздел 9.2.2) |
| o | Процедуру аутентификации (смотри раздел 9.1.6) |

| о | "P" - Первый Кассир |
| o | "R" - Второй Кассир |
| o | "D" - Агент доставки |
| o | "C" - Доставка (Deliver To) |
| IotpMsgIdSuffix | Суффикс состоит из одной или более цифр. Суффикс должен быть уникальным для данной торговой роли транзакции IOTP. Рекомендации сводятся к следующему: |
| o | Первому сообщению IOTP, посланному торговой ролью, присваивается суффикс "1". |
| o | Для второго и последующих IOTP-сообщений, посланных той же торговой ролью, суффикс увеличивается на 1 для каждого последующего сообщения. |
| o | Суффикс не может содержать начальных нулей. |
| - Покупатель информируется о выгоде, которую он может получить при выборе данного вида платежа; | |
| - если вид платежа выбран, продавец изменяет соответствующие компоненты IOTP в отклике Offer, чтобы правильно отразить сумму, которую следует оплатить. |
| - store brands, где платежный инструмент предоставляется покупателю конкретным продавцом, например Walmart, Sears или Marks and Spencer (UK) | |
| - совмещенные виды платежа, например American Advantage Visa, где организация использует свой собственный вид платежа обычно в сочетании с платежами рассчетной ассоциации. |
| IotpMsgId_value | ID-атрибут. ID-компонента сообщения IOTP, где блок или компонент использован впервые. |
| IdSuffix | Суффикс состоит из одной или более цифр. Суффикс должен быть уникальным для ID-атрибута ID-компонента сообщения, используемого для генерации ID-атрибута. Рекомендуется здесь следующее: |
| o | Первому блоку или компоненту, посылаемому торговой ролью присваивается суффикс "1" |
| o | Для второго и далее блоков или компонентов ID-атрибуты увеличивается на 1 для каждого последующего сообщения. |
| o | Суффикс не может содержать начальных нулей. |
| RespIotpMsg NMTOKEN #IMPLIED | xml:lang NMTOKEN #REQUIRED |
| LangPrefList NMTOKENS #IMPLIED | CharSetPrefList NMTOKENS #IMPLIED |
| SoftwareId CDATA #REQUIRED | TimeStamp CDATA #IMPLIED> |
| Content NMTOKEN "PCDATA" | Transform (NONE|BASE64) "NONE"> |
| xml:lang NMTOKEN #REQUIRED | ShortDesc CDATA #REQUIRED |
| SenderNetLocn CDATA #IMPLIED | SecureSenderNetLocn CDATA #IMPLIED |
| xml:lang NMTOKEN #REQUIRED | OrderIdentifier CDATA #REQUIRED |
| ShortDesc CDATA #REQUIRED | OkFrom CDATA #REQUIRED |
| OkTo CDATA #REQUIRED | ApplicableLaw CDATA #REQUIRED |
| xml:lang NMTOKEN #REQUIRED | OrgId CDATA #REQUIRED |
| LegalName CDATA #IMPLIED | ShortDesc CDATA #IMPLIED |
| TradingRole NMTOKEN #REQUIRED | IotpMsgIdPrefix NMTOKEN #REQUIRED |
| CancelNetLocn CDATA #IMPLIED | ErrorNetLocn CDATA #IMPLIED |
| Tel CDATA #IMPLIED | Fax CDATA #IMPLIED |
| Email CDATA #IMPLIED | NetLocn CDATA #IMPLIED> |
| Title CDATA #IMPLIED | GivenName CDATA #IMPLIED |
| Initials CDATA #IMPLIED | FamilyName CDATA #IMPLIED> |
| AddressLine1 CDATA #IMPLIED | AddressLine2 CDATA #IMPLIED |
| CityOrTown CDATA #IMPLIED | StateOrRegion CDATA #IMPLIED |
| PostalCode CDATA #IMPLIED | Country CDATA #IMPLIED |
| ID #REQUIRED | |
| xml:lang NMTOKEN #REQUIRED | ShortDesc CDATA #REQUIRED PayDirection |
| xml:lang NMTOKEN #IMPLIED | BrandId CDATA #REQUIRED |
| BrandName CDATA #REQUIRED | BrandLogoNetLocn CDATA #REQUIRED |
| BrandNarrative CDATA #IMPLIED | ProtocolAmountRefs IDREFS #REQUIRED |
| ID #REQUIRED | |
| PayProtocolRef IDREF #REQUIRED | CurrencyAmountRefs IDREFS #REQUIRED |
| ID #REQUIRED | |
| Amount CDATA #REQUIRED | CurrCodeType NMTOKEN 'ISO4217-A' |
| xml:lang NMTOKEN #IMPLIED | ProtocolId NMTOKEN #REQUIRED |
| ProtocolName CDATA #REQUIRED | ActionOrgRef NMTOKEN #REQUIRED |
| PayReqNetLocn CDATA #IMPLIED | SecPayReqNetLocn CDATA #IMPLIED |
| BrandSelProtocolAmountInfo?, | BrandSelCurrencyAmountInfo?)> |
| ID #REQUIRED | |
| BrandListRef NMTOKEN #REQUIRED | BrandRef NMTOKEN #REQUIRED |
| ID #REQUIRED | |
| OkFrom CDATA #REQUIRED | OkTo CDATA #REQUIRED |
| BrandListRef NMTOKEN #REQUIRED | SignedPayReceipt (True | False) #REQUIRED |
| ID #REQUIRED | |
| PaymentRef NMTOKEN #IMPLIED | ConsumerPaymentId CDATA #IMPLIED |
| PaymentHandlerPayId CDATA #IMPLIED | ContentSoftwareId CDATA #IMPLIED> |
| PaymentRef NMTOKEN #REQUIRED | |
| PayReceiptNameRefs NMTOKENS #IMPLIED | ContentSoftwareId CDATA #IMPLIED> |
| ID #REQUIRED | |
| xml:lang NMTOKEN #REQUIRED | DelivExch (True | False) #REQUIRED |
| DelivAndPayResp (True | False) #REQUIRED | ActionOrgRef NMTOKEN #IMPLIED> |
| NMTOKEN #IMPLIED | |
| OkFrom CDATA #REQUIRED | OkTo CDATA #REQUIRED |
| DelivMethod NMTOKEN #REQUIRED | DelivToRef NMTOKEN #REQUIRED |
| DelivReqNetLocn CDATA #IMPLIED | SecDelivReqNetLocn CDATA #IMPLIED |
| ID #REQUIRED | |
| xml:lang NMTOKEN #REQUIRED | DelivHandlerDelivId CDATA #IMPLIED |
| ID #REQUIRED | |
| xml:lang NMTOKEN #REQUIRED | StatusType NMTOKEN #REQUIRED |
| ElRef NMTOKEN #IMPLIED | ProcessState (NotYetStarted | InProgress | |
| CompletedOk | Failed | ProcessError) #REQUIRED CompletionCode NMTOKEN #IMPLIED | |
| ProcessReference CDATA #IMPLIED | StatusDesc CDATA #IMPLIED > |
| ID #REQUIRED | |
| Type NMTOKEN #REQUIRED | ElRef NMTOKEN #IMPLIED |
| NMTOKEN #REQUIRED | |
| xml:lang NMTOKEN #REQUIRED | ErrorCode NMTOKEN #REQUIRED |
| ErrorDesc CDATA #REQUIRED | Severity (Warning|TransientError|HardError) #REQUIRED |
| MinRetrySecs CDATA #IMPLIED | SwVendorErrorRef CDATA #IMPLIED> |
| NMTOKEN #REQUIRED | |
| IotpMsgRef NMTOKEN #IMPLIED | BlkRef NMTOKEN #IMPLIED |
| CompRef NMTOKEN #IMPLIED | ElementRef NMTOKEN #IMPLIED |
| Шаг | Действие |
| 1 | Инициализировать буфер для запоминания оттисков |
| 2 | Добавить оттиск (хэш): |
| 3 | Присылается результат работы шага 2. |
| Шаг | Действие |
| 1 | Инициализировать буфер для запоминания оттисков |
| 2 | Для каждого из них: |
| 3 | Присылается результат работы шага 2 со списком сертификатов, CRL и BCI, которые следует послать в отклике. |
| Шаг | Действие |
| 1 | Используя оператор подписи и секретный ключ объекта s, подписать содержимое группы t |
| 2 | Добавить результат шага 1 в группу t |
| 3 | Используя оператор асимметричного шифрования и общедоступный ключ получателя r, зашифровать результат шага 2 |
| 4 | Послать результат работы шага 3 |
| Шаг | Действие |
| 1 | Инициализировать и загрузить информационные поля, зависимые от типа сообщения |
| 2 | Преобразовать информационные поля, подлежащие шифрованию, в формат DER |
| 3 | Сформировать новый ключ DES |
| 4 | Зашифровать результат работы шага 2, используя ключ DES из шага 3. Используется режим DES-CBC. |
| 5 | Инициализировать буфер зашифрованных данных с помощью кода типа данных, идентификатора алгоритма и добавить эту информацию к результату шага 4. |
| 6 | Инициализировать буфер цифрового конверта, в зависимости от получателя (128 байт) |
| 7 | Инициализировать буфер дополнительного шифрования OAEP с использование ключа из шага 3. |
| 8 | Применить OAEP для буфера цифрового конверта |
| 9 | Зашифровать результат шага 8, используя асимметричный общедоступный ключ объекта r |
| 10 | Инициализировать информационный буфер получателя посредством идентификатора алгоритма RSA и добавить туда результат работы шага 9 |
| 11 | Инициализировать буфер EnvelopedData PKCS#7 и положить туда результат шага 10 и 5 |
| 12 | Прислать результат шага 11 |
| Шаг | Действие |
| 1 | Инициализировать и загрузить информационные поля, зависимые от типа сообщения |
| 2 | Преобразовать информационные поля, подлежащие шифрованию, в формат DER |
| 3 | Вычислить хэш SHA-1 результата шага 2 |
| 4 | Сформировать новый ключ DES |
| 5 | Зашифровать результат работы шага 2, используя ключ DES из шага 4. Используется режим DES-CBC. |
| 6 | Инициализировать буфер зашифрованных данных с помощью кода типа данных, идентификатора алгоритма DES и добавить эту информацию к результату шага 5. |
| 7 | Инициализировать буфер цифрового конверта, в зависимости от получателя (128 байт) |
| 8 | Инициализировать буфер дополнительного шифрования OAEP с использование ключа из шага 4 и хэша, вычисленного на шаге 5. |
| 9 | Применить OAEP для буфера цифрового конверта |
| 10 | Зашифровать результат шага 9, используя асимметричный общедоступный ключ объекта r |
| 11 | Инициализировать информационный буфер получателя посредством идентификатора алгоритма RSA и добавить туда результат работы шага 10 |
| 12 | Инициализировать буфер PKCS#7 и положить туда результат шага 11 и 6 |
| 13 | Прислать результат шага 12 |
| Шаг | Действие |
| 1 | Инициализировать и загрузить информационные поля, зависимые от типа сообщения |
| 2 | Преобразовать информационные поля, подлежащие шифрованию, в формат DER |
| 3 | Зашифровать результат работы шага 2, используя ключ k. Применяется алгоритм DES или CDMF в зависимости от того, какой из этих алгоритмов поддерживается получателем сообщения. Для DES используется режим DES-CBC. |
| 4 | Инициализировать буфер зашифрованных данных с помощью кода типа данных, идентификатора алгоритма (DES или CDMF) и добавить к этой информации результат шага 3. |
| 5 | Прислать результат шага 4 |
| Шаг | Действие |
| 1 | Инициализировать тип SignedData, введя код версии, идентификатор алгоритма и тип содержимого, подлежащего подписанию |
| 2 | Преобразовать информацию, подлежащую подписанию в формат DER |
| 3 | Использовать результат шага 2 для инициализации компонента content из ContentInfo. |
| 4 | Инициализировать тип SignerInfo, введя код версии, идентификаторы алгоритмов вычисления и шифрования дайджеста |
| 5 | Вычислить дайджест сообщения, используя SHA-1 для результата шага 3 |
| 6 | Инициализировать структуру authenticatedAttributes и занести в структуру атрибуты contentType и messageDigest. Установить компоненты type атрибутов равными идентификаторам этих атрибутов |
| 7 | Инициализировать компонент values первого атрибута типа кодом содержимого, подлежащего подписанию, а второго атрибута - значением дайджеста, вычисленного на этапе 5 |
| 8 | Закодировать аутентифицированные атрибуты и зашифровать результат, используя секретный ключ отправителя. Поместить результат в SignedData |
| 9 | Выбрать соответствующие сертификаты Х.509 и CRL, необходимые для верификации подписи, и включить их в SignedData |
| 10 | Если тип сообщения требует двух подписей, повторить шаги с 4 по 9 |
| Шаг | Действие |
| 1 | Установить ipad соответствующим буферу, который содержит 64 байта с кодами 0х36 |
| 2 | Установить opad равным буферу, содержащему 64 байта с кодами 0х5С |
| 3 | Добавить нули в конец k, чтобы размер строки стал равным 64 байтам. Например, если длина k равна 20 байт, то следует добавить 44 нуля. |
| 4 | Осуществить операцию побитового исключающего ИЛИ для результата шага 3 и ipad |
| 5 | Добавить данные группы t в 64-байтовый буфер, сформированный на этапе 4 |
| 6 | Вычислить хэш SHA-1 для результата шага 5 с привлечением Hash-оператора |
| 7 | Осуществить операцию побитового исключающего ИЛИ для результата шага 3 и opad |
| 8 | Добавить результат SHA-1 шага 6 к 64-байтовому буферу, заполненному в результате шага 7 |
| 9 | Вычислить хэш SHA-1 для результата шага 8 с привлечением Hash-оператора |
| 10 | Прислать результат работы шага 9 |
| Шаг | Действие |
| 1 | Установить B равным адресу группы t, для которой вычисляется дайджест |
| 2 | Установить L равным длине группы t |
| 3 | Инициализировать 160-битный буфер для хранения хэша SHA-1 |
| 4 | Вычислить хэш SHA-1 для буфера, используя B и L |
| 5 | Положить результат шага 4 в поле digest DigestedData |
| 6 | Положить идентификатор хэш-алгоритма SHA-1 в digestAlgorithm |
| 7 | Установить значение версии равным нулю |
| Шаг | Действие |
| 1 | Подготовить дополнительные данные, как это описано в формате сообщения |
| 2 | Если используется оператор шифрования EH или EXH, вычислить хэш SHA-1 для данных подлежащих DES-шифрованию |
| 3 | Сформировать новый случайный ключ для DES-шифрования регулярной части данных |
| 4 | Объединить DES-ключ, хэш SHA-1 данных (HD) перед DES-шифрованием (если оно применяется) и любые дополнительные данные, чтобы сформировать действительный блок данных ADB (Actual Data Block). |
| 5 | Взять байт, содержащий код 0х03 (тип блока - BT), семь байтов нулей (байты верификации - V) и байт блока содержимого (BC) и положить в ADB, тем самым формируя блок данных (DB). DB= BT|BC|V|ADB |
| 6 | Сгенерировать случайную 16-битовую строку E-Salt и вычислить H1(E-Salt). H1 выдает лидирующие байты хэша SHA-1 |
| 7 | Вычислить А=DB Е H1(E-Salt) |
| 8 | Осуществить присвоение B= E-Salt Е H2(A). Сформировать PDB, объединив А и В. Н2 предоставляет завершающие байты хэша SHA-1 |
| 9 | Присвоить I случайное значение, не равное 0х00 или 0х80 |
| 10 | Зашифровать полученный блок R с помощью RSA |

| Шаг | Действие |
| 1 | Сформировать ErrorTBC следующим образом: |
| 2 | Подписать сообщение Error, если имеется сертификат подписи |
| 3 | Вызвать формирование цифрового конверта и отправить сообщение |
| Имя поля | Описание |
| Error | |
| SignedError | S(EE, ErrorTBS) |
| UnsignedError | ErrorTBSНеподписанная версия Error будет использоваться, если объект не имеет сертификата подписи |
| ErrorTBS | { ErrorCode, ErrorNonce, [ErrorOID], [ErrorThumb], ErrorMsg} |
| ErrorCode | Цифровой код, определяющий условия ошибки (см. табл. 4.6.2.16) |
| ErrorNonce | Разовый код, который гарантирует, что подпись генерируется для трудно предсказуемых данных |
| ErrorOID | Объектный идентификатор неподдерживаемых критических расширений, вызвавших ошибку |
| ErrorThumb | Оттиск сертификата, который вызвал ошибку или хэш сертификата, если произошла ошибка верификации подписи |
| ErrorMsg | |
| MessageHeader | Заголовок сообщения, которое вызвало ошибку |
| BadWrapper | Цифровой конверт сообщения, которое вызвало ошибку (не более 20 килобайт) |
| Ошибка | Описание |
| unspecifiedFailure | Причина неудачи не фигурирует в списке стандартных ошибок |
| messageNotSupported | Этот вполне корректный тип сообщения не поддерживается получателем |
| decodingFailure | Произошла ошибка в процессе DER-кодирования сообщения |
| invalideCertificate | Сертификат, необходимый для обработки сообщения, некорректен. Поле ErrorThumb идентифицирует этот сертификат. |
| expiredCertificate | Время действия сертификата, необходимого для обработки сообщения, иссякло. Поле ErrorThumb идентифицирует этот сертификат. |
| revokedCertificate | Сертификат, необходимый для обработки сообщения, отозван. Поле ErrorThumb идентифицирует этот сертификат. |
| missingCertificate | Сертификат, необходимый для обработки этого сообщения, отсутствует в кэше сертификатов получателя. |
| signatureFailure | Цифровая подпись сообщения не может быть верифицирована |
| badMessageHeader | Заголовок сообщения не может быть обработан |
| wrapperMsgMismatch | Содержимое цифрового конверта сообщения не согласуется с внутренним содержимым сообщения. |
| versionTooOld | Номер версии сообщения слишком стар для получателя |
| versionTooNew | Номер версии сообщения слишком нов для получателя |
| unrecognizedExtension | Сообщение или сертификат содержит критическое расширение, которое получатель не может обработать. Поле ErrorOID идентифицирует расширение. Если расширение присутствует в сертификате, поле ErrorThumb идентифицирует сертификат |
| messageTooBig | Сообщение слишком длинно для получателя |
| signatureRequired | Неподписанная версия сообщения неприемлема |
| messageTooOld | Дата сообщения слишком далеко в прошлом для получателя |
| messageTooNew | Дата сообщения слишком близка для получателя |
| thumbsMismatch | Оттиск, посланный в неподписанном запросе, не согласуется с тем, что прислано запрашивающей стороне |
| unknownXID | Получен неизвестный RRPID |
| challengeMismatch | Вызов, посланный в запросе, не согласуется с вызовом в отклике |



| Шаг | Действие |
| 1 | Генерируется RRPID |
| 2 | Генерируется LID-EE |
| 3 | Формируется новый случайный Chall-EE |
| 4 | Копируется BrandID, который запомнен или получен в инициализирующем сообщении |
| 5 | Опционно заполняется поле Thumbs, которое содержит оттиски для каждого CRL, сертификатов SET, BrandCRLIdentifier и корневой сертификат, резидентный в кэше владельца карты |
| 6 | Формируется цифровой конверт сообщения, чтобы послать CardCInitReq центру ССА |
| CardCInitReq | {RRPID, LID-EE, Chall-EE, BrandID, [Thumbs]} |
| RRPID | Идентификатор пары запрос/отклик |
| LID-EE | Локальный ID, сформированный для системы владельца карты |
| Chall-EE | Вызов владельца карты по поводу пригодности подписи, адресованный ССА |
| BrandID | Идентификатор платежной системы для запрошенного сертификата |
| Thumbs | Список оттисков сертификатов (включая корневой), CRL и BrandCRLIdentifier, которые хранятся в данный момент владельцем карты |
| Шаг | Действие |
| 1 | Получить CardCInitReq из сообщения Receive |
| 2 | Проверить, что RRPID в CardCInitReq соответствует RRPID в цифровом конверте сообщения. Если проверка не прошла, присылается сообщение об ошибке с кодом ErrorCode= unknownRRPID |
| 3 | Запомнить список откликов, LID-EE, Chall-EE и RRPID, которые должны быть использованы в CardCInitRes |
| Шаг | Действие |
| 1 | Сформировать структуру данных CardCInitResTBS, для этого: |
| 2 | Подписать DER-кодированный массив кодов CardCInitResTBS, установить тип содержимого SigneadData равным id-set-content- CardCInitResTBS.Включить в SigneadData любые сертификаты, CRL или BrandCRLIdentifier, которые отсутствуют в списке оттисков. |
| 3 | Сформировать цифровой конверт сообщения и послать сообщение CardCInitRes владельцу карты |
| CardCInitRes | S(CA, CardCInitResTBS) |
| CardCInitResTBS | {RRPID, LID-EE, Chall -EE, [LID-CA], CAEThumb, [BrandCRLIdentifier], [Thumbs]} |
| RRPID | Идентификатор пары запрос/отклик |
| LID-EE | Копируется из CardCInitReq |
| Chall-EE | Копируется из CardCInitReq |
| LID-CA | Локальный ID. Генерируется системойCCA или для нее |
| CAEThumb | Оттиск сертификата ключевого обмена CCA, котоый владелец карты должен использовать для шифрованияRegFormReq |
| BrandCRLIdentifier | Смотри секцию описания BrandCRLIdentifier |
| Thumbs | Копируется из CardCInitR |
| Шаг | Действие |
| 1 | Получить CardCInitRes из входного сообщения (Receive) |
| 2 | Проверить, что RRPID соответствует тому, что был послан в CardCInitReq и тому, который получен в цифровом конверте сообщения CardCInitRes. Если соответствия нет, посылается сообщение об ошибке с кодом ErrorCode равным unknownRRPID |
| 3 | Проверить, что полученный список оттисков соответствует тому, что был послан в сообщении CardCInitReq. Если соответствия нет, посылается сообщение об ошибке с кодом ErrorCode равным thumbsMismatch |
| 4 | Проверить, что полученный Chall-EE равен посланному в CardCInitReq. Если равенство отсутствует, посылается сообщение об ошибке с кодом ErrorCode равным challengeMismatch. |
| 5 | Запомнить LID-CA (если этот элемент был включен) для последующей записи в RegFormReq. Проверить, что полученный Chall-EE равен посланному в CardCInitReq. |
| 6 | Проверить, что приложение владельца карты поддерживает один из алгоритмов, перечисленных в туннельном расширении сертификата шифрования CA. Если приложение владельца карты не поддерживает ни одного общего с СА алгоритма, следует уведомить об этом пользователя и прервать дальнейшую обработку сообщения СА. |
| Шаг | Действие |
| 1 | Сформировать RegFormReqData согласно следующему формату: |
| 2 | Сформировать структуру RegFormReqTBE: |
| 3 | Оформить поле данных, подлежащих дополнительному шифрованию: |
| 4 | Зашифровать данные, используя оператор EXH со следующими параметрами: |
| 5 | Вложить результат в цифровой конверт комбинированного сообщения и послать RegFormReq в центр СА |
| RegFormReq | EXH(CA, RegFormReqData, PANOnly) |
| RegFormReqData | {RRPID, LID-EE, Chall-EE2,[LID-CA], RequestType, Language, [Thumbs]} |
| PANOnly | Структуру смотри в табл. ниже |
| RRPID | ID пары запрос/отклик |
| LID-EE | Копируется из CardCInitRes |
| Chall-EE2 | Вызов ЕЕ, имеющий целью обновление подписи СА |
| LID-CA | Копируется из CardCInitRes |
| RequestType | Смотри табл. 4.6.2.19 |
| Language | Предпочтительный язык последующего текста |
| Thumbs | Списки сертификатов (включая корневой), CRL и BrandCRLIdentifier, хранимых в данный момент владельцем карты |
| Имя поля | Описание |
| PAN | Номер платежной карты владельца |
| EXNonce | Случайное число, используемое для маскирования PAN |
| Тип запроса | Только сертификат подписи | Только сертификат шифрования | Оба сертификата |
| Начальный запрос владельца карты | 1 | 2* | 3* |
| Запрос обновления владельца карты | 10 | 11* | 12* |
| Шаг | Действие |
| 1 | Извлечь RegFormReq из входного сообщения |
| 2 | Заполнить PAN из данных, которые подлежат шифрованию. Это делается после удаления заполнителя. |
| 3 | Из данных RegFormReqData запомнить RequestType, RRPID, LID-EE, Chall-EE2, LID-CA, список оттисков (Thumbs) и код языка. |
| 4 | Проверить, что RRPID, полученный из цифрового конверта сообщения соответствует одному коду из RegFormReqTBE. Если соответствия нет, возвращается сообщение об ошибке с ErrorCode равным unknownRRPID |
| Шаг | Действие |
| 1 | Сформировать RegFormTBS в соответствии со следующей процедурой: |
| 2 | Подписать результат шага 1 (то есть данные RegFormTBS), установить contentType для SignedData равным id-set-content-RegFormTBS. |
| 3 | Сформировать цифровой конверт сообщения и послать владельцу карты RegFormRes |
| RegFormRes | S(CA, RegFormResTBS) |
| RegFormResTBS | {RRPID, LID-EE, Chall-EE2,[LID-CA], Chall-CA, [CAEThumb], RequestType, RegFormOrReferral, [BrandCRLIdentifier], [Thumbs]} |
| RRPID | ID пары запрос/отклик |
| LID-EE | Копируется из RegFormReq |
| Chall-EE2 | Копируется из RegFormReq |
| LID-CA | Локальный ID. Формируется для системы СА. |
| Chall-CA | СА обращение по поводу пригодности сертификата запрашивающей стороны |
| CAEThumb | Оттиск сертификата ключевого обмена, который должен использоваться для шифрования CertReq. Если это поле отсутствует, используется сертификат, идентифицированный в CardCIntRes. |
| RequestType | Смотри табл. 4.6.2.19 |
| RegFormOrReferral | Смотри табл. 4.6.2.21 |
| BrandCRLIdentifier | Смотри описание в разделе о BrandCRLIdentifier ниже. |
| Thumbs | Копируется из RegFormReq |
| RegFormOrReferral | |
| RegFormData | {[RegTemplate], PolicyText} |
| ReferralData | {RegFormID, [BrandLogoURL], [CardLogoURL], RegFieldSeq} |
| RegTemplate | {RegFormID, [BrandLogoURL], [CardLogoURL], RegFieldSeq} |
| PolicyText | Заявление, которое должно быть отображено в системе отправителя запроса вместе с RegTemplate |
| Reason | Заявление, связанное с запросом и отображаемое в системе отправителя запроса |
| ReferralURLSeq | {ReferralURL +}Опционные URL ссылок, перечисленные в порядке важности |
| RegFormID | Идентификатор, присвоенный СА |
| BrandLogoURL | URL базовой страницы расчетной системы |
| CardLogoURL | URL базовой страницы финансовой организации |
| RegFieldSeq | {RegField +} |
| ReferralURL | URL альтернативного СА для обработки запросов сертификатов для данного объекта |
| RegField | {[FieldId], FieldName, [FieldDesc], [FieldLen], FieldRequired, FieldInvisible} |
| FieldID | Идентификаторы объекта для полей регистрационной формы |
| FieldName | Одно или более имен полей, которые должны быть отображены в качестве меток для заполнения формы; текст записывается на языке, определенном в RegFormReq или Me-AqCInitReq |
| FieldDesc | Описание содержимого поля на языке, заданном в RegFormReq или Me-AqCInitReq; содержит дополнительную информацию для использования в случае, когда владелец карты запросит помощи при заполнении формы |
| FieldLen | Максимальная длина поля |
| FieldRequired | Булево значение, указывающее на необходимость ввода (должен ли поле заполнить владелец карты или оно будет заполнено приложением) (невидимое поле) |
| FieldInvisible | Булево значение, указывающее на то, что поле не должно отображаться пользователю; приложение должно заполнить FieldValue, основываясь на FieldID, или оставить его пустым |
| Шаг | Действие |
| 1 | Получить RegFormRes из входного сообщения |
| 2 | Проверить подпись. Если подпись некорректна, отправить сообщение об ошибке с ErrorCode равным signatureFailure. |
| 3 | Получить RRPID, RequestType, LID-EE, Chall-EE2, CAEThumb из RegFormTBS |
| 4 | Проверить, что RRPID является тем же самым, что и идентификатор, записанный в цифровом конверте сообщения, и совпадет с кодом, присланным в RegFormReq. Если совпадения нет, отправить сообщение об ошибке с ErrorCode равным unknownRRPID. |
| 5 | Проверить, что RequestType, LID-EE и Chall-EE2 идентичны присланным в RegFormReq. Если совпадения нет, отправить сообщение об ошибке с ErrorCode равным challengeMismatch. |
| 6 | Если был включен CAEThumb, запомнить соответствующий сертификат шифрования, использованный для шифрования CertReq. |
| 7 | Проверить, что полученные оттиски, соответствуют посланным в сообщении CardCInitReq. Если соответствия нет, отправить сообщение об ошибке с ErrorCode равным thumbsMismatch. |
| 8 | Если в RegFormTBS включены данные RegFormData то: |
| 9 | Если в RegFormResTBS включено поле ReferralData то: |

| Шаг | Действие |
| 1 | Сформировать новый RRPID |
| 2 | Сформировать новый LID-EE |
| 3 | Сформировать новый случайный код Chall-EE |
| 4 | Занести BrandID, который хранится в приложении или получен в стартовом сообщении |
| 5 | Заполнить поле RequestType |
| 6 | Заполнить поле Language (язык) |
| 7 | Опционно создать оттиски для каждого CRL, сертификата, BrandCRLIdentifier и корневого сертификата, резидентно размещенных в кэше (если имеются) |
| 8 | Если ЕЕ (конечным пользователем) является продавец, заполнить поля BIN и ID продавца. В противном случае BIN получателя и его рабочий ID. |
| 9 | Сформировать цифровой конверт и послать сообщение Me-AqCInitReq СА. |
| Me-AqCInitReq | {RRPID, LID-EE, Chall-EE, RequestType, IDData, BrandID, Language, [Thumbs]} |
| RRPID | ID пары запрос/отклик |
| LID-EE | Локальный ID; формируется ЕЕ-системой или для нее |
| Chall-EE | Обращение EE к СА по поводу пригодности подписи |
| RequestType | Смотри табл. 4.6.2.24 |
| IDData | См. табл. 4.6.2.23 |
| BrandID | BrandID запрошенного сертификата |
| Langauage | Желательный язык последующих текстов |
| Thumbs | Список оттисков сертификатов, CRL и BrandCRLIdentifier, хранимых ЕЕ |
| IDData | <MerchantAcquirerID, AcquirerID> (только для продавца и получателя) |
| MerchantAcquirerID | {MerchantBIN, MerchantBIN} |
| AcquirerID | {AcquirerBIN, [AcquirerBusinessID]} |
| MerchantBIN | Идентификационный номер банка для обработки транзакции продавца в его банке (Acquirer) |
| MerchantID | Идентификатор продавца, присвоенный ему его банком (Acquirer) |
| AcquirerBIN | Идентификационный номер банка для Acquirer (BIN получателя) |
| AcquirerBusinessID | Рабочий идентификационный номер банка продавца |
| Тип запроса | Только сертификат подписи | Только сертификат шифрования | Оба сертификата |
| Начальный для продавца | 4 | 5 | 6 |
| Начальный для расчетного центра | 7 | 8 | 9 |
| Обновление для продавца | 13 | 14 | 15 |
| Обновление для расчетного центра | 16 | 17 | 18 |
| Шаг | Действие |
| 1 | Выделяеть Me-AqCInitReq из входного сообщения |
| 2 | Проверяеть, что RRPID из цифрового конверта сообщения совпадает с полученным в Me-AqCInitReq. Если это не так, формируется сообщение об ошибке с errorCode unknownRRPID. |
| 3 | Запоминается RRPID, LID-EE, Chall-EE, BrandID, Language, Thumbs и IDData |
| Шаг | Действие |
| 1 | Сформировать сообщение Me-AqCInitResTBS: |
| 2 | Подписать Me-AqCInitResTBS, установить тип содержимого SignedData равным id-set-content-Me-AqCInitResTBS. |
| 3 | Сформировать цифровой конверт и послать сообщение Me-AqCInitRes продавцу или расчетному центру. |
| Me-AqCInitRes | S(CA, Me-AqCInitResTBS) |
| Me-AqCInitResTBS | {RRPID, LID-EE, Chall-EE, [LID-CA], Chall-CA, RequestType, RegFormOrReferral, [AcctDataField], [Thumbs]} |
| RRPID | ID пары запрос/отклик |
| LID-EE | Копируется из Me-AqCInitReq |
| Chall-EE | Копируется из Me-AqCInitReq |
| LID-CA | Локальный ID; генерируется СА системой или для нее |
| Chall-CA | СА обращение по поводу пригодности сертификата запрашивающей стороны |
| RequestType | Смотри табл. 4.6.2.24 |
| RegFormOrReferral | Смотри табл. 4.6.2.21 |
| AcctDataField | RegField; дополнительное поле регистрационной формы, которое следует отобразить, для того чтобы получить значение AcctData в CertReq |
| CAEThumb | Оттиск сертификата ключевого обмена СА, который должен использоваться для шифрования CertReq |
| BrandCRLIdentifier | Смотри раздел описания BrandCRLIdentifier ниже. |
| Thumbs | Копируется из Me-AqCInitReq |
| Шаг | Действие |
| 1 | Получить Me-AqCInitRes из входного сообщения. |
| 2 | Верифицировать подпись. Если она некорректна, послать сообщение об ошибке с ErrorCode равным signatureFailure. |
| 3 | Из Me-AqCInitResTBS извлекаются и запоминаются RRPID, LID-EE, Chall-EE, CAEThumb, BrandCRLIdentifier, оттиски и TequestType |
| 4 | Проверяется, что RRPID совпадает со значением, извлеченным из цифрового конверта сообщения и кодом, посланным в Me-AqCInitReq. Если равенства нет, посылается сообщение об ошибке с ErrorCode равным unknownRRPID. |
| 5 | Проверяется, что полученный Chall-EE соответствует посланному в Me-AqCInitReq. Если соответствие отсутствует, посылается сообщение об ошибке с ErrorCode равным challengeMisMatch. |
| 6 | Проверяется, что полученный список оттисков соответствует посланному в сообщении Me-AqCInitReq. Если соответствие отсутствует, посылается сообщение об ошибке с ErrorCode равным thumbsMisMatch. |
| 7 | Если в Me-AqCInitResTBS включено поле RegFormData то: |
| 8 | После того как продавец или расчетный центр заполнили регистрационную форму и ввели AcctData, (если это требуется) генерируется CertReq. |
| 9 | Если в Me-AqCInitResTBS включено поле ReferrelData, то: |
| Шаг | Действие |
| 1 | Если RequestType соответствует новому сертификату подписи или его обновлению, формируется пара ключей (общедоступный/секретный), необходимых для подписи сертификата |
| 2 | Если запрашивающим субъектом не является владелец карты и, если RequestType соответствует новому сертификату шифрования, формируется пара ключей (общедоступный/секретный), необходимых для сертификата шифрования. |
| 3 | Если ЕЕ является владельцем карты, генерируется 160-битовый случайный код - CardSecret. |
| 4 | Генерируется 160-битовый случайный код - EXNonce |
| 5 | Формируется CertReqTBS: |
| 6 | |
| 7 | Данные, подлежащие дополнительному шифрованию, имеют следующий формат. Если ЕЕ является продавец карты, заполняется PAN, CardExpiry, CardSecretCardNonce и EXNonce в PANData0. Если ЕЕ является продавец или расчетный центр, опционно заполняется AccTData и EXNonce. |
| 8 | Данные укладываются в конверт с использованием техники EncX: Включить: Обработка а. В качестве подписанных данных CertReqTBS То, как данные подписываются зависит от RequestType. Имеется как минимум одна и допускаются две подписи, т.е. SignerInfo для CertReq. Если тип запроса относится к новому сертификату подписи, подписать данные, используя секретный ключ, соответствующий общедоступному ключу, содержащемуcя в PublicKeyS. Если тип запроса относится к обновлению сертификата подписи, подписать данные, используя секретный ключ, соответствующий общедоступному ключу, содержащемуся в PublicKeyS и, используя секретный ключ, соответствующий обновляемому сертификату. Если тип запроса относится к сертификату шифрования, подписать данные, используя секретный ключ, соответствующий существующему сертификату подписи. Если данные подписаны секретным ключом, который не соответствует сертификату, установить SignerInfo.SerialNumber равным нулю, а SignerInfo.IssuerName=”Null-DN”, т.е. RDNSequence равна кодированному NULL. Тип содержимого SignedData устанавливается равным id-set-content-CertReqTBS. b. Результат шага 6 в качестве данных, подлежащих дополнительному шифрованию Провести дополнительное шифрование, используя СА-сертификат, указанный CAEThumb в CardCInitRes или RegFormRes, если один из них был включен, или Me-AqCInitRes c. CertReqTBEX в качестве данных, подлежащих шифрованию Зашифровать CertReqTBEX и установить тип содержимого EnvelopedData равным id-set-content-CertReqTBEX |
| 9 | Сформировать цифровой конверт и послать сообщение CertReq центру СА |
| Шаг | Действие |
| 1 | Если RequestType соответствует обновлению сертификата подписи, формируется пара ключей (секретный/общедоступный) для сертификата подписи |
| 2 | Если RequestType соответствует новому или обновляемому сертификату шифрования, формируется пара ключей (секретный/общедоступный) для сертификата шифрования |
| 3 | Сгенерируется 160-битное случайное число - EXNonce |
| 4 | Данные CertReqData формируются следующим образом: |
| 5 | Поместить данные в цифровой конверт, используя инкапсуляцию Enc: Включить: Обработка Если тип запроса соответствует новому сертификату подписи, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который содержится в PublicKeyS. Если тип запроса соответствует обновлению сертификата подписи, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который содержится в PublicKeyS, а затем посредством секретного ключа, соответствующего обновляемому сертификату. Если тип запроса соответствует сертификату шифрования, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который соответствует существующему сертификату подписи. Если данные подписаны ключом, который еще не соответствует сертификату, следует установить Signer.Info.SerialNumber равным “Null-DN”. Тип содержимого SignedData делается равным id-set-content-CertReqData. Производится DER-кодирование полученной информации SignedData с целью получения CertReqTBE. |
| 6 | Подготовить цифровой конверт и послать CertReq центру СА |
| CertReq | Допускается инкапсуляция с двумя подписями. CertReqTBE и AcctInfo могут быть подписаны любым или всеми секретными ключами, соответствующими следующим сертификатам ЕЕ: |
| CertReqData | {RRPID, LID-EE, Chall-EE3, [LID-CA], [Chall-CA], RequestType, RequestDate, [IDData], RegFormID, [RegForm], [CABackKeyData], publicKeySorE, [EEThumb], [Thumbs]} |
| AcctInfo | Если отправитель запроса - владелец карты, вводится PANData0. Если отправитель запроса - продавец или получатель, вводится AcctData |
| RRPID | ID пары запрос/отклик |
| LID-EE | Копируется из RegFormRes или Me-AqCInitRes |
| Chall-EE3 | Обращение ЕЕ по поводу обновления подписи СА |
| LID-CA | Копируется из RegFormRes или из Me-AqCInitRes |
| Chall-CA | Копируется из RegFormRes или из Me-AqCInitRes |
| RequestType | Смотри таблицу 4.6.2.24 |
| RequestDate | Дата запроса сертификата |
| IDData | См. табл. 4.6.2.23. Опускается, если ЕЕ является владельцем карты. |
| RegFormID | Идентификатор, присвоенный СА |
| RegForm | {RegFormItems +} Имена полей копируются из RegFormRes или из Me-AqCInitRes вместе со значениями, внесенными ЕЕ |
| CABackKeyData | {CAAIgId, CAKey} |
| publicKeySorE | {[ PublicKeyS], [PublicKeyE]} Общедоступный ключ объекта. Должен быть специфицирован, по крайней мере, один ключ. Пользователь может запросить сертификат подписи, сертификат шифрования или оба эти сертификата. |
| EEThumb | Оттиск сертификата ключа шифрования, который обновляется |
| Thumbs | Списки сертификатов, включая корневой, CRL и BrandCRLIdentifier, используемые в данный момент ЕЕ. |
| PANData0 | См. табл. 4.6.2.27 |
| AcctData | См. табл. 4.6.2.28 |
| RegFormItems | {FieldName, FieldValue} |
| CAAlgId | Идентификатор симметричного алгоритма шифрования |
| CAKey | Секретный ключ, соответствующий идентификатору алгоритма |
| PublicKeyS | Предлагаемый для сертификации общедоступный ключ подписи |
| PublicKeyE | Предлагаемый для сертификации общедоступный ключ шифрования |
| FieldName | Одно или более имен полей, которые надо отобразить в качестве заполняемой формы в системе отправителя запроса. Это текстовые поля с текстом на языке, специфицированном в RegFormReq или Me-AqCInitReq |
| FieldValue | Величина, введенная ЕЕ |
| PANData0 | {PAN, CardExpiry, CardSecret, EXNonce} |
| PAN | Первичный номер счета ( Primary Account Number) для данной карты |
| CardExpiry | Дата пригодности карты |
| CardSecret | Предложенная владельцем карты часть секретного ключа PANSecret. Эта величина используется для генерации TransStain. |
| EXNonce | Новый код (Nonce) для предотвращения атак на PANData0 |
| AcctData | {AcctIdentification, EXNonce} |
| AcctIdentification | Для продавца это поле уникально и определяется платежной системой карты (Brand) и получателем (банк продавца) |
| EXNonce | Новый код Nonce для предотвращения атак на PANData0 |
| Шаг | Действие |
| 1 | Получить CertReq из входного сообщения |
| 2 | Из данных CertReqTBS запомнить RRPID, LID-EE, Chall-EE3, RequestType, LID-CA, Chall-CA, IDData, RegForm, CaBackKeyData, список оттисков и новые сертификаты подписи и/или шифрования |
| 3 | Проверить то, что RRPID и RequestDate соответствуют значениям, полученным из цифрового конверта сообщения. Если соответствия нет, выдается сообщение Error с ErrorCode равным unknownRRPID. |
| 4 | Проверить то, что полученный Chall-CA соответствует посланному в Me-AqCInitRes или RegFormRes. Если соответствия нет, выдается сообщение Error с ErrorCode равным challengeMismatch. |
| 5 | Проверить PAN (если он включен) в соответствии с политикой платежной системы (Brand), в противном случае проверить AcctData. Если соответствия нет, возвращается CertRes c кодом CertStatusCode равным rejectByIssuer. |
| 6 | Если RequestType соответствует обновлению, проверить, что сертификаты, подлежащие обновлению, не были до этого обновлены. Если проверка не прошла, возвращается CertRes c кодом CertStatusCode равным rejectedByCA. |
| 7 | Проверить то, что RegFormID корректен с точки зрения языка, RequestType и BIN или PAN. Если проверка не прошла, возвращается CertRes c кодом CertStatusCode равным rejectByCA. |
| 8 | Если отправителем CertReq является владелец карты, запомнить алгоритм и ключ, включенные в CABackKeyData, для шифрования CertRes, посылаемого владельцу карты. |
| 9 | Проверить невидимые пункты формы регистрации. Если некоторые пункты необходимы, но заполнены некорректно, вернуть CertRes с CertStatusCode равным rejectedByIssuer. |
| 10 | Если все предшествующие проверки прошли успешно, проверить все позиции регистрационной формы, проверить также, что длина, формат и типы символов правильны. Проверить, что все необходимые поля имеются. Если обнаружены какие-то ошибки, вернуть номер позиции и текст сообщений, где обнаружены ошибки в последовательности FailedItems в CertRes с CertStatusCode равным regFormAnswerMalformed. |
| Шаг | Действие |
| 1 | CertResData формируется как: |
| 2 | Подписать и вложить данные в цифровой конверт, используя технику EncK-инкапсуляции, для CertResData в качестве данных, подлежащих подписке. |
| 3 | Сформировать цифровой конверт и послать EE CertRes. |
| Шаг | Действие |
| 1 | Если СА сгенерировал сертификат, который будет включен в CertRes, выполняется формирование CertResTBS. |
| 2 | Если СА не сгенерировал сертификат, т.е. имеет статус, отличный от “Request Complete”, создается CertResData: |
| 3 | Сформировать цифровой конверт и послать конечному пользователю (ЕЕ) CertRes |
| CertRes | EncK-версия этого сообщения необходима только в случае, когда в CertRes включен опционный компонент CAMsg. Эта версия используется, если в CertReq включено поле CABackKeyData |
| CertResData | {RRPID, LID-EE, Chall-EE3, LID-CA, CertStatus, [CertThumbs], [BrandCRLIdentifier], [Thumbs]} |
| CABackKeyData | Копируется из CertReq |
| RRPID | ID пары запрос/отклик |
| LID-EE | Копируется из CertReq |
| Chall-EE3 | Копируется из CertReq. Источник запроса проверяет соответствие со значением, хранящимся в памяти. |
| LID-CA | Копируется из CertReq. Если в CertReq его нет, то присваивается новое значение. |
| CertStatus | {CertStatusCode, [Nonce-CCA], EEMessage], {CaMsg], [FailedItemSeq]} |
| CertThumbs | Если запрос обслужен, то это список оттисков вложенных сертификатов подписей и/или шифрования |
| BrandCRLIdentifier | Смотри раздел об идентификаторах списков отмененных сертификатов платежной системы. |
| Thumbs | Копируется из CertReq. |
| CertStatusCode | Нумерованный код, указывающий на статус запроса сертификата |
| Nonce-CCA | Присутствует, если в качестве ЕЕ выступает владелец карты. Этот код представляет собой дополнительный секретный ключ, используемый совместно владельцем карты и ССА. |
| EEMessage | Сообщение на естественном языке, предназначенное для отображения в системе ЕЕ |
| CAMsg | {[CardLogoURL], [BrandLogoURL], [CardCurrency], [CardholderMsg]} |
| FailedItemSeq | {FailedItem+} |
| CardLogoURL | URL - указатель на логотип эмитента карты |
| BrandLogoURL | URL - указатель на логотип платежной системы |
| CardCurrancy | Вид валюта, хранящейся на счете владельца карты |
| CardholderMsg | Сообщение на естественном языке владельца карты, которое должно быть отображенопрограммой |
| FailedItem | {ItemNumber, ItemReason} |
| ItemNumber | Указывает на позицию в списке полей регистрационной формы, интерпретация которой невозможна. Значение нуль указывает на поле AcctData |
| ItemReason | Причина неудачи. Текстовое поле на естественном языке. |
| Код | Значение | Источник |
| requestComplete | Запрос сертификата одобрен | CA |
| invalidLanguage | В запросе указан неверный язык | CA |
| invalidBIN | Запрос сертификата отклонен из-за некорректного BIN | Эмитент или получатель |
| sigValidationFail | Запрос сертификата отклонен по причине некорректной подписи | CA |
| decryptionError | Запрос сертификата отклонен из-за ошибки дешифрования | CA |
| requestInProgress | Запрос сертификата обрабатывается | СА, эмитент или получатель |
| rejectedByIssuer | Запрос сертификата отклонен эмитентом карты | Эмитент |
| requestPended | Запрос сертификата ждет обработки | СА, эмитент или получатель |
| rejectedByAquirer | Запрос сертификата отклонен банком продавца (получателем) | Получатель |
| regFormAnswerMalformed | Запрос сертификата отклонен из-за неверной позиции в регистрационной форме. | CA |
| rejectedByCA | Запрос сертификата отклонен центром сертификации | CA |
| unableToEncryptCertRes | Центр сертификации не получил ключа и по этой причине не может зашифровать отклик для владельца карты | CA |
| Шаг | Действие |
| 1 | Выделить CertRes из входного сообщения. Если CertRes содержит подписанные данные, дешифровать их и проверить подпись CertRes (см. описание методики EncK). Процедура осуществляется для полученных сертификатов CRL и BrandCRLIdentifier. |
| 2 | Проверить, что полученные оттиски соответствуют посланным в сообщении CardCInitReq. Если проверка не прошла, возвращается сообщение Error с ErrorCode равным thumbsMismatch. |
| 3 | Проверить, что LID-EE и Chall-EE соответствуют значениям, посланным в CertReq. Если проверка не прошла, возвращается сообщение Error с ErrorCode равным challengeMismatch. |
| 4 | Если CertStatusCode указывает “Certificate request complete” (с запросом сертификата все в порядке), то: |
| 5 | Если CertStatusCode равен “MalFormed Registration Form Items”, это означает, что некоторые позиции регистрационной формы заполнены неверно. Для каждой ошибочной позиции приложение ЕЕ занесет в CertRes номер этой позиции и соответствующее сообщение об ошибке. ЕЕ разрешается повторить ввод для полей с ошибкой и повторно послать CertReq с новым запросом сертификата. |
| 6 | Если CertStatusCode установлен равным requestinProgress или requestPended, сертификат может быть доставлен позднее с помощью процедуры CertInqReq |
| 7 | Если CertStatusCode указывает какой-либо иной статус, отображается EEMessage. |
| Шаг | Действие |
| 1 | Копируется LID-CA3 из CertRes в поле данных “CertInqReqTBS” |
| 2 | Генерируется новый RRPID |
| 3 | Генерируется новый LID-EE |
| 4 | Генерируется новый Chall-EE3 |
| 5 | Копируется LID-CA из предыдущего CertRes |
| 6 | Подписывается CertInqReqTBS. Устанавливается тип содержимого равным id-set-content-CertInqReqTBS. CertInqReq подписывается также как и CertReq. |
| 7 | Формируется цифровой конверт и посылается CertInqReq в центр СА. |
| CertInqReq | S(EE, CertInqReqTBS) |
| CertInqReqTBS | {RRPID, LID-EE, Chall-EE3, LID-CA} |
| RRPID | Идентификатор пары запрос/отклик |
| LID-EE | Копируется из CertRes |
| Chall-EE3 | Требование ЕЕ по поводу обновления подписи СА |
| LID-CA | Копируется из CertRes |
| Шаг | Действие |
| 1 | Из входного сообщения извлекается CertInqReq. Подпись CertInqReqTBS верифицируется также как и для CertReq. Если проверка не прошла отклик будет таким как при CertReq(EncX) |
| 2 | Проверить, что RRPID соответствует посланному в цифровом конверте. Если соответствия нет, возвращается сообщение об ошибке с ErrorCode равным unknownRRPID. |
| 3 | Используя LID-CA в качестве индекса, определяется статус CertReq. |
| 4 | Если сертификат сформирован, он посылается ЕЕ в отклике CertInqRes, в противном случае в CertInqRes возвращается актуализованный код CertStatusCode |
| Имя | Ограничения на формат и значения | Описание |
| Version (Версия) | Целое | Указывает на версию сертификата |
| SerialNumber | Целое | Уникальный порядковый номер, приписываемый СА, сформировавшим сертификат |
| Signature.AlgorithmIdentifier | OID и тип | Определяет алгоритм, используемый для генерации подписи сертификата |
| Issuer (эмитент) | Имя | Содержит уникальное имя (Distinguished Name) CA, выдавшего сертификат |
| Validity.notBefore | Время UTC | Специфицирует время, когда сертификат становится активным |
| Validity.notAfter | Время UTC | Специфицирует время, когда сертификат перестает действовать. Если это относится к сертификату владельца карты, то его время действия не может быть дольше пригодности карты. |
| Subject | Имя | Содержит уникальное имя объекта владельца ключа |
| SubjectPublicKeyInfo.algorithm. AlgorithmIdentifier | OID и тип | Специфицирует алгоритм, который может использоваться с этим ключом. |
| SubjectPublicKeyInfo. subjectPublicKey | Строка битов | Содержит общедоступный ключ, представленный в запросе сертификата |
| IssuerUniqueID | В SET не используется | |
| SubjectUniqueID | В SET не используется | |
| Extensions.extnId | Формат OID | Содержит расширение OID, как это определено Х.509 или SET |
| Extensions.critical | Булево: 0=ложно 1=истинно | Каждое описание расширения определяет то, какое значение должно принимать это поле |
| Extensions.extnValue | Информация расширения |
| Country | 2 символа кода страны (ISO 3166) |
| BrandID | |
| Brand Name | Платежная система карты, которая определяется разработчиками платежной системы. |
| Product Type | Опционное поле, которое определяет тип продукта в рамках заданной платежной системы. |
| Описательное имя | Это описательное имя объекта, ответственного за выпуск сертификата в рамках данного СА. Например: |
| Официальное название карты | Это опционное поле содержит официальное название карты. Примерами могут служить, например: Frequent Flayer Program, Affinity Program и т.д. |
| Название финансовой организации | Имя финансовой организации, выпускающей расчетные карты |
| Уникальный идентификатор владельца карты | Уникальным идентификатором владельца карты в сертификате владельца является хэшированный номер его счета. |
| Уникальный идентификатор расчетного центра | Поле содержит BIN, за которым следует серийные номера банка продавца или расчетной системы. Поле форматировано как |
| K | Равно PANSecret и представляет собой 20-байтовую строку, полученную в результате операции исключающее ИЛИ, выполненной над DER-кодированными значениями CardSecret и Nonce-CCA. |
| Text | Представляет собой DER-кодированную копию исходного текста, содержащего PAN и CardExpiry.Text ::= SEQUENCE {pan PAN cardExpiry CardExpiry } PAN ::= NumberString (SIZE(1..19)) CardExpiry ::= NumericString (SIZE(6)) --YYYMM Время истечения действия карты |
| ipad | 64 байта, содержащих код 0x36 |
| opad | 64 байта, содержащих код 0x5C |
| Объект | Цифровая подпись | Шифрование_ключей/ шифрование_данных | ПодписьkeyCert | ПодписьCRL |
| Владелец карты | Х | |||
| Продавец | Х | Х | ||
| Расчетный центр | Х | Х | ||
| Центр сертификации владельца карты | Х | Х | Х | |
| Центр сертификации продавца | Х | Х | Х | |
| Центр сертификации расчетного центра | Х | Х | Х | Х |
| Геополитический центр сертификации | Х | Х | Х | |
| Центр сертификации платежной системы | Х | Х | ||
| Корневой центр сертификации | Х | Х |
| Сертификат владельца карты | Сертификат продавца | Сертификат расчетного центра | |||
| Расширение Х.509 | Подпись | Подпись | Шифрова-ние ключа | Подпись | Шифрова-ние ключа |
| AuthorityKeyIdentifier | Х | Х | Х | Х | Х |
| KeyUsage | Х | Х | Х | Х | Х |
| PrivateKeyUsagePeriod | Х | Х | Х | ||
| CertificatePolicies | Х | Х | Х | Х | Х |
| SubjectAltName | O | O | O | O | O |
| BasicConstraints | Х | Х | Х | Х | Х |
| IssuerAltName | O | O | O | O | O |
| Частное расширение | |||||
| HashedRootKey | |||||
| CertificateType | Х | Х | Х | Х | Х |
| MerchantData | Х | Х | |||
| CardCertRequired | Х | ||||
| Tunneling | Х | ||||
| SETExtensions | Х | ||||
| СА | Корневой центр сертификации | ||||
| Расширение Х.509 | Цифровая подпись | Подпись серти-фиката | Шифрова-ние ключа | Подпись CRL | Подпись сертификата & CRL |
| AuthorityKeyIdentifier | Х | Х | Х | Х | Х |
| KeyUsage | Х | Х | Х | Х | Х |
| PrivateKeyUsagePeriod | Х | Х | Х | ||
| CertificatePolicies | Х | Х | Х | Х | Х |
| SubjectAltName | O | O | O | O | O |
| BasicConstraints | Х | Х | Х | Х | Х |
| IssuerAltName | O | O | O | O | O |
| Частное расширение | |||||
| HashedRootKey | Х | ||||
| CertificateType | Х | Х | Х | Х | Х |
| MerchantData | |||||
| CardCertRequired | |||||
| Tunneling | Х | ||||
| SETExtensions | |||||
| Имя поля | Формат и ограничения на значение | Описание |
| CRL.version (версия) | Целое; V2 | Определяет версию CRL. В настоящее время =2. |
| CRL.signature .algorithmIdentifier | OID и тип | Определяет алгоритм, использованный для подписи CRL |
| CRL.Issuer | Имя | Содержит DN субъекта для СА, который выпустил устаревший сертификат. Должен совпадать с именем субъекта в сертификате СА |
| CRL.thisUpdate | Время UTC | Определяет время, когда был сформирован CRL |
| CRL.nextUpdate | Время UTC | Определяет время, когда CRL устареет |
| CRL.revokedCertificate .certSerialNumber | Целое | Номер по порядку устаревшего сертификата |
| CRL. RevokedCertificate .revocationDate | Время UTC | Дата признания сертификата устаревшим |
| CRL. RevokedCertificate .extensions | Расширения | Не используется в SET |
| CRL.extensions | Расширения | В этом поле используются два расширения: CRLNumber и AuthorityKeyIdentifier |
| Сертификат для: | Формируется и подписывается: |
| СА платежной системы | Корневой СА |
| Геополитический СА | СА платежной системы |
| ССА, МСА или РСА | Геополитический СА, если таковой имеется, в противном случае СА платежной системы |
| ССА, МСА или РСА | Геополитический центр сертификации или СА платежной системы | ||||
| Атрибут SET | Сертификат подписи | Подпись CRL | Сертификат и подпись CRL | ||
| KeyUsage | X | X | X | X | X |
| PrivateKeyUsagePeriod | X | X | X | X | |
| AdditionalPolicy | O | O | O | O | O |
| SubjectAltName | O | O | O | O | O |
| CertificateType | X | X | X | X | X |
| Tunneling | X | ||||
| Шаг | Действие |
| 1 | Используя процедуру, определенную платежной системой, проверить аутентичность CertificationRequest |
| 2 | Используя общедоступный ключ, присланный в запросе, проверить подпись |
| 3 | Проверить, что уникальное имя субъекта (Distinguished Name) согласуется с форматом Certificate Subject Name |
| 4 | Используя тип сертификата и атрибуты использования ключа, проверить, что имеются необходимые атрибуты (см. таблицу 4.6.2.37) |
| 5 | Для сертификатов подписи проверить, что запрошенный PrivateKeyUsagePeriod находится в пределах допустимого диапазона пригодности по времени для подписывающего СА, и что дата notBefore в запрошенном PrivateKeyUsagePeriod находится в пределах допустимого для подписывающего СА. |
| 6 | Если какая-либо из вышеперечисленных проверок не прошла, сертификат не будет сформирован. |
| 7 | Если верификация прошла успешно, сертификат формируется с применением атрибутов, включенных в запрос. Сформированный сертификат помещается в соответствующую секцию SignedData. |
| 8 | SignedData помещается в цифровой конверт и посылается отправителю запроса. Транспортные механизмы находятся вне зоны ответственности SET. |
| Шаг | Действие |
| 1 | Сформировать CRLNotificationTBS: |
| 2 | Подписать содержимое, используя сертификат подписи СА. Установить тип содержимого равным id-set-content-CRLNotificationTBS |
| 3 | Внести новый CRL в CRL-секцию SignedData. Вложить CRL в сертификационную секцию сообщения. |
| 4 | Закодировать и вложить в цифровой конверт подписанное сообщение CRLNotification. Следует заметить, что это не SET-сообщение. SignedData подвергается DER-кодированию и вкладывается в цифровой конверт MIME. |
| Название поля | Описание |
| CRL-Notification | S(CA, CRLNotificationTBS) |
| CRL-NotificationTBS | {Date, CRLThumbprint} |
| Дата | Дата, когда сформировано сообщение |
| CRLThumbprint | Оттиск CRL, заключенный в CRL-секцию SignedData |
| Шаг | Действие |
| 1 | Если дата раньше, чем для любого предыдущего CRL, полученного от этого СА, сообщение проигнорировать и откликнуться отправившему СА сообщением Error c кодом ошибки badDate. |
| 2 | Если CRL-оттиск не согласуется с тем, который записан в CRL-секции SignedData, сообщение проигнорировать и откликнуться отправившему СА сообщением Error c кодом thumbMismatch. |
| 3 | Запомнить модифицированный CRL и послать СА платежной системы для добавления в последующее сообщение рассылки BCI. |
| Шаг | Действие |
| 1 | Заполнить NotificationResTBS: |
| 2 | Подписать содержимое, используя сертификат подписи центра сертификации платежной системы. Установить contenttype равным id-set-content-CRLNotificationResTBS |
| 3 | Закодировать и вложить в цифровой конверт подписанное сообщение CRLNotificationRes в форме согласованной с транспортным механизмом. Послать сообщение отклика CRLNotification запросившему СА. |
| Название поля | Описание |
| CRL-NotificationRes | S(CA, CRLNotificationTBS) |
| CRL-NotificationResTBS | {Date, CRLThumbprint} |
| Дата | Копируется из сообщения CRLNotification |
| CRLThumbprint | Оттиск CRL, копируется из сообщения CRLNotification |
| Шаг | Действие |
| 1 | Заполнить BCIDistributionTBS: |
| 2 | Подписать содержимое, используя сертификат подписи центра сертификации платежной системы. Установить contenttype равным id-set-content-BCIDistributionTBS. В CRL секцию SignedData ввести все CRL, перечисленные в BCI. В сертификатную часть вставить все сертификаты, необходимые для верификации всех CRL. |
| 3 | Закодировать и вложить в цифровой конверт подписанное сообщение BCIDistribution в форме, согласованной с транспортным механизмом. |
| Название поля | Описание |
| BCIDistribution | S(CA, BCIDistributionTBS) |
| BCIDistributionResTBS | {Date, BCIDistribution} |
| Дата | Дата формирования сообщения |
| BrandCRLIdentifier | Список текущих CRL для всех СА в зоне ответственности центра сертификации платежной системы и корневого СА. Сообщение подписывается сертификационным центром платежной системы. |
| Шаг | Действие |
| 1 | Извлечь BCIDistribution из транспортного сообщения. Проверить подпись сообщения, используя сертификат подписи СА платежной системы. |
| 2 | Если дата относится к моменту времени раньше, чем та, что в предыдущем сообщении BCIDistribution, сообщение следует выбросить. |
| 3 | Если BrandCRLIdentifier отличается от текущего, проверить подпись каждого CRL из BCI. Если подпись некорректна или список CRL из перечня BCI не включен в сообщение, оно отбрасывается. |
| 4 | Запомнить все CRL и BrandCRLIdentifier для последующей рассылки |
| TransID | {LID-C, [LID-M], XID, PReqData, [PaySysID], Language} |
| LID-C | Локальный ID. Метка, генерируемая системой владельца карты или для нее. |
| LID-M | Локальный ID. Метка, генерируемая системой продавца или для нее. |
| XID | Глобально уникальный идентификатор |
| PReqData | Дата запроса покупки. Генерируется продавцом в PInitRes или владельцем карты в PReq. |
| PaySysID | Используется некоторыми платежными системами для пометки транзакций |
| Language | Естественный язык владельца карты |
| Сообщение | LID-C | LID-M | XID | PaySysID |
| PInitReq | R | C1 | N/P | N/P |
| PInitRes | Я | Я (C2) | R | N/P |
| PReq | Я | Я | Я (R3) | N/P |
| PRes | Я | Я (C2) | Я | C4 |
| InqReq | Я | Я | Я | C5 |
| InqRes | Я | Я | Я | C4 |
| AuthReq | Я | Я | Я | N/P |
| AuthRes | Я | Я | Я | C6 |
| AuthRevReq | Я | Я | Я | C |
| AuthRevRes | Я | Я | Я | Я |
| CapReq | I | I | I | I |
| CapRes | I | I | I | I |
| CapRevReq | I | I | I | I |
| CapRevRes | I | I | I | I |
| CredReq | I | I | I | I |
| CredRes | I | I | I | I |
| CredRevReq | I | I | I | I |
| CredRevRes | I | I | I | I |
| PCertReq | N/P | C | N/P | N/P |
| PCertRes | N/P | Я | N/P | N/P |
| BatchAdminReq | I | I | I | I |
| BatchAdminRes | I | I | I | I |
| CardCInitReq | R | N/P | N/P | N/P |
| CardCInitRes | Я | N/P | N/P | N/P |
| Me-AdCInitReq | N/P | C | N/P | N/P |
| Me-AdCInitRes | N/P | Я | N/P | N/P |
| RegFormReq | Я | Я | N/P | N/P |
| RegFormRes | Я | Я | N/P | N/P |
| CertReq | Я | Я | N/P | N/P |
| CertRes | Я | Я | N/P | N/P |
| CertInqReq | Я | Я | N/P | N/P |
| CertInqRes | Я | Я | N/P | N/P |
| R | Поле является обязательным, генерируется отправителем сообщения и копируется в цифровой конверт. |
| C | Наличие поля является условным. Оно может быть сформировано для этого сообщения и задублировано в цифровом конверте. В противном случае поле копируется из предыдущего сообщения. |
| N/P | (Not Present) Отсутствует как в сообщении так и в цифровом конверте. |
| Я | Копируется из запроса или предыдущего сообщения, дублируется в цифровом конверте |
| I | Может присутствовать в элементе информационной структуры сообщения, отсутствует в цифровом конверте. |
| Шаг | Действие |
| 1 | Если сообщение для данной транзакции получено раньше, следует запомнить все его поля. |
| 2 | Если это новая транзакция, сформировать все необходимые поля (см таблицу выше) |
| 3 | Заполнить любые опционные поля, которые могут быть сформированы данным объектом. |
| PIUnsigned | Формируется владельцем карты без использования сертификата подписи. Используется в сообщениях PReqUnsigned.Целостность данных обеспечивается за счет добавления хэша PI-данных, которые защищены в блоке OAEP. В данном механизме аутентификация отправителя не производится. |
| PIDualSigned | Формируется владельцем карты, который владеет сертификатом подписи. Используется в сообщениях PreqDualSigned. Подпись владельца карты аутентифицирует отправителя и гарантирует целостность данных. |
| AuthToken | Формируется расчетным центром. Продавец извлекает PI для дальнейшего вложения в AuthReq. Этот вариант используется для поддержки доставки по частям и передается назад из расчетного центра после первичной авторизации с тем, чтобы использоваться для запросов последующих авторизаций. |
| PI | Расчетный центр формирует AuthToken для поддержки поставки по частям и последовательных платежей. Продавец запишет PI для последующего вложения в AuthReq. |
| PIUnsigned | EXH(P, PI-OILink, PANToken)} (См. табл. 4.6.2.46) |
| PIDualSigned | {PISignature, EX(P, PI-OILink, PANData)} (См. табл. 4.6.2.45) |
| AuthToken | См. табл. 4.6.2.42 |
| PI-OILink | L(PIHead, OIData) (см. табл. 4.6.2.40) |
| PISignature | SO(C, PI-TBS) |
| PI-TBS | {HPIData, HOIData} |
| HPIData | DD(PIData) |
| HOIData | DD(OIData) |
| PIData | {PIHead, PANData} (см. табл. 4.6.2.40 и 4.6.2.45) |
| PIHead | {TransIDs, Inputs, MerchantID, [InstallRecurData], TransStain, SWIdent, [AcqBackKeyData], [PIExtensions]} |
| TransIDs | См. выше описание TransIDs |
| Inputs | {HOD, PurchAmt} |
| MerchantID | Копируется из сертификата подписи продавца |
| InstallRecurData | См. табл. 4.6.2.41 |
| TransStain | HMAC(XID, CardSecret) |
| SWIdent | Строка, идентифицирующая программное обеспечение (разработчик и версия), инициирующее запрос. Оно специфицируется в PI, чтобы расчетный центр знал программное обеспечение владельца карты. |
| AcqBackKeyData | {AcqBackAlg, AcqBackKey} |
| PIExtensions | Данные из расширения платежных инструкций должны быть финансовыми и важными для обработки авторизации расчетного центра, эмитента или финансовой сети |
| InstallRecurData | {InstallRecurDInd, [IRExtensions]} |
| InstallRecurDInd | < InstallTotalTrans, Recurring > |
| IRExtensions | Данные в расширении или рекурсивные данные. Они должны носить финансовый характер и должны иметь отношение к последующим процедурам авторизации продавца и расчетного центра |
| InstallTotalTrans | Владелец карты специфицирует максимально допустимое число авторизаций для последовательных платежей |
| Recurring | {RecurringFrequency, RecurringExpiry} |
| RecurringFrequency | Минимальное число дней между авторизациями (ежемесячная авторизация обозначается 28 днями) |
| RecurringExpiry | Окончательная дата, после которой никакие авторизации не разрешены |
| AuthTokenData | {TransIDs, PurchAmt, MerchantID, [AcqBackKeyData], [InstallRecurData], [RecurringCount], PrevAuthDataTime, TotalAuthAmount, AuthTokenOpaque} |
| PANToken | Поля копируются из поля PI-Head, сформированного владельцем карты (см. табл. 4.6.2.40) |
| TransIDs | |
| PurchAmt | |
| MerchantID | |
| AcqBackKeyData | |
| InstallRecurData | |
| RecurringCount | Число реализованных рекуррентных авторизаций |
| PrevAuthDateTime | Дата и время последней авторизации продавца в последовательности рекуррентных авторизаций |
| TotalAuthAmount | Полное число авторизованных в результате всех авторизаций для данного XID |
| AuthTokenOpaque | Невидимые данные, генерируемые расчетным центром |
| Шаг | Действие |
| 1 | Генерируется AuthTokenTBE как: Если это первая авторизация (выполнена согласно PI) а. Заполняется из PI поля PANToken, TransIDs, PurchAmt, MerchantID и, если имеется в PI, AcqBackInfo и InstallRecurData б. RecurringCount делается равным 1 в. В PrevAuthDateTime записывается текущая дата г. В TotalAuthAmount заносится AuthAmt из авторизационного отклика, который содержит данный AuthTokenЕсли это очередная аутентификация (сгенерирована из предыдущего AuthToken) а. Заполняется из предыдущего AuthToken поля PANToken, TransIDs, PurchAmt, MerchantID и, если имеется, AcqBackInfo и InstallRecurData б. Инкрементируется на 1 RecurringCount в. В PrevAuthDateTime записывается текущая дата г. TotalAuthAmount увеличивается на AuthAmt, взятое из авторизационного отклика, который содержит данный AuthTokenЕсли это полная (reversal) аутентификация (сгенерирована из предыдущего AuthToken) а. Из предыдущего AuthToken заполняются поля PANToken, TransIDs, PurchAmt, MerchantID, PrevAuthDateTime и, если имеется, AcqBackInfo и InstallRecurData б. Если это повторное выполнение всех авторизаций (т.е. AuthNewAmt в AuthRevReq равно нулю), уменьшить RecurringCount на 1 в. Уменьшить TotalAuthAmount на AuthNewAmt из авторизацилнного отклика, который будет содержать маркер AuthToken. |
| 2 | Сформировать PANToken (см. табл. 4.6.2.46) |
| 3 | С привлечением инкапсуляции EncX уложить данные в цифровой конверт, используя P1=P2=Cert-PE в качестве s и r параметров, AuthTokenTBE (из шага 1) - в качестве параметра t и PANToken - в качестве параметра p. |
| Шаг | Действие |
| 1 | Извлечь AuthToken из EncX-конверта, используя секретный ключ расчетного центра. |
| 2 | Если это автризационный запрос и AuthToken уже использовался при авторизации, установить AuthCode равным piPreviouslyUsed |
| 3 | Если это запрос повторной авторизации (reversal request) и AuthToken не использовался при авторизации, установить AuthCode=piAuthMismatch. |
| 4 | Если это авторизационный запрос и InstallRecurData специфицирована рекурентной информацией: |
| 5 | Если это автризационный запрос и InstallRecurData специфицирована информацией Installment, реализовать специфические требования платежной системы карты. |
| 6 | Если на предыдущих шагах AuthCode не был установлен, переадресовать данные от AuthToken авторизационному процессу. |
| AcqCardMsg | EncK(AcqBackKeyData, P, AcqCardCodeMsg) AcqBackKeyData предоставляется владельцем карты в PI. Зашифрованное сообщение адресуется владельцу карты. |
| AcqBackKeyData | Копируется из PIHead.AcqBackKeyData (см. табл. 4.6.2.40) |
| AcqCardCodeMsg | {AcqCardCode, AcqCardMsgData} |
| AcqCardCode | Числовой код |
| AcqCardMsgData | {[AcqCardText], [AcqCardURL], [AcqCardPhone]} |
| AcqCardText | Текстовое сообщение, отображаемое владельцу карты |
| AcqCardURL | URL HTML-сообщения, отображаемого владельцу карты |
| AcqCardPhone | Телефонный номер, предоставляемый владельцу карты |
| messageOfDay | Банк продавца хочет, чтобы это сообщение было передано всем |
| accountInfo | Информация о счете должна быть передана назад пользователю |
| сallCustomerService | Предлагает приложению отобразить сообщение, рекомендующее пользователю обратиться в службу обслуживания клиентов |
| CapToken | P1 |
| CapTokenData | {AuthRRPID, AuthAmt, TokenOpaque} |
| PANToken | Смотри табл. 4.6.2.46 |
| AuthRRPID | RRPID, который появляется в соответствующем AuthReq или AuthRevReq |
| AuthAmt | Действительное число авторизованных, которое может отличаться от PurchAmt владельца карты |
| TokenOpaque | Невидимые данные, определенные расчетным центром |
| Шаг | Действие |
| 1 | Если формируется в ходе авторизации, установить AuthAmt в CapTokenData равным AuthAmt в AuthRes. В противном случае, если генерируется во время повторного авторизационного процесса, занести AuthAmt в CapTokenData равным AuthNewAmt для последующей посылки в AuthRevRes |
| 2 | Занести в TokenOpaque из CapTokenData частные данные, необходимые для расчетов |
| 3 | Если продавец получает PANToken из своего банка, тогда: |
| Шаг | Действие |
| 1 | Используя секретный ключ расчетного центра, извлечь CapTokenData из упаковки ЕncX или Enc. |
| 2 | Если это платежный запрос (capture request) и CapToken уже использовался в таком запросе, установить CapCode в CapResPayload равным dublicateRequest. |
| 3 | Если это аннулирование (reversal) платежного запроса, запрос кредита или отзыв кредита и CapToken ранее не использовался в платежных запросах, установить CapRevOrCredCode в поле CapRevOrCredResPayload равным originalNotFound |
| 4 | Если это аннулирование платежного запроса, а CapToken уже использовался в подобном запросе, установить CapRevOrCredCode в CapRevOrCredResPayload равным dublicateRequest. |
| 5 | Если CapCode или CapRevOrCredCode не были установлены при выполнении предыдущих шагов, переадресовать данные из CapToken процессу платежного запроса. |
| PANData | {PAN, CardExpiry, PANSecret, EXNonce} |
| PAN | Первичный номер счета, обычно номер счета карты |
| CardExpiry | Дата действительности карты |
| PANSecrit | Секретный код, используемый совместно владельцем карты, расчетным центром и сертификационным центром владельца карты. Предотвращает атаки на PAN в сертификате владельца карты. |
| EXNonce | Новый код (Nonce), который препятствует атаке на PANData |
| Шаг | Действие |
| 1 | Занести в PAN номер счета владельца карты |
| 2 | Записать в CardExpiry дату действительности карты |
| 3 | Занести PANSecret, который был получен от СА вместе с сертификатом владельца карты. Для владельца карты без сертификата все октеты этого поля устанавливаются равными нулю. |
| 4 | Сформировать новое значение EXNonce |
| PANToken | {PAN, CardExpiry, EXNonce} |
| PAN | Первичный номер счета, обычно номер счета карты |
| CardExpiry | Дата действительности карты |
| EXNonce | Новый код (Nonce), который препятствует атаке на PANData |
| Шаг | Действие |
| 1 | Занести в PAN номер счета владельца карты |
| 2 | Записать в CardExpiry дату действительности карты |
| 3 | Сформировать новое значение EXNonce. |
| SaleDetail | {[BatchID],[BatchSequenceNum], [PayRecurInd], [MerOrderNum], [AuthCharInd], [MarketSpecSaleData], [CommercialCardData], [OrderSummery], [CustomerReferenceNumber], [CustomerServicePhone], OktoPrintPhoneInd, [SaleExtensions]} Это поле может появляться в AuthReq с флагом CaptureNow установленным равным TRUE или в сообщениях, связанных с платежным запросом. |
| BatchID | Идентификация последовательности операций в системе продавец и его банк |
| BatchSequenceNum | Порядковый номер позиции в данной последовательности расчетных операций. |
| PayRecurInd | Номер типа транзакции |
| MerOrderNum | Номер заказа продавца |
| AuthCharInd | Копируется из AuthResPayload |
| MarketSpecSaleData | {[MarketSpecDataID], [MarketSpecCapData]} |
| CommercialCardData | Описание позиции в платежном запросе (см. табл. 4.6.2.48) |
| OrderSummary | Краткое описание заказа |
| CustomerReferenceNumber | Номер ссылки, присвоенный заказу владельца карты |
| CustomerServicePhone | Номер телефона службы обслуживания клиентов данного продавца |
| OKtoPrintPhoneInd | Булево число, указывающее, может ли эмитент выдавать телефон службы сервиса в ответ на запрос владельца карты. |
| SaleExtensions | Данные этого расширения должны быть финансовыми и важными для обработки платежного запроса расчетного центра или эмитента |
| MarketSpecDataID | Копируется из AuthResPayload |
| MarketSpecCapData | |
| MarketAutoCap | Описание оплаты проката автомобиля (см. табл. 4.6.2.49) |
| MarketHotelCap | Описание оплаты гостиницы (см. табл. 4.6.2.50) |
| MarketTransportCap | Данные о пассажире (см. табл. 4.6.2.51) |
| unknown | Тип транзакции неизвестен |
| singleTransaction | Транзакция состоит из одной авторизации и платежного запроса |
| recurringTransaction | Транзакция состоит из нескольких авторизаций и платежных запросов, которые повторяются регулярно |
| installmentPayment | Транзакция состоит из нескольких авторизаций и заказов-резервирований, которые выполняются фиксированное число раз |
| otherMailOrder | Прочие транзакции заказов по почте |
| CommercialCardData | {[ChargeInfo], [MerchantLocation], [ShipFrom], [ShipTo], [ItemSeq]} |
| ChargeInfo | {[TotalFreightShippingAmount], [TotalDutyTariffAmount], [DutyTariffReference], [TotalNationalTaxAmount], [TotalLocalTaxAmount], [TotalOtherTaxAmount], [TotalTaxAmount], [MerchantTaxID], [MerchantDutyTariffRef], [CustomerDutyTariffRef], [SummaryCommodityCode], [MerchantType]} |
| MerchantLocation | Местоположение продавца |
| ShipFrom | Адрес отправки |
| ShipTo | Адрес получателя |
| ItemSeq | {Item +} Номера от 1 до 999 |
| TotalFreightShippingAmount | Общее количество позиций, подлежащих обработке и доставке |
| TotalDutyTariffAmount | Полная сумма налога или тариф для заказа |
| DutyTariffReference | Код ссылки, приписанный налогу или тарифу для данного заказа |
| TotalNationalTaxAmount | Полная величина национального налога (с продаж или на добавленную стоимость), распространяющегося на данный заказ |
| TotalLocalTaxAmount | Размер местного налога, распространяющегося на данный заказ |
| TotalOtherTaxAmount | Прочие налоги, действующие для данного заказа |
| TotalTaxAmount | Полный размер налога для данного заказа |
| MerchantTaxID | Индивидуальный идентификационный номер продавца |
| MerchantDutyTariffRef | Код налога или тарифа, приписанный продавцу |
| CustomerDutyTariffRef | Код налога или тарифа, приписанный владельцу карты |
| SummaryCommodityCode | Код товара, приложимый ко всему заказу |
| MerchantType | Тип продавца |
| Item | {Quantity, [UnitOfMeasureCode], Descriptor, [CommodityCode], [ProductCode], [UnitCost], [NetCost], DiscountInd, [DiscountInd], [NationalTaxAmount], [NationalTaxAmount], [NationalTaxRate], [NationalTaxType], [LocalTaxAmount], [LocalTaxAmount], ItemTotalCost} |
| Quantity | Количество предметов или услуг данного типа |
| UnitOfMeasureCode | Единицы измерения для данной позиции в заказе |
| Descriptor | Описание позиции в заказе |
| CommodityCode | Код вида товара для данной позиции заказа |
| ProductCode | Код продукта для данной позиции заказа |
| UnitCost | Цена единицы товара |
| NetCost | Чистая цена единицы товара |
| DiscountInd | Указывает, распространяется ли скидка на данную позицию в заказе |
| DiscountAmount | Величина скидки для данной позиции заказа |
| NationalTaxAmount | Величина национального налога, применимого к данной позиции заказа |
| NationalTaxRate | Национальный налог (с продаж или на добавленную стоимость), применимый к данной позиции заказа |
| NationalTaxType | Ставка национального налога, действующая для данной позиции заказа |
| LocalTaxAmount | Величина местного налога, действующая для данной позиции заказа |
| OtherTaxAmount | Величина прочих налогов |
| ItemTotalCost | Полная цена данной строки заказа |
| MarketAutoCap | {[RenterName], [RentalLocation], RentalDateTime, [AutoNoShow], [RentalAgreementNumber], [ReferenceNumber], [InsuranceType], [InsuranceType], [ReturnLocation], ReturnDateTime, AutoCharges} |
| RenterName | Имя лица, сдающего авто в аренду |
| RentalLocation | Адрес фирмы сдающей авто в аренду |
| RentalDateTime | Дата (опционно время), когда авто было взято в аренду |
| AutoNoShow | Числовой код, указывающий, что клиент не предъявил во время арендованную машину |
| RentalAgreementNumber | Номер арендного соглашения |
| ReferenceNumber | Код аренды |
| InsuranceType | Тип страховки, выбранный арендатором |
| AutoRateInfo | {AutoApplicableRate, [LateReturnHourlyRate], [LateReturnHourlyRate], [FreeDistance], [VehicleClassCode], [CirporateID]} |
| ReturnLocation | Адрес фирмы, куда следует вернуть авто (см. табл. 4.6.2.51) |
| ReturnDateTime | Дата (опционно время) возвращения автомобиля |
| AutoCharges | {RegularDistanceCharges, [LateReturnCharges], [TotalDistance], [ExtraDistanceCharges], [InsuranceCharges], [FuelCharges], [AutoTowingCharges], [OneWayDropOffCharges], [TelephoneCharges], [ViolationsCharges], [DelivaryCharges], [ParkingCharges], [OtherCharges], [TotalTaxAmount], [AuditAdjustment]} |
| AutoApplicableRate | |
| LateReturnHourlyRate | Почасовая плата за опоздание возврата |
| DistanceRate | Помильная оплата за превышение допустимого пробега |
| FreeDistance | Расстояние, которое может пройти машина в день, без увеличения арендной платы. |
| VehicleClassCode | Класс арендуемого автомобиля |
| CorporateID | Корпоративный идентификационный номер, который применяется для определения арендной платы |
| RegularDistanceCharges | Сумма расходов за аренду (исключая расходы, перечисленные ниже) |
| LateReturnCharges | Сумма выплаты за возвращения автомобиля после оговоренного срока. |
| TotalDistance | Полный пробег автомобиля. |
| ExtraDistanceCharges | Сумма оплаты избыточного пробега (сверх оговоренного в договоре) |
| InsuranceCharges | Сумма страховки |
| FuelCharges | Оплата горючего |
| AutoTowingCharges | Оплата буксировки |
| OneWayDropOffCharges | Оплата одностороннего разрыва арендного договора |
| TelephoneCharges | Расходы использования телефона в арендованной машине |
| ViolationsCharges | Сумма штрафов за нарушения за время аренды автомобиля |
| DelivaryCharges | Оплата доставки арендованного автомобиля |
| ParkingCharges | Оплата парковки арендованного автомобиля |
| OtherCharges | Оплата расходов, не определенных в других позициях |
| TotalTaxAmount | Сумма налогов, связанная с арендой автомобиля |
| AuditAdjustment | Сумма изменения объема транзакции в результате аудита в компании, предоставляющей автомобили в аренду. |
| DailyRentalRate | Дневная арендная плата |
| WeeklyRentalRate | Арендная плата за неделю |
| MarketHotelCap | {[ArriveDate], [RentalLocation], DepartureDate, [DurationOfStay], [FolioNumber], [PropertyPhone], [CustomerServicePhone], [ProgramCode], [HotelRateInfo], HotelCharges} |
| ArriveDate | Дата регистрации владельца карты в отеле |
| HotelNoShow | Цифровой код, указывающий, что клиент не был зарегистрирован в этом отеле своевременно |
| DepartureDate | Дата отбытия владельца карты из отеля |
| DurationOfStay | Число дней пребывания владельца карты в отеле |
| FolioNumber | Номер книги |
| PropertyPhone | Номер телефона отеля |
| CustomerServicePhone | Номер телефона системы обслуживания клиентов отеля или сети отелей |
| ProgramCode | Код, указывающий тип специальной программы пребывания клиента |
| HotelRateInfo | {DailyRoomRate, [DailyTaxRate]} |
| HotelCharges | {RoomCharges, [RoomTax], [PrepaidExpenses], [FoodBeverageCharges], [RoomServiceCharges], [MiniBarCharges], [LaundryCharges], [TelephoneCharges], [BusinessCenterCharges], [ParkingCharges], [MovieCharges], [HealthClubCharges], [GiftShopCharges], [FolioCashAdvances], [OtherCharges], [TotalTaxAmount ], [AuditAdjustment]} |
| DailyRoomRate | Стоимость проживания в день. В эту сумму входят налоги, если не специфицирована переменная DailyTaxRate. |
| DailyTaxRate | Размер налога за проживание одного дня в гостинице |
| RoomCharges | Полная стоимость проживания в номере с учетом дополнительных расходов, перечисленных ниже |
| RoomTax | Налог, взымаемый с суммы RoomCharges |
| PrepaidExpenses | Полный размер предоплаты |
| FoodBeverageCharges | Оплата еды и напитков |
| RoomServiceCharges | Оплата обслуживания номера |
| MiniBarCharges | Оплата пользования минибаром |
| LaundryCharges | Оплата услуг прачечной |
| TelephoneCharges | Плата за пользование телефоном |
| BusinessCenterCharges | Оплата за услуги бизнес-центра |
| ParkingCharges | Оплата парковки |
| MovieCharges | Оплата за просмотр фильмов в номере |
| HealthClubCharges | Оплата услуг оздоровительного клуба |
| GiftShopCharges | Оплата покупок в сувенирном магазине |
| FolioCashAdvances | Сумма, предварительно внесенная за номер |
| OtherCharges | Другие расходы |
| TotalTaxAmount | Сумма налогов, включенная в счет |
| AuditAdjustment | Изменение платежа в результате перепроверки расчетов в отеле |
| MarketTransportCap | {PassangerName, DepartureDate, OrigCityAirport, [TripLegSeq], [TicketNumber], [TravelAgencyCode], [TravelAgencyName], [Restrictions]} |
| PassangerName | Имя пассажира, кому выдается билет |
| DepartureDate | Дата отбытия |
| OrigCityAirport | Город начала путешествия |
| TripLegSeq | {TripLeg +} от одной до 10 TripLeg-записей |
| TicketNumber | Номер билета |
| TravelAgencyCode | Код турагенства |
| TravelAgencyName | Название турагенства |
| Restrictions | Численный код, указывающий на ограничения выплат и расходов |
| TripLeg | {DateOfTravel, CarrierCode, ServiceClass, StopOverCode, DestCityAirport, [FareBasisCode], [DepartureTax]} |
| DateOfTravel | Дата путешествия |
| CarrierCode | Код перевозчика данного тура |
| ServiceClass | Класс услуг тура |
| StopOverCode | Числовой код, указывающий на допустимость остановок в пути при совершении тура |
| DestCityAirport | Аэропорт места назначения тура |
| FareBasisCode | Код базовой цены тура |
| DepartureTax | Налог при отбытии для данного тура |
| Location | {CountryCode, [City], [StateProvince], [PostalCode], [LocationID]} |
| CountryCode | Код страны ISO 3166 |
| City | Название города |
| StateProvince | Название или аббревиатура штата или провинции |
| PostalCode | Почтовый код |
| LocationID | Идентификатор, который использует продавец, чтобы специфицировать один из своих адресов |
| RRTags | { RRPID, MerTermIDs, Date} |
| RRPID | Новый идентификатор пары запрос/отклик |
| MerTermIDs | {MerTermIDs, [TerminalID], [AgentNum], [ChainNum], [StoreNum]} |
| Date | Текущая дата для устаревающих записей |
| MerchantID | Владелец карты заносит эти данные в PIHead. Этот код копируется из MerID в сертификат подписи продавца. |
| TerminalID | Продавец вводит эти данные в AuthReq. |
| AgentNum | Продавец вводит эти данные в AuthReq. |
| ChainNum | Продавец вводит эти данные в AuthReq. |
| StoreNum | Продавец вводит эти данные в AuthReq. |
| Шаг | Действие |
| 1 | Формируется новый RRPID и запоминается в базе данных транзакции. |
| 2 | Заносятся MerTermIDs из записанных данных продавца, описывающих место продажи. |
| 3 | Записывается текущая дата в поле Date. |
| BatchStatus | {OpenDateTime, [ClosedWhen], BatchDetails, [BatchExtensions]} |
| OpenDateTime | Дата и время открытия платежной линии |
| ClosedWhen | {CloseStatus, CloseDateTime} |
| BatchDetails | {CloseDateTime, [BrandBatchDetailsSeq]} |
| BatchExtensions | Данные в расширении для сообщения управления платежами должны носить финансовый характер и быть существенными для обработки административного запроса |
| CloseStatus | Цифровой код, указывающий статус закрытия платежной линии |
| CloseDateTime | Дата и время закрытия платежной линии |
| BatchTotals | {TransactionCountCredit, TransactionTotalAmtCredit, TransactionCountDebit, TransactionTotalAmtDebit, [BatchTotalExtensions]} |
| BrandBatchDetailsSeq | {BrandBatchDetails +} |
| TransactionCountCredit | Число транзакций, которые внесли вклад в кредит продавца. |
| TransactionTotalAmtCredit | Полная сумма, внесенная на счет продавца |
| TransactionCountDebit | Число транзакций, которые внесли вклад в дебет продавца |
| TransactionTotalAmtDebit | Полная сумма, снятая со счета продавца |
| BatchTotalExtensions | Данные расширения отклика управления платежами должны носить финансовый характер и быть существенными для обработки административного запроса.Информация, относящаяся к обработке запроса, должна появляться в расширении BatchAdminResData. Информация, имеющая отношение к состоянию платежной линии, должна лежать в расширении BatchStatus. Информация, относящаяся к деталям по конкретной позиции заказа, присутствует в расширении TransactionDetail. |
| BrandBatchDetails | {BrandID, BatchTotals} |
| BrandID | Тип платежной системы карты без типа продукта |
| TransactionDetail | {TransIDs, AuthRRPID, BrandID, BatchSequenceNum, [ReimbursementID], TransactionAmt, TransactionAmtType, [TransactionStatus], [TransExtensions]} |
| TransIDs | Идентификаторы транзакций обработки авторизации/оплаты для заданной позиции |
| AuthRRPID | RRPID, который присутствует в соответствующих AuthReq или AuthRevReq |
| BrandID | Платежная система карты (без типа продукта) |
| BatchSequenceNum | Порядковый номер позиции в пакете платежей |
| ReimbursmentID | Цифровой код, указывающий на тип оплаты для заданной позиции |
| TransactionAmt | Сумма для позиции, тип которой указан в TransactionAmtType. Сумма всегда обозначается положительным числом. |
| TransactionAmtType | Цифровой код, указывающий тип суммы (кредит или дебет) |
| TransactionStatus | Цифровой код, индицирующий результат прохождения транзакции для вышестоящей системы |
| TransExtensions | Данные в расширении для административного отклика последовательности платежей (batch) должны иметь финансовый характер и использоваться при обработке административного запроса для заданной последовательности платежей. Информация, имеющая отношение к обработке запроса должна размещаться в расширении BatchAdminResData. |
| Поле | Определение |
| currency (валюта) | Значение представляется в виде строки ASCII-символов, характеризующей три цифры кода валюты (ISO 4217) Например, платеж в долларах США будет обозначен кодом 840. Возможные значения лежат в диапазоне 1-999 включительно. |
| amount (cумма) | Значение представляется в виде строки ASCII-символов, характеризующей сумму платежа в указанной валюте. Значение должно соответствовать положительному числу. |
| amtExp10 | Значение представляется в виде строки ASCII-символов, характеризующей десятичный показатель степени:cумма * (10amtExp10). Значение может быть как положительным, так и отрицательным. |



| Шаг | Действие |
| 1 | Сформировать RRPID для идентификации сообщения и установления соответствия между запросом и откликом |
| 2 | Занести в поле Language, значение которое выбрал владелец карты для данной транзакции |
| 3 | Сформировать идентификатор LID-C, который является идентификатором пары сообщений, так как XID еще не присвоен. Этому полю могут присваиваться числа натурального ряда или случайные коды. |
| 4 | Если продавец при инициации SET-процесса предоставил код LID-M, скопировать его в сообщение. |
| 5 | Сформировать новый код Chall-C |
| 6 | На основе выбранной формы платежа заполнить BrandID (из программы-магазина или из программы инициализации SET). |
| 7 | Заполнить поле BIN (первые 6 цифр номера счета владельца карты) |
| 8 | Опционно. Заполнить оттиски для сертификатов, CRL и BrandCRLIdentifier, имеющиеся у владельца карты. Сюда должен входить корневой сертификат. |
| 9 | Записать в базу данных транзакций RRPID, LID-C, LID-M (если имеется), Chall-C и оттиски (если имеются). |
| 10 | Опционно. Заполнить любые расширения PInitReq. |
| 11 | Занести все это в цифровой конверт и послать продавцу |
| PInitReq | { RRPID, Language, LID-C, [LID-M], Chall-C, BrandID, BIN, [Thumbs], [PIRqExtensions]} |
| RRPID | Идентификатор пары запрос/отклик |
| Language | Естественный язык владельца карты |
| LID-C | Локальный ID. Метка, формируемая системой владельца карты или для нее. |
| LID-M | Копируется из сообщения инициации SET (если имеется) |
| Chall-C | Вызов владельца карты, служащий для гарантии новизны подписи продавца |
| BrandID | Выбранная владельцем карты платежная система |
| BIN | Номер идентификации банка из номера счета владельца карты (первые 6 цифр) |
| Thumbs | Оттиски списка сертификатов, CRL и BrandCRLIdentifier из кэша владельца карты |
| PIRqExtensions | Запрос инициализации покупки незашифрован, по этой причине эти расширения не должны содержать конфиденциальных данных. |
| Шаг | Действие |
| 1 | Извлечь запрос из входного сообщения |
| 2 | Если LID-M присутствует, найти запись транзакции, базирующуюся на LID-M. Если запись не найдена: |
| 3 | Если LID-M отсутствует, найти запись транзакции, на основе критериев, выходящим за пределы регламентаций SET. Если продавец не сформировал LID-M для этой транзакции, опционно сгенерировать LID-M и занести его в запись транзакции. |
| 4 | Сформировать новый XID |
| 5 | Занести XID, RRPID, Language, LID-C, Chall-C, BrandID и BIN в запись транзакции |
| 6 | Если оттиски присутствуют, произвести спасение записи транзакции |
| 7 | Если имеется какое-либо расширение PInitReq, произвести его обработку. Если расширение не распознано и флаг критичности равен TRUE, сформировать сообщение Error, в противном случае игнорировать расширение. Если расширение распознано, его следует обработать. |
| Шаг | Действие |
| 1 | Сформировать структуру данных PInitRes следующим образом: |
| 2 | Ввести Compose SignedData. Если оттиск для Cert-PE не получен в PInitReq, включить в подпись Cert-PE. |
| 3 | Вставить все эти данные в цифровой конверт и послать владельцу карты |
| PInitRes | S(M, PInitResData) |
| PInitResData | {TransIDs, RRPID, Chall-C, Chall-M, [BrandCRLIdentifier], PEThumb, [Thumbs], [PIRsExtensions]} |
| TransIDs | Смотри описание структуры TransID выше |
| RRPID | Идентификатор пары запрос/отклик |
| Chall-C | Копируется из сообщения PInitReq |
| Chall-M | Вызов продавца, служащий для проверки новизны подписи владельца карты |
| BrandCRLIdentifier | Список текущих CRL для всех СА в рамках заданной платежной системы. |
| PEThumb | Оттиск сертификата ключевого обмена расчетного центра. |
| Thumbs | Копируется из PInitReq |
| PIRsExtensions | Запрос инициализации покупки незашифрован, по этой причине эти расширения не должны содержать конфиденциальных данных. |
| Шаг | Действие |
| 1 | Извлечь PInitRes из входного сообщения |
| 2 | Вызвать Receive SignedData |
| 3 | Проверить TransID следующим образом: |
| 4 | Сравнить RRPID со значением из записи транзакции. Если они отличаются, то: |
| 5 | Сравнить Сhall-C со значением из записи транзакции. Если они отличаются, то: |
| 6 | В опционном варианте управления со стороны владельца карты из сертификата продавца извлекается его имя и отображается для пользователя. Если владелец карты одобряет кандидатуру, процесс продолжается, в противном случае обработка PInitRes прерывается. |
| 7 | Занести данные, включая TransID и Chall-M, в запись транзакции |
| 8 | Обработать BrandCRLIdentifier, если он присутствует. |
| 9 | Использовать PEThumb для идентификации сертификата шифрования (Cert-PE), чтобы использовать в PReq при шифровании данных для расчетного центра. |
| 10 | Проверить, что сертификат платежной системы продавца и сертификат расчетного центра (Cert-PE) согласуются с платежной системой владельца карты, указанной в PInitReq. Если согласия нет, владелец карты оповещается об этом, а обработка PInitReq прерывается. |
| 11 | Если поле Thubs присутствует, сравнить его значение с тем, что прислано в PInitReq. Если значения совпадают, перейти к исполнению пункта 14, в противном случае: |
| 12 | Если поле Thumbs отсутствует, проверить, что Thumbs не было послано в PInitReq. Если Thumbs было послано в PInitReq, о: |
| 13 | Если PIRsExtensions существуют, их необходимо обработать. Если они не распознаны, а флаг критичности (criticality) равен TRUE, сформировать сообщение Error, в противном случае расширения следует игнорировать. |
| 14 | Проверить Cert-PE (идентифицированный в PEThumb) для неподписанных транзакций. Если индикатор в Cert-PE не допускает неподписанных транзакций, а владелец карты не имеет сертификата, информировать его о том, что транзакция не может быть продолжена и прервать обработку. |
| 15 | Владелец карты может теперь продолжить процедуру посылкой запроса покупки. |

| Шаг | Действие | ||
| 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 посредством следующей процедуры: | ||
| 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 согласно процедуре: | ||
| c) | Скопировать MerchandID из сертификата продавца в PInitRes, или из CD-ROM-каталога | ||
| d) | Скопировать InstallRecurData из пункта 2.d.4 (если имеется) | ||
| e) | Сформировать TransStain, как HMAC, используя XID в качестве данных и CardSecret - в качестве ключа. Если владелец карты не имеет сертификата, использовать CardSecret, заполненный нулями. | ||
| f) | Записать SWIdent, который получен из локальных данных. Это значение будет соответствовать коду в цифровом конверте сообщения | ||
| g) | Если присутствует туннельное расширение Cert_PE, сформировать AcqBackInfo следующим образом: | ||
| h) | Опционно добавить любые PIExtensions | ||
| 4 | Сформировать PANData | ||
| 5 | Сгенерировать PU-OIData c L-оператором, используя PIHead из пункта 3 (параметр t1) и OIData из пункта 2 (параметр t2) | ||
| 6 | Используя результат пунктов 2, 3 и 4, сгенерировать PreqDualSigned, если владелец карты имеет сертификат или PreqUnsigned, если сертификата нет. | ||
| Шаг | Действие |
| 1 | Сформировать PISignature: |
| 2 | Применить оператор EX, используя общедоступный ключ расчетного центра (параметр r), PI-OILink от владельца карты создает PReq шаг 5 (параметр t), а PANData от владельца карты создает PReq шаг 4 (параметр p) |
| 3 | Образовать PIDualSigned как объединение подписи PISignature, вычисленной в пункте 1, и шифрованных данных, полученных на шаге 2. |
| 4 | Генерируем PIData как объединение HIHead из PReq владельца карты, (см. пункт 3 предшествующей таблицы), и PANData владельца карты, которая создается в пункте 4 при формировании PReq (см. предшеств. табл.). |
| 5 | Генерируем OIDualSigned, посредством оператора L, используя OIData от владельца карты, создаем PReq - пункт 2 (параметр t1) и данные PIData, полученные в пункте 4 (параметр t2) |
| 6 | Генерируем PReqDualSigned как объединение PIDualSigned из пункта 3 и OIDualSigned из пункта 5. |
| PReqDualSigned | {PIDualSigned, OIDualSigned} |
| PIDualSigned | Смотри описание PI (выше) |
| OIDualSigned | L(OIDualSigned, PIData) |
| OIData | Смотри табл. 4.6.2.59 |
| PIData | {PIHead, PANData} |
| PReqUnsigned | {PIUnsigned, OIUnsigned} |
| PIUnsigned | Смотри описание PI (выше) |
| OIUnsigned | L(OIData, PIDataUnsigned) |
| OIData | Смотри табл. 4.6.2.59 |
| PIDataUnsigned | {PIHead, PANToken} (см. табл. 4.6.2.40 и 4.6.2.45) |
| OIData | {TransIDs, RRPID, Chall-C, HOD, ODSalt, [Chall-M], BrandID, BIN, [ODExtOIDs], [OIExtensions]} |
| TransIDs | Копируется из PInitRes, если имеется |
| RRPID | ID пары запрос/отклик |
| 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 должны относиться к обработке заказа продавцом. Эта информация должна быть известна независимо владельцу карты и продавцу. |
| Шаг | Действие |
| 1 | Извлекает PReq из входного сообщения |
| 2 | Если получено PReqDualSigned, производит проверку подписи; |
| 3 | Если получено PReqUnsigned, проверяет, что сертификат платежной системы (Cert-PE) допускает PReqUnsigned. Если нет, то: |
| 4 | Производит обработку TransIDs: Проводит поиск транзакций, базирующихся на XID. Если запись такой транзакции найдена Сравнивает LID-C и LID-M с записью. Если соответствия нет: |
| 5 | Проверяет, что BrandID в сертификате владельца карты соответствует BrandID в PInitReq и/или OIData. Если соответствия нет, то: |
| 6 | Запоминает Chall-C, чтобы вернуть его в последующем PRes |
| 7 | Запоминает оставшиеся переменные из сообщения в базе данных |
| 8 | Сверяет HOD c сформированным хэшем OD, PurchAmt, ODSalt, InstallRecurData (если имеется) и ODExtensions (если имеется) |
| 9 | Начиная с этого момента, продавец может, если захочет, послать PRes владельцу карты, или ждать пока от расчетного центра не будет получено сообщение AuthRes |
| Шаг | Действие |
| 1 | Сформировать PResData: |
| 2 | Ввести Compose SignedData |
| 3 | Вставить сообщение в цифровой конверт и послать владельцу карты |
| Шаг | Действие |
| 1 | Если выполнена только авторизация: |
| 2 | Если оплата (capture) выполнена: |
| 3 | Если кредитование осуществлено; |
| 4 | Опционно добавить любые PRsExtensions |
| Шаг | Действие |
| 1 | Скопировать AcqCardMsg из AuthRes, если этот отклик имеется |
| 2 | Если позиция авторизована, сформировать AuthStatus: |
| 3 | Если позиция оплачена, сформировать CapStatus: |
| 4 | Сформировать CredStatusSeq как последовательность CredStatus для каждой выполненной и не отмененной кредитной операции. Сформировать CredStatus: |
| PRes | S(M, PresData) |
| PResData | {TransIDs, RRPID, Chall-C, [BrandCRLIdentifier], PresPayloadSeq} |
| TransIDs | Копируется из PReq |
| RRPID | Идентификатор пары запрос/отклик |
| Chall-C | Копируется из соответствующего PInitReq |
| BrandCRLIdentifier | Список текущих CRL для всех СА в зоне ответственности СА платежной системы |
| PResPayloadSeq | {PresPayload +} Одна запись для каждой выполненной авторизации. Отмена авторизации удаляет запись из PResPayload. Если не было авторизаций, появляется одна позиция с соответствующей статусной записью |
| PResPayload | См. табл. 4.6.2.61 |
| PResPayload | {CompletionCode, [Results], [PrsExtensions]} |
| CompletionCode | Цифровой код, указывающий на состояние завершения транзакции |
| Results | {[AcqCardMsg], [AuthStatus], [AuthStatus], [CredStatusSeq]} |
| PRsExtensions | Отклик на запрос покупки не зашифрован и по этой причине не должен содержать конфиденциальную информацию |
| AcqCardMsg | Копируется из AuthRes (см. табл. 4.6.2.43) |
| AuthStatus | {AuthDate, AuthCode, AuthRatio, [CurrConv]} |
| CapStatus | {CapData, CapCode, CapRatio} Данные присутствуют здесь, только если CapReq соответствует выполненной авторизации. Сообщение CredRevReq удаляет эти данные. |
| CredStatusSeq | {CredStatus +} Данные присутствуют, только если CredReq соответствует выполненной авторизации. Сообщение CredRevReq удаляет эти данные. |
| AuthDate | Данные авторизации. Копируются из AuthRRTags.Date (см. табл. 4.6.2.64) |
| AuthCode | Цифровой код, указывающий на состояние авторизационного процесса. Копируется из AuthResPayload. |
| AuthRatio | AuthReqAmt ч PurchAmt |
| CurrConv | {CurrConvRate, CardCurr} Информация о конвертировании валюты, копируется из AuthResPayload |
| CapData | Дата оплаты, копируется из CapPayload |
| CapCode | Цифровой код, указывающий на состояние оплаты, копируется из CapResPayload |
| CapRatio | CapReqAmt ч PurchAmt |
| CreditStatus | {CreditDate, CreditCode, CreditRatio} Данные присутствуют, только если реализован запрос CreditReq. Эта информация удаляется CredRevReq |
| CreditDate | Дата кредита. Копируется из CapRevOrCredCode. |
| CreditCode | Цифровой код, указывающий на состояние кредита. Копируется из CapRevOrCredResPayload.CapRevOrCredCode. (см. табл. 4.6.2.74) |
| CreditRatio | CapRevOrCredReqAmt ч PurchAmt |
| meanonglessRatio | PurchAmt=0; отношение не может быть вычислено |
| orderRejected | Продавец не может обработать заказ |
| orderReceived | Процессы авторизации отсутствуют |
| orderNotReceived | Информационный запрос получен до заказа |
| authorizationPerformed | См. AuthStatus |
| capturePerformed | См. CapStatus |
| creditPerformed | См. CreditStatus |
| Шаг | Действие |
| 1 | Извлекается отклик из входного сообщения |
| 2 | Чтобы проверить подпись продавца, производится обращение к Received Signed Data, |
| 3 | На основе Trans.LID-C ищется запись транзакции. Если запись не найдена: |
| 4 | Сравнить значения TransIDs.XID с XID из записи транзакции. Если равенства нет: |
| 5 | Сравнить значения RRPID из сообщения и записи транзакции. Если совпадения нет: |
| 6 | Сравнить значения Chall-C из сообщения и записи транзакции. Если совпадения нет: |
| 7 | Запомнить BrandCRLIdentifier и проверить, что перечисленные CRL содержаться в кэше. Если это не так, и перечисленные CRL относятся к элементам, чьи сертификаты использовались для верификации подписи, сообщение игнорируется, так как подпись может быть некорректной. |
| 8 | Для каждого PResPayload из PresPayloadSeq выполняются следующие действия: |
| Шаг | Действие |
| 1 | |
| 2 | Если владелец карты послал подписанный PReq, вставить Compose SignedData c InqReqData |
| 3 | Вставить сообщение в цифровой конверт и послать продавцу |
| InqReq | |
| InqReqSigned | S(C, InqReqData) |
| InqReqData | {TransIDs, RRPID, Chall-C2, [InqRqExtensions]} |
| TransIDs | Копируется из самого последнего: PReq, PRes, InqReq |
| RRPID | Идентификатор пары запрос/отклик |
| Chall-C2 | Новый вызов владельца карты по поводу подписи продавца. |
| InqRqExtensions | Информационный запрос не шифруется, по этой причине расширения не должны содержать конфиденциальной информации. |
| Шаг | Действие |
| 1 | Извлекается запрос из входного сообщения |
| 2 | Если получены данные InqReqData (в противоположность InqReqSigned), проверить, позволяет ли сертификат расчетного центра неподписанные транзакции. Если он этого не допускает, тогда: |
| 3 | Если получен InqReqSigned, проверить подпись. Если проверка подписи не прошла: |
| 4 | Сравнить TransIDs со значениями из цифрового конверта сообщения. Если равенства нет: |
| 5 | Искать транзакцию в базе данных, основанную на TransIDs.XID. Если поиск неудачен: |
| 6 | Если PReq был подписан, проверить, что PReq и InqReq подписаны одним и тем же владельцем карты. Если соответствия нет, то: |
| 7 | Сформировать PResPayloadSeq |

| Шаг | Действие |
| 1 | Сгенерировать AuthTags (см. табл. ниже) |
| 2 | Сгенерировать HOD2 путем хэширования OD, PurchAmt, ODSalt, ODExtensions и, если имеется, InstallRecurData. Расчетный центр сравнит его значение с полученным в PI. |
| 3 | Сгенерировать AuthReqPayload (см. табл. ниже) |
| 4 | Опционно для одновременной авторизации и резервирования заказа: |
| 5 | Включить CheckDigest с вычисленными продавцом H(OIData) и HOD2. H(PIData) копируется продавцом из PReq. Это поле опускается, если запрос AuthReq представляет последовательную авторизацию, базирующуюся на присланном из расчетного центра коде AuthToken. |
| 6 | Рекомендуется заполнить MThumbs путем вычисления оттисков сертификатов и CRL, хранимых продавцом. Продавец должен внести в сообщение оттиски, которые могут потребоваться позднее для верификации подписи и сертификатов расчетного центра. |
| 7 | Осуществить EncB-инкапсуляцию |
| 8 | Включить сертификаты подписи и шифрования отправителя и всей цепи сертификации вплоть до сертификата платежной системы. |
| 9 | Поместить сообщение в цифровой конверт и отправить адресату |
| Шаг | Действие |
| 1 | Заполнить поле AuthRRTags (см. табл. 4.6.2.52) |
| 2 | Заполнить поле TransIDs. Если это последовательная авторизация и определено PaySysID, занести его значение в поле PaySysID. |
| 3 | Если это многоэтапный платеж и банк продавца задал для авторизации значение AuthRetNum, скопировать AuthRetNum из предыдущего AuthRes |
| Шаг | Действие |
| 1 | Если планируется обработка последовательных авторизаций для покупки и это не последняя авторизация, установить SubsequentAuthInd равным TRUE, в противном случае FALSE. |
| 2 | Если продавец и владелец карты договорились о рекуррентных или поэтапных платежах, заполнить поле InstallRecurData |
| 3 | Установить AuthReqAmt равным числу авторизаций |
| 4 | Опционно присвоить CardSuspect соответствущее значение, если продавец имеет какие-то подозрения относительно владельца карты. |
| 5 | Если при некотором платеже необходимы данные MerchData, добавить их в сообщение. |
| 6 | Сформировать MarketSpecAuthData, если это диктуется платежной системой карты или типом покупки. |
| 7 | Если политика платежной системы карты требует наличия AVSData, записать в это поле информацию, предоставленную владельцем карты. |
| 8 | Если политика платежной системы карты требует наличия SpecialProcessing, сгенерировать его значение. |
| 9 | Если продавец требует информацию о типе платежной карты, установить RequestCardTypeInd = TRUE. |
| AuthReq | EncB(M, P, AuthReqData, PI) |
| AuthReqData | {AuthReqItem, [Mthumbs], CaptureNow, [SaleDetail]} |
| PI | См. табл. 4.6.2.39. |
| AuthReqItem | {AuthTags, [CheckDigests], AuthReqPayload} |
| MThumbs | Оттиски сертификатов, CRL и BrandCRLIdentifiers, хранимые в данный момент в кэше продавца. |
| CaptureNow | Булева переменная, указывающая, что резервирование должно проводиться, если проведена авторизация. |
| SaleDetail | См. табл. 4.6.2.47 |
| AuthTags | {AuthRRTags, TransIDs, [AuthRetNum]} |
| CheckDigests | {HOIData, HOD2}используется расчетным центром для аутентификации PI. Опускается, если PI = AuthToken |
| AuthReqPayload | См. табл. 4.6.2.65 |
| AuthRRTags | RRTags Необходим RRPID, так как для одного PReq может потребоваться более одного цикла авторизации. |
| TransIDs | Копируется из соответствующего поля OIData (см. табл. 4.6.2.59) |
| AuthRetNum | Идентификация запроса авторизации, используемого в пределах финансовой сети. |
| HOIData | DD(OIData) (См. табл. 4.6.2.59) Независимый хэш, вычисляемый продавцом. Расчетный центр сравнивает это значение с копией, сформированной владельцем карты в PI. |
| HOD2 | DD(HODInput) (См. табл. 4.6.2.59) Вычисляется независимо продавцом. Расчетный центр сравнивает это значение с копией, сформированной владельцем карты в PI. |
| AuthReqPayload | {SubsequentAuthInd, AuthReqAmt, [AVSData], [SpecialProcessing], [CardSuspect], RequestCardTypeInd, [InstallRecurData], [MarketSpecAuthData], MerchData, [ARqExtensions]} |
| SubsequentAuthInd | Булева переменная, указывающая на запросы со стороны продавца дополнительной авторизации из-за раздельной поставки |
| AuthReqAmt | Может отличаться от PurchAmt; политика банка продавца может наложить ограничение на допустимое отличие |
| AVSData | {[StreetAddress], Location} Адрес счета владельца карты: содержимое получается от владельца карты посредством механизмов, выходящих за пределы SET. |
| SpecialProcessing | Числовое поле, указывающее тип запрошенной обработки |
| CardSuspect | Числовое поле, указывающее, что продавец подозревает владельца карты, и на причину подозрения |
| RequestCardTypeInd | Указывает, что тип карты должен быть прислан в поле CardType отклика. Если информация недоступна, присылается значение unavailable(0). |
| InstallRecurData | См. табл. 4.6.2.41. |
| MarketSpecAuthData | < MarketAutoAuth, MarketHotelAuth, MarketTransportAuth > Специфические авторизационные данные рынка |
| MerchData | {[MerchCatCode], [MerchGroup]} |
| ARqExtensions | Данные в расширении авторизационного запроса должны иметь финансовый характер и относиться к процессу авторизации (или последующей оплаты заказа) расчетного центра, финансовой сети или эмитента карты. |
| StreetAddress | Адрес улицы владельца карты |
| MarketAutoAuth | {Duration} |
| MarketHotelAuth | {Duration, [Prestige]} |
| MarketTransportAuth | {} В настоящее время нет авторизационных данных для этого сегмента рынка |
| MerchCatCode | 4-байтовый код (определен в ANSI X9.10), описывающий тип бизнеса, продукта или услуги продавца. |
| MerchGroup | Числовой код, идентифицирующий общую категорию продавца |
| Duration | Ожидаемая длительность транзакции (в днях). Эта информация помогает понять, какое время пройдет со времени авторизации до оплаты заказа (capture). |
| Prestige | Числовой тип приоритета, определяется платежной системы карты. |
| Шаг | Действие |
| 1 | Извлечь запрос из транспортного сообщения |
| 2 | Дешифровать PI |
| 3 | Сравнить TransIDs из AuthTags и PIHead или AuthToken: |
| 4 | Если PI является AuthToken: |
| 5 | Проверить состояние авторизации PI. Если PI была обработана и не отвергнута или отозвана, отвергнуть авторизацию, послав AuthCode = piPreviouslyUsed |
| 6 | Обработать PIHead: |
| 7 | Если в AuthReq имеется InstallRecurData, проверить, что InstallRecurData в AuthReqPayload и в PIHead совпадают. Если это не так, отклонить авторизацию с AuthCode = InstallRecurMismatch. |
| 8 | Запомнить AcqBackInfo в безопасной локальной памяти, если таковая имеется. |
| 9 | Если captureNow=TRUE и платежная система не поддерживает этот режим, послать AuthCode = captureNotSupported |
| 10 | Выполнить авторизацию через финансовую сеть платежной карты |
| 11 | Если captureNow=TRUE, выполнить платеж через существующую финансовую сеть платежной карты |
| 12 | Продолжить формирование сообщения AuthRes |
| Шаг | Действие |
| 1 | Получить необходимые данные от авторизационного процесса |
| 2 | Заполнить поле AuthTags из AuthReq. Если это необходимо, занести в поле AuthRetNum, значение, полученное из авторизационного процесса. |
| 3 | Заполнить текущее значение BrandCRLIdentifier, хранимое расчетным центром, если для текущего BrandCRLIdentifier не получен оттиск или он устарел. |
| 4 | Если Mthumbs из AuthReq указывает, что продавцу нужен новый Cert-PE шифрования информации для расчетного центра: |
| 5 | Заполнить поле PaySysID в TransIDs, если они получены из авторизационного процесса |
| 6 | Заполнить поле PANToken, если это необходимо для сертификата продавца, |
| 7 | Заполнить AuthResBaggage (опционно): |
| 8 | Опционно заполнить BatchStatus, как этого требует политика платежной системы карты. |
| 9 | Если PANToken имеется, реализовать EncBX-инкапсуляцию |
| 10 | Вставить сообщение в цифровой конверт и отправить владельцу карты |
| Шаг | Действие |
| 1 | Сгенерировать CapResPayload |
| Заполнить AuthCode и AuthAmt c привлечением результатов авторизационного процесса | |
| 3 | Заполнить поле CurrConv в соответствии с запрошенным владельцем карты типом валюты и с учетом текущего курса, если специфицирована валюта, отличная от используемой владельцем карты. |
| 4 | Заполнить ResponseData: |
| AuthRes | |
| AuthResData | {AuthTags, [BrandCRLIdentifier], [PEThumb], AuthResPayload} |
| AuthResBaggage | {[CapToken], [AcqCardMsg], [AuthToken]} |
| PANToken | См. табл. 4.6.2.46. Посылается, если сертификат продавца указывает на то, что информация предназначена продавцу. |
| AuthTags | Копируется из соответствующего AuthReq; TransIDs и AuthRetNum могут быть актуализованы с привлечением текущей информации |
| BrandCRLIdentifier | Список текущих CRL для всех СА в зоне ответственности СА платежной системы. |
| PEThumb | Оттиск сертификата расчетного центра предоставляется, если AuthReq.Mthumbs указывает то, что он нужен продавцу |
| AuthResPayload | См. табл. 4.6.2.67. |
| CapToken | См. табл. 4.6.2.44. |
| AcqCardMsg | Если владелец карты включил AcqBackKeyData в PIHead, расчетный центр может послать это поле продавцу в шифрованном сообщении для владельца карты. Продавец должен скопировать AcqCardMsg в любой последующий отклик PRes или InqRes, посылаемый владельцу карты. |
| AuthToken | Продавец использует это поле в качестве PI в последующих запросах AuthReq. См. табл. 4.6.2.42. |
| AuthResPayload | {AuthHeader, [CapResPayload], [ARsExtensions]} |
| AuthHeader | {AuthAmt, AuthCode, ResponseData, [BatchStatus], [CurrConv]} |
| CapResPayload | Присылается, если CaptureNow имеет значение TRUE в AuthReq. См. табл. 4.6.2.71. |
| ARsExtensions | Данные в расширении к авторизационному отклику должны быть финансовыми и существенными для обработки авторизационного отклика. |
| AuthAmt | Копируется из AuthReqPayload.AuthReqAmt |
| AuthCode | Числовой код, индицирующий результат процесса авторизации |
| ResponseData | {[AuthValCodes], [RespReason], [CardType], [AVSResult], [LogRefID]} |
| BatchStatus | См. табл. 4.6.2.53. |
| CurrConv | {CurrConvRate, CardCurr} |
| AuthValCodes | {[ApprovalCode], [AuthCharInd], [ValidationCode], [MarketSpecDataID]} |
| RespReason | Числовой код, который указывает на объект сервиса авторизации и причину отказа (если таковая имеется) |
| CardType | Числовой код, который указывает на тип карты, использованной для транзакции. |
| AVSResult | Числовой код отклика адресной верификационной службы |
| LogRefID | Алфавитно-цифровые данные, ассоциируемые с авторизационной транзакцией (используется для распознавания при отзыве предшествующего запроса) |
| CurrConvRate | Курс обмена валюты. Значение, на которое нужно умножить AuthReqAmt, чтобы получить сумму в валюте владельца карты. |
| AuthReqAmt | Код валюты владельца карты в стандарте ISO 4217 |
| ApprovalCode | Код одобрения, присваиваемый транзакции эмитентом |
| AuthCharInd | Числовое значение, которое указывает условия, при которых выполнена авторизация. |
| ValidationCode | 4-байтовый алфавитно-цифровой код, вычисленный, чтобы гарантировать, что необходимые поля авторизационных сообщений присутствуют в соответствующих клиринговых сообщениях. |
| MarketSpecDataID | Числовой код, который указывает тип данных, специфических для рынка, представляемых при авторизации (как это определено финансовой сетью) |
| approved | Запрос авторизации удовлетворен |
| unspecifiedFailure | Запрос авторизации не может быть обработан по причине, которая отсутствует в приведенном здесь списке. |
| declined | Запрос авторизации отклонен |
| noReply | Эмитент не откликнулся на запрос авторизации. Это значение часто указывает на временное отсутствие доступа к системе обработки данных эмитента. |
| callIssuer | Эмитент запрашивает телефонный вызов от продавца |
| amountError | Такое число транзакций не может быть обработано системой (банком продавца, финансовой сетью, эмитентом и т.д.) |
| expiredCard | Срок действия карты истек |
| invalidTransaction | Запрос не может быть обработан последующей системой (банком продавца, финансовой сетью, эмитентом и т.д.), так как тип транзакции является недопустимым. |
| systemError | Запрос не может быть обработан последующей системой (банком продавца, финансовой сетью, эмитентом и т.д.), так как запрос содержит в себе некорректные данные. |
| piPreviouslyUsed | Платежная инструкция (PI) в запросе авторизации использовалась для первичной авторизации (отклик, сформированный расчетным центром). |
| recurringTooSoon | Минимальное время между авторизациями для рекуррентной транзакции еще не истекло (отклик, сформированный расчетным центром). |
| recurringExpired | Дата истечения действия для рекуррентной транзакции наступила (отклик, сформированный расчетным центром) |
| piAuthMismatch | Дата в PI от владельца карты не согласуется с данными в OD от продавца. |
| installRecurMismatch | InstallRecurData в PI от владельца карты не согласуется с InstallRecurData в OD от продавца. |
| captureNotSupported | Расчетный центр не поддерживает платеж (capture). |
| signatureRequired | Опция неподписанной PI не поддерживается расчетным центром для данной платежной системы. |
| cardMerchBrandMismatch | Платежная система в сертификате подписи владельца карты не согласуется с платежной системой сертификата шифрования расчетного центра. |
| Шаг | Действие |
| 1 | Получить отклик из входного сообщения |
| 2 | Извлечь запись транзакции и сравнить с AuthTags: |
| 3 | Если в сообщение включен BrandCRLIdentifier, запомнить CRL. |
| 4 | Обработать AuthResPayload |
| 5 | Проверить, что GKThumb соответствует существующему сертификату шифрования расчетного центра, если GKThumb имеется. Если соответствия нет, актуализовать кэш сертификата с использованием текущего сертификата |
| 6 | Если BatchStatus присутствует, обработать и запомнить данные. |
| 7 | Обработать AuthResBaggage: |
| 8 | Если присутствует PANToken, записать его в безопасную локальную память |
| 9 | Продолжить обработку оплаты заказа и/или отклика на покупку, в зависимости от результатов авторизации и временных рамок продавца для возвращения отклика на покупку. |
| Шаг | Действие |
| 1 | Обработать ARsExtensions, если они имеются. Если неподдерживаемое расширение помечено как критическое, расчетный центр производит запись в журнал Error = unrecognizedExtension, а сообщение игнорируется. |
| 2 | Обрабатать CapResPayload: |
| 3 | Если имеется CurrConv, запомнить его для переадресации владельцу карты |
| 4 | Обработать AuthCode, AuthAmt и ResponseData: |

| Шаг | Действие |
| 1 | Заполнить поле CapRRTags |
| 2 | Опционно заполнить поля AuthReqData и AuthResPayload. Процедура опускается, если информация содержится в CapToken |
| 3 | Рекомендуется заполнить MThumbs всех сертификатов для расчетного центра, куда посылается это сообщение, для CRL и для BrandCRLIdentifier |
| 4 | Заполнить один или более CapItem в CapSeq следующим образом. Для каждого CapItem: |
| 5 | Заполнить CapTokSeq с помощью CapToken из соответствующих сообщений AuthRes, полностью тождественных с CapItem в CapSeq. Если CapToken для транзакции отсутствует, заносится нуль. |
| 6 | В дополнительные позиции инкапсуляции EncBX заносятся PANToken, если продавец получил PANToken |
| 7 | Опционно заполняется CRqExtensions |
| 8 | Если включено PANToken, использовать EncBХ-инкапсуляцию |
| 9 | Если PANToken не включено, использовать EncB-инкапсуляцию |
| 10 | Вложить сообщение в цифровой конверт и послать владельцу карты |
| Шаг | Действие |
| 1 | Занести в поле CapDate текущее значение даты |
| 2 | Занести в CapReqAmt сумму выплаты |
| 3 | Скопировать AuthResPayload из соответствующего AuthRes |
| 4 | Опционно заполнить CPayExtensions |
| CapReq | Если имеется маркер PANToken, он должен соответствовать одному CapItem и одному CapToken в CapTokenSeq. |
| CapReqData | {CapRRTags, [MThumbs], CapItemSeq, [CRqExtensions]} |
| CapTokenSeq | {[CapToken] +} Один или более CapTokens, соответствующие один-в-один CapItems в CapItemSeq. Любой CapToken может быть опущен, т.е. может равняться нулю. |
| PANToken | См. табл. 4.6.2.46. |
| CapRRTags | RRTags. Новый RRPID и Date |
| MThumbs | Оттиски сертификатов, CRL и BrandCRLIdentifier, хранящиеся в кэше продавца. |
| CapItemSeq | {CapItem +} Один или более CapItem в упорядоченном массиве |
| CRqExtensions | Данные в расширении запроса платежа (capture) должны иметь финансовый характер и быть существенными для сообщения capture, посланного расчетному центру, финансовой сети или эмитенту. Данные в этом расширении относятся ко всем позициям запроса оплаты capture. Данные, относящиеся к специфическим позициям, должны помещаться в CapPayload |
| CapToken | Копируется из соответствующего AuthRes или AuthRevRes |
| CapItem | {TransIDs, AuthRRPID, CapPayload} |
| TransIDs | Копируется из соответствующего AuthRes или AuthRevRes |
| AuthRRPID | RRPID, который появляется в соответствующем AuthReq или AuthRev |
| CapPayload | См. табл. 4.6.2.69. |
| 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. |
| Шаг | Действие |
| 1 | Извлечь запрос из входного сообщения |
| 2 | Обработать CRqExtensions. Если какое-либо неподдерживаемое расширение имеет критический флаг, отбросить сообщение, послав сообщение Error = unrecognizedExtension |
| 3 | Для каждого CapItem обработать платеж и сформировать CapResItem с суммой из обрабатываемого платежа и кодом CapCode, соответствующим успеху или неудаче: |
| Шаг | Действие |
| 1 | Обработать CPayExtensions. Если неизвестное расширение помечено как критическое, сообщение отвергается и возвращается сообщение Error unrecognizedExtension |
| 2 | Запомнить SaleDetail |
| 3 | Проверить, что BatchID является открытой платежной линией для BrandAndBIN. |
| 4 | Проверить, что идентификатор BatchSequenceNum является уникальным в рамках платежной линии. Если идентификатор не уникален, отклонить платеж путем возвращения CapCode = batchUnknown. |
| Шаг | Действие |
| 1 | Получить данные о платеже от платежного процесса |
| 2 | Скопировать CapRRTags из CapReq |
| 3 | Заполнить текущее значение BrandCRLIdentifier, имеющееся в расчетном центре, если оттиск для текущего BrandCRLIdentifier не получен или устарел. |
| 4 | Если MThumbs указывают, что продавцу для шифрования информации нужен новый Cert-PE: |
| 5 | Опционно занести в поле BatchSequenceNum состояние текущих платежных линий |
| 6 | Скопировать BatchID и BatchSequenceNum из SaleDetail в CapResPayload |
| 7 | Заполнить CapResSeq. Для каждого CapItem в соответствующем CapReq заполнить CapResItem следующим образом: |
| 8 | Опционно заполнить CRsExtensions |
| 9 | Вставить сообщение в цифровой конверт и послать продавцу |
| Шаг | Действие |
| 1 | Заполнить CapCode и CapAmt результатами обработки соответствующего CapReqItem |
| 2 | Скопировать BatchID и BatchSequenceNum из соответствующего CapReqItem |
| 3 | Опционно заполнить CRsPayExtensions |
| CapRes | Enc(P, M, CapResData) |
| CapResData | {CapRRTags, [BrandCRLIdentifier], [PEThumb], [BatchStatusSeq], CapResItemSeq, [CRsExtensions]} |
| CapRRTags | RRTag>s; копируется из CapReq |
| BrandCRLIdentifier | Список текущих CRL для всех СА в области ответственности платежной системы СА. |
| PEThumb | Оттиск сертификата расчетного центра, предоставляемый, если CapReqData.Mthumbs указывает на то, что продавец в нем нуждается. |
| BatchStatusSeq | {BatchStatus +} |
| CapResItemSeq | {CapResItem +} Заказ соответствует CapReq |
| CRsExtensions | Данные в расширении платежного отклика должны иметь финансовый характер и быть важными для осуществления платежа или последующего возврата денег. |
| BatchStatus | См. табл. 4.6.2.53. |
| CapResItem | {TransIDs, AuthRRPID, CapResPayload} |
| TransIDs | Копируется из соответствующего CapReq |
| AuthRRPID | RRPID, который появился в соответствующем AuthReq или AuthRevReq, копируется из соответствующего CapReq |
| CapResPayload | См. табл. 4.6.2.71. |
| CapResPayload | {CapCode, CapAmt, [BatchID], [BatchSequenceNum], [CRsPayExtensions]} |
| CapCode | Цифровой код, указывающий на состояние платежа |
| CapAmt | Копируется из соответствующего CapReq |
| BatchID | Идентификатор для установления платежной линии между продавцом и его банком. Копируется из соответствующего CapReq |
| BatchSequenceNum | Порядковый номер позиции в текущей последовательности платежей; копируется из соответствующего CapReq |
| CRsPayExtensions | Данные в расширении поля данных платежного отклика должны иметь финансовый характер и быть важными для осуществления платежа ли последующего возврата денег. |
| Шаг | Действие |
| 1 | Извлекается отклик из входного сообщения |
| 2 | Обрабатывается CRsExtensions, если таковые имеются. Если не узнанное расширение помечено как критическое, в рабочий журнал заносится запись Error = unrecognizedExtension, а сообщение CapRes отбрасывается |
| 3 | Извлекается запись транзакции и производится сравнение CapRRTags: |
| 4 | Если в сообщение включен BrandCRLIdentifier, запомнить все CRL. |
| 5 | Проверить, что GKThumb согласуется с сертификатом шифрования платежного центра (если GKThumb имеется). Если это не так, актуализовать кэш сертификата с использованием текущего сертификата. |
| 6 | Для каждого CapResItem в CapResSeq: |
| 7 | Если BatchStatusSeq присутствует, обработать и запомнить каждое значение BatchStatus |
| success | Платежная позиция обработана расчетным центром успешно |
| unspecifiedFailure | Причина неудачи неизвестна |
| duplicateRequest | Платежный запрос для данной транзакции уже был обработан (для XID и AuthRRPID) |
| authExpired | Авторизационный запрос был обработан слишком давно в прошлом. Это время определяется политикой платежной системы карты. |
| authDataMissing | В платежном запросе отсутствует авторизационная информация |
| invalidAuthData | Авторизационная информация для данной транзакции некорректна |
| capTokenMissing | Для обработки данной позиции необходимо поле CapToken, а его нет |
| invalidCapToken | Поле CapToken некорректно для данной транзакции |
| batchUnknown | Расчетный центр не знает о существовании платежной линии для данной позиции |
| batchClosed | Платежная линия для данной позиции закрыта |
| unknownXID | Не распознан идентификатор XID |
| unknownLID | Не распознан идентификатор LID |
| Шаг | Действие |
| 1 | Сформировать CapRevOrCredRRTags с новым RRPID и текущей датой. |
| 2 | Рекомендуется заполнить MThumbs путем вычисления оттисков сертификатов и CRL, имеющихся у продавца. Продавец должен заполнить оттиски в сообщении, которые могут быть затем нужны для верификации подписей и сертификатов, присылаемых расчетным центром. |
| 3 | Заполнить одну или более позиций в CredRevOrCredReqItems: |
| 4 | Опционно заполнить CRvRqExtensions |
| CapRevOrCredReqData | {CapRevOrCredRRTags, [MThumbs], CapRevOrCredReqItemSeq, [CRvRqExtensions]} |
| CapRevOrCredRRTags | RRTags.Новый идентификатор RRPID и Date для данной пары. |
| MThumbs | Оттиски сертификатов, CRL и BrandCRLIdentifier, хранящиеся в кэше продавца |
| CapRevOrCredReqItemSeq | {CapRevOrCredReqItem +}Один или более CapRevOrCredReqItem в виде упорядоченного массива |
| CRvRqExtensions | Данные расширения отзыва платежа или запроса кредита должны иметь финансовый характер и играть важную роль для обработки этих сообщений расчетным центром или эмитентом. |
| CapRevOrCredReqItem | {TransIDs, AuthRRPID, CapPayload, [NewBatchID], CapRevOrCredReqDate, [CapRevOrCredReqAmt], NewAccountInd, [CRvRqItemExtensions]} |
| TransIDs | Копируется из соответствующего CapRes.Поле необходимо, если соответствующий маркер CapToken отсутствует или не содержит подходящих данных авторизационного запроса |
| CapPayload | См. табл. 4.6.2.69 |
| NewBatchID | Это поле специфицирует новый идентификатор платежной линии; оно используется для запросов отзыва платежа для позиций, реализованных в рамках платежной линии, которая была закрыта. BatchID >в CapPayload идентифицирует исходную платежную линию. |
| CapRevOrCredReqDate | Дата подачи запроса |
| CapRevOrCredReqAmt | В кредитных запросах сумма запрашиваемого кредита, которая может отличаться от AuthAmt в CapToken и CapReqAmt в CapPayload |
| NewAccountInd | Указывает, что новый номер счета специфицирован в PANToken; когда это поле установлено, новый номер счета будет записан поверх информации о старом номере счета в CaptureToken или авторизационных данных, хранимых банком продавца. Использование этого поля является предметом политики платежной системы карты или банка продавца. |
| CRvRqItemExtensions | Данные в расширении поля данных отзыва платежа или запроса кредита должны иметь финансовый характер и быть важными для осуществления отзыва платежа или кредита расчетным центром |
| Шаг | Действие |
| 1 | Обрабатываются CRvRqxtensions. Если неподдерживаемое расширение помечено как критическое, возвращается отклик Error = unrecognizedExtensions, а обрабатываемое сообщение отбрасывается. |
| 2 | Обрабатывается каждое CapRevOrCredItem: |
| 3 | На основе TransIDs в AuthRevTags извлекается запись транзакции. |
| Шаг | Действие |
| 1 | Заполнить поле CapRevOrCredTags |
| 2 | Заполнить текущий BrandCRLIdentifier, хранимый расчетным центром, если оттиск BrandCRLIdentifier не получен или устарел. |
| 3 | Если Mthumb указывает, что продавец нуждается в новом Cert-PE при шифровании информации для расчетного центра, то: |
| 4 | Опционно ввести BatchStatus в поле BatchStatusSeq для каждой платежной линии, чье состояние запрошено. |
| 5 | Для каждой позиции в соответствующем CapRevOrCredItems заполнить поле CapRevOrCredResItem следующим образом: |
| 6 | Опционно заполнить CRvRsExtensions |
| CapRevOrCredResData | {CapRevOrCredRRTags, [BrandCRLIdentifier], [PEThumb], [BatchStatusSeq], CapRevOrCredResItemSeq, [CRvRsExtensions] |
| CapRevOrCredRRTags | RRTags; копируется CapRevOrCredRRTags из соответствующего поля CapRevOrCredReqData |
| BrandCRLIdentifier | Список текущих CRL для всех СА в зоне ответственности СА платежной системы. |
| PEThumb | Оттиск сертификата расчетного центра, поставляемого, если CapRevOrCredReq.MThumbs указывает, что продавец в нем нуждается |
| BatchStatusSeq | {BatchStatus +} |
| CapRevOrCredResItemSeq | {CapRevOrCredResItem +} Один или более CapRevOrCredResItem в упорядоченном массиве |
| CRvRsExtensions | Данные в расширении поля данных отклика на запрос отзыва платежа или кредита должны иметь финансовый характер и быть важными для осуществления отзыва платежа или кредита расчетным центром |
| BatchStatus | См. табл. 4.6.2.53. |
| CapRevOrCredResItem | {TransIDs, AuthRRPID, CapRevOrCredResPayload} |
| TransIDs | Копируется из соответствующего CapRevOrCredReqData.AuthReqData.AuthTags |
| AuthRRPID | RRPID, который появляется в соответствующем AuthReq или AuthRevReq |
| CapRevOrCredResPayload | См. табл. 4.6.2.74 |
| CapRevOrCredResPayload | {CapRevOrCredCode, CapRevOrCredActualAmt, [BatchID], [BatchSequenceNum], [CRvRsPayExtensions]} |
| CapRevOrCredCode | Числовой код, характеризующий состояние отзыва платежа или кредита. |
| CapRevOrCredActualAmt | Копируется из соответствующего CapRevOrCredReqItem. |
| BatchID | Идентификатор платежной линии сделки для банка продавца |
| BatchSequenceNum | Порядковый номер позиции в последовательности платежей |
| CRvRsPayExtensions | Расширение поля данных отклика на запрос отзыва платежа или кредита должны иметь финансовый характер и быть важными для обработки отклика на отзыв платежа или кредит. |
| success | Позиция была успешно обработана расчетным центром |
| unspecifiedFailure | Причина неудачи не специфицирована |
| duplicateRequest | Запрос отзыва платежа или кредита для данной транзакции был уже обработан (XID и AuthRRPID) |
| originalProcessed | Запрос платежа для данной позиции был уже обработан |
| originalNotFound | Специфицированная позиция расчетным центром не обнаружена |
| capPurged | Информация о платеже была удалена из памяти транзакций расчетного центра |
| missingCapData | Информация о платеже отсутствует в запросе отзыва платежа или кредита |
| missingCapToken | Необходимый для обработки данной позиции маркер CapToken отсутствует в запросе отзыва платежа или кредита |
| invalidCapToken | Маркер CapToken некорректен |
| batchUnknown | Платежная линия для данной позиции расчетному центру неизвестна |
| batchClosed | Платежная линия для данной позиции уже закрыта |
| Шаг | Действие |
| 1 | Обработать CRvRsExtensions. Если какое-то нераспознанное расширение помечено как критическое, сообщение отбрасывается и посылается отклик Error = unrecognizedExtension. |
| 2 | Обработать CapRevOrCredTags |
| 3 | Извлечь запомненную запись транзакции и обработать TransIDs следующим образом: |
| 4 | Если в сообщение включен BrandCRLIdentifier, запомнить CRL. |
| 5 | Проверить, что GKThumb согласуется с существующим сертификатом шифрования расчетного центра, если GKThumb присутствует. Если соответствия нет, актуализовать кэш сертификата с использованием текущего сертификата. |
| 6 | Для каждого BatchStatus в batchStatusSeq обработать BatchStatus и запомнить результат |
| 7 | Обработать каждый CapRevOrCredResItem в CapRevOrCredResItems следующим образом |
| CapRevReq | CapTokenSeq является внешним “багажом”. Если PANToken содержится в сообщении, поле должно соответствовать одной записи в CapRevData.CapRevOrCredReqItemSeq и одному маркеру CapToken в CapTokenSeq |
| CapRevData | CapRevOrCredReqData |
| CapTokenSeq | {[CapToken] +}Один или более CapTokens, при полном соответствии последовательности CapRevOrCredReqItem в CapRevOrCredReqData.CapRevOrCredReqItemSeq. Заметим, что только маркер CapToken может быть опущен; т.е., может быть нулем (NULL) |
| PANToken | См. табл. 4.6.2.46 |
| CapToken | Копируется из соответствующего AuthRes или AuthRevRes |
| CapRevRes | Enc(P,M, CapRevResData) |
| CapRevResData | CapRevOrCredResData |
| Шаг | Действие |
| 1 | Генерируется информация CredReqData |
| 2 | Для каждой позиции CapRevOrCred в CapRevOrCredItems заполнить позицию в CapTokSeq следующим образом: |
| 3 | Если доступно или необходим новый PAN, заполнить PANToken в дополнительную нишу EncBX-инкапсуляции. Если PANToken имеется, только одна позиция может присутствовать как в CredReqData, так и CapTokSeq |
| 4 | Если PANToken имеется, использовать EncBX-инкапсуляцию, в противном случае EncB-инкапсуляцию. |
| 5 | Вставить сообщение в цифровой конверт и послать владельцу карты |
| CredReq | <EncB(M, P, CredReqData, CapTokenSeq), EncBX(M, P, CredReqData, CapTokenSeq, PANToken)> CapTokenSeq является внешним “багажом”. Если PANToken имеется, он должен соответствовать одной записи в CredReqData.CapRevOrCredReqItemSeq и одной CapToken в CapTokenS |
| CredReqData | CapRevOrCredReqData ; см. табл. 4.6.2.72. |
| CapTokenSeq | {[CapToken] +} Один или более CapTokens в соответствии один-к-одному с CapRevOrCredReqItem последовательностью в CapRevOrCredReqData.CapRevOrCredReqItemSeq. Заметим, что любой маркер CapToken может быть опущен, т.е., может быть NULL |
| PANToken | См. табл. 4.6.2.46 |
| CapToken | Копируется из соответствующего AuthResили AuthRevRes |
| Шаг | Действие |
| 1 | Извлекается запрос из входного сообщения |
| 2 | Для каждой позиции, для которой продавец получил маркер CapToken: |
| 3 | Для каждой транзакции в сообщении реализовать кредитную операцию, используя существующую финансовую сеть платежной карты, как это специфицировано в содержимом CapRevOrCredItem. |
| Шаг | Действие |
| 1 | Получить отклик из финансовой сети платежной карты |
| 2 | Сгенерировать CredResData, как это описано в CapRevOrCredResData, используя результаты из финансовой сети платежной карты. Заполнить RRTags, полученные в запросе |
| 3 | Включить Enc-инкапсуляцию для полученных результатов |
| 4 | Поместить сообщение в цифровой конверт и отправить владельцу карты |
| CredRes | Enc(P, M, CredResData) |
| CredResData | CapRevOrCredResData; см. табл. 4.6.2.74. |
| Шаг | Действие |
| 1 | Сформировать CredRevReqData, как это описано в разделе CapRevOrCredReq |
| 2 | Для каждой позиции CapRevOrCred в CapRevOrCredItem заполнить позицию в CapTokSeq следующим образом: |
| 3 | Если доступен или необходим новый PAN, занести PANToken в дополнительную нишу EncBX-инкапсуляции.Если PANToken в наличии, только одна позиция может присутствовать как в CredRevReqData, так и в CapTokSeq. |
| 4 | Если PANToken присутствует, включить EncBX-инкапсуляцию. В противном случае - EncB-инкапсуляцию. |
| 5 | Вставить сообщение в цифровой конверт и направить владельцу карты |
| CredRevReq | CapTokenSeq является внешним “багажом”. Если PANToken имеется, он должен соответствовать одной записи в CredRevReqData.CredRevReqSeq и однму маркеру CapToken в CapTokenSeq. |
| CredRevReqData | CapRevOrCredReqData; см. табл. 4.6.2.72 |
| CapTokenSeq | {[CapToken] +} Один или более CapTokens, в соответствии один-к-одному с CredRevReqItem в CapRevOrCredReqData.CapRevOrCredReqItemSeq. Заметим, что любой CapToken может быть опущен, т.е. может быть NULL |
| PANToken | См. табл. 4.6.2.46 |
| CapToken | Копируется из соответствующего AuthRes<=2> или AuthRevRes |
| Шаг | Действие |
| 1 | Выделить запрос из входного сообщения |
| 2 | Для каждой позиции, для которой продавец получил CapToken: |
| 3 | Для каждой транзакции в сообщении выполнить отзыв кредита, используя существующую финансовую сеть расчетной карты, как это специфицировано содержимым CapRevOrCredItem |
| Шаг | Действие |
| 1 | Получить отклик из финансовой сети платежной карты |
| 2 | Сформировать CredRevResData, как это описано в разделе CredRevOrCredResData, используя результаты из финансовой сети карты. Заполнить RRTags, полученные в запросе. |
| 3 | Включить для полученного результата Enc-инкапсуляцию |
| 4 | Вложить отклик в цифровой конверт и отправить владельцу карты |
| CredRevRes | Enc(P, M, CredRevResData) |
| CredRevResData | CredRevOrCredResData; См. табл. 4.6.2.74. |
| Шаг | Действие |
| 1 | Извлекается отклик из входного сообщения |
| 2 | Обрабатывается CredRevResData, как это описано в разделе о CapRevOrCredResData. Для каждого CapRevOrCredResItem проверяется CapRevOrCredCode, чтобы определить результат и записать сумму успешного платежа. |
| Шаг | Действие |
| 1 | Заполнить PCertTags, как это описано в разделе о RRTags табл. 4.6.2.52. |
| 2 | Рекомендуется заполнить отклики Mthumbs путем вычисления оттисков сертификатов и CRL, хранящихся у продавца. Продавец должен занести оттиски в сообщение, которое может потребоваться позднее для верификации подписей и сертификатов, предоставленных расчетным центром. Включение этого поля служит оптимизации с целью уменьшения передач сертификатов и CRL в последующих сообщениях из расчетного центра. |
| 3 | Заполнить BrandIDSeq одним или более BrandIDandBIN, для которого необходимы сертификаты: |
| 4 | Опционно заполнить поле PCRqExtensions |
| 5 | Ввести S (см. описание оператора подпись выше) |
| 6 | Вложить сообщение в цифровой конверт и отправить владельцу карты |
| PCertReq | S(M, PCertReqData) |
| PCertReqData | {PCertTags, [MThumbs], BrandAndBINSeq, [PCRqExtensions]} |
| PCertTags | RRTags. Новый RRPID для этого PCertReq, MerTermIDs, поставляемый продавцом, и текущая дата |
| MThumbs | Оттиски сертификатов расчетного центра, хранящиеся в кэше продавца. |
| BrandAndBINSeq | {BrandAndBIN +} Продавец запрашивает сертификаты расчетного центра для платежных систем карты, если оттиск текущего сертификата отсутствует в MThumbs |
| PCRqExtensions | Запрос сертификата расчетного центра не шифруется, поэтому это расширение не должно содержать конфиденциальной информации |
| BrandAndBIN | {BrandID, [BIN]} |
| BrandID | Платежная система карты (без указания типа). |
| BIN | Идентификационный номер банка для обработки транзакции продавца в расчетном центре. |
| Шаг | Действие |
| 1 | Расчетный центр получает PCertReq из входного сообщения |
| 2 | Обрабатываются расширения PCRqExtensions. Если встречается нераспознанное расширение, помеченное как критическое, прислается отклик unrecognizedExtensions, а PCertReq отбрасывается. |
| 3 | Обрабатывается BrandIDSeq и MThumbs |
| 4 | Формируется и посылается PCertRes |
| Шаг | Действие |
| 1 | Скопировать PCertTags из PCertReq в PCertRes |
| 2 | Для каждого BrandAndBIN в BrandIDSeq из PCertReq: |
| 3 | Для каждой платежной системы, для которой необходим сертификат, прислать текущее значение BrandCRLIdentifier, если только Mthumbs не содержит оттиска для текущего BrandCRLIdentifier |
| 4 | Опционно заполнить PCRqExtensions |
| PCertRes | S(P, PCertResTBS) |
| PCertResTBS | {PCertTags, [BrandCRLIdentifierSeq], PCertResItems, [PCRsExtensions]} |
| PCertTags | RRTags; копируется из PCertReq. |
| BrandCRLIdentifierSeq | {BrandCRLIdentifier +} |
| PCertResItems | {PCertResItem +}Один или более статусных кодов и оттисков сертификатов, которые возвращаются в соответствии один к одному с PCertReq.BrandAndBINSeq |
| PCRsExtentions | Сертификатный отклик расчетного центра не шифруется, по этой причине данное расширение не должно содержать конфиденциальных данных. |
| BrandCRLIdentifier | Список текущих CRL для всех CA в зоне ответственности CA платежной системы. См. раздел о BrandCRLIdentifier |
| PCertResItem | {PCertCode, [CertThumb]} |
| PCertCode | Цифровой код, указывающий результат PCertReq |
| CertThumb | Оттиск возвращенного сертификата |
| Шаг | Действие |
| 1 | Извлекается отклик из входного сообщения |
| 2 | Обрабатываются PCRsExtensions. Если встречается нераспознанное расширение, помеченное как критическое, присылается отклик unrecognizedExtensions и отбрасывается PCertRes |
| 3 | Извлекаются сертификаты из Cert-PE |
| 4 | Проверяются сертификаты в Cert-PE путем сравнения их с CertThumbs в PCertResItems. Отбрасываются все сертификаты, которые не прошли сверку. |
| 5 | Обработатывается каждый BrandCRLIdentifier из присланной последовательности таких идентификаторов. |
| 6 | Продолжается обработка сообщений, которые ожидали сертификатов, присланных в PCertRes. |
| success | Запрос обработан успешно |
| unspecifiedFailure | Запрос не прошел из-за неспецифицированной причины |
| brandNotSupported | Запрос не прошел из-за того, что платежная система, специфицированная в PCertReq, не поддерживается |
| unknownBIN | Запрос не прошел из-за того, что BIN, специфицированный в PCertReq, не поддерживается. |
| Шаг | Действие |
| 1 | Если это первое сообщение, направленное расчетному центру после получения нового секретного ключа, или если это первое сообщение в данный день, в цифровой конверт этого сообщения следует вложить сертификаты для секретных ключей и цепочку сертификатов платежной системы, выбранных продавцом для подписи и шифрования сообщений BatchAdmin. |
| 2 | Сформировать RRTags |
| 3 | Если новая платежная линия открыта: |
| 4 | Если платежная линия (группа платежей) пуста: |
| 5 | Если платежная линия закрыта: |
| 6 | Если нужно запросить состояние платежной линии у расчетного центра: |
| 7 | Если нужно запросить детальные данные о платежной линии у расчетного центра: |
| 8 | Если нужно послать состояние платежной линии расчетному центру: |
| 9 | Если нужно передать расчетному центру детальные данные о платежной линии: |
| 10 | Реализовать операцию подписи для результата шагов 1-9, используя сертификат подписи продавца для любой платежной системы, известной расчетному центру. |
| 11 | Включить сертификат шифрования продавца для той же платежной системы, что была выбрана на предшествующем шагу. Общедоступный ключ этого сертификата будет использоваться расчетным центром при дешифровке сообщений BatchAdminRes. |
| 12 | Зашифровать BatchAdminReqTBE, используя сертификат расчетного центра и установить тип содержимого равным id-set-content-BatchAdminReqTBE. |
| 13 | Вложить сообщение в цифровой конверт и послать владельцу карты |
| BatchAdminReq | Enc(M, P, BatchAdminReqData) |
| BatchAdminReqData | {BatchAdminRRTags, [BatchID], [BrandAndBINSeq], [BatchOperation], ReturnBatchSummaryInd, [ReturnTransactionDetail], [BatchStatus], [TransDetails], [BARqExtensions]} |
| BatchAdminRRTags | RRTags. Новый идентификатор RRPID и Date (дата) |
| BatchID | Идентификатор платежной линии для счета банка продавца |
| BrandAndBINSeq | {BrandAndBIN +} |
| BatchOperation | Числовая величина, указывающая на операцию, которая должна быть выполнена в рамках платежной линии |
| ReturnBatchSummaryInd | Обозначает, что в BatchAdminRes должны быть возвращены итоговые данные. |
| ReturnTransactionDetail | {StartingPoint, MaximumItems, ErrorsOnlyInd, [BrandID]} Если специфицирован BrandID, присылаются данные только для позиций, определяемых платежной системой карты. |
| BatchStatus | См. табл. 4.6.2.53. |
| TransDetails | {NextStartingPoint, TransactionDetailSeq} |
| BARqExtensions | Данные в расширении административного сообщения платежной линии должны иметь финансовый характер и быть важными для обработки административных запросов. |
| BrandAndBIN | {BrandID, [BIN]} |
| StartingPoint | Нуль указывает на то, что следует прислать данные для первой группы позиций, в противном случае NextStartingPoint предшествующего BatchAdminRes |
| MaximumItems | Максимальное число позиций, которые следует прислать в этой группе. |
| ErrorsOnlyInd | Булево число, индицирующее, следует ли присылать только позиции с состоянием ошибки. |
| BrandID | Тип платежной системы (без указания типа продукта). |
| NextStartingPoint | Нуль индицирует, что это последняя группа позиций, в противном случае, используется значение, идентифицирующее начальную точку следующей группы позиций. |
| TransactionDetailSeq | {TransactionDetail +} |
| BIN | Идентификационный номер банка для обработки транзакций продавца. |
| TransactionDetail | См. табл. 4.6.2.54 |
| Шаг | Действие |
| 1 | Выделить запрос из входного сообщения |
| 2 | Проверить подпись. Если проверка не прошла, присылается отклик Error c ErrorCode = signatureFailure. |
| 3 | Проверить, что RRPID в BatchAdminReq соответствует RRPID в цифровом конверте сообщения. Если проверка не прошла, присылается отклик Error c ErrorCode = unknownRRPID. |
| 4 | Если BatchOperation = open: |
| 5 | Если BatchOperation = purge: |
| 6 | Если BatchOperation = close: |
| 7 | Если BatchOperation опущено, а возвращенное значение ReturnBatchSummaryInd = TRUE: |
| 8 | Если включено поле StartingPoint: |
| 9 | Если код BatchOperation опущен, а BatchStatus имеется: |
| 10 | Если код BatchOperation опущен и включено поле TransactionDetails: |
| Шаг | Действие |
| 1 | Если BAStatus не установлен равным success (успех) или MaximumItems в BatchAdminReq установлен равным 0, аннулировать любую информацию в рамках платежной линии для заданной последовательности запросов BatchAdmin, посланных ранее продавцом. |
| 2 | Используя сертификат расчетного центра, запустить операцию подписи для BatchAdminResData. |
| 3 | Зашифровать BatchAdminResTBE, используя сертификат шифрования, поставляемый продавцом, и установить код типа содержимого равным id-set-content-BatchAdminResTBE. |
| 4 | Вложить сообщение в цифровой конверт и послать владельцу карты. |
| BatchAdminRes | Enc(P, M, BatchAdminResData) |
| BatchAdminResData | {BatchAdminTags, BatchID, [BAStatus], [BatchStatus], [TransmissionStatus], [SettlementInfo], [TransDetails], [BARsExtensions]} |
| BatchAdminTags | RRTags; копируется из предшествующего BatchAdminReq |
| BatchID | Идентификатор платежной линии между продавцом и его банком. |
| BAStatus | Числовой код, указывающий на состояние открытой платежной линии. |
| BatchStatus | См. табл. 4.6.2.53. |
| TransmissionStatus | Числовое значение, индицирующее состояние передачи данных из расчетного центра системе вышестоящего уровня |
| SettlementInfo | {SettlementAmount, SettlementType, SettlementAccount, SettlementDepositDate} |
| TransDetails | {NextStartingPoint, TransactionDetailSeq} |
| BARsExtensions | Данные расширения административного отклика должны носить финансовый характер и иметь значение для обработки административного запроса по поводу платежной линии. Информация, относящаяся к обработке запроса, должна появляться в расширении BatchAdminResData; информация, относящаяся к состоянию платежной линии, должна содержаться в расширении BatchStatus; информация, относящаяся к информационным деталям позиции в пределах платежной линии должна содержаться в расширении TransactionDetail. |
| SettlementAmount | Занесенная через сеть на счет продавца сумма |
| SettlementType | Числовой код, указывающий тип суммы |
| SettlementAccount | Счет продавца |
| SettlementDepositDate | Дата, когда сумма SettlementAmount будет занесена или снята со счета продавца |
| NextStartingPoint | Нуль индицирует, что это последняя группа позиций, в противном случае, для идентификации начальной точки следующей группы позиций используется скрытое значение |
| TransactionDetailSeq | {TransactionDetail +} |
| TransactionDetail | См. табл. 4.6.2.54.. |
| unspecified | Неизвестное значение |
| standard | Стандартная скорость обмена |
| keyEntered | Скорость обмена для транзакций key-entered (ввод с клавиатуры) |
| electronic | Скорость обмена для электронных транзакций |
| additionalData | Скорость обмена для транзакций, которые включают в себя дополнительные клиринговые данные |
| enhancedData | Скорость обмена для транзакций, которые включают в себя усовершенствования (такие как данные дополнительной авторизации). |
| marketSpecific | Скорость обмена для транзакций в пределах специфического сегмента рынка (такого как пассажирский транспорт). |
| Шаг | Действие |
| 1 | Извлекается отклик BatchAdminRes из входного сообщения. |
| 2 | Верифицируется подпись. Если проверка не прошла, присылается сообщение Error с ErrorCode = signatureFailed. |
| 3 | Проверяется, что RRPID в BatchAdminReq соответствует RRPID в цифровом конверте. Если проверка не прошла, присылается сообщение Error с ErrorCode = unknownRRPID. |
| 4 | Если BAStatus не равен success, а продавец передает или запрашивает подробности о платежной линии, аннулировать любую информацию, запомненную для данной платежной линии и перезапустить процесс, если детальные данные о платежах по-прежнему нужны. |
| 5 | Если продавец получает детальные данные о платежной линии, запомнить NextStartingPoint для использования в последующих откликах BatchAdminRes. Значение нуль указывает, что все подробности о платежной линии переданы. |
| 6 | Если продавец передает детальные данные о платежной линии, проверить, что NextStartingPoint согласуется со значением, посланным в BatchAdminReq. Если согласия нет, послать BatchAdminReq с MaximumItems = 0, чтобы расчетный центр аннулировал детали платежной линии, посланные ранее, после чего повторить посылку этих деталей расчетному центру в последующей серии запросов BatchAdmin. |
| 7 | Запомнить детали из запроса BatchAdmin и передать их расчетным процедурам продавца. |

| - идентификацию компонента списка видов платежей (смотри раздел 7.7), значение его ID-атрибута соответствует атрибуту BrandListRef платежного компонента. Если не обнаружено ни одного или более одного компонента списка видов платежа, возникает состояние ошибки. | |
| - идентификацию компонента списка выбора вида платежа (смотри раздел 7.8), где значение его атрибута BrandListRef соответствует BrandListRef платежного компонента. Если не обнаружено ни одного или более одного компонента выбора вида платежа, возникает состояние ошибки. |
| - Элемен вида платежа (смотри раздел 7.7.1), где значение его Id-атрибута соответствует значениюатрибута BrandRef выбора вида платежа. Если не обнаружено ни одного или более одного элемента вида платежа, возникает состояние ошибки. | |
| - Протокольный элемент суммы (смотри раздел 7.7.3) является элементом, где значение его IDатрибута соответствует величине атрибута ProtocolAmountRef в компоненте выбора вида платежа. Если не обнаружено ни одного или более одного протокольного элемента суммы, возникает состояние ошибки. | |
| - Элемент платежного протокола (смотри раздел 7.7.5) представляет собой элемент, значение Idатрибута которого соответствует величине атрибута PayProtocolRef в идентифицированном протокольном элементе суммы. Если не обнаружено ни одного или более одного подходящего элемента платежного протокола суммы, возникает состояние ошибки. | |
| - Элемент валютной суммы (смотри раздел 7.7.4) представляет собой элемент, значение Idатрибута которого соответствует величине атрибута CurrencyAmountRef в компоненте выбора вида платежа. Если не обнаружено ни одного или более одного подходящего элемента валютной суммы, возникает состояние ошибки. |
| - проверяется, что ссылка элемента существует в атрибуте ProtocolAmountRefs идентифицированного элемента вида платежа, который соответствует ID-атрибуту идентифицированного элемента суммы. Если не может быть обнаружено ни одной или более одной подходящей ссылки элемента, возникает состояние ошибки. | |
| - проверяется, что атрибут CurrencyAmountRefs идентифицированного элемента суммы, содержит ссылку элемента, которая соответствует ID-атрибуту идентифицированного элемента вылютной суммы. Если не обнаружено ни одной или более одной подходящей ссылки элемента, возникает состояние ошибки. | |
| - проверяется совместимость элементов в списке видов платежа. В частности, элементы выбранного вида платежа, суммы, платежного протокола и валютной суммы являются дочерними элементами идентифицированного компонента списка видов платежа. Если это не так, то это ошибка. |
| - идентификацию компонента Organisation для кассира. Это компонент Organisation, где его ID-атрибут соответствует атрибуту ActionOrgRef в идентифицированном элементе платежного протокола. Если не обнаружено ни одного или более одного подходящего компонента Organisation, возникает состояние ошибки. | |
| - проверку компонента Organisation, который имеет элемент Trading Role с атрибутом Role кассира. Если его нет, происходит ошибка. | |
| - наконец, если идентифицированный компонент Organisation не совпадает с полученным в блоке платежного запроса, это вызывает ошибку. |
| 1. | Покупатель решает что-то купить и посылает информацию об этой операции (запрос предложения) Продавцу, напр., используя HTML. |
| C а M | Информация о том, что покупается (вне рамок стандарта IOTP) |
| 2. | Продавец решает, какой тип и протокол платежа следует предложить, записывает эти данные в компонент Brand List и посылает покупателю. |
| C Я M | Компоненты: список типов платежей (Brand List) |
| 3. | Покупатель выбирает тип платежа, протокол и вид валюты, формирует компонент выбор типа и посылает его продавцу. |
| C а M | Компонент: Выбор из списка типов платежа (Brand List Selection) |
| 4. | Продавец проверяет выбор типа, определяет сумму платежа, опционно подписывает документ и посылает его Покупателю. |
| C Я M | Компонент: Платеж; Организации (продавец и кассир); опционная подпись отклика-предложения, которая подтверждает другие компоненты. |
| 5. | Покупатель проверяет объявленную сумму платежа и, если согласен, посылает запрос кассиру. |
| C а P | ЗАПРОС ПЛАТЕЖА. Компоненты: Статус, Платеж; Организации (продавец и Кассир); Информация о торговых ролях (опционно); опционная подпись отклика-предложения, которая подтверждает все прочие компоненты. Данные о схеме платежа. |
| 6. | Кассир проверяет информацию, включая опционную подпись и, если все в порядке, начинает обмен компонентами данных по схеме платежа с целью выбора типа и протокола платежа. |
| C « P | ПЛАТЕЖНЫЙ ОБМЕН. Компонент: Данные о схеме платежа |
| 7. | Как только обмен протокольными платежными сообщениями завершится, Кассир посылает Покупателю платежную расписку, которая опционно подписывается, с целью подтверждения платежа. |
| C « P | ОТКЛИК на ПЛАТЕЖ. Компоненты: Статус, платежная расписка; платежное заявление; данные о торговых ролях (опционно); опционная подпись отклика-предложения; опционная подпись платежной расписки, которая связывает платеж и предложение |
| 8. | Покупатель проверяет платежную расписку |
| - Роль продавца необходима для того, чтобы Кассир мог идентифицировать, какой продавец инициализировал платеж. Обычно, результатом платежа, реализованного кассиром в пользу продавца, является кредитная или дебитная операция, выполненная со счетом продавца. Эти операции находятся за пределами области действия IOTP | |
| - Роль кассира необходима, чтобы продавец мог проверить, что платежную операцию произвел именно тот Кассир, который нужно. |
| о | Блоки Error и Cancel, |
| o | Блоки отклика и информационного запроса, |
| o | Блоки запросов аутентификации, отклика и состояния. |
| o | Блок TPO проверяется следующим образом: | |
| - если входное сообщение содержит блок запроса аутентификации и блок отклика на предложение, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если входное сообщение содержит блок запроса аутентификации и статуса аутентификации, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если входное сообщение содержит блок запроса аутентификации и транзакция IOTP распознана системой покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если входное сообщение содержит блок состояния аутентификации и транзакция IOTP распознана системой покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если входное сообщение содержит блок состояния аутентификации, а блок состояния аутентификации послан до сообщения-отклика аутентификации, то это серьезная (Hard) ошибка, | ||
| - если входное сообщение содержит блок отклика на предложение и транзакция IOTP распознана системой покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| o | Блок отклика предложения проверяется следующим образом: | |
| - если блок отклика на предложение является частью брэнд-независимого обмена предложения (смотри раздел 9.1.2.2), тогда никакой проверки последовательности не нужно, так как это первое сообщение, в противном случае, | ||
| - если блок отклика на предложение не является частью транзакции IOTP, которая распознана покупателем, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок отклика на предложение не относится к транзакции, где в последнем сообщении послан блок выбора TPO, то это серьезная (Hard) ошибка. | ||
| o | Блок платежного обмена проверяется следующим образом: | |
| - если блок платежного обмена не относится к транзакции IOTP, которая распознана системой покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если платежный обмен не относится к транзакции IOTP, где только что послан блок платежного запроса или платежного обмена, то это серьезная (Hard) ошибка. | ||
| o | Блок платежного отклика проверяется следующим образом: | |
| - если блок платежного отклика не относится к транзакции IOTP, которая распознана системой Покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок платежного отклика не относится к транзакции IOTP, где только что послан блок платежного обмена или блок платежного запроса, то это серьезная (Hard) ошибка. | ||
| o | Блок отклика доставки проверяется следующим образом: | |
| - если блок отклика доставки не относится к транзакции IOTP, которая распознана системой Покупателя, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок отклика доставки не относится к транзакции IOTP, где только что послан блок запроса платежа или платежного обмена, то это серьезная (Hard) ошибка. | ||
| o | Инициировать транзакции (смотри раздел 4.6.1). Среди них могут быть: | |
| - платеж, связанный с транзакцией | ||
| - инфраструктурные транзакции. | ||
| o | Воспринять и обработать сообщение, полученное от другой торговой роли (смотри раздел 4.6.2). Сюда входит: | |
| - идентификация того, принадлежит ли сообщение транзакции, запущенной ранее; | ||
| - обработка дублированных сообщений; | ||
| - генерирование переходных ошибок, если сервер, который обрабатывет входное сообщение перегружен; | ||
| - обработка сообщения, если оно не имеет ошибок и, если необходимо, посылка отклика партнеру по результатам обработки. | ||
| o | Аннулировать текущую транзакцию, если поступил соответствующий запрос, например от пользователя (смотри раздел 4.6.3). | |
| o | Повторно передать сообщение, если ожидаемый отклик не пришел своевременно (смотри раздел 4.6.4). | |
| o | Инициировать транзакцию (смотри раздел 4.5.1). Это могут быть: | |
| - | платеж, связанный с транзакцией; | |
| - | инфраструктурные транзакции. | |
| o | Принять и обработать сообщение полученное от другой торговой роли (смотри раздел 4.5.2). Сюда относится: | |
| - | идентификация, если сообщение принадлежит транзакции, которая была запущена ранее; | |
| - | обработка сообщений-дубликатов; | |
| - | генерация переходных ошибок, если сервер, который обрабатывает входные сообщения перегружен; | |
| - | обработка сообщения, если оно лишено ошибок и авторизовано, и при благоприятном исходе, послать отклик отправителю сообщения. | |
| o | Аннулировать текущую транзакцию, если поступил такой запрос (смотри раздел 4.5.3) | |
| o | Повторно передать сообщение, если ожидается отклик, который не поступил за определенный период времени (смотри раздел 4.5.4). | |
| о | из-за используемого танспортного механизма; |
| o | из-за времени, необходимого для обработки инкапсулированных сообщений (напр., платежных) и |
| o | зависит оттого, нужен или нет ввод со стороны человека. |
| o | TimedOutRcvr, если транзакция может быть восстановлена позднее, или |
| o | TimedOutNoRcvr, если транзакция невосстановима. |


| o | успех аутентификации, тогда аутентифицируемый должен сделать следующее: | |
| - | продолжить следующий шаг транзакции, частью которой является документальный обмен аутентификации, или | |
| - | индицировать отказ продолжения транзакции путем посылки аутентификатору блока Cancel, содержащего компонент Status с атрибутом аутентификации StatusType, ProcessState = Failed и кодом CompletionCode (смотри раздел 7.16.4) = AutEeCancel. | |
| o | аутентификация не прошла, тогда аутентифицируемый должен быть оповещен о неудаче, а процесс остановлен. | |
| - будет ли сообщение принято налоговой службой, в качестве корректной записи транзакции; | |
| - если нужна гарантия, например, от "Better Business Bureau" или подобной организации. |
| (1) | авторизация: продавец контактирует со своим покупателем, который в свою очередь получает от банкира, выпустившего кредитную карту, подтверждение или отрицание своей кредитоспособности. Эти данные он пересылает продавцу. |
| (2) | приобретение (capture): платежная информация для покупки вводится продавцом в расчетный документ. |
| (3) | оплата (clearance): обработка перечня товаров. Это вызывает появление товаров из перечня в записи о покупке для данной кредитной карты. Эта запись посылается банку, предоставившему кредитную карту покупателю. |
| (4) | урегулирование (settlement): межбанковская операция по пересылке денежных средств. |
| (5) | удаление (void): продавец отменяет шаг 2 (или 6), сумма оплаты удаляется из расчетного документа. Операция должна быть выполнена до осуществления оплаты. |
| (6) | кредит (credit): продавец вводит отрицательную сумму оплаты в расчетный документ. Эта сумма появится в записи о покупке владельца кредитной карты. |
| - Продавец известен и существует соглашение с операционной организацией (кассиром или агентом доставки); | |
| - им разрешено участвовать в IOTP-транзакции данного типа. Например кассир может согласиться принимать платежи в рамках операций продажи, но не не обслуживать денежные возвраты; | |
| - любые ограничения в их соглашении с продавцом выполнены, например, требуется ли подпись отклика предложения. |
| - идентификацию и проверку подписей. Это включает операционную организацию, идентифицирующую компоненты подписи, которые содержат ссылки на операционную организацию (смотри 6.3.1). В зависимости от выполняемой IOTPтранзакции (смотри раздел 9) может идентифицироваться одна или две подписи; | |
| - проверку того, что компоненты подписи корректны. Это включает проверку того, что существуют элементы дайджеста в элементе Manifest, который относится к обязательным торговым компонентам (смотри раздел 6.3.3.1). |
| - элементы дайджеста должны присутствовать во всех компонентах блока запроса, вне зависимости от компонента выбора вида платежа, который является опционным; |
| - компонента подписи, сформированной продавцом и, опционно | |
| - один или более компонентов подписи, сформированной предыдущим Кксиром в транзакции. |
| - используются атрибуты SignatureValueRef и SignatureAlgorithmRef, чтобы идентифицировать, соответственно: элемент Value, который содержит подпись, подлежащую проверке и элемент алгоритма подписи, который характеризует алгоритм вычисления подписи, предназначенный для ее верификации, затем | |
| - если элемент алгоритма подписи указывает, что использована асимметричная криптография, тогда для идентификации сертификата применяется SignatureCertRef; | |
| - если элемент алгоритма подписи указывает, что использована симметричная криптография, тогда для идентификации корректного значения общего ключа используется содержимое элемента RecipientInfo; | |
| - используется специфицированный алгоритм подписи для проверки того, что элемент Value правильно подписывает элемент Manifest; | |
| - проверется, что элементы Digest в элементе Manifest вычислены правильно. При этом предполагается, что компоненты или блоки, на которые ссылается дайджест, были получены организацией, выполняющей проверку подписи. |
| - Если блок отклика аутентификации не относится к транзакции IOTP, которая распознана, то это серьезная (Hard) ошибка, в противном случае. | ||
| - Если блок отклика аутентификации не относится к аутентификационному запросу, который был ранее послан, то это серьезная (Hard) ошибка, в противном случае. | ||
| - Если блок отклика аутентификации получен в рамках IOTP-транзакции, до того как аутентификация успешно завершилась, то это серьезная (Hard) ошибка. | ||
| о | Блок состояния аутентификации проверяется следующим образом: | |
| - если блок состояния аутентификации не относится к транзакции IOTP, которая распознана, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок состояния аутентификации не относится к аутентификационному отклику, который был перед эти послан, тогда это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок состояния аутентификации получен для той же самой транзакции раньне, то это предупреждение (а не ошибка). | ||
| o | Блок выбора TPO (только для продавца) прооверяется следующим образом: | |
| - если блок выбора TPO не относится к транзакции IOTP, которая распознана, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок выбора TPO не относится к транзакции IOTP, где блок TPO и отклик предложения (в одном сообщении) были посланы ранее, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок выбора TPO относится к транзакции IOTP, где только блок TPO (т.e. без отклика на предложение) был послан ранее, то это серьезная (Hard) ошибка, в противном случае, | ||
| - если блок выбора TPO для того же блока TPO получен ранее, то это серьезная (Hard) ошибка. | ||
| o | Блок запроса платежа (только для кассира) проверяется следующим способом: | |
| - если блок запроса платежа относится к транзакции IOTP, которая не распознана, тогда все в порядке, в противном случае | ||
| - если блок запроса платежа относится к транзакции IOTP, которая не связана с платежом, то это серьезная (Hard) ошибка, в противном случае | ||
| - если был предшествующий платеж, который не прошел с кодом завершения недопускющим восстановление, то это серьезная (Hard) ошибка, в противном случае | ||
| - если предыдущий платеж еще в работе, то это серьезная (Hard) ошибка. | ||
| o | Блок платежного обмена (только для кассира) проверяется следжующим образом: | |
| - если блок платежного обмена не относится к транзакции IOTP, которая распознана, то это серьезная (Hard) ошибка, в противном случае | ||
| - если платежный обмен не относится к транзакции IOTP, где такой обмен уже был, то это серьезная ошибка (Hard). | ||
| o | Запрос доставки (только для агентов доставки). Если блок запроса доставки относится к транзакции IOTP, которая распознана сервероим, то это серьезная ошибка. | |
| o | атрибутом Severity = HardError и кодом ошибки (ErrorCode) = AttMissing, |
| o | содержимым PackagedContent, включающим в себя "IotpTransId" потерянного атрибута. |
| responseid | применяется для предоставления уникального ID, если в результате ошибки потерян ID, использованный ранее. Если причина неудачи не связана с дублированным ID, это поле может быть опущено. |
| responseid | предоставляет действительный ID с присоединенными контрольными символами в случае успеха. |
| swseverity | может предупредить пользователя о том, что приложение устарело или о наличии в нем известных ошибок. |
| Размер в пикселях | Размер логотипа значение |
| 32 x 32 или 32 x 20 | exsmall (сверх малый) |
| 53 x 33 | small (малый) |
| 103 x 65 | medium (средний) |
| 180 x 114 | large (большой) |
| 263 x 166 | exlarge (сверх большой) |
| - сформироать сообщение с компонентом Error и атрибутом Severity = Warning, после чего послать его со следующим сообщением (если такое имеется) торговой роли, которая прислала сообщение об ошибке с неверным значением MinRetrySecs и | |
| - использовать величину MinRetrySecs, установленное поставщиком/ разработчиком приложения IOTP. |
| - продолжеть транзакцию как обычно или | |
| - прервать транзакцию, выработав сообщение с компонентом Error и атрибутом Severity = HardError (смотри раздел 7.21.1.3). |
| Имя | Описание | |
| Аутентификатор | Организация, которая запрашивает аутентификацию другой организации | |
| Аутентифицируемый | Организация, которая осуществляет аутентификацию у аутентификатора | |
| Рабочая ошибка (Business Error) | Смотри компонент Status. | |
| Вид платежа (Brand) | Вид платежа представляет собой идентификатор определенного типа платежного инструмента. Список видов платежа явлется перечнем платежных опций, которые предоставляются продавцом покупателю и из которого последний выбирает вид оплаты. Каждый вид платежа может иметь разных кассиров. Примеры видов платежей включают в себя:о частные и корпоративные виды платежей, например MasterCard, Visa, American Express, Diners Club, American Express, Mondex, GeldKarte, CyberCash, и т.д.. вльготные виды платежа (смотри ниже). Последние включают в себя:o магазинные виды платежа, где платежный инструмент предоставляется покупателю конкретным продавцом, например Walmart, Sears или Marks and Spencer (UK)o комбинированные виды платежа, например American Advantage Visa, где компания использует свою собственную системы о платы, которая совмещается с каким-то корпоративным видом платежей. | |
| Покупатель | Организация, которая обычно платит за товары или услуги. | |
| ContentSoftwareId | Содержит информацию, которая идентифицирует программу, генерирующую содержимое элемента. Ее целью является помощь в разрешении проблем совместимости, которые могут возникнуть в результате несоответствия между сообщениями, выработанными различными программами. Это текстовая строка на языке, определенном xml:lang. Этот идентификатор должен содержать как минимум: | |
| Агент обслуживания | Организация, которая обслуживает покупателя, обычно от имени продавца. Примеры обслуживания покупателя включают в себя, реагирование на задачи, которые ставит покупатель в ходе реализации транзакций IOTP, в которых он участвует. | |
| Агент доставки | Организация, которая непосредственно доставляет товары или услуги покупателю от имени продавца. Доставка может иметь цифровую форму (напр., в виде сообщений [MIME]), или физическую форму с привлечением почты или курьеров. | |
| Документальный обмен | Документальный обмен состоит из последовательности сообщений, которыми обмениваются партнеры в рамках одного или двух торговых операций одновременно. Документальные обмены могут комбинироваться, образуя конкретную транзакцию IOTP. | |
| Двойственный вид платежа (Dual Brand) | Двойственный вид платежа означает, что один платежный инструмент может использоваться так, как будто имеются два независимых вида платежа. Например, японская карта "UC" MasterCard может быть использована как UC-карта или как обычная MasterCard. Платежи с помощью UC-карты и MasterCard могут иметь разных Кассиров. Это означает, что:o Продавец рассматривает, например "UC" и "MasterCard" как два независимых вида платежа, когда предлагает Покупателю список видов платежей, Покупатель выбирает вид платежа, например "UC" или "MasterCard,o Приложение IOTP Покупателя определяет, какой платежный инструмент подходит для выбранного вида платежа, и делает свой выбор. | |
| Блок Error | Блок Error сообщает, что в полученном сообщении IOTP обнаружена техническая ошибка. Обычно технические ошибки вызываются ошибками в XML или сбоями в процессе обработки сообщения. Часто генерация или получение блока Error вызывает прерывание транзакции. Эти ошибки отличаются от рабочих ошибок (Business Error), о которых сообщается в компонентах Status. Последние ошибки также могут привести к срыву выполнения транзакции. | |
| Блок Exchange | Блок Exchange посылается при торговом обмене от одной торговой роли к другой. Он содержит один или более торговых компонентов. Блоки Exchange при торговом обмене всегда посылаются после блоков Request и до блока Response (отклика). Соджержимое блока Exchange зависит от типа торгового обмена. | |
| Сообщение IOTP | Сообщение IOTP является самой внешней структурой, в которую помещаются документы, которыми обмениваются торговые роли, принимающие участие в сделке. Это хорошо сформатированный XML-документ. Документы, которые содержат сообщение, состоят из:o блок ссылок транзакции, служащий для однозначной идентификации, частью которой является сообщение IOTP;o опционный блок Signature, который служит для цифровой подписи торговых блоков или компонентов, связанных с транзакцией IOTP;o опционный блок Error для уведомления о технических ошибках, содержащихся в предыдущем полученном сообщении IOTP иo последовательность торговых блоков IOTP, которые несут данные, необходимые для выполнения транзакции. | |
| Транзакция IOTP | Транзакция IOTP (Internet Open Trading Protocol) представляет собой набор IOTP-сообщений, передаваемых торговыми ролями. Правила о том, что могут содержать IOTP-сообщения, определяются типом транзакции. | |
| Тип транзакции IOTP | Тип транзакции идентифицирует ее разновидность. Примерами транзакции могут служить: покупка, возврат денег, аутентификация, отзыв, депозит. Типы транзакции IOTP определяет:o торговые обмены, которые могут включаться в транзакцию;o то, как эти торговые обмены могут комбинироваться, чтобы обеспечить достижение цели транзакции;o какие торговые блоки могут быть включены в IOTP-сообщения, образующие транзакцию. | |
| Продавец | Организация, которая предоставляет товары или услуги, и получает выгоду от платежей за них | |
| Агент обслуживания Покупателя | Организация, которая вовлекается в диалог с покупателем от имени продавца с целью разрешения возникающих проблем | |
| Организация | Компания или частное лицо, которое принимает участие в сделке и выполняет определенную торговую роль. Организации могут выполнять и несколько торговых ролей в одной сделке | |
| Кассир | Организация, которая физически получает платеж от покупателя для продавца | |
| Платежный инструмент | Платежный инструмент представляет собой средство, с помощью которого покупатель платит за товары или услуги, предлагаемые продавцом. Это может быть, например: | |
| Льготный вид платежа | Льготный вид платежа предполагает, что, если покупатель воспользуется этим видом оплаты, тогда он получит дополнительную выгду, которая может быть реализована двумя путями: | |
| Компонент Receipt (расписка) | Компонент Receipt является записью об успешном завершении торгового обмена. Примеры компонентов Receipt включают в себя: платежные расписки и накладные при доставке (Delivery Notes). Их содержимое зависит от технологии выполнения торгового обмена. Например, платежная расписка SET (Secure Electronic Transaction) состоит из платежных сообщений SET, которые фиксируют результат оплаты. | |
| Блок запроса | Блок запроса является торговым блоком, который содержит запрос начала торгового обмена. Торговые компоненты в блоке запроса могут быть подписаны с помощью блока Signature, что позволит идентифицировать отправителя. Авторизация начала торгового обмена может быть выполнена с помощью подписей, содержащихся в компонентах Receipt, которые вложены в блоки откликов предыдущего торгового обмена. Примерами блоков запроса могут служить запросы платежа и запросы доставки | |
| Блок отклика | Блок отклика является торговым блоком, который указывает, что торговый обмен завершился. Он посылается торговой ролью, которая получила блок запроса, торговой роли. Блок отклика содержит компонент Status с информацией о завершении торгового обмена, например, он указывает, завершился ли торговый обмен успешно. Для некоторых торговых обменов блок отклика содержит компонент Receipt (расписка). Компоненты Receipt могут цифровым образом подписывать сообщение с использованием блока Signature, что делает завершение торгового обмена неопровержимым. Примеры блоков отклика включают в себя отклики предложения, платежа и доставки. | |
| Блок подписи | Блок подписи является торговым блоком, который содержит одну или более цифровых подписей в виде компонентов Signature. Компонент Signature может цифровым образом подписывать любой блок или компонент в любом сообщении IOTP | |
| Компонент Status | Компонент Status содержит информацию, которая описывает состояние торгового обмена. До завершения торгового обмена компонент Status может указывать на то, как он проходит. Если же торговый обмен завершился, компонент Status может говорить лишь об успешном завершении или о наличии рабочей ошибки. Рабочая ошибка указывает, что продолжение торгового обмена невозможно, так как нарушено какое-то правило, например, "нет достаточных средств". При этом не предполагается каких-либо технических ошибок, связанных с содержимым или форматом IOTP-сообщения в транзакции. | |
| Техническая ошибка | Смотри блок Error. | |
| Торговый блок | Торговый блок состоит из одного или более торговых компронент. Один или более торговых блоков может содержаться в IOTP-сообщениях, которые пересылаются в форме XML-документов от одной торговой роли к другой. Сущетсвует три типа торговых блоков:o блок Request, o блок Exchange или o блок Response | |
| Торговый компонент | Торговый компонент является собранием XML-элементов и атрибутов. Торговые компоненты являются дочерними элементами Торговых блоков. Примерами торговых компонентов являются: Предложение, Список видов платежей, Платежная расписка, Доставка [информации], Сумма платежа | |
| Торговый обмен | Торговый обмен предполагает обмен последовательностью документов, пересылаемых между торговыми ролями. Документы могут иметь форму торговых блоков или они могут быть пересланы каким-то другим образом, например, путем ввода данных на WEB-странице. Каждый торговый обмен состоит из трех главных частей: Примерами торговых обменов/услуг могут служить: | |
| Торговая роль | Торговая роль идентифицирует различные способы, которыми организации могут участвовать в сделке. Существует пять торговых ролей: Покупатель, Продавец, Кассир, Агент доставки и Агент обслуживания покупателя. | |
| Блок ссылок транзакции | Блок ссылок транзакции идентифицирует транзакцию IOTP. Он содержит данные, которые идентифицируют: | |
| IEC 512-2:1979 | Спецификации для электромеханических компонентов оборудования - Часть 2: Тесты сопротивления контактов, тесты проверки изоляции и перегрузок | |
| FIPS Pub 180-1:1995 | Стандарт на безопасные хэши. Спецификация терминала платежных систем для карт с интегральными схемами | |
| ISO 639:1988 | Коды названий языков | |
| ISO 3166:1997 | Коды названий стран | |
| ISO 4217:1995 | Коды валют и фондов | |
| ISO/IEC 7811-1:1995 | Идентификационные карты - Метод записи - Часть 1: Тиснение | |
| ISO/IEC 7811-3:1995 | Идентификационные карты - Метод записи - Часть 3: Положение вытисненных символов на картах ID-1 | |
| ISO/IEC 7813:1995 | Идентификационные карты - Карты для финансовых операций | |
| ISO/IEC DIS 7816-1:1998 | Идентификационные карты - Карты с интегральными схемами, имеющими внешние контакты. | |
| Часть 1: | Физические характеристики ISO/IEC DIS 7816-2:1998 | |
| Часть 2: | Размеры и положение контактов | |
| ISO/IEC 7816-3:1989 | Часть 3: | Электрические сигналы и протоколы передачи |
| ISO/IEC 7816-3:1992 | Часть 3: | Протокол типа T=1, асинхронный полудуплексный протокол блочной передачи |
| ISO/IEC 7816-3:1994 | Часть 3: | Выбор типа протокола |
| ISO/IEC 7816-4:1995 | Часть 4: | Команды обмена |
| ISO/IEC 7816-5:1994 | Часть 5: | Процедура для выработки прикладных идентификаторов |
| ISO/IEC 7816-6:1996 | Часть 6: | Информационные элементы |
| ISO 8731-1:1987 | Часть 1: | Алгоритмы аутентификации сообщений (DEA) |
| ISO 8372:1987 | Обработка информации. Режимы работы для 64-битовых блочных алгоритмов шифрования/дешифрования | |
| ISO/IEC 8825:1990 | Информационная технология. Соединение открытых систем. Спецификация базовых правил кодирования для синтаксической нотации ASN.1 | |
| ISO 8583:1987 | Сообщения банковских карт - Спецификации сообщений - Содержимое финансовых транзакций | |
| ISO 8583:1993 | Сообщения транзакций банковских карт - Спецификации сообщений | |
| ISO 8859:1987 | Обработка сообщений - 8-битовые графические символьные наборы | |
| ISO/IEC 9796-2: 1997 | Информационная технология - Методы безопасности - Схема восстановления сообщений с цифровой подписью. Часть 2: Механизм использования хэш-функций | |
| ISO/IEC 9797:1994 | Информационная технология - Методы безопасности - Механизм информационной целостности, использующий функцию криптографической проверки на базе алгоритма блочного шифра | |
| ISO/IEC 10116: 1997 | Информационная технология - режимы работы алгоритмов n-битовых блочных шифров | |
| ISO/IEC 10118-3: 1998 | Информационная технология - Методы безопасности - хэш-функции | |


| Контакт | Назначение | Контакт | Назначение |
| С1 | VCC - напряжение питания | С5 | GND - земля |
| С2 | RST - сброс | С6 | Не используется |
| С3 | CLK - тактовые импульсы | С7 | Вход/Выход (I/O) |
| Минимум | Максимум | |
| VIH | 0,7xVcc | Vcc |
| VIL | 0 | 0,8 В |
| tR и tF | - | 1,0 мксек |
| Условия | Минимум | Максимум | |
| VOH | -20мкА| 0,7xVcc | Vcc | |
| VOL | 0< IOL < 1мА, Vcc = min | 0 | 0,4 В |
| tR и tF | C IN(терминала) =30пФ макс | - | 1,0 мксек |
| Минимум | Максимум | |
| VIH | Vcc-0,7В | Vcc |
| VIL | 0 | 0,5 В |
| tR и tF | - | 9% тактового периода |
| Минимум | Максимум | |
| VIH | Vcc-0,7В | Vcc |
| VIL | 0 | 0,6 В |
| tR и tF | - | 1,0 мксек |





| Символ | Значение | Примечания |
| TS | 3B или 3F | Указывает на прямую или инверсную схему передачи бит |
| T0 | 6x | Присутствуют TB1 и TC1; х обозначает число исторических байтов |
| TB1 | 00 | VPP не требуется |
| TC1 | 00 - FF | Указывает на необходимость дополнительного времени выдержки. FF имеет специальное назначение. |
| Символ | Значение | Примечания |
| TS | 3B или 3F | Указывает на прямую или инверсную схему |
| T0 | Ex | Присутствуют TB1 - TD1; х обозначает число исторических байтов |
| TB1 | 00 | VPP не требуется |
| TC1 | 00 - FF | Указывает на необходимость дополнительного времени выдержки. FF имеет специальное назначение. |
| TD1 | 81 | TA2 - TC2 отсутствуют; TD2 присутствует; должен работать протокол T=1 |
| TD2 | 31 | TA3 и TB2 присутствуют; TC3 и TD3 отсутствуют; должен работать протокол T=1 |
| TA3 | 10 - FE | Возвращает IFSI, что указывает на начальное значение размера информационного поля для ICC и IFSC равное 16-254 байтам |
| TB3 | Старший полубайт =0-4 Младший полубайт =0-5 | BWI = 0-4 CWI = 0-5 |
| TCK | Контрольный символ |
| b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | |
| Только Т=0 | 0 | 1 | 1 | 0 | X | X | X | X |
| Только Т=1 | 1 | 1 | 1 | 0 | X | X | X | X |
| b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | |
| Только Т=1 | 0 | X | X | X | 0 | Y | Y | Y |

| [ISO 4217] | Codes for the representation of currencies and funds |
| [ISO 8583] | Financial transaction card originated messages - Interchange message specifications, 1993-12-15. |
| [RFC-822] | Crocker, D., "Standard for the format of ARPA Internet text messages", STD 11, RFC- 822, UDEL, August 1982. |
| [RFC-1521] | Borenstein, N., and N. Freed, "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC- 1521, Bellcore, Innosoft, September 1993. |
| [RFC-1766] | Alvestrand, H., "Tags for the Identification of Languages", UNINETT, March 1995. |
| o | определение того, следует ли использовать электронную подпись; |
| o | конфиденциальность данных; |
| o | безопасность платежного протокола. |
| SigBlk?, | ||
| ErrorBlk?, | ||
| ( AuthReqBlk | | ||
| AuthRespBlk | | ||
| AuthStatusBlk | | ||
| CancelBlk | | ||
| DeliveryReqBlk | | ||
| DeliveryRespBlk | | ||
| InquiryReqBlk | | ||
| InquiryRespBlk | | ||
| OfferRespBlk | | ||
| PayExchBlk | | ||
| PayReqBlk | | ||
| PayRespBlk | | ||
| PingReqBlk | | ||
| PingRespBlk | | ||
| TpoBlk | | ||
| TpoSelectionBlk | ||
| )* | ||
| AuthReqBlk, AuthRespBlk, | Торговые блоки. |
| DeliveryReqBlk | Торговые блоки присутствуют в сообщениях IOTP, а само содержимое |
| DeliveryRespBlk | торгового блока зависит от типа выполняемой операции IOTP |
| ErrorBlk | смотри определение каждой операции в разделе 9. |
| InquiryReqBlk, | |
| InquiryRespBlk, | |
| OfferRespBlk, PayExchBlk, | |
| PayReqBlk | Полные определения каждого торгового блока описаны в разделе 8. |
| PayRespBlk, PingReqBlk, PingRespBlk, SigBlk, TpoBlk, TpoSelectionBlk |
| Xmlns | Определение [XML Namespace] для сообщений IOTP. |
| - компонент запроса аутентификации; | |
| - компонент информационного запроса о торговой роли; |
| - компонент опций протокола и | |
| - компонент списка видов платежей; | |
| - компоненты всех организаций. |
| - компонент заказа; | |
| - все платежные компоненты; | |
| - компонент Delivery, если имеется; | |
| - любые компоненты данных о торговых ролях. |
| - компонент Status | |
| - компонент Payment для выполняемого платежа |
| - компоненты Organisation с ролями Продавец и Кассир, которые были пересланы в блоке платежного запроса; | |
| - компонент списка видов платежа, т.e. список видов платежа, указанный в атрибуте BrandListRef компонента Payment; |
| - скопирован из блока выбора вида платежа, если платеж предшествовал документальному обмену предложения, зависящего от вида платежа (смотри раздел 9.1.2.1) или | |
| - сформирован Покупателем. В этом случае он содержит код вида платежа, платежный протокол и вид валюты, выбранные из списка видов платежа (смотри раздел 9.1.2.2). |
| - Продавец, который сделал предложение | |
| - Покупатель, который осуществляет транзакцию | |
| - Кассир. "ID" компонента организщации-кассира содержится в атрибуте PhOrgRef компонента платежа (Payment). |
| - Агент доставки (DeliveryHandler), который осуществляет доставку товаров или услуг; | |
| - DelivTo т.e. лицо или организация, куда нужно выполнить доставку. |
| o | блок ссылок транзакции (смотри раздел 3.3) для сообщения IOTP, которое содержит информацию, описывающую сообщение и транзакцию; | |
| o | Id-компонент транзакции (смотри раздел 3.3.1), который однозначно идентифицирует транзакцию IOTP; | |
| o | следующие компоненты блока TPO: | |
| - компонент протокольных опций; | ||
| - компонент Organisation. | ||
| - компонент запроса аутентификации | |
| - компонент информационного запроса о торговой роли |
| - компонент Status (смотри раздел 7.16) | |
| - компонент Order (смотри раздел 7.5) | |
| - компонент Organisation (смотри раздел 7.6) с ролями: Продавец, Агент доставки и DeliverTo | |
| -компонент Delivery (смотри раздел 7.13) |
| компонент Status (смотри раздел 7.16). |
| - SET (Secure Electronic Transactions) смотри [SET] и | |
| - SCCD (Secure Channel Credit Debit) смотри [SCCD]. |
| [Base64] | Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. |
| [DOM-HASH] | Maruyama, H., Tamura, K. and N. Uramoto, "Digest Values for DOM (DOMHASH)", RFC 2803, April 2000. |
| [DNS] | Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987. |
| [DNS] | Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. |
| [DSA] | The Digital Signature Algorithm (DSA) published by the National Institute of Standards and Technology (NIST) in the Digital Signature Standard (DSS), which is a part of the US government's Capstone project. |
| [ECCDSA] | Elliptic Curve Cryptosystems Digital Signature Algorithm (ECCDSA). Elliptic curve cryptosystems are analogues of public-key cryptosystems such as RSA in which modular multiplication is replaced by the elliptic curve addition operation. See: V. S. Miller. Use of elliptic curves in cryptography. In Advances in Cryptology - Crypto '85, pages 417-426, Springer-Verlag, 1986. |
| [HMAC] | Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. |
| [HTML] | Berners-Lee, T. and D. Connolly, "Hypertext Markup Language - 2.0", RFC 1866, November 1995. |
| [HTML] | Hyper Text Mark Up Language. The Hypertext Mark-up Language (HTML) is a simple mark-up language used to create hypertext documents that are platform independent. See the World Wide Web (W3C) consortium web site at: http://www.w3.org/MarkUp/ |
| [HTTP] | Berners-Lee, T., Fielding, R. and H. Frystyk, "Hypertext Transfer Protocol -- HTTP/1.0", RFC-1945, May 1996. |
| [HTTP] | Fielding, R., Gettys, J., Mogul, J., Frystyk, T. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1.", RFC-2616, June 1999. |
| [IANA] | The Internet Assigned Numbers Authority. The organisation responsible for co-ordinating the names and numbers associated with the Internet. See http://www.iana.org/ |
| [ISO4217] | ISO 4217: Codes for the Representation of Currencies. Available from ANSI or ISO. |
| [IOTPDSIG] | Davidson, K. and Y. Kawatsura, "Digital Signatures for the v1.0 Internet Open Trading Protocol (IOTP)", RFC-2802, April 2000. |
| [MD5] | Rivest, R., "The MD5 Message-Digest Algorithm", RFC-1321, April 1992. |
| [MIME] | Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, August 1982. |
| [MIME] | Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC-2045, November 1996. |
| [MIME] | Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC-2046, November 1996. |
| [MIME] | Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text" RFC-2047, November 1996. |
| [MIME] | Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures", RFC-2048, November 1996. |
| [MIME] | Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples" RFC-2049, November 1996. |
| [OPS] | Open Profiling Standard. A proposed standard which provides a framework with built-in privacy safeguards for the trusted exchange of profile information between individuals and web sites. Being developed by Netscape and Microsoft amongst others. |
| [RFC1738] | Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform Resource Locators (URL)", RFC-1738, December 1994. |
| [RFC2434] | Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC-2434, October 1998. |
| [RSA] | RSA is a public-key cryptosystem for both encryption and authentication supported by RSA Data Security Inc. See: R. L. Rivest, A. Shamir, and L.M. Adleman. A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM, 21(2): 120-126, February 1978. |
| [SCCD] | Secure Channel Credit Debit. A method of conducting a credit or debit card payment where unauthorised access to account information is prevented through use of secure channel transport mechanisms such as SSL/TLS. An IOTP supplement describing how SCCD works is under development. |
| [SET] | Secure Electronic Transaction Specification, Version 1.0, May 31, 1997. Supports credit and debit card payments using certificates at the Consumer and Merchant to help ensure authenticity. Download from: |
| [SSL/TLS] | Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC-2246, January 1999. |
| [SHA1] | [FIPS-180-1]"Secure Hash Standard", National Institute of Standards and Technology, US Department Of Commerce, April 1995. Also known as: 59 Fed Reg. 35317 (1994). See http://www.itl.nist.gov/div897/pubs/fip180-1.htm |
| [UTC] | Universal Time Co-ordinated. A method of defining time absolutely relative to Greenwich Mean Time (GMT). Typically of the form: "CCYY-MM-DDTHH:MM:SS.sssZ+n" where the "+n" defines the number of hours from GMT. See ISO DIS8601. |
| [UTF16] | The Unicode Standard, Version 2.0. The Unicode Consortium, Reading, Massachusetts. See ISO/IEC 10646 1 Proposed Draft Amendment 1 |
| [X.509] | ITU Recommendation X.509 1993 | ISO/IEC 9594-8: 1995, Including Draft Amendment 1: Certificate Extensions (Version 3 Certificate) |
| [XML | Recommendation for Namespaces in XML, World Wide Web Namespace] Consortium, 14 January 1999, "http://www.w3.org/TR/REC-xml-names" |
| [XML] | Extensible Mark Up Language. A W3C recommendation. See http://www.w3.org/TR/1998/REC-xml-19980210 for the 10 February 1998 version. |
| FLOW | Раздел | Имя |
| C->S | 4.2.1 | BC.1 bind-credit-card |
| S->C | 4.2.2 | BC.4 bind-credit-card-response |
| C->M | 4.3.2 | CH.1 credit-card-payment |
| M->C | 4.3.3 | CH.2 credit-card-response |
| M->S | 4.4.8 | CD.1 запрос данных о кредитной карте |
| S->M | 4.4.9 | CD.2 отклик на запрос о кредитной карте |
| M->S | 4.4.1 | CM.1 только аутентификация |
| M->S | 4.4.2 | CM.2 auth-capture |
| M->S | 4.4.3 | CM.3 post-auth-capture |
| M->S | 4.4.4 | CM.4 void |
| M->S | 4.4.5 | CM.5 возврат |
| S->M | 4.4.6 | CM.6 отклик на платеж |
| C->S | 4.5.7 | DL.1 диагностическая запись |
| M->S | 4.5.7 | DL.2 диагностическая запись продавца |
| C->S | 4.1.3 | GA.1 получение приложения |
| S->C | 4.1.4 | GA.2 получение отклика приложения |
| M->S | 4.4.7 | MM.1 только аутентификация продавца |
| M->S | 4.4.7 | MM.2 merchant-auth-capture |
| M->S | 4.4.7 | MM.3 merchant-post-auth-capture |
| M->S | 4.4.7 | MM.4 merchant-void |
| M->S | 4.4.7 | MM.5 merchant-return |
| S->M | 4.4.7 | MM.6 отклик продавца на процедуру оплаты |
| C->S | 4.5.1 | P.1 ping |
| S->C | 4.5.2 | P.2 отклик на ping |
| M->C | 4.3.1 | PR.1 запрос платежа |
| C->S | 4.1.1 | R.1 регистрация |
| S->C | 4.1.2 | R.2 отклик на регистрацию |
| C->S | 4.5.3 | TQ.1 запрос о состоянии транзакции |
| C->S | 4.5.4 | TQ.2 аннулирование транзакции |
| S->C | 4.5.5 | TQ.3 отклик на транзакцию |
| S->C, S->M, M->C | 4.5.6 | UNK.1 неизвестная ошибка |

| ( TransRefBlk, | ||
| SigBlk?, | ||
| ErrorBlk?, | ||
| ( AuthReqBlk | | ||
| AuthRespBlk | | ||
| AuthStatusBlk | | ||
| CancelBlk | | ||
| DeliveryReqBlk | | ||
| DeliveryRespBlk | | ||
| InquiryReqBlk | | ||
| InquiryRespBlk | | ||
| OfferRespBlk | | ||
| PayExchBlk | | ||
| PayReqBlk | | ||
| PayRespBlk | | ||
| PingReqBlk | | ||
| PingRespBlk | | ||
| TpoBlk | | ||
| TpoSelectionBlk | ||
| )* | ||


| ID | Идентификатор, который однозначно определяет торговый блок информационного отклика транзакции. |
| LastReceivedIotpMsgRef | Содержит ссылку элемента (смотри раздел 3.5) на Id-компонент (смотри раздел 3.3.2) последнего сообщения, которое получил данный сервер от покупателя. Если до этого не получено от покупателя ни одного сообщения, этот атрибут должен содержать значение (Null). Данный атрибут предназначен для отладочных целей. |
| LastSentIotpMsgRef | Содержит ссылку элемента (смотри раздел 3.5) на Id-компонент (смотри раздел 3.3.2) последнего сообщения, которое послал данный сервер покупателю. Если до этого не послано ни одного сообщения покупателю, данный атрибут должен содержать значение (Null). Этот атрибут предназначен для отладочных целей. |
| Status | Содержит статусную информацию об успехе или неудаче (смотри раздел 4.2) определенного торгового обмена (т.e., предложения, платежа или доставки). |
| PaySchemeData | Компонент Payment Scheme (смотри раздел 7.10), который содержит специфические информационные запросы по поводу платежной схемы. Он присутствует, когда атрибут Type атрибута StatusType компонента Status равен Payment. |
| ID | Идентификатор, который однозначно определяет торговый блок информационного запроса транзакции. |
| InquiryType | Компонент тип информационного запроса (смотри раздел 7.18), который содержит код типа запроса. |
| PaySchemeData | Компонент платежная схема (Payment Scheme) (смотри раздел 7.10), который содержит специфические данные конкретных информационных запросов о платежной схеме. Он присутствует, когда атрибут Type компонента типа запроса равен Payment. |
| 1. | Покупатель (С) решает сделать покупку и шлет информацию о заказе продавцу (М), например в формате HTML. |
| C а M | Данные: информация о том, что покупается (запрос Предложения) - формат запроса не определен в рамках IOTP |
| 2. | Продавец проверяет информацию, выданную Покупателем, формирует предложение, опционно его подписывает и посылает Покупателю. |
| C Я M | Отклик на Предложение. Компоненты: Статус; Организации (покупатель, DelivTo, продавец, кассир, Агент обслуживания покупателя); Заказ; Платеж; Доставка; TradingRoleData подпись отклика-предложения (опционно) |
| 3. | Покупатель проверяет информацию от продавца и решает, стоит ли осуществлять покупку. |
| Покупатель предоставляет информацию о том, кто он и, если товар или услуги доставлены, место, куда они доставлены. | |
| Продавец дополняет эту информацию данными о себе, о Кассире, Агенте обслуживания Покупателя и, если товар или услуга должна быть доставлена, то и об агенте доставки. |
| o | Компонент Заказа (Order Component) содержит описания товаров или услуг, предмет сделки, если покупателя устроит соглашение. Эта информация посылается Продавцом покупателю. |
| o | Компонент оплаты (Payment Component), генерируемый продавцом, содержит детали того сколько надо платить, в какой валюте и кто должен платить кому, например покупатель может попросить вернуть деньги. Заметим, что число платежей в сделке может быть больше одного. |
| o | Компонент Доставки (Delivery Component), также генерируемый продавцом, используется, если товары или услуги требуют доставки. Он содержит информацию о том, как будет осуществляться доставка, например с помощью обычной или электронной почты. |
| o | Компонент данных о торговых ролях содержит информацию, которую продавец хочет довести до сведения другой торговой роли, такой как Кассир или Агент доставки. |
| o | Компонент подпись "отклика на предложение", если присутствует, подписывает все выше перечисленные компоненты с целью гарантии их целостности. |
| "исходная транзакция" | относится к платежу или другой транзакции, которая была запрошена или аннулирована. Заметим, что эта транзакция в действительности не является резидентной для сервера. | ||
| "request" | относится к запрашивающим сообщениям TQ.2 или TQ.1. | ||
| id: | идентификатор сообщения-запроса | ||
| date: | дата сообщения-запроса | ||
| transaction: | транзакция сообщения-запроса | ||
| server-date: | текущая дата/время | ||
| type: | Отклик транзакции | ||
| response-code: | код отклика для сообщения-запроса, может быть одним из: | ||
| "success" | означает, сообщение прошло успешно. Не подразумевает требования присылки состояния запроса. | ||
| "failure-hard" | означает, что сообщение-запрос не прошло из-за некорректного формата или по какой-то другой причине. | ||
| "failure-swversion" | означает, что запрос не был обработан из-за проблем ревизии программного обеспечения. | ||
| message: | сообщение используется только для транзакции TQ, а не к состоянию транзакций, статус или аннулирование которых были запрошены. Сообщение формируется на основании кода отклика: | ||
| "success" | сообщение проигнорировано. | ||
| "failure-hard" | используется стандартное сообщение уведомление о неудаче. | ||
| "failure-swversion" | в случае фатальной ошибки используется стандартное сообщение типа swversion | ||
| swseverity: | относится к сообщению-запросу | ||
| swmessage: | относится к сообщению-запросу - для полей запрос/отмена ('N' берется из ряда от 1 до N) | ||
| transaction-N: | номер исходной транзакции, или, если исходной транзакции на сервере нет, то номер транзакции запроса состояния транзакции с заданным номером. Состояние исходной транзакции может быть одним из: | ||
| "success" | исходная транзакция была успешно проведена. Если запросом было сообщение TQ.2, аннулирование не производится. | ||
| "failure" | исходная транзакция не была реализована. Если запросом было сообщение TQ.2, аннулирование не производится. | ||
| "pending" | исходная транзакция все еще обрабатывается и окончательный результат пока не известен. | ||
| "canceled" | исходная транзакция была аннулирована сервером. Последующий приход исходной транзакции не будет обрабатываться, но будет послан отклик "failure-canceled". | ||
| server-date-1: | поле server-date из исходной транзакции. Опускается, если исходная транзакция на сервере отсутствует. | ||
| date-1: | поле даты исходной транзакции. Опускается, если исходная транзакция на сервере отсутствует. | ||
| type-1: | поле типа исходной транзакции. Опускается, если исходная транзакция на сервере отсутствует. | ||

| - сертификат SET для видов платежа, которые используют этот протокол оплаты; | |
| - код предоставляется платежной программой, которая работает с конкретным методом оплаты, это может быть приложимо к, например, GeldKarte, Mondex, CyberCash и DigiCash, |