Page History
...
Название  | Обязательное поле  | Принимаемыезначения  | Значениепо умолчанию  | Описание  | ||||
Merchant_ID  | Да  | Число  | Идентификатор предприятия в системе АПК Ассист  | |||||
Login  | Да  | Строка  | Ваш логин  | |||||
Password  | Да  | Строка  | Ваш пароль  | |||||
OrderNumber  | Да/Нет  | 128 символов  | Номер заказа в системе расчетов предприятия.  | |||||
OrderAmount  | Да  | Число, 15 цифр (разделители «.», «,»)  | Сумма платежа в оригинальной валюте (например, 10.34)  | |||||
OrderCurrency  | Нет  | 3 символа  | Валюта юр.лица или предприятия  | Код валюты, в которой указана сумма платежа OrderAmount (RUB, USD, EUR)  | ||||
OrderComment  | Нет  | 4000 символов  | Комментарий  | |||||
Delay  | Нет  | 0 – - одностадийный механизм работы,  | 0  | Признак авторизации банковской карты при двустадийном механизме работы 
  | ||||
Language  | Нет  | RU – - русский  | Язык юр.лица или предприятия  | Язык авторизационных страниц  | ||||
ClientIP  | Нет/Да  | IP адрес покупателя. Параметр является обязательным для протокола 3-D Secure версии 2.  | ||||||
Cardtype  | Нет  | 1 – - VISA  | Идентификатор типа карты для оплаты.  | |||||
Cardnumber  | Да  | Номер карты  | ||||||
Cardholder  | Да  | 70 символов без цифр. Разделитель – - пробел.  | Держатель карты.  | |||||
Expiremonth  | Да  | 1-12  | Месяц окончание действия карты  | |||||
Expireyear  | Да  | Год в формате YYYY  | Год окончания действия карты  | |||||
Cvc2  | Да  | CVC2 код  | ||||||
Lastname  | Да  | 70 символов без цифр  | Фамилия покупателя  | |||||
Firstname  | Да  | 70 символов без цифр  | Имя покупателя  | |||||
Middlename  | Нет  | 70 символов без цифр  | Отчество покупателя  | |||||
Да  | 128 символов  | E-mail покупателя  | ||||||
Address  | Нет  | 256 символов  | Адрес покупателя  | |||||
HomePhone  | Нет  | 64 символа  | Домашний телефон покупателя  | |||||
WorkPhone  | Нет  | 20 символов  | Рабочий телефон покупателя  | |||||
MobilePhone  | Нет  | 20 символа  | Мобильный телефон покупателя  | Fax  | Нет  | 20 символа  | Факс покупателя  | |
Country  | Нет  | 3 символа  | Код страны покупателя  | |||||
State  | Нет  | 3 символа  | Код региона покупателя  | |||||
City  | Нет  | 70 символа  | Город покупателя  | |||||
Zip  | Нет  | 25 символа  | Индекс предприятия связи покупателя  | |||||
isConvert  | Нет  | 0 - Не конвертировать в базовую валюту 1 - Не конвертировать при возможности 2 - Всегда конвертировать  | 1  | Флаг конвертации валюты платежа в базовую валюту  | ||||
Format  | Нет  | 1 – - CSV  | 1  | Формат выдачи результата. Если запрос передан в формате SOAP или JSON, то ответ также будет в SOAP или JSON соответственно, в остальных случаях в соответствии с переданным значением ответ выдается согласно переданному значению формата.  | ||||
Signature  | Нет  | строка  | Формируется строка по определенным правилам. На базе этой строки алгоритмом MD5 формируется дайджест.  Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа  - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается нам в виде дополнительного параметра, закодированного в виде строки BASE64. 
 
  | |||||
RecurringIndicator  | Нет  | 1 –рекуррентный - рекуррентный платеж 0 - обычный платеж  | 0  | Признак рекуррентного платежа 
  | ||||
RecurringMinAmount  | Нет/Да  | Число, 15 цифр (разделители «.», «,»)  | Минимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1 
  | |||||
RecurringMaxAmount  | Нет/Да  | Число, 15 цифр (разделители «.», «,»)  | Максимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1 
  | |||||
RecurringPeriod  | Нет/Да  | Число, 10 цифр  | Периодичность рекуррентных платежей в днях. Параметр обязателен при RecurringIndicator = 1 
  | |||||
RecurringMaxDate  | Нет/Да  | Строковое представление даты в формате DD.MM.YYYY  | Дата окончания рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1 
  | |||||
| CustomerNumber | Нет | 32 символа | Внутренний номер клиента предприятия (мерчанта) 
  | |||||
| SaveCard | Нет | 1 – - карта привязывается к данному номеру клиента; 0 – - карта не привязывается | 0 | В случае успешного платежа разрешает сохранять карту по данному номеру клиента для последующих платежей. Если карта для данного номера клиента уже была сохранена ранее, то параметр игнорируется. | ||||
| Disable3DS | Нет | 0 – - проверять 3-D Secure согласно настройкам предприятия, 1 –- проводить платеж без 3-D Secure.  | 0 | Признак отключения 3-D Secure. 
 
  | 
