Открыть мобильную версию сайта Вверх

Бизнес-клиент

Техническая спецификация запросов через услугу Pangalink

Техническая спецификация запросов через услугу Pangalink

Запросы

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

  • В качестве десятичного разделителя в суммах, указанных в запросах, используется точка «.». Для тысяч разделитель не используется.
  • Дата и время подачи запроса передается в формате DATETIME с точностью до секунды c указанием часового пояса, например, 2013-03-13T07:21:14+0200 Получатель запроса обязан проверять значение, указанное в поле DATETIME, которое может отличаться от времени осуществления проверки максимально на ± 5 минут.
  • Длина значения поля не может превышать длину, установленную в спецификации. В случае превышения длины запрос не будет обработан. Длина значения поля указана в символах. Длина значения поля может быть короче, чем допускается максимальной длиной, отсутствующие места не заполняются.
  • Для обмена данными по схеме запрос/отклик используется метод HTTP POST.
  • Если требуемый параметр не описан в спецификации услуги, он считается пустым полем.
  • В ответ на запросы, которые не соответствуют спецификации, отправляется сообщение об ошибке.
  • В поле VK_RETURN не разрешено использовать названия полей, которые используются в запросах услуги pangalink (VK_...)
  • Для обмена данными следует указать кодировку (параметр VK_ENCODING), SEB Pangalink поддерживает кодировки UTF-8 (по умолчанию) и ISO-8859-1. Ответ банка всегда кодируется в той же кодировке, что и запрос клиента. Для бесперебойного функционирования услуги Pangalink следует убедиться, что все связанные с услугой программы используют одну и ту же кодировку. Мы рекомендуем использовать кодировку UTF-8.

Запросы можно разделить на основе:
1. инициатора:

  • запросы продавца или банка.

2. ответа:

  • запросы, которые требуют ответа или запросы, которые не требуют ответа.

3. назначения:

  • 1xxx – инициирование платежей или 4xxx – запросы аутентификации.

Обмен ключами/сертификатами
Для активации услуги Pangalink в реальной системе SEB следует выслать письмо на адрес с указанием открытого ключа продавца, в ответ будет выслан открытый ключ банка и значение параметра VK_SND_ID соответствующего продавца. Ключ является секретным и не подлежит разглашению третьим лицам. Мы используем соответствующие стандарту x.509 сертификаты в формате .PEM, и поддерживаем секретный ключ длиной 2048 битов. Более подробные инструкции по генерированию ключа вы найдете в комплекте документов «Тестового пакета».

Нахождение контрольного кода VK_MAC на основе версии 008
Для вычисления подписи MAC008 (VK_MAC) используется алгоритм открытого ключа RSA и алгоритм хеширования SHA1. Учитывается и длина пустого поля – «000».
MAC008(x1,x2,..., xn):= RSA (SHA-1(p(x1) || x1 || p(x2) || x2 || ... || p(xn) || xn),d,n)
Пояснения:
|| - операция сложения компонентов типа string
x1, x2, ..., xn - параметры запроса (в спецификации пронумерованы) .
p - функция от длины параметра в символах. Длина – номер в виде трехзначной строки string.
d RSA - секретная экспонента
n RSA – modulus

Составление строки данных на примере услуги «1012»:
VK_SERVICE="1012"
VK_VERSION="008"
VK_SND_ID ="testvpos"
VK_STAMP ="20011"
VK_AMOUNT="1.00"
VK_CURR ="EUR"
VK_REF ="999"
VK_MSG ="UPOS testikas. ÕÜ"
VK_RETURN ="https://somehost.ee/returnurl"
VK_CANCEL ="https://somehost.ee/cancelurl"
VK_DATETIME ="2016-09-26T07:21:14+0200"

Подпись вычисляется на базе строки данных (data string), состоящей из следующих элементов – количество символов значения параметра и само значение параметра. В строке данных должны присутствовать все поля, имеющие порядковый номер в описании услуги. Поля без номера (например, параметр VK_LANG) к ним не относятся.
004 1012
003 008
008 testvpos
005 20011
004 1.00
003 EUR
003 999
017 UPOS testikas. ÕÜ
029 https://somehost.ee/returnurl
029 https://somehost.ee/returnurl
024 2016-09-26T07:21:14+0200

