Приказ Комитета информационных технологий и телекоммуникаций Вологодской области от 23.03.2015 N 25-О "Об утверждении формы договора об осуществлении безналичных расчетов с использованием государственной информационной системы "Портал государственных и муниципальных услуг Вологодской области"



КОМИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ТЕЛЕКОММУНИКАЦИЙ
ВОЛОГОДСКОЙ ОБЛАСТИ

ПРИКАЗ
от 23 марта 2015 г. № 25-О

ОБ УТВЕРЖДЕНИИ ФОРМЫ ДОГОВОРА ОБ ОСУЩЕСТВЛЕНИИ БЕЗНАЛИЧНЫХ
РАСЧЕТОВ С ИСПОЛЬЗОВАНИЕМ ГОСУДАРСТВЕННОЙ ИНФОРМАЦИОННОЙ
СИСТЕМЫ "ПОРТАЛ ГОСУДАРСТВЕННЫХ И МУНИЦИПАЛЬНЫХ УСЛУГ
(ФУНКЦИЙ) ВОЛОГОДСКОЙ ОБЛАСТИ" И ТЕХНИЧЕСКИХ ТРЕБОВАНИЙ
К ПОДКЛЮЧЕНИЮ КРЕДИТНОЙ ОРГАНИЗАЦИИ К ГОСУДАРСТВЕННОЙ
ИНФОРМАЦИОННОЙ СИСТЕМЕ "ПОРТАЛ ГОСУДАРСТВЕННЫХ
И МУНИЦИПАЛЬНЫХ УСЛУГ (ФУНКЦИЙ) ВОЛОГОДСКОЙ ОБЛАСТИ"

Во исполнение пункта 2 постановления Правительства области от 23 марта 2015 года № 230 "О конкурсе по выбору банка для осуществления безналичных расчетов с использованием государственной информационной системы "Портал государственных и муниципальных услуг (функций) Вологодской области" приказываю:
1. Утвердить:
форму договора об осуществлении безналичных расчетов с использованием государственной информационной системы "Портал государственных и муниципальных услуг (функций) Вологодской области" согласно приложению 1 к настоящему приказу;
Технические требования к подключению кредитной организации к государственной информационной системе "Портал государственных и муниципальных услуг (функций) Вологодской области" согласно приложению 2 к настоящему приказу.
2. Настоящий приказ вступает в силу по истечении 10 дней со дня его официального опубликования.

Председатель Комитета
А.А.НИКУЛИЧЕВ





Утверждена
Приказом
Комитета информационных технологий
и телекоммуникаций области
от 23 марта 2015 г. № 25-О
(приложение 1)

Форма

ДОГОВОР
об осуществлении безналичных расчетов
с использованием государственной
информационной системы "Портал
государственных и муниципальных услуг
(функций) Вологодской области"
№ _____________

г. Вологда "__"__________ 20__ г.

Комитет информационных технологий и телекоммуникаций Вологодской
области, именуемый в дальнейшем "Заказчик", в лице председателя Комитета
Никуличева Андрея Анатольевича, действующего на основании Положения о
Комитете информационных технологий и телекоммуникаций Вологодской области,
утвержденного постановлением Правительства области от 27 сентября 2010 года
№ 1105, с одной стороны, и _______________________________________________,
(полное наименование юридического лица)
именуемое в дальнейшем "Исполнитель", в лице _____________________________,
(наименование должности и
Ф.И.О. руководителя)
действующего на основании ________________________________________________,
(наименование учредительного документа, на
основании которого юридическое лицо действует)
с другой стороны, совместно именуемые в дальнейшем "Стороны", заключили
настоящий договор о нижеследующем.

1. Предмет договора

1.1. Заказчик поручает, а Исполнитель принимает на себя обязанность безвозмездно для Заказчика предоставлять услугу по приему посредством государственной информационной системы "Портал государственных и муниципальных услуг (функций) Вологодской области" (далее - РПГУ) и с использованием банковских карт платежных систем "Visa" и "MasterCard", выпущенных любыми кредитными организациями, платежей за государственные (муниципальные) услуги, услуги, предоставляемые государственными и муниципальными учреждениями и другими организациями, в которых размещается государственное задание (заказ) или муниципальное задание (заказ), а также иных платежей, взимаемых в соответствии с законодательством Российской Федерации, представление информации об уплате которых допускается с использованием информации, содержащейся в Государственной информационной системе о государственных и муниципальных платежах, если иное не предусмотрено федеральными законами (далее - Услуга).

2. Права и обязанности Заказчика

2.1. Заказчик имеет право:
1) получать от Исполнителя информацию, необходимую для надлежащего исполнения настоящего договора;
2) требовать от Исполнителя совершения действий, необходимых для надлежащего исполнения настоящего договора;
3) контролировать соблюдение Исполнителем обязанностей, предусмотренных настоящим договором;
4) расторгнуть настоящий договор в одностороннем порядке в случае нарушения Исполнителем обязанностей, предусмотренных настоящим договором.
2.2. Заказчик обязан:
1) оказывать содействие Исполнителю при предоставлении им Услуги, а также при осуществлении им подключения к РПГУ;
2) соблюдать режим конфиденциальности информации ограниченного доступа, полученной в рамках исполнения настоящего договора.

3. Права и обязанности Исполнителя

3.1. Исполнитель имеет право:
1) получать от Заказчика информацию, необходимую для надлежащего исполнения настоящего договора;
2) требовать от Заказчика совершения действий, необходимых для надлежащего исполнения настоящего договора.
3.2. Исполнитель обязан:
1) за свой счет в течение двух месяцев с даты заключения настоящего договора осуществить подключение к РПГУ в соответствии с техническими требованиями к подключению кредитной организации к государственной информационной системе "Портал государственных и муниципальных услуг (функций) Вологодской области", утвержденными приказом Комитета информационных технологий и телекоммуникаций Вологодской области;
2) предоставлять Услугу держателям банковских карт платежных систем "Visa" либо "MasterCard", выпущенных Исполнителем либо иными кредитными организациями, на условиях о размере комиссионного вознаграждения, установленных приложением к настоящему договору;
3) соблюдать режим конфиденциальности информации ограниченного доступа, полученной в рамках исполнения настоящего договора.

4. Ответственность Сторон

4.1. Исполнитель при предоставлении Услуги несет ответственность за нарушение требований законодательства Российской Федерации о банковском деле.

5. Срок действия договора

5.1. Настоящий договор действует бессрочно с момента его подписания Сторонами.
5.2. Каждая Сторона имеет право расторгнуть настоящий договор по соглашению Сторон с предупреждением другой Стороны в письменной форме за два месяца до даты его расторжения.

6. Порядок разрешения споров

6.1. В случае возникновения споров между Заказчиком и Исполнителем по вопросам исполнения настоящего договора Стороны должны принять все меры по разрешению их путем переговоров между собой.
6.2. Разногласия, по которым Стороны не достигнут договоренности, подлежат разрешению в Арбитражном суде Вологодской области.

7. Дополнительные условия

7.1. Договор составлен в двух экземплярах, имеющих равную юридическую силу, один экземпляр договора находится у Заказчика, второй - у Исполнителя.

8. Реквизиты и подписи Сторон

8.1. Заказчик: ___________________________________________________________.
8.2. Исполнитель: ________________________________________________________.

Заказчик: Исполнитель:
_____________________________________ _____________________________________
(должность руководителя) (должность руководителя)

_____________________________________ _____________________________________
(Ф.И.О. руководителя) (Ф.И.О. руководителя)

_____________________________________ _____________________________________
(подпись руководителя) (подпись руководителя)

М.П. М.П.





Приложение
к Договору
об осуществлении безналичных расчетов
с использованием государственной
информационной системы "Портал
государственных и муниципальных услуг
(функций) Вологодской области"

