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, то ответ также будет в SOAP, в остальных случаях в соответствии с переданным значением формата. | ||||
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.
|
...
Название | Принимаемые значения | Описание |
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 адрес покупателя |
Anchor | ||||
---|---|---|---|---|
|
3D-Secure авторизация по протоколу версии 1
...
В зависимости от содержания полученного блока threedsdata (блоки 3,47,58) аутентификация продолжается по-разному.
Основные сценарии работы :для версии 2 определяются тем, требуется ли вызов 3DSMethod (формирование скрытого iFrame в браузере клиента), а также требуется ли дополнительная аутентификация клиента и по какому сценарию она проходит:
- При Для версии 2 протокола 3D-Secure (блок 3) при наличии URL банка-эмитента threeDSMethodURL (блок 57) предприятие формирует скрытый HTML iFrame на платежной странице (блок 89), отправляет POST запрос с одним параметром threeDSMethodData на полученный адрес threeDSMethodURL, и далее вызывает сервис get3dsecver2 (блок 910).
- Для версии 2 протокола 3D-Secure (блок 3) при При наличии URL банка-эмитента threeDSMethodURL (блоки 57, 89, 910), но без необходимости дополнительного взаимодействия с держателем карты (блок 48) - Frictionless Flow (F), АПК Ассист сразу проводит транзакцию в процессинге или завершает операцию с ошибкой. В ответе на вызов сервиса get3dsecver2 предприятие получит статус оплаты (блок 126).
- Для версии 2 протокола 3D-Secure (блок 3) при При наличии URL банка-эмитента threeDSMethodURL (блоки 57, 89, 910) и при необходимости дополнительного взаимодействия с держателем карты (блок 108) предприятие должно сформировать на платежной странице объект HTML iFrame и отправить методом HTTPPOST запрос проверки держателя карты к указанному URL challengeurl (блок 11). В этом iFrame отображается страница ACS банка эмитента и плательщик вводит одноразовый пароль, полученный от банка. Это сценарий Challenge Flow (C).
- Для версии 2 протокола 3D-Secure (блок 3) при отсутствии При наличии URL банка-эмитента threeDSMethodURL и когда дополнительное взаимодействие (блоки 7, 9, 10) при необходимости дополнительного взаимодействия с держателем карты не требуется - (блок 8) и отложенной аутентификации предприятие должно оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты (в рамках времени жизни заказа). Это сценарий Decoupled Authentication (D).
- При отсутствии URL банка-эмитента threeDSMethodURL и когда дополнительное взаимодействие с держателем карты не требуется - Frictionless Flow (Frictionless Flow (F), сразу же будет проведена транзакция в процессинге, и процесс оплаты будет завершен (блок 126). Предприятие получит результат аутентификации и статус оплаты сразу в ответе на вызов сервиса silentpay.
- При отсутствии URL банка-эмитента threeDSMethodURL и при необходимости дополнительного взаимодействия с держателем карты (блок 8) для сценария Challenge Flow (C) Для версии 2 протокола 3D-Secure (блок 3), когда взаимодействие с держателем карты необходимо (блок 4), но URL банка-эмитента threeDSMethodURL отсутствует (Нет - пусто) предприятие должно сформировать на платежной странице объект HTML iFrame и отправить методом HTTP POST запрос проверки держателя карты к указанному URL challengeurl (блок 11). В этом iFrame отображается страница ACS банка эмитента и плательщик вводит одноразовый пароль, полученный от банка.
get3dsecver2 - веб-сервис продолжения аутентификации по 3D-Secure
- При отсутствии URL банка-эмитента threeDSMethodURL и при необходимости дополнительного взаимодействия с держателем карты (блок 8) по сценарию отложенной аутентификации (D) предприятие должно оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты (в рамках времени жизни заказа).
В тех сценариях работы, в которых требуется формирование скрытого HTML iFrame, на шаге 7 в блоке threedsdata предприятие получит необходимые параметры threeDSMethodData и threeDSMethodURL для формирования POST запроса После отправки запроса на адрес threeDSMethodURL для продолжения процесса аутентификации предприятию необходимо отправить запрос на новый сервис get3dsecver2 (блок 9). Результат отправки запроса на threeDSMethodURL может быть положительным (код HTTP 200), отрицательным (любой другой код HTTP) или будет превышено значение тайм-аут аута отправки запроса (установить 10 секунд). После получения кода HTTP или истечения тайм-аута для продолжения процесса аутентификации необходимо отправить запрос на сервис get3dsecver2 (блок 10).
get3dsecver2 - веб-сервис продолжения аутентификации по 3D-Secure
URL для передачи запроса:
...
Если дополнительная проверка покупателя не требуется (Frictionless Flow) (блок 108), АПК Ассист проводит транзакцию в процессинге или завершает операцию с ошибкой (в зависимости от настроек процессинга, предприятия и результата аутентификации) (блок 126).
Ответ на запрос в этом случае будет содержать один из конечных кодов возврата (AS000 – операция успешно завершена, AS100-AS109 – отказ в авторизации), все поля ответа, описанные выше, и дополнительный блок данных threedsdata, в котором параметр challenge равен F, а поле alphaauthresult содержит результат аутентификации (Y, N, U, R, I).
Получение кода возврата AS110 в ответе на вызов сервиса get3dsecver2 означает, что нужна дополнительная проверка плательщика (Challenge Flow). При этом Для сценария с дополнительной проверкой (Challenge Flow) в блоке данных threedsdata параметр challenge будет равен C, а параметры challengeurl и challengerequest будут заполнены (блок 108).Предприятие Предприятие должно в этом случае сформировать на платежной странице объект HTML iFrame и отправить методом HTTP POST запрос проверки держателя карты к указанному URL (блок 11) с параметром creq, в котором передать полученное значение challengerequest. В этом iFrame отображается страница ACS банка-эмитента и плательщик вводит одноразовый пароль, полученный от банка creq, в котором передать полученное значение challengerequest. В этом iFrame отображается страница ACS банка-эмитента и плательщик вводит одноразовый пароль, полученный от банка.
В сценарии с отложенной аутентификацией в блоке данных threedsdata параметр challenge будет равен D, а параметры challengeurl и challengerequest будут отсутствовать (блок 8). Предприятие должно в этом случае оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты.
Результат этой проверки АПК Ассист получит на свой сервер в асинхронном режиме (блоки 13, 14). В зависимости от результата аутентификации и настроек процессинга и предприятия (блок 15), АПК Ассист проведет транзакцию оплаты в процессинге или закроет операцию с ошибкой.
АПК Ассист может также продублировать результат прохождения 3D-Secure на сервер предприятия, для этого нужно Для того, чтобы после прохождения дополнительной проверки плательщик смог вернуться обратно на сайт предприятия, следует сообщить службе поддержки АПК Ассист URL для возврата покупателя и приема результата прохождения дополнительной проверки. Для предприятия получение этого запроса будет означать, что дополнительная проверка завершена, и оно может в этот момент перенаправить браузер плательщика на страницу результата на своей стороне и ожидать завершения платежной транзакции в процессинге.
Получение результата платежа после дополнительной проверки отражено на схеме блоками 12, 13, 14.
Warning |
---|
Процесс получения результата дополнительной проверки на сервера АПК Ассист является асинхронным. Только после получения этого результата будет проведена (или не проведена) транзакция оплаты в процессинге, которая приведет к блокировке средств на карте клиента. Предприятию следует получить результат операции оплаты от АПК Ассист одним из стандартных способов. Предприятие может отправить запрос к сервису получения результата операции по номеру заказа, либо настроить на своей стороне получение результатов авторизации, отправляемых АПК Ассист на сервер предприятия. |
...