В одном ряду: 0041012003008008testvpos005200110041.00003EUR003999017UPOS testikas. ÕÜ029https://somehost.ee/returnurl029https://somehost.ee/returnurl0242016-09-26T07:21:14+0200
Если, например, параметр VK_MSG пуст, то его всё равно следует добавить в строку данных, использовав в качестве количества символов 000.
Внимание! Если используется кодировка UTF-8 и параметр содержит двухбайтовые символы (например, умлауты – буквы с точками), то в строке данных длиной значения параметра является количество символов в стринг, а не количество байтов. Например, 002OÜ, а не 003OÜ.

Спецификации запросов

Платежные услуги

Услуга 1011
Коммерсант передает в банк данные подписанного платежного поручения, которые клиент не может изменить в интернет-банке. После успешного осуществления платежа, продавцу составляется запрос «1111», при неудавшемся платеже – «1911».

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (1011)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID магазина)
4 VK_STAMP 20 ID запроса
5 VK_AMOUNT 12 Сумма, подлежащая оплате
6 VK_CURR 3 Код валюты: EUR
7 VK_ACC 34 Номер счета получателя
8 VK_NAME 70 Имя получателя
9 VK_REF 35 Номер ссылки платежного поручения
10 VK_MSG 95 Пояснение платежного поручения
11 VK_RETURN 255 URL, куда сообщается об успешном проведении операции
12 VK_CANCEL 255 URL, куда сообщается о неудавшейся операции
13 VK_DATETIME 24 Дата и время подачи запроса в формате DATETIME
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

Услуга 1012
Коммерсант передает в банк заявление клиента для осуществления операции. Имя получателя платежа и номер его счета берутся из договора, заключенного между банком и коммерсантом. После успешного осуществления платежа, коммерсанту составляется запрос «1111», при неудавшемся платеже – «1911».

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (1012)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID магазина)
4 VK_STAMP 20 ID запроса
5 VK_AMOUNT 12 Сумма, подлежащая оплате
6 VK_CURR 3 Код валюты: EUR
7 VK_REF 35 Номер ссылки платежного поручения
8 VK_MSG 95 Пояснение платежного поручения
9 VK_RETURN 255 URL, куда сообщается об успешном проведении операции
10 VK_CANCEL 255 URL, куда сообщается о неудавшейся операции
11 VK_DATETIME 24 Дата и время подачи запроса в формате DATETIME
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

Услуга 1111
Используется для ответа о совершении внутриэстонского платежного поручения.

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (1111)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID банка)
4 VK_REC_ID 15 ID получателя запроса (ID магазина)
5 VK_STAMP 20 ID запроса
6 VK_T_NO 20 Номер платежного поручения
7 VK_AMOUNT 12 Уплаченная сумма
8 VK_CURR 3 Код валюты: EUR
9 VK_REC_ACC 34 Номер счета получателя
10 VK_REC_NAME 70 Имя получателя
11 VK_SND_ACC 34 Номер счета плательщика
12 VK_SND_NAME 70 Имя плательщика
13 VK_REF 35 Номер ссылки платежного поручения
14 VK_MSG 95 Пояснение платежного поручения
15 VK_T_DATETIME 24 Дата и время подачи запроса в формате DATETIME (Платежи, совершенные с 22:00 до 24:00, в связи с внутрисистемной сменой банковского дня могут быть отражены в выписке за следующий день)
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)
- VK_AUTO 1 Y = ответ, отправленный банком автоматически.
N = ответ в случае, когда клиент переходит на страницу продавца

Услуга 1911
Используется для уведомления о неудавшейся операции.

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (1911)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID банка)
4 VK_REC_ID 15 ID получателя запроса (ID магазина)
5 VK_STAMP 20 ID запроса
6 VK_REF 35 Номер ссылки платежного поручения
7 VK_MSG 95 Пояснение платежного поручения
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)
- VK_AUTO 1 Y = ответ, отправленный банком автоматически.
N = ответ в случае, когда клиент переходит на страницу продавца

Услуги аутентификации