РАЗМЕР
комиссионного вознаграждения, которое исполнитель
обязуется взимать с держателя банковской карты платежной
системы "Visa" либо "MasterCard", выпущенной исполнителем
либо иной кредитной организацией, при приеме платежей
посредством государственной информационной системы
"Портал государственных и муниципальных услуг
(функций) Вологодской области"

N
п/п
Вид комиссионного вознаграждения Исполнителя, взимаемого с держателя банковской карты
Минимальный размер комиссионного вознаграждения Исполнителя, взимаемого с держателя банковской карты, руб. <1>
Размер комиссионного вознаграждения Исполнителя, взимаемого с держателя банковской карты, % от платежа <1>
1
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной Исполнителем, за прием платежей посредством государственной информационной системы "Портал государственных и муниципальных услуг (функций) Вологодской области" (далее - РПГУ) за уплату налога, сбора, государственной пошлины


2
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной иной кредитной организацией, за прием платежей посредством РПГУ за уплату налога, сбора, государственной пошлины


3
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной Исполнителем, за прием платежей посредством РПГУ в бюджетную систему Российской Федерации на соответствующий счет Федерального казначейства и начисленных Министерством внутренних дел Российской Федерации, либо Федеральной службой судебных приставов, либо Федеральным казначейством, за исключением уплаты налога, сбора, государственной пошлины


4
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной иной кредитной организацией, за прием платежей посредством РПГУ в бюджетную систему Российской Федерации на соответствующий счет Федерального казначейства и начисленных Министерством внутренних дел Российской Федерации, либо Федеральной службой судебных приставов, либо Федеральным казначейством, за исключением уплаты налога, сбора, государственной пошлины


5
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной Исполнителем, за прием платежей посредством РПГУ в бюджетную систему Российской Федерации на соответствующий счет Федерального казначейства, за исключением начисленных Министерством внутренних дел Российской Федерации, либо Федеральной службой судебных приставов, либо Федеральным казначейством, и за исключением уплаты налога, сбора, государственной пошлины


6
Комиссионное вознаграждение, которое Исполнитель обязуется взимать с держателя банковской карты платежной системы "Visa" либо "MasterCard", выпущенной иной кредитной организацией, за прием платежей посредством РПГУ в бюджетную систему Российской Федерации на соответствующий счет Федерального казначейства, за исключением начисленных Министерством внутренних дел Российской Федерации, либо Федеральной службой судебных приставов, либо Федеральным казначейством, и за исключением уплаты налога, сбора, государственной пошлины



Примечание:
<1> Графы таблицы заполняются на основе сведений о размере комиссионного вознаграждения, приведенных Исполнителем в его конкурсной заявке.





Утверждены
Приказом
Комитета информационных технологий
и телекоммуникаций области
от 23 марта 2015 г. № 25-О
(приложение 2)

ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ
К ПОДКЛЮЧЕНИЮ КРЕДИТНОЙ ОРГАНИЗАЦИИ К ГОСУДАРСТВЕННОЙ
ИНФОРМАЦИОННОЙ СИСТЕМЕ "ПОРТАЛ ГОСУДАРСТВЕННЫХ
И МУНИЦИПАЛЬНЫХ УСЛУГ (ФУНКЦИЙ) ВОЛОГОДСКОЙ ОБЛАСТИ"

Описание интерфейса

Процесс проведения транзакций

Рисунок не приводится.

1. После того как клиент на сайте государственной информационной системы "Портал государственных и муниципальных услуг (функций) Вологодской области" (далее - РПГУ) выбрал необходимые ему услуги и активизировал функцию оплаты, РПГУ предлагает ему указать метод оплаты услуг.
2. В случае если клиент выбирает оплату по банковской карте, РПГУ осуществляет подготовку транзакционной информации и отправку ее на шлюз электронной коммерции e-Gateway. Эта информация включает в себя в том числе код проверки сообщения, подтверждающий легитимность запроса. Этот код генерируется на основании секретных ключей, выданных РПГУ банком-эквайрером. После получения транзакционной информации шлюз электронной коммерции осуществляет проверку кода сообщения и в случае неверного кода РПГУ получает сообщение об ошибке.
Одновременно клиент перенаправляется РПГУ на сайт банка-эквайрера для ввода информации о карте, которая включает в себя такие данные, как номер карты, срок действия, CVC2.
Такое решение позволяет наиболее полно соответствовать требованиям международных платежных систем, которые не рекомендуют РПГУ запрашивать и хранить на своем сайте такую информацию, как номер карты и т.д.
Подобные рекомендации связаны с тем, что РПГУ не может гарантировать сохранность конфиденциальной информации.
Альтернативно РПГУ может сам предоставить подобную страницу. В этом случае URL для постирования данных должен быть установлен как URLe-Commerce Gateway CGI.
3. На сайте банка-эквайрера (альтернативно - на сайте РПГУ) клиент вводит информацию о карте.
4. Если номер карты входит в интервал номеров карт, участвующих в программе 3-D Secure, банк-эквайрер по протоколу 3-D Secure выполняет запрос на Direct Server платежной системы для проверки того, что конкретная карта участвует в программе 3-D Secure, а также получения ссылки (URL) на сайт банка-эмитента.
5. В случае участия карточки в программе 3-D Secure клиент по указанной ссылке перенаправляется на сайт банка-эмитента.
6. Держатель карты вводит пароль на сайте банка-эмитента, после чего банк осуществляет аутентификацию клиента (в зависимости от используемого метода аутентификации, например, EMV карты, структура процесса может быть более сложной). В соответствии с результатом аутентификации банк-эмитент формирует ответное сообщение, включающее в себя криптографические величины и электронную подпись ответа.
7. Банк-эмитент "возвращает" клиента на сайт банка-эквайрера, при этом в запросе содержится ответ с результатами аутентификации.
8. Одновременно информация о факте совершения 3-D Secure аутентификации отправляется банком-эмитентом на AHS платежной системы
9. В случае успешного завершения проверки держателя карты шлюз электронной коммерции отправляет финансовый запрос в процессинговую систему, которая формирует запрос к платежной системе по протоколу ISO 8583. Данный запрос содержит, в частности, криптографические величины.
10. Получив запрос, банк-эмитент в дополнение к стандартным проверкам проверяет подлинность криптографической величины и формирует ответный запрос.
11. Банк-эквайрер формирует и передает ответ РПГУ. При этом в ответном сообщении шлюза электронной коммерции не содержится конфиденциальной информации, взамен которой РПГУ получает уникальную ссылку на транзакцию в системе электронной коммерции "Internal Reference Number". Данная ссылка позволяет впоследствии отменить операцию. При этом РПГУ проверяет код ответа, отправленный шлюзом электронной коммерции.
12. Дополнительно шлюз электронной коммерции может отправить РПГУ сообщение о транзакции по e-mail.

Варианты проведения транзакций

Однопроходная схема

В данной схеме от РПГУ отправляется только финансовый запрос (TRTYPE=1). Подтверждения операции не требуется. Денежные средства с карты клиента списываются в момент проведения транзакции.

Двухпроходная схема

В данной схеме первоначально отправляется авторизационный запрос (TRTYPE=0). При проведении данной части денежные средства на счете клиента блокируются, но не списываются. Вторым шагом необходимо отправить запрос "Завершение продажи" (TRTYPE=21), при успешном выполнении которого будет произведено списание ранее заблокированных средств со счета клиента и перечисление их получателю.

Форматы запросов и ответов

Формат финансового/авторизационного запроса

Перечисленные ниже поля должны быть отправлены на URL e-Commerce Gateway с использованием метода POST. Набор полей разделен на три части: видимые поля, заполняемые держателем, видимые поля, сформированные системой РПГУ, и невидимые поля, сформированные системой РПГУ. Соответствующая страница может содержать сценарии JavaScript, выполняющие валидацию введенных держателем данных.

Таблица 1. Поля, заполняемые держателем (не передаются
в случае, если ввод данных производится на стороне банка)