...
При оплате картой, требующей авторизации по 3D-Secure, АПК Ассист возвращает код ответа (responsecode) AS110. В пакет ответа по режиму silentpay также добавляются дополнительные поля, позволяющие ТСП обеспечить дополнительную аутентификацию плательщика по технологиям 3-D Secure (карты VISA) и Mastercard SecureCode (карты Mastercard ).
В настоящее время для дополнительной аутентификации плательщика большинство банков-эмитентов работает по версии 1 протокола 3-D Secure по всем типам карт.
Для более надежного процесса аутентификации банки-эмитенты и платежные системы переходят на новую версию 2 и выше протокола для всех типов карт (VISA, Mastercard). Для поддержки протокола нового поколения предприятию нужно внести изменения в процесс аутентификации плательщикаДля карт международных платежных систем VISA, Mastercard в большинстве случаев используется версия 2 протокола 3D-Secure при дополнительной аутентификации плательщика, эта же версия протокола применяется и для карт UPI. Для карт платежной системы БЕЛКАРТ аутентификация осуществляется по версии 1 протокола.
Для начала оплаты заказа предприятие отправляет авторизационный запрос на сервер АПК Ассист. К обычным параметрам запроса необходимо добавить следующие данные об устройстве и браузере клиента, если это еще не было сделано ранее для работы с СПМ. В новом протоколе 3-D Secure версии 2 эти данные являются обязательными.
Название  | Принимаемые значения  | Описание  | 
HEADER_HTTP_ACCEPT  | Строка, 255 байт  | Заголовок http запроса ACCEPT  | 
HEADER_HTTP_USER_AGENT  | Строка, 255 байт  | Заголовок http запроса USER-AGENT  | 
CLIENT_JAVA  | Логическое (true, false)  | navigator.javaEnabled()  | 
CLIENT_BROWSER_LANGUAGE  | Строковый (5 байт)  | navigator. language  | 
CLIENT_SCREEN_COLORS  | Числовой (1, 4,8,15,16,24,32,48)  | Screen.pixelDepth  | 
CLIENT_SCREEN_RES  | Строковый, 16 символов  | Screen.width + 'x' + screen.height  | 
ChallengeWindowSize  | 2 символа (01 – - 250x400, 02 – - 390x400, 03 – - 500x600, 04 – - 600x400, 05 – - Full screen)  | Размер iframe для прохождения проверки держателя карты  | 
ClientIP  | Максимум 15 цифр, 4 разделителя «.»  | IP адрес покупателя  | 
...
Для продолжения процесса авторизации по 3D-Secure магазину необходимо передать в АПК Ассист пакет результата авторизации по 3D-Secure pares. Данная функциональность реализована в веб-сервисе get3DSec.
Get3DSec – - веб-сервис передачи параметров авторизации карты по 3D-Secure
...
- Проверять версию протокола 3D-Secure в ответе на авторизационный запрос к сервису Assist. Для протокола версии 1 поддерживать описанную выше схему работы.
 - Для протокола версии 2 сформировать скрытый iframe на платежной странице (детальное описание параметров см. ниже) и отправить на ACS банка-эмитента запрос 3DSMethod (при наличии).
 - Для продолжения аутентификации вызвать веб-сервис get3dsecver2 ws3dsecver2 с дополнительными параметрами 3D-Secure. Если аутентификация произойдет без дополнительного взаимодействия с клиентом (Frictionless Flow), то АПК Ассист получит ее результат и отправит транзакцию авторизации в процессинг. В ответе предприятие получит полный результат оплаты, содержащий также и результат авторизации в процессинге. В случае необходимости дополнительной аутентификации клиента АПК Ассист вернет в ответе на запрос дополнительные поля для проведения проверки (Challenge Flow).
 - При наличии в ответе дополнительных полей, сообщающих о необходимости дополнительной проверки, предприятие на платежной странице формирует iFrame, в котором реализует отображение страницы ACS банка-эмитента для ввода одноразового пароля. Покупатель завершает аутентификацию.
 - Результат прохождения проверки АПК Ассист получит на сервер на своей стороне. В случае успешной проверки будет проведена транзакция оплаты в процессинге. В случае неуспешной проверки операция завершится с ошибкой.
 - Для того чтобы узнать окончательный результат оплаты заказа, предприятию необходимо использовать один из методов получения результата авторизации.
 