Услуга 4011
Пакет, отправляемый коммерсантом для установления личности пользователя. Услуга доступна коммерсантам, заключившим соответствующий договор. Код ответного пакета 3012.

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (4011)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID партнера)
4 VK_REPLY 4 Код ожидаемого ответного пакета (3012)
5 VK_RETURN 255 URL продавца, куда направляется ответ
6 VK_DATETIME 24 Время генерирования сообщения в формате DATETIME
7 VK_RID 30 Идентификатор, связанный с сессией. Необязательное поле, может оставаться незаполненным.
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

Услуга 3012

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (3012)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_USER 16 Условный идентификатор пользователя
4 VK_DATETIME 24 Время генерирования сообщения в формате DATETIME
5 VK_SND_ID 15 ID составителя запроса (ID банка)
6 VK_REC_ID 15 ID получателя запроса (ID партнера)
7 VK_USER_NAME 140 Имя пользователя
8 VK_USER_ID 20 Личный код пользователя
9 VK_COUNTRY 2 Страна выдачи личного кода (двузначный код ISO 3166-1)
10 VK_OTHER 150 Иная информация о пользователе
11 VK_TOKEN 2 Код идентификатора средства аутентификации:
1- ID- карта; 2- Mobiil-ID; 5- одноразовые пароли (за исключением PIN-калькулятора); 6- PIN- калькулятор; 7- Карточка для многоразового использования
Необязательное поле, может оставаться незаполненным.
12 VK_RID 30 Идентификатор, связанный с сессией. Необязательное поле, может оставаться незаполненным.
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

Услуга 4012
Пакет, отправляемый коммерсантом для установления личности пользователя. Услуга доступна коммерсантам, заключившим соответствующий договор. Код ответного пакета 3013.

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (4012)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_SND_ID 15 ID составителя запроса (ID партнера)
4 VK_REC_ID 15 ID составителя запроса (ID банка)
5 VK_NONCE 50 Случайный код (nonce) генерированный составителем запроса.
6 VK_RETURN 255 URL продавца, куда направляется ответ
7 VK_DATETIME 24 Время генерирования сообщения в формате DATETIME
8 VK_RID 30 Идентификатор, связанный с сессией. Необязательное поле, может оставаться незаполненным.
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1  или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

Услуга 3013
Коммерсанту передается копия уникального кода (nonce).

Наименование поля Длина в символах Описание
1 VK_SERVICE 4 Номер услуги (3013)
2 VK_VERSION 3 Используемый алгоритм шифрования (008)
3 VK_DATETIME 24 Время генерирования сообщения в формате DATETIME
4 VK_SND_ID 15 ID составителя запроса (ID банка)
5 VK_REC_ID 15 ID получателя запроса (ID партнера)
6 VK_NONCE 50 Копия уникального кода (nonce), который был в запросе
7 VK_USER_NAME 140 Имя пользователя
8 VK_USER_ID 20 Личный код пользователя
9 VK_COUNTRY 2 Страна выдачи личного кода (двузначный код ISO 3166-1)
10 VK_OTHER 150 Иная информация о пользователе
11 VK_TOKEN 2 Код идентификатора средства аутентификации:
1- ID- карта; 2- Mobiil-ID; 5- одноразовые пароли (за исключением PIN-калькулятора); 6- PIN- калькулятор; 7- Карточка для многоразового использования
Необязательное поле, может оставаться незаполненным.
12 VK_RID 30 Идентификатор, связанный с сессией. Необязательное поле, может оставаться незаполненным.
- VK_MAC 700 Контрольный код, т.е. подпись
- VK_ENCODING 12 Кодировка сообщения. ISO-8859-1 или UTF-8 (значение по умолчанию)
- VK_LANG 3 Предпочитаемый язык общения (EST, ENG или RUS)

 

Контакт

S|E|B

Tähelepanu! Teie veebilehtiseja ei vasta SEB kodulehe külastamiseks vajalikele nõuetele. Palun vahetage veebilehitsejat või seadet, millega te veebilehte sirvite.

Attention! Your web browser does not correspond to the requirements needed to visit SEB website. Please change web browser or device that you use for browsing the site.

Внимание! Ваш браузер не отвечает требованиям, необходимым для посещения сайта SEB. Просим поменять браузер или устройство, при помощи которого вы производите поиск в браузере.