Поле
Размер
Описание
CARD
9 - 19
Номер карты
EXP
2
Месяц истечения срока действия карты. Может быть реализован в виде поля "select":












EXP_JEAR
2
Год истечения срока действия карты (2 цифры 20XX). Может быть представлен в виде поля "select" со значениями на 15 - 20 лет вперед
CVC2
3
Проверочный код карты (CVV2/CVC2)
CVC2_RC
1
CVC2 Reason Code. Должно быть представлено в виде поля "select" со следующими значениями:




ZIP
6
Почтовый индекс держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
AVS
80
Адрес держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
CVC3

Проверочный код держателя. Должен присутствовать, если требуется локальными банками. Необязательное поле
NAME

Имя держателя карты. Необязательное поле

Таблица 2. Видимые поля, сформированные системой РПГУ

Поле
Размер
Описание
AMOUNT
1 - 12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта заказа в виде 3-буквенного кода. Для рублей равно RUR
ORDER
6 - 20
Номер заказа в системе РПГУ. Должен быть минимум 6 цифр
DESC
1 - 50
Описание заказа. Только в латинице (ASCII и транслит.)
MERCH_NAME
1 - 50
Название РПГУ. Только в латинице (ASCII и транслит.)
MERCH_URL
1 - 250
URL основного web-сайта РПГУ. Обязательно должен начинаться с "http://" или "https://"
MERCHANT
15
Номер РПГУ, присвоенный банком
TERMINAL
8
Номер терминала в системе РПГУ, присвоенный банком
EMAIL
80
Адрес e-mail для отправки оповещений. Если присутствует, то e-Commerce Gateway может отправлять по нему оповещения с результатами операции

Таблица 3. Невидимые поля, сформированные системой РПГУ

Поле
Размер
Описание
TRTYPE
1
Должно быть равно:
"0" - для авторизационного запроса (авторизация),
"1" - для финансового запроса
COUNTRY
2
2-буквенный код страны РПГУ. Должен присутствовать, если РПГУ расположен в стране, отличной от страны е-Commerce Gateway
MERCH_GMT
1 - 5
Часовой пояс (например: - 3). Должен присутствовать, если часовой пояс РПГУ отличается от часового пояса e-Commerce Gateway
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час, иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
16 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
BACKREF
1 - 250
URL системы РПГУ для возврата клиента на сайт РПГУ. Обязательно должен начинаться с "http://" или "https://"
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
PAYMENT_TEXT
1 - 100
Дополнительное поле, в котором РПГУ может отправлять дополнительную информацию. Данная информация также попадает в ежедневный реестр принятых платежей, который банк отправляет РПГУ
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках % 3 приходит на русском языке. Когда значение пустое, то на английском

Формат ответа на финансовый/авторизационный запрос

E-Commerce Gateway обрабатывает запрос, постирует веб-форму с полями, перечисленными ниже, в систему РПГУ по адресу, указанному в настройках e-Commerce Gateway для данного терминала. Дополнительно вся информация может быть отправлена по e-mail с использованием адреса, предоставленного в поле EMAL.

Таблица 4. Формат ответа
на авторизационное/финансовое сообщение

Поле
Размер
Описание
TERMINAL
8
Значение из входящего сообщения
TRTYPE
2
Значение из входящего сообщения
ORDER
6 - 20
Значение из входящего сообщения
AMOUNT
12
Сумма, списанная (заблокированная) с карты, с комиссиями/скидками (при их наличии) в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Значение из входящего сообщения
ACTION
1
Код ответа e-Commerce Gateway:
0 - Транзакция успешно завершена.
1 - Обнаружена повторная операция.
2 - Транзакция отклонена.
3 - Ошибка обработки транзакции
RC
2
Код ответа (ISO8583 поле 39)
APPROVAL
6
Код подтверждения банка-эмитента (ISO8583 поле 38). Может отсутствовать, если не предоставлен карточной системой
RRN
12
RR№ (IS08583 поле 37)
INT_REF
1 - 32
e-Commerce Gateway IRN
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС
NONCE
1 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC

Формат сообщения "Завершение продажи"

Перечисленный ниже набор полей отправляется на URL e-Commerce Gateway CGI с использованием метода POST через HTTPS.
Сообщение отправляется системой ТСП по факту доставки заказа. При получении сообщения процессинговая система завершает финансовую операцию и осуществляет перевод средств на счет ТСП. Все поля формируются системой ТСП, держатель не участвует в операции.

Таблица 5. Поля сообщения "Завершение продажи"