...
Название  | Принимаемые значения  | Описание  | В ответе сервиса1  | 
version  | Версия протокола 3-D Secure  | 1,2  | |
threeDSServerTransID  | Строка  | ID транзакции в 3DS Server  | 1,2  | 
threeDSMethodURL  | Строка, до 256 символов  | URL на стороне банка-эмитента или платежной системы  | 1  | 
threeDSMethodData  | Строка, до 256 символов  | Закодированное в Base64 тело запроса  | 1  | 
alphaauthresult  | Y - успешно, N - неуспешно, A - Attempt, U – - невозможно провести аутентификацию, R - отказ, E - ошибка, I - для информации  | Результат аутентификации будет получен в ответе, если она произошла в одну стадию (Frictionless Flow)  | 1,2  | 
challenge  | F - Frictionless Flow  | Взаимодействие с держателем карты (C – - нужно, F – - не нужно, D - отложенная аутентификация)  | 1,2  | 
challengeurl2  | Полное доменное имя (URL) https://acs.... Длина максимум 2048 символов  | URL банка-эмитента или платежной системы для проверки плательщика  | 1,2  | 
challengerequest2  | Сообщение, закодированное методом Base64, длина переменная  | Данные запроса, отправляемого на challengeurl  | 1,2  | 
...
1Параметр может содержаться в ответе сервиса: 1- silentpay; 2 –- get3dsecver2.
| Anchor | ||||
|---|---|---|---|---|
  | 
2В случае авторизации без дополнительной проверки (Frictionless Flow) и для отложенной аутентификации (Decoupled authentication) параметры challengeurl и challengerequest не будут возвращены.
...
- При наличии URL банка-эмитента threeDSMethodURL (блок 7) предприятие формирует скрытый HTML iFrame на платежной странице (блок 9), отправляет POST запрос с одним параметром threeDSMethodData на полученный адрес threeDSMethodURL, и далее вызывает сервис get3dsecver2 (блок 10).
 - При наличии URL банка-эмитента threeDSMethodURL (блоки 7, 9, 10), но без необходимости дополнительного взаимодействия с держателем карты (блок 8) - Frictionless Flow (F), АПК Ассист сразу проводит транзакцию в процессинге или завершает операцию с ошибкой. В ответе на вызов сервиса get3dsecver2 предприятие получит статус оплаты (блок 6).
 - При наличии URL банка-эмитента threeDSMethodURL (блоки 7, 9, 10) и при необходимости дополнительного взаимодействия с держателем карты (блок 8) предприятие должно сформировать на платежной странице объект HTML iFrame и отправить методом HTTPPOST запрос проверки держателя карты к указанному URL challengeurl (блок 11). В этом iFrame отображается страница ACS банка эмитента и плательщик вводит одноразовый пароль, полученный от банка. Это сценарий Challenge Flow (C).
 - При наличии URL банка-эмитента threeDSMethodURL (блоки 7, 9, 10) при необходимости дополнительного взаимодействия с держателем карты (блок 8) и отложенной аутентификации предприятие должно оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты (в рамках времени жизни заказа). Это сценарий Decoupled Authentication (D).
 - При отсутствии URL банка-эмитента threeDSMethodURL и когда дополнительное взаимодействие с держателем карты не требуется - Frictionless Flow (F), сразу же будет проведена транзакция в процессинге, и процесс оплаты будет завершен (блок 6). Предприятие получит результат аутентификации и статус оплаты сразу в ответе на вызов сервиса silentpay.
 - При отсутствии URL банка-эмитента threeDSMethodURL и при необходимости дополнительного взаимодействия с держателем карты (блок 8) для сценария Challenge Flow (C) предприятие должно сформировать на платежной странице объект HTML iFrame и отправить методом HTTP POST запрос проверки держателя карты к указанному URL challengeurl (блок 11). В этом iFrame отображается страница ACS банка эмитента и плательщик вводит одноразовый пароль, полученный от банка.
 - При отсутствии URL банка-эмитента threeDSMethodURL и при необходимости дополнительного взаимодействия с держателем карты (блок 8) по сценарию отложенной аутентификации (D) предприятие должно оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты (в рамках времени жизни заказа).
 
В тех сценариях работы, в которых требуется формирование скрытого HTML iFrame, на шаге 7 в блоке threedsdata предприятие получит необходимые параметры threeDSMethodData и threeDSMethodURL для формирования POST запроса (блок 9). Результат отправки запроса может быть положительным (код HTTP 200), отрицательным (любой другой код HTTP) или будет превышено значение тайм-аута отправки запроса (установить 10 секунд). После получения кода HTTP или истечения тайм-аута для продолжения процесса аутентификации необходимо отправить запрос на сервис get3dsecver2 (блок 10).
get3dsecver2 - веб-сервис продолжения аутентификации по 3D-Secure
...
Ответ на запрос в этом случае будет содержать один из конечных кодов возврата (AS000 – - операция успешно завершена, AS100-AS109 – - отказ в авторизации), все поля ответа, описанные выше, и дополнительный блок данных threedsdata, в котором параметр challenge равен F, а поле alphaauthresult содержит результат аутентификации (Y, N, U, R, I).
...