Поле
Размер
Описание
ORDER
6 - 20
Номер заказа из авторизационного сообщения. Должен быть минимум 6 цифр
AMOUNT
12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта. Значение должно совпадать со значением в авторизационном сообщении. Для рублей равно RUR
RRN
12
RR№ из ответа на авторизационное сообщение
INT_REF
1 - 32
IR№ из ответа на авторизационное сообщение
TRTYPE
2
Равно "21" (Завершение продажи")
TERMINAL
8
Номер терминала, должен совпадать с номером в авторизационном сообщении
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час? иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
1 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [а - f] [А - F] символы
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
PAYMENT_TEXT
1 - 100
Дополнительное поле, в котором РПГУ может отправлять дополнительную информацию. Данная информация также попадает в ежедневный реестр принятых платежей, который Банк отправляет РПГУ
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках %3 приходит на русском языке. Когда значение пустое, - то на английском

Формат сообщения "Перевод денежных средств"

Перечисленные ниже поля должны быть отправлены на URL e-Commerce Gateway с использованием метода POST. Набор полей разделен на три части: видимые поля, заполняемые держателем, видимые поля, сформированные системой РПГУ, и невидимые поля, сформированные системой РПГУ. Соответствующая страница может содержать сценарии JavaScript, выполняющие валидацию введенных держателем данных.

Таблица 6. Поля, заполняемые держателем (не передаются
в случае, если ввод данных производится на стороне Банка)

Поле
Размер
Описание
CARD
9 - 19
Номер карты
EXP
2
Месяц истечения срока действия карты. Может быть реализован в виде поля "select":












EXP_YEAR
2
Год истечения срока действия карты (2 цифры 20XX). Может быть представлен в виде поля "select" со значениями на 15 - 20 лет вперед
CVC2
3
Проверочный код карты (CVV2/CVC2)
CVC2_RC
1
CVC2 Reason Code. Должно быть представлено в виде поля "select" со следующими значениями:




ZIP
6
Почтовый индекс держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
AVS
80
Адрес держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
CVC3

Проверочный код держателя. Должен присутствовать, если требуется локальными банками. Необязательное поле
NAME

Имя держателя карты. Необязательное поле
PAYMENT_TO
2 - 36
Номер банковской карты, на которую переводятся денежные средства

Таблица 7. Видимые поля, сформированные системой РПГУ

Поле
Размер
Описание
AMOUNT
12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта в виде 3-буквенного кода. Для рублей равно RUR
ORDER
6 - 20
Номер операции в системе РПГУ
DESC
1 - 50
Описание операции. Только в латинице (ASCII и транслит.)
MERCH_NAME
1 - 50
Название РПГУ. Только в латинице (ASCII и транслит.)
MERCH_URL
1 - 250
URL основного web-сайта РПГУ. Обязательно должен начинаться с "http://" или "https://"
MERCHANT
15
Номер РПГУ, присвоенный банком
TERMINAL
8
Номер терминала в системе РПГУ, присвоенный банком
EMAIL
80
Адрес e-mail для отправки оповещений. Если присутствует, то e-Commerce Gateway может отправлять по нему оповещения с результатами операции

Таблица 8. Невидимые поля, сформированные системой РПГУ

Поле
Размер
Описание
TRTYPE
1
Должно быть равно "8" - перевод денежных средств
COUNTRY
2
2-буквенный код страны РПГУ. Должен присутствовать, если РПГУ расположено в стране, отличной от страны e-Commerce Gateway
MERCH_GMT
1 - 5
Часовой пояс (например: - 3). Должен присутствовать, если часовой пояс РПГУ отличается от часового пояса e-Commerce Gateway
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час, иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
16 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
BACKREF
1 - 250
URL системы РПГУ для возврата клиента на сайт РПГУ. Обязательно должен начинаться с "http://" или "https://"
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
PAYMENT_TEXT
1 - 100
Дополнительное поле, в котором РПГУ может отправлять дополнительную информацию. Данная информация также попадает в ежедневный реестр принятых платежей, который Банк отправляет РПГУ
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках %3 приходит на русском языке. Когда значение пустое, - то на английском

Формат ответа на запрос перевода денежных средств

E-Commerce Gateway обрабатывает запрос, постирует веб-форму с полями, перечисленными ниже, в систему РПГУ по адресу, указанному в настройках e-Commerce Gateway для данного терминала. Дополнительно вся информация может быть отправлена по e-mail с использованием адреса, предоставленного в поле EMAL.

Таблица 9. Формат ответа на сообщение
по переводу денежных средств

Поле
Размер
Описание
TERMINAL
8
Значение из входящего сообщения
TRTYPE
2
Значение из входящего сообщения
ORDER
6 - 20
Значение из входящего сообщения
AMOUNT
12
Сумма, списанная (заблокированная) с карты, с комиссиями/скидками (при их наличии) в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Значение из входящего сообщения
ACTION
1
Код ответа e-Commerce Gateway:
0 - Транзакция успешно завершена.
1 - Обнаружена повторная операция.
2 - Транзакция отклонена.
3 - Ошибка обработки транзакции
RC
2
Код ответа (ISO8583 поле 39)
APPROVAL
6
Код подтверждения банка-эмитента (ISO8583 поле 38). Может отсутствовать, если не предоставлен карточной системой
RRN
12
RR№ (ISO8583 поле 37)
INT_REF
1 - 32
e-Commerce Gateway IRN
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС
NONCE
1 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [а - f] [A - F] символы
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC

Формат сообщения "Онлайн-платеж"

Перечисленные ниже поля должны быть отправлены на URL e-Commerce Gateway с использованием метода POST. Набор полей разделен на три части: видимые поля, заполняемые держателем, видимые поля, сформированные системой РПГУ, и невидимые поля, сформированные системой РПГУ. Соответствующая страница может содержать сценарии JavaScript, выполняющие валидацию введенных держателем данных.

Таблица 10. Поля, заполняемые держателем (не передаются
в случае, если ввод данных производится на стороне банка)

Поле
Размер
Описание
CARD
9 - 19
Номер карты
EXP
2
Месяц истечения срока действия карты. Может быть реализован в виде поля "select":












EXP_YEAR
2
Год истечения срока действия карты (2 цифры 20XX). Может быть представлен в виде поля "select" со значениями на 15 - 20 лет вперед
CVC2
3
Проверочный код карты (CVV2/CVC2)
CVC2_RC
1
CVC2 Reason Code. Должно быть представлено в виде поля "select> со следующими значениями:




ZIP
6
Почтовый индекс держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
AVS
80
Адрес держателя. Может присутствовать, если поддерживается верификация адреса держателя. Необязательное поле
CVC3

Проверочный код держателя. Должен присутствовать, если требуется локальными банками. Необязательное поле
NAME

Имя держателя карты. Необязательное поле
PAYMENT_TO
2 - 36
Номер, идентифицирующий клиента, в системе провайдера платежа (номер лицевого счета, номер договора, номер телефона без восьмерки). Поле передается, даже если ввод данных производится на стороне Банка

Таблица 11. Видимые поля, сформированные системой РПГУ

Поле
Размер
Описание
AMOUNT
12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта в виде 3-буквенного кода. Для рублей равно RUR
ORDER
6 - 20
Номер операции в системе РПГУ. Должен быть минимум 6 цифр
DESC
1 - 50
Описание операции. Только в латинице (ASCII и транслит.)
MERCH_NAME
1 - 50
Название РПГУ. Только в латинице (ASCII и транслит.)
MERCH_URL
1 - 250
URL основного web-сайта РПГУ. Обязательно должен начинаться с "http://" или "https://"
MERCHANT
15
Номер РПГУ, присвоенный банком
TERMINAL
8
Номер терминала в системе РПГУ, присвоенный банком
EMAIL
80
Адрес e-mail для отправки оповещений. Если присутствует, то e-Commerce Gateway может отправлять по нему оповещения с результатами операции

Таблица 12. Невидимые поля, сформированные системой РПГУ

Поле
Размер
Описание
TRTYPE
1
Должно быть равно "6" - онлайн-платеж (Online payment)
COUNTRY
2
2-буквенный код страны РПГУ. Должен присутствовать, если РПГУ расположено в стране, отличной от страны e-Commerce Gateway
MERCH_GMT
1 - 5
Часовой пояс (например: - 3). Должен присутствовать, если часовой пояс РПГУ отличается от часового пояса e-Commerce Gateway
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час, иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
16 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
BACKREF
1 - 250
URL системы РПГУ для возврата клиента на сайт РПГУ. Обязательно должен начинаться с "http://" или "https://"
PAYMENT
1 - 50
Код платежа, присвоенный банком. Обязательное поле
PAYMENT_DATE
6 - 14
Период, за который производится оплата (формат ММГГГГ). Необязательное поле
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
PAYMENT_TEXT
1 - 100
Дополнительное поле, в котором РПГУ может отправлять дополнительную информацию. Данная информация также попадает в ежедневный реестр принятых платежей, который Банк отправляет РПГУ
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках %3 приходит на русском языке. Когда значение пустое, - то на английском

Формат ответа на запрос "Онлайн-платеж"

E-Commerce Gateway обрабатывает запрос, посгирует веб-форму с полями, перечисленными ниже, в систему РПГУ по адресу, указанному в настройках e-Commerce Gateway. Дополнительно вся информация может быть отправлена по e-mail с использованием адреса, предоставленного в поле EMAL.

Таблица 13. Формат ответа на сообщение по онлайн-платежу

Поле
Размер
Описание
TERMINAL
8
Значение из входящего сообщения
TRTYPE
2
Значение из входящего сообщения
ORDER
6 - 20
Значение из входящего сообщения
AMOUNT
12
Сумма, списанная (заблокированная) с карты, с комиссиями/скидками (при их наличии) в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Значение из входящего сообщения
ACTION
1
Код ответа e-Commerce Gateway:
0 - Транзакция успешно завершена.
1 - Обнаружена повторная операция.
2 - Транзакция отклонена.
3 - Ошибка обработки транзакции
RC
2
Код ответа (IS08583 поле 39)
APPROVAL
6
Код подтверждения банка-эмитента (IS08583 поле 38). Может отсутствовать, если не предоставлен карточной системой
RRN
12
RR№ (IS08583 поле 37)
INT_REF
1 - 32
e-Commerce Gateway IRN
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС
NONCE
1 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC

Формат сообщения "Возврат"

Данное сообщение отправляется на e-Commerce Gateway для отмены ранее проведенной операции. Формат сообщения аналогичен формату сообщения "Завершение продажи", за исключением поля TRTYPE. Все поля формируются системой РПГУ.

Таблица 14. Поля сообщения "Возврат"

Поле
Размер
Описание
ORDER
6 - 20
Номер заказа из авторизационного сообщения. Должен быть минимум 6 цифр
AMOUNT
12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта. Значение должно совпадать со значением в авторизационном сообщении. Для рублей равно RUR
RRN
12
RR№ из ответа на авторизационное сообщение
INT_REF
1 - 32
IR№ из ответа на авторизационное сообщение
TRTYPE
2
Значение равно "24" (Reversal advice)
TERMINAL
8
Номер терминала должен совпадать с номером в авторизационном сообщении
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час, иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
1 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках %3 приходит на русском языке. Когда значение пустое, - то на английском

Формат ответа на сообщение "Возврат"

E-Commerce Gateway обрабатывает сообщение "Возврат" и передает результаты обработки в систему РПГУ. Формат ответного сообщения аналогичен формату ответа на финансовый запрос.

Периодические платежи (Recurring Payments)

Для создания периодического платежа необходимо отправить финансовый/авторизационный запрос с дополнительными полями - планом выполнения периодических операций: RECUR_FREQ, RECUR_EXP (первая операция). Данные поля описаны в таблице 15, необходимо отправлять обязательно в паре, участвуют в макировании.

Таблица 15. Дополнительные обязательные поля
к финансовому/авторизационному запросу (таблица 3)

Поле
Размер
Описание
RECUR_FREQ
1 - 4
Частота периодического платежа - минимальное число дней между периодическими операциями. Только цифры. Ежемесячной частоте соответствует значение 28
RECUR_EXP

Дата истечения возможности выполнения периодического платежа. Формат ГГГГММДД

Вторая и последующие периодические операции - это обычный финансовый запрос (только TRTYPE = 171) с двумя обязательными дополнительными полями: RECUR_REF, INT_REF. Данные поля описаны в Таблице 17, они участвуют в макировании.

Таблица 16. Видимые поля, сформированные системой РПГУ

Поле
Размер
Описание
AMOUNT
1 - 12
Сумма заказа в виде числа с плавающей точкой и разделителем в виде точки
CURRENCY
3
Валюта заказа в виде 3-буквенного кода. Для рублей равно RUR
ORDER
6 - 20
Номер заказа в системе РПГУ. Должен быть минимум 6 цифр
DESC
1 - 50
Описание заказа. Только в латинице (ASCII и транслит.)
MERCH_NAME
1 - 50
Название РПГУ. Только в латинице (ASCII и транслит.)
MERCH_URL
1 - 250
URL основного web-сайта РПГУ. Обязательно должен начинаться с "http://" или "https://"
MERCHANT
15
Номер РПГУ, присвоенный банком
TERMINAL
8
Номер терминала в системе РПГУ, присвоенный банком
EMAIL
80
Адрес e-mail для отправки оповещений. Если присутствует, то e-Commerce Gateway может отправлять по нему оповещения с результатами операции

Таблица 17. Невидимые поля, сформированные системой РПГУ

Поле
Размер
Описание
TRTYPE
1
Должно быть равно 171
COUNTRY
2
2-буквенный код страны РПГУ. Должен присутствовать, если РПГУ расположено в стране, отличной от страны e-Commerce Gateway
MERCH_GMT
1 - 5
Часовой пояс (например: - 3). Должен присутствовать, если часовой пояс РПГУ отличается от часового пояса e-Commerce Gateway
TIMESTAMP
14
Отметка времени в UTC + 0 в формате ГГГГММДДЧЧММСС. Отметка времени операции и e-Commerce Gateway не должны различаться более чем на 1 час, иначе e-Commerce Gateway отвергнет операцию с ошибкой Expired transaction
NONCE
16 - 64
Случайная величина. Заполняется 8 - 32 байтами в шестнадцатеричном формате. Должна присутствовать, если используется MAC. Минимум 16 символов. Поле должно содержать только [0 - 9] [a - f] [A - F] символы
BACKREF
1 - 250
URL системы РПГУ для возврата клиента на сайт РПГУ. Обязательно должен начинаться с "http://" или "https://"
RECUR_REF

RR№ из ответа на первую операцию
INT_REF
1 - 32
IR№ из ответа на первую операцию
P_SIGN
1 - 256
MAC в шестнадцатеричном виде. Поле присутствует, если используется MAC
PAYMENT_NEXT
1 - 100
Дополнительное поле, в котором РПГУ может отправлять дополнительную информацию. Данная информация также попадает в ежедневный реестр принятых платежей, который Банк отправляет РПГУ
LANG
3
Язык операций. Если LANG = ru, то сообщение об ошибках %3 приходит на русском языке. Когда значение пустое, то на английском

Дополнительные отраслевые поля (длинная запись)

Для некоторых типов операций есть возможность РПГУ передавать в платежную систему дополнительные данные. Для включения данного режима нужно передать в финансовом/авторизационном запросе поле ADDENDUM с дополнительными полями (таблицы 18, 19).

Поле
Размер
Описание
ADDENDUM
2
Тип отправляемых дополнительных полей. Если это поле не пустое, то e-Commerce Gateway списывает дополнительные поля. (см. таблицы 18, 19).
AI-Авиалинии

Таблица 18. Общая информация
о билете (A№ - латынь с цифрами)

Поле
Размер
Описание
AI.TICKET.NAME
AN(20)
Имя билета. Обязательное поле
AI.TICKET.NUMBER
AN(13)
Номер билета. Обязательное поле
AI.TICKET.RESTRICTED
AN(1)
Индикатор, показывающий, подлежит ли билет возврату:
0 - можно возвращать;
1 - возврату не подлежит
AI.TICKET.SYSTEM
AN(4)
Код системы бронирования, через которую покупается билет. Например:
DATS = Delta,
SABR-Sabre
AI.TICKET.AGENCY.CODE
AN(8)
Код агентства
AI.TICKET.AGENCY.NAME
AN(25)
Имя агентства

Таблица 19. Информация о переездах в рамках одного билета
(A№ - латынь с цифрами). # - порядковый номер переезда,
максимально поддерживаемое число переездов равно 4

Поле
Размер
Описание
AI.TRIPLEG#.DATE
YYYY-MM-DD
Дата отправления. ОБЯЗАТЕЛЬНОЕ ПОЛЕ
AI.TRIPLEG#.CARRIER
AN(2)
Код, указывающий на имя перевозчика
AI.TRIPLEG#.CLASS
AN(1)
Класс обслуживания (бизнес, первый и т.д.)
AI.TRIPLEG#.FROM
AN(3)
Код аэропорта отправления. ОБЯЗАТЕЛЬНОЕ ПОЛЕ
AI.TRIPLEG#.TO
AN(3)
Код аэропорта прилета. ОБЯЗАТЕЛЬНОЕ ПОЛЕ
AI.TRIPLEG#.STOP
AN(1)
Индикатор, указывающий на возможность промежуточных посадок:
0 - возможно;
X - невозможно
AI.TRIPLEG#.FARE
AN(6)
Код тарифа билета
AI.TRIPLEG#.FLIGH
AN(5)
Номер рейса

Описание алгоритма макирования

Алгоритм вычисления МАС-подписи

MAC - MESSAGE AUTHENTICATIO№ CODE
Для валидации и аутентификации сообщений/запросов, передаваемых в e-Commerce Gateway, система РПГУ должна реализовывать расчет и проверку MAC как минимум для операций, для проведения которых используется браузер держателя. Сообщения, отправляемые непосредственно на e-Commerce Gateway (завершение продаж и возврат), могут быть взаимно аутентифицированы с использованием клиентского и серверного SSL-сертификата и поэтому не требуют наличия MAC. Если взаимная аутентификация не выполняется, то в сообщениях должен присутствовать MAC.
MAC вычисляется с использованием значений полей, сформированных системой РПГУ, в соответствии с приведенными ниже таблицами. Само поле, содержащее MAC (P_SIGN), в расчете не участвует.
Для расчета или проверки MAC система РПГУ должна сформировать строку, содержащую значения всех полей. Значение каждого поля дополняется спереди длиной значения (ASCII), и все поля объединяются (конкатенация) в порядке, определенном в соответствующем описании формата. Если у какого-либо поля значение отсутствует, то используется символ "-".

Например, исходная строка содержит значения полей: AMOUNT, CURRENCU, OREDR, DESC, MERCH_NAME, MERCH_URL, MERCHANT, TERMINAL, EMAIL, TRTYPE, COUNTRY, MERCH_GMT, TIMESTAMP, NONCE, BACKREF. Предположим, что значения полей следующие:

Поле
Размер
Значение
AMOUNT
5
11.48
CURRENCY
3
USD
ORDER
6
771446
DESC
16
IT Books. Qty: 2
MERCH_NAME
17
Books Online Inc.
MERCH-URL
14
www.sample.com
MERCHANT
15
123456789012345
TERMINAL
8
99999999
EMAIL
19
pgw@mail.sample.com
TRYTPE
1
1
COUNTRY
0

MERCH_GMT
0

TIMESTAMP
14
20030105153021
NONCE
16
F2B2DD7E603A7ADA
BACKREF
33
https://www.sample.com/shop/reply

Тогда исходная строка имеет вид:
511.483USD677144616IT Books. Qty: 217Books Online Inc.14www.sample.com 1512345678901234589999999919pgw@mailsample.com11--142003010515302116F2B2DD7E603A7ADA33https://www.sample.com/shop/reply.
После формирования исходной строки система РПГУ должна применить к ней криптографическое преобразование. E-Commerce Gateway поддерживает множество криптоалгоритмов, и системный администратор может выбрать, какой алгоритм будет использован для каждого терминала. Система РПГУ может реализовать криптоалгоритм либо в виде аппаратного модуля, либо в виде программного модуля. РПГУ полностью отвечает за безопасное использование и хранение ключевой информации. Длина используемых ключей не должна быть меньше 112 бит для симметричных алгоритмов и 1024 бита - для RSA.
По умолчанию для макирования используется алгоритм HMAC_SHA1. Также доступны 3DES ABA/ABC СВС MAC AES128 СВС MAC и RAS/SHA1.
Для приведенного выше примера исходной строки при использовании алгоритма HMAC_SHA1 и ключа "00112233445566778899AABBCCDDEEFF" значение MAC равно "FACC882CA67E109E409E3974DDEDA8AAB13A5E48". Значение может быть представлено как строчными, так и прописными буквами в шестнадцатеричном формате.
При вычислении МАС-подписи по алгоритму HMAC_SHA1 необходимо учитывать, что ключ требуется преобразовывать в двоичный вид.
Примеры:
- правильно:
hmac_hash("sha1","MACDataString....",pack("H*","1423E4AE3874B0342D164AC25E79EADB"));
где,
- pack("H*", "data") - это представление hex строки в бинарном виде
- hmac_has (algo, string, key) - это библиотечная функция;
- неправильно:
hmac_hash("shal","MACDataString....","1423E4AE3874B0342D164AC 25E79EADB");
- правильно:
echo hash_hmac(
'sha1',
'mac_field1'.
'...'
' mac_fieldN',
pack('H*', '1423E4AE3874BO342D164AC25E79EADB')
);
- неправильно:
echo hash_hmac(
'sha1',
'mac_field1'.
'...'.
mac_fieldN',
'1423E4AE3874B0342D164AC25E79EADB');

Поля для вычисления МАС-подписи в запросе

TRTYPE
Описание типа транзакции
Поля для вычисления MAC
0
Authorization request
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
1
Retail financial request

0
Authorization request
(the first transaction recurrinq payments)
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
RECUR_FREQ
RECUR_EXP
1
Retail financial reques
(the first transaction recurring payments)t
171
Retail financial reques
(the subsequent transaction recurring
payments)
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
RECUR_REF
INT_REF
6
Online payment
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
PAYMENT
PAYMENT_TO
PAYMENT_DATE
8
Money transfer
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
PAYMENT_TO
21
Sales Completion Request
ORDER
AMOUNT
CURRENCY
RRN
INT_REF
TRTYPE
TERMINAL
TIMESTAMP
NONCE
22
Reversal Request
24
Reversal Advice

Поля для вычисления МАС-подписи в ответе

TRTYPE
Описание типа транзакции
Поля для вычисления MAC
0
Authorization request
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
RRN
INT_REF
RC
1
Retail financial request

0
Authorization request
(the first transaction recurrinq payments)
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
RECUR_FREQ
RECUR_EXP
RRN
INT_REF
RC
1
Retail financial reques
(the first transaction recurring payments)t
171
Retail financial reques
(the subsequent transaction recurring
payments)
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
RECUR_REF
RRN
INT_REF
RC
6
Online payment
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
PAYMENT
PAYMENT_TO
PAYMENT_DATE
RRN
INT_REF
RC
8
Money transfer
AMOUNT
CURRENCY
ORDER
DESC
MERCH_NAME
MERCH_URL
MERCHANT
TERMINAL
EMAIL
TRTYPE
COUNTRY
MERCH_GMT
TIMESTAMP
NONCE
BACKREF
PAYMENT_TO
RRN
INT_REF
RC
21
Sales Completion Request
ORDER
AMOUNT
CURRENCY
RRN
INT_REF
TRTYPE
TERMINAL
TIMESTAMP
NONCE
RC
22
Reversal Request
24
Reversal Advice

Поля транзакционного сообщения E-Gateway

Поля, отправляемые e-Gateway модулем в ответ
на запросы со стороны системы РПГУ

Данные поля возможно определить на web-странице в виде %Field
Пример:








Field
Format (Length)
Description
1
Numeric (1)
This field contains e-gateway action code. Action codes are:
0 - Transaction successfully completed;
1 - Duplicate transaction detected;
2 - Transaction declined;
3 - Transaction processing fault;
4 - Information messaqe
2
Numeric (2)
This field contains ISO-8583 Field 39: Respond code additional e-Gacewav Response Code
3
String (3)
This field contains text message corresponding to the Response code (Field 2). Text message is retrieved from "rctext. ext" file by line number. Extension of this file name equals to e-gateway field 31 or "def" if this field is absent
4
Numeric (6)
Client bank's approval code (ISO-8583 Field 38)
5
YYMM
Card expiration date (ISO-8583 Field 14)
6
Numeric (3)
Transaction currency code
7
Strinq (3)
Transaction currency name
8
Numeric
Authorized transaction amount. (ISO-8583 Field 4)
9
MMDDHHMMSS
Transaction transmission time stamp. (ISO-8583 Field 7)
10
MMDDHHMMSS
Transaction processinq time stamp (ISO-8583 Fields 12,13)
11

Reserved for future use
12
String (9 - 19)
Masked PA№ (e.g. 4XXXXXXX1111)
13
String
Decoded value of Field 1
14
YY/MM
Different format of Field 5
15
String
Interface mode. Reserved for future use
16
String
Extended diagnostic code
17
String
Extended diagnostic message
18 - 20

Reserved for future use
21 - 120

Source Transaction Fields. See Table 16 below
121
String
Web master e-mail address
122
String
Transit variables for "GET" method
123
String
The text message corresponding to the Response Code. The same as field 3 but URL encoded
124
String
"OUR_URL" parameter from [MAIN] section
125
String
XML messaqe body. Used by 3D Secure MPI module
126
String
ACS URL Used by 3D Secure MPI module
127 - 153

Reserved for future use
151
Char(l)
Card channeL Used by 3D Secure MPI module: E - MasterCard V-VISA
152
Char(l)
Own card flag. Used by 3D Secure MPI module:
Y - Existing own card.
R - Own card range. Card is absent.
№ - Non-own card ranqe
153
String
Card Brand. Used by 3D Secure MPI module
154
String
Member ID. Used by 3D Secure MPI module
155
String
iPOS Mini-statement
156
String
iPOS Account Balances List
157
Amount
Acquirer's fee. Positive amount is cardholder debit fee; negative amount is cardholder credit fee (acquirer's bonus)
158
Numeric(6)
iPOS Batch ID
159
String
iPOS Batch processinq type. Reserved
160
String
iPOS Batch totals
161
String
Cardholder verification/authentication type: PBT - PI№ based authentication. TDS - 3D Secure authentication
162
Amount
Transaction amount without fee. This field is set when acquirer fee is used
163
Numeric(6)
iPOS transaction number in batch
164
String
Enrollment form identification
170
String
Application specific taqs. (OW POS ISO Field 63.29)
171
String
Last login information. As received from Authentication server

Поля, отправляемые в запросах со стороны
системы РПГУ и в ответах на запросы

С web-страницы поля постируются на адрес e-Gateway по Field Name.
Пример:
div align="right">Enter your card number:

input name="CARD"value="5417151036476601" size=16" maxlength="16"type="TEXT">
На web-странице вывода результатов данные поля определяются в виде %Field.
Пример:




Field
Format and Presence
Field Name
Description
21
String Conditional
TERMINAL
Merchant Terminal ID. Field is optional if Terminal Id can be detected by IP address, otherwise mandatory
22
Numeric Conditional
TRTYPE
E-Gateway Transaction type (See "E-Gateway Transaction Types* table). Field is optional if configuration defines default transaction type
23
Numeric Conditional
CARD
Card Number (ISO-8583 Field 2). Optional for PBT transactions
24
String Conditional
EXP
Source card expiration date or month. E.g. "0101" or "01" or "Jan". Optional for PBT transactions
25
Numeric Mandatory
AMOUNT
Source transaction amount
26
String (3) Mandatory
CURRENCY
Source transaction currency. Must be valid currency name or code
27
Numeric Conditional
ORDER
Source e-Merchant Order Id. Mandatory for Retail transactions
28
Numeric 12 Conditional
RRN
Retrieval reference number (ISO-8583 Field 37). Mandatory for reversal operations
29
Numeric Optional
MERCHANT
Source e-Merchant Id
30
Numeric 4 Conditional
CVC2
Card CVV2/CVC2
31
Numeric 3 Conditional
LANG
Transaction language. The value of this field will be used as extension for message file
32
Numeric Conditional
EXP_YEAR
Card expiration year if Field 24 doesn't contain it
33
Numeric 1 Conditional
PINPAD
Merchant PI№ pad type for PBT.
2 - PI№ pad agent connection (obsolete)
3 - Authentication service compatible PI№ pad (iPOS)
34
Numeric Optional
BANK
Source Merchant Acquirer Id
35
Mumeric Optional
ZIP
Client ZIP code (to be verified by AVS)
36
String Optional
AVS
Client billing address (to be verified by AVS)
37
E-mail Optional
EMAIL
Client e-mail address
38
String Optional
NAME
Client card name (as embossed on card)
39
String Conditional
CODE
Message reference/security code (used in the multiphase transactions)
40
Numeric Conditional
PAYMENT
Utility payment code. Mandatory for payment transaction types
41
URL Optional
BACKREF
Merchant site URL to return response back
42
String Optional
P_SES_ID
Internet Banking Session Id
43
String Optional
JSERVSESSIO NIDROOT
Internet Banking Security Id
44
String Conditional
P_SIGN
Message authentication code (MAC).
Mandatory if required by terminal configuration
45
String Optional
P_CURR_JOB
Internet Banking Job Id
46
String Optional
PASSWORD
Client password, if password authentication is used
47
YYYYMMDOHHMMSS Conditional
TIMESTAMP
Transaction timestamp. Mandatory if message authentication code (MAC) is used
48
Numeric Optional
P_ID
Internet Banking Reference Id
49
Numeric Conditional
ACCNT_SEL
Account selector. Identifies account (credit checking, default etc.) within PAN
50
Numeric (1) Optional
CVC2_RC
CVV2/CVC2 Reason Code:
0 - CVC2 is intentionally not provided;
1 - CVC2 is present;
2 - CVC2 is present but illegible;
9 - No CVC2 is imprinted
51
Numeric
INT_REF
Internal Reference. Mandatory for reference based transactions. Must match INT_REF from original response
52
Numeric Optional
ORG_AMOUNT
Original transaction amount. Must be present for partial reversals
53
String (80)
MERCH_NAME
Merchant name
54
String (3)
COUNTRY
Merchant 2-character country code
55
String (250)
MERCH_URL
Merchant Internet Shop URL
56
Sign and Number (1)
MERCH_GMT
Merchant UTC/GMT time zone offset
57
String (80)
BRANDS
Merchant accepted comma-separated brands list
58
String (80)
DESC
Merchant order description
59
String (32)
SERVICE
Reguested service name
60
String (32)
USER
User name for reguested service
61
String (64)
NONCE
Transaction nonce. Must be filled with 8 - 32 unpredictable random bytes in hexadecimal form. Mandatory if message authentication code (MAC) is used
62
String (2 - 36)
PAYMENT_TO
"Payment to" details (e.g. phone number)
63 - 64

Ucaf_flag,
Ucaf_Authentication. Data
Reserved for UCAF data
65
String (16)
FORM_ID
Form reference ID (used for transaction forms, i.e. when HTML form for entering card data qenerated bye-Gateway)
66
String
AUTH_TYPE
Authentication method or type
67
String
ALUTH_DATA
Authentication data (depends on AUTH TYPE)
68
String (1 - 25)
PAYMENT_FROM
"Payment from" details (e.g. account number)
69
Numeric (8 - 14)
PAYMENT_DATE
Payment period (field format depends on payment type)
70
String (1 - 100)
PAYMENT_TEXT
Payment text details
71 - 100
String

Administrator defined fields.
101 - 121
String

These fields are retrieved from CGI Environment
101
IP Address Mandatory
REMOTE_ADDR
Client CGI source IP address
102
URL Mandatory
HTTP_REFERER
Client Browser Referrer Page
103
String Mandatory
HTTP_USER_AGENT
Client Browser Software
104
String Mandatory
HTTPS
SSL Switch
105
String
ACCEPT
User accepted mime types
106
String Optional
Authorization
Web server authorization code
107 - 121


Reserved for future use
171
Char (1),
Optional
DELIVERY
Delivery method. When field is absent delivery type is unknown.
Defined values:
'S' - Electronic delivery,
'T' - Physical deliverv
177
String (2),
Optional
ADDENDUM
Type of industry specific addendum. When this field is present EGW will read and process additional set of fields (See addendum fields below).
Currently defined types:
"AT" - Airline, Passenger Itinerary

Пример точки. РПГУ

На примере trtype = l.
1. РПГУ отправляет страницу, в которой заполняются форма с полями таблиц 2, 3 (в примере ввод данных производится на стороне Банка). Форма постируется на адрес Банка-эквайрера (далее - Банк).
2. Банк отправляет клиенту страницу tranform.html, в которой клиент дозаполняет поля формы EXP, EXP_YEAR, CVC2, CVC2_RC. Форма постируется в банк.
Банк делает запрос VeReq в Платежную систему (DS). Если карта не подписана на 3ds (enroll=n), то идет этап 6, иначе - этап 3.
3. Банк отправляет пустую страницу cardauth.html с невидимой формой, которая автоматически постирует PaReq на адрес банка-эмитента, который Банку вернула Платежная система, параметр %126. При этом в параметр TermUrl ставится адрес Банка %124, куда банк-эмитент должен направить PaRes через клиента.
4. Банк-эмитент отправляет клиенту страницу ввода пароля. Клиент вводит пароль.
5. Банк-эмитент отправляет пустую страницу с невидимой формой, которая автоматически постирует PaRes в Банк.
6. Если аутентификация проходит успешно, то Банк в зависимости от TRTYPE проводит либо блокировку, либо списание денег с карты, либо reverse операции.
7. Банк отправляет одну из страниц ответа.
8. Банк отправляет CallBack РПГУ о результатах операции.


РПГУ Браузер (клиент) Банк-эквайрер Банк-эмитент
(EGW) (ACS)

1 >


.........name="CURRENCY"......
.........name-"ORDER"......
.........name="DESC"......
.........name-"MERCH_NAME"......
.........name="MERCH_URL"......
.........name="MERCHANT"......
.........name="TERMINAL"......
.........name="EMAIL"......
.........name="TRTYPE"......
.........name="COUNTRY"......
.........name="MERCH_GMT"......
.........name="TIMESTAMP"......
.........name="NONCE"......
.........name="BACKREF"......
.........name="P_SIGN"......
type="SUBMIT">
>

2 tranform.html <


.........name="EXP".........
.........name="EXP_YEAR"......
.........name="CVC2"......
.........name="CVC2_RC"......
.....................................................
VALUE="%22">
.........name="CURRENCY"......
.........name="ORDER"......
.........name="DESC"......
.........name="MERCH_NAME"......
.........name="MERCH_URL"......
.........name="MERCHANT"......
.........name="TERMINAL"......
.........name="EMAIL"......
.........name="TRTYPE"......
.........name="COUNTRY"......
.........name="MERCH_GMT"......
.........name="TIMESTAMP"......
.........name="NONCE"......
.........name="BACKREF"......
.............
input type="submit" name="SEND_BUTTON">
>

3 <
cardauth.html






>


4 <
Страница ввода пароля

Ввод пароля >

5 <

="{TermUrl}n>




function onLoadHandler()
{document["PAResForm"].submit();}
>

6 Блокировка,
списание
денег с карты

7 success.html <
.................
Номер карты:%23
Срок действия карты:%14
Сумма операции: %8
Валюта операции:%7
Номер заказа:%27
RRN:%28
INT_REF:%51
Код авторизации:%4
.................
ИЛИ
decline.html
duplicate.html
fault.html

8 Формат ответа: < CallBack
Function=TransResponse&AMOUNT=%25&CURRENCY=%26&
ORDER=%27&DESC=%58&MERCH_NAME=%53&MERCH_URL=%55&
MERCHANT=%29&TERMINAL=%21&EMAIL=%37&TRTYPE=%22&
COUNTRY=%54&MERCH_GMT=%56&TIMESTAMP=%47&NONCE=%61&
BACKREF=%41&P_SIGN=%44&CARD=%12&EXP=%14&
PAYMENT_T0=%62&PAYMENT=%40&PAYMENT_DATE=%69&
RECUR_FREQ=%179&RECUR_EXP=%180&RECUR_REF=%181&
RRN=%28&INT_REF-%51&APPROVAL=%4&RC=%2&MESSAGE=%3&
CODE=%39&ACTION=%1&NOTIFY_URL=%190&Pavment Text=%70




Пример точки. Агрегатор

На примере trtype = l.
1. Клиент вводит поля из таблицы 1.
2. Агрегатор формирует и отправляет запрос в Банк с полями таблиц 1, 2, 3. Банк делает запрос VeReq в Платежную систему (DS). Если карта не подписана на 3ds (enroll=n), то идет этап 8, иначе - этап 3.
3. Банк отправляет агрегатору xml-страницу cardauth.html с параметрами для формирования запроса в банк-эмитент через клиента. В параметре {TERMURL} возвращается адрес Банка, куда агрегатору нужно ответить PaRes.
4. Агрегатор отправляет пустую страницу с невидимой формой, которая автоматически постирует PaReq на адрес банка-эмитента {ACSURL}, который прислал Банк в cardauth.html. При этом в параметр TermUrl ставится адрес агрегатора {MURL}, куда банк-эмитент должен направить PaRes через клиента.
5. Банк-эмитент отправляет клиенту страницу ввода пароля. Клиент вводит пароль.
6. Банк-эмитент отправляет клиенту пустую страницу с невидимой формой, которая автоматически постирует PaRes агрегатору на адрес {MURL}.
7. Агрегатор отправляет запрос PaRes на адрес Банка {TERMURL}, который он присылал в cardauth.html.
8. Если аутентификация проходит успешно, то Банк в зависимости от TRTYPE проводит либо блокировку, либо списание денег с карты, либо reverse операции.
9. Банк отправляет одну из xml-страниц результата операции.
10. Агрегатор отправляет результат операции клиенту.


Клиент Агрегатор (ПО) Банк-эквайрер Банк-эмитент
(EGW) (ACS)

1 >

2 Формирует и отправляет запрос в Банк с полями
таблиц 1, 2, 3
>

3 cardauth.html <
Content-type: text/html


%125
%39
%124
5


4








5
Страница ввода пароля <

Ввод пароля >

6 <





>


7



>

8 Блокировка,
списание
денег с карты

9 success.html
Content-type: text/html
<

%25
%26
%27
%58
%53
%55
%29
%21

%22
%54
%56
%47
%61
%41
%44
%12
%14
%62
%40
%69
%179
%180
%181
%28
%51
%4
%2
%3
%39
%l
%70

ИЛИ
decline.html
duplicate.html
fault.html

10 Вывод клиенту результатов операции <


Использование собственного дизайна

Для использования собственного дизайна необходимо предоставить в Банк следующие html-страницы:

Имя файла
Описание
cardauth.html
Шаблон для ввода пароля на сайте эмитента
decline.html
Шаблон для вывода информации по отклоненным эмитентом операциям
duplicate.html
Шаблон для вывода информации по повторным операциям
fault.html
Шаблон для вывода информации об операциях, завершившихся с ошибкой
success.html
Шаблон для вывода информации об успешно завершившихся операциях
tranform.html
Форма для ввода карточных данных на стороне банка (при выборе этого варианта ввода карточных данных)

Каждый шаблон должен начинаться со строки:
Content-type: text/html
После данной строки должна идти пустая строка.
При создании собственных шаблонов для постирования данных на адрес e-Gateway необходимо использовать имена полей, указанные в разделе "Поля транзакционного сообщения Е-Gateway" в колонке Field Name. Для отображения на странице значений, полученных от модуля e-Gateway, используется конструкция "%N", где %№ - номера полей, указанные в поле Field.
Также необходимо указывать ссылки к картинкам, ess и пр. в относительном виде, используя конструкцию/ow/organization_name/folder, где:
- organization_name - интуитивно понятное название организации (возможно, предварительно согласованное с Банком);
- folder - название каталога, указывающее на его содержимое (ess, image и т.д.).
Примеры:
- ;
- Verified by Visa.
Примеры построения данных шаблонов поставляются Банком при необходимости по запросу.

Шаблон cardauth.html

В данном шаблоне для переадресации на сайт банка-эмитента для ввода пароля рекомендуется использовать следующую конструкцию:

...








Описание используемых полей можно узнать в таблице в разделе "Поля транзакционного сообщения E-Gateway".

Шаблон tranform.html

В данном шаблоне рекомендуется с помощью скриптов проводить следующие проверки:
- заполнение поля "Номер карты";
- выбор срока действия карты;
- соответствие значения поля CVC2_RC и CVC2.

Шаблоны вывода результатов операции

Для корректного отображения результатов операции после проведения 3DS-операции в данных шаблонах рекомендуется "заворачивать" html-код в java-скрипт, используя следующую конструкцию:
Content-type: text/html







Использование данной конструкции позволяет освободиться от фрейма после ввода клиентом 3DS-пароля.

Рекомендуемые поля для вывода результатов операций

Шаблон
№ поля
Описание
decline.html
%2
Код возврата
%3
Текстовое описание кода возврата
%28
RRN
duplicate.html
%23
Номер карты
%14
Срок действия карты
%8
Сумма операции
%7
Валюта операции
%27
Номер заказа
%28
RRN
%4
Код авторизации
fault.html
%2
Код возврата
%3
Текстовое описание кода возврата
%17
Расширенное диагностическое сообщение
tranform.html
%23
Номер карты
%14
Срок действия карты
%8
Сумма операции
%7
Валюта операции
%27
Номер заказа
%28
RRN
%4
Код авторизации


------------------------------------------------------------------