Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Название

Обяза- тельное поле

Принимаемые значения

Значение по умолчанию

Описание

Merchant_ID

Да

Число


Идентификатор предприятия в системе АПК Ассист

Login

Да

Строка


Ваш логин

Password

Да

Строка


Ваш пароль

OrderNumber

Да/Нет

128 символов


Номер заказа в системе расчетов предприятия.

OrderAmount

Да

Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,»)


Сумма платежа в оригинальной валюте (например, 10.34)

OrderCurrency

Нет

3 символа

Валюта юр.лица или предприятия

Код валюты, в которой указана сумма платежа OrderAmount (RUB, USD, EUR)

OrderComment

Нет

4000 символов


Комментарий

Delay

Нет

0 - одностадийный механизм работы,
1 - двустадийный механизм

0

Признак авторизации банковской карты при двустадийном механизме работы

Note

При желании использовать двустадийный режим работы сначала следует проконсультироваться с сотрудниками службы поддержки (support@assist.ru).

Language

Нет

RU - русский
EN - английский

Язык юр.лица или предприятия

Язык авторизационных страниц

ClientIP

Нет/Да



IP адрес покупателя. Параметр является обязательным для протокола 3-D Secure версии 2.

Cardtype

Нет

1 - VISA
2 - EC/MC
3 - DCL
4 - JCB
5 - AMEX
6 - MIR


Идентификатор типа карты для оплаты.

Cardnumber

Да



Номер карты

Cardholder

Нет*

70 символов без цифр. Разделитель - пробел.


Держатель карты.

Expiremonth

Да

1-12


Месяц окончания действия карты

Expireyear

Да

Год в формате YYYY


Год окончания действия карты

Cvc2

Да



CVC2 код

Lastname

Нет*

70 символов без цифр


Фамилия покупателя

Firstname

Нет*

70 символов без цифр


Имя покупателя

Middlename

Нет

70 символов без цифр


Отчество покупателя

Email

Нет*

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
3 - XML
4 - SOAP
5 - JSON

1

Формат выдачи результата.результатов. Передается только для запроса в формате POST (по умолчанию ответ будет выдан в формате CSV). Для других форматов ответ выдается в том же формате, в котором был выполнен запрос.


Signature

Нет

строка


Signature

Нет

строка

Формируется строка по определенным правилам.

На базе этой строки алгоритмом MD5 формируется дайджест.  Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа  - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается нам в виде дополнительного параметра, закодированного в виде строки BASE64.

Warning

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

RecurringIndicator

Нет

1 –рекуррентный - рекуррентный платеж

0 - обычный платеж

0

Признак рекуррентного платежа

Note

Не допускается одновременная передача с параметром CustomerNumber.

RecurringMinAmount

Нет/Да

Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,»)


Минимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

Note

Не допускается одновременная передача с параметром CustomerNumber.

RecurringMaxAmount

Нет/Да

Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,»)


Максимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

Note

Не допускается одновременная передача с параметром CustomerNumber.

RecurringPeriod

Нет/Да

Число, 3 цифры


Периодичность рекуррентных платежей в днях. Параметр обязателен при RecurringIndicator = 1

Note

Не допускается одновременная передача с параметром CustomerNumber.

RecurringMaxDate

Нет/Да

Строковое представление даты в формате DD.MM.YYYY


Дата окончания рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1

Note

Не допускается одновременная передача с параметром CustomerNumber.

CustomerNumberНет32 символа

Внутренний номер клиента предприятия (мерчанта)

Note

Не допускается одновременная передача с параметрами RecurringIndicator, RecurringMinAmount, RecurringMaxAmount, RecurringPeriod, RecurringMaxDate.

SaveCardНет

1 - карта

SaveCardНет

1 – карта привязывается к данному номеру клиента;

0 - карта не привязывается
0

В случае успешного платежа разрешает сохранять карту по данному номеру клиента для последующих платежей.

Если карта для данного номера клиента уже была сохранена ранее, то параметр игнорируется.
Disable3DSНет0 - проверять 3-D Secure согласно настройкам предприятия,
1 - проводить платеж без 3-D Secure.
0

Признак отключения 3-D Secure.

Note

Использование такого режима работы возможно по согласованию с Assist.  Для настройки необходимо обратиться в службу технической поддержки support@assist.ru

Warning

При использовании параметра его необходимо добавлять и в подпись заказа, которая формируется по определенным правилам.

ChallengeResponseNotificationUrlНет 255 символов

 URL, на который отправляется результат прохождения 3ds и перенаправляется покупатель после Challenge.

typeНетcardpayment - покупатель платит картой;
fastpaypayment - покупатель платит через СБП.
cardpayment

Тип платежа, выбранный плательщиком при оплате заказа (картой или через СБП).

accountНет30 символов

Идентификатор получателя денежных средств (номер оплачиваемого телефона)

*Передача данных покупателя не является обязательной, но при отсутствии поля email клиенту не будет отправлены уведомление об оплате и фискальный чек даже в том случае, если у мерчанта установлены соответствующие настройки. При отсутствии этих параметров также будут ограничены возможности работы системы СПМ и передача дополнительных параметров аутентификации по протоколу 3-D Secure версии 2.0.

Note

Для фискализации платежа в запросе могут передаваться дополнительные параметры для формирования корректного чека. Описание дополнительных параметров приведено в разделе "Режимы передачи данных чека".

...

Название

Значение

ordernumber

Номер заказа

billnumber

Полный уникальный номер операции в системе

testmode

Тестовый режим

ordercomment

Комментарий

orderamount

Оригинальная сумма заказа

ordercurrency

Оригинальная валюта заказа

amount

Сумма операции

currency

Валюта операции

rate

Курс валюты

firstname

Имя плательщика

lastname

Фамилия плательщика

middlename

Отчество плательщика

email

Email плательщика

ipaddress

IP-адрес плательщика

meantypename

Тип платежного средства

Параметры карты покупателя*

meansubtype

Подтип платежного средства

meannumber

Номер платежного средства

cardholder

Держатель платежного средства

cardexpirationdate

Срок действия карты

issuebank

Название банка-эмитента

bankcountry

Страна банка-эмитента

Параметры заказа  

orderdate

Дата заказа по Гринвичу (GMT)

orderstate

Статус заказа

responsecode

Код возврата

message

Сообщение

customermessage

Сообщение о результате для покупателя

recommendation

Рекомендации

approvalcode

Код авторизации

protocoltypename

Протокол

processingname

Процессинг

operationtype

Тип операции

packetdate

Дата формирования запроса по Гринвичу (GMT)

signature

1) Для типа подписи MD5 - пусто

Подпись. Создается по следующему алгоритму:

1. Формируется объединённая строка из параметров (в их строковом представлении, в формате как они переданы в ответе): billnumber, ordernumber, responsecode, orderamount, ordercurrency, meannumber, approvalcode, orderstate, packetdate (без разделителей)
2. Полученная строка подписывается закрытым ключом АПК Ассист.
3. Итоговая последовательность байт кодируется в BASE64.

2) Для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64

pareq

Пакет запроса по 3D-Secure авторизации

ascurl

Адрес для переадресации плательщика для прохождения 3D-Secure авторизации

Результат запроса в зависимости от выбранного формата получения будет выглядеть следующим образом.

В формате CSV:

Параметры СБП**

fastpayurl

Ссылка с QR-кодом для оплаты

fastpaytimeout

Срок действия ссылки для оплаты (дата и время)

fastpaytype

Тип ссылки, qrdynamic - динамическая

*Параметры не передаются в случае присутствия в запросе значения fastpaypayment для типа платежа (оплата через СБП).

**Параметры передаются только в случае присутствия в запросе значения fastpaypayment для типа платежа (оплата через СБП).

Warning

При использовании сервисаимеются ограничения по производительности.

Результат запроса в зависимости от выбранного формата получения будет выглядеть следующим образом.

В формате CSV:

Code Block
languagexml
Code Block
languagexml
Название поля:Значение поля Название поля:Значение поля....Название поля:Значение поля

...

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://www.paysecure.ru/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:SilentPayResponse>
<return> 
<ordernumber xsi:type="xsd:string">Номер заказа</ordernumber>
<responsecode xsi:type="xsd:string">Код возврата</responsecode>
<recommendation xsi:type="xsd:string">Рекомендации</recommendation>
<message xsi:type="xsd:string">Сообщение</message>
<ordercomment xsi:type="xsd:string">Комментарий</ordercomment>
<orderdate xsi:type="xsd:string">Дата и время платежа</orderdate>
<amount xsi:type="xsd:string">Сумма платежа</amount>
<currency xsi:type="xsd:string">Код валюты</currency>
<meantypename
xsi:type="xsd:string">Тип карты</meantype>
<meannumber xsi:type="xsd:string">Номер карты</meannumber>
<lastname xsi:type="xsd:string">Фамилия</lastname>
<firstname xsi:type="xsd:string">Имя</firstname>
<middlename xsi:type="xsd:string">Отчество</middlename>
<issuebank xsi:type="xsd:string">Название банк-эмитента</issuebank>
<email xsi:type="xsd:string">Адрес электронной  почты</email>
<bankcountry xsi:type="xsd:string">Код страны банка-эмитента</bankcountry>
<rate xsi:type="xsd:string">Курс валюты</rate>
<approvalcode xsi:type="xsd:string">Код авторизации</approvalcode>
<meansubtype xsi:type="xsd:string">Подтип карты</meansubtype>
<cardholder xsi:type="xsd:string">Держатель карты</cardholder>
<cardexpirationdate xsi:type='xsd:string'>Срок действия карты</cardexpirationdate>
<ipaddress xsi:type="xsd:string">IP-адрес
покупателя</ipaddress>
<protocoltypename xsi:type="xsd:string">Тип протокола</protocoltypename>
<testmode xsi:type="xsd:string">Указание на тестовый платеж</ testmode>
<customermassage xsi:type="xsd:string">Сообщение пользователю</customermassage>
<orderstate xsi:type="xsd:string">Состояние</orderstate>
<processingname xsi:type="xsd:string">Название процессинга</processingname>
<operationtype xsi:type="xsd:string">Код операции</operationtype>
<billnumber xsi:type="xsd:string">Номер платежа</billnumber>
<orderamount xsi:type="xsd:string">Сумма платежа  в оригинальной валюте</orderamount>
<ordercurrency xsi:type="xsd:string">Оригинальная валюта</ordercurrency>
<paketdate xsi:type="xsd:string">Дата и время получения пакета</paketdate>
<signature xsi:type="xsd:string"> </signature>
<pareq xsi:type="xsd:string">Значение pareq </pareq>
<ascurl xsi:type="xsd:string">URL банка-эмитента </ascurl>
</return>
</ws:SilentPayResponse>
</soapenv:Body>
</soapenv:Envelope>

Результат запроса при оплате через СБП в формате SOAP:

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:SilentPayResponse>
<return> 
<ordernumber>silent-test-101468</ordernumber>
<billnumber>599093519074915.1</billnumber>
<testmode>0</testmode >
<ordercomment></ordercomment>
<orderamount>31.79</orderamount>
<ordercurrency>RUB</ordercurrency>
<firstname>Auto</firstname>
<lastname>Test</lastname>
<middlename></middlename>
<email>null@assist.ru</email>
<orderdate>14.06.2022 11:39:19</orderdate>
<orderstate>In Process</orderstate>
<operationtype>100</operationtype>
<amount>31.79</amount>
<currency>RUB</currency >
<rate>1</rate>
<ipaddress>127.0.0.1</ipaddress>
<meantypename>QR code</meantype>
<responsecode>AS300</responsecode>
<message>Предварительная обработка</message>
<customermassage>Предварительная обработка</customermassage>
<recommendation></recommendation>
<protocoltypename>NET</protocoltypename>
<processingname>SbpRuSt</processingname>
<fastpayurl>https://qr.nspk.ru/AD100006N581D0KV8HUOT2B84344SM83?type=02&bank=100000000014&sum=3179&cur=RUB&crc=CCFD</fastpayurl>
<fastpaytimeout>14.06.2022 13:16:23</fastpaytimeout>
<fastpaytype>qrdynamic</fastpaytype>
<paketdate>14.06.2022 11:39:23</paketdate>
<signature> </signature>
</return>
</ws:SilentPayResponse>
</soapenv:Body>
</soapenv:Envelope>

Результат запроса при оплате через СБП в формате JSON:

Code Block
languagexml
{"silentpay":
   {"meantypename":"QR code",
     "customermessage":"Предварительная обработка",
     "message":"Предварительная обработка",
     "testmode":0,
     "protocoltypename":"NET",
     "operationtype":100,
     "customer":
      {"lastname":"test",
       "firstname":"test",
       "middlename":"",
       "ipaddress":"127.0.0.1",
       "email":"null@assist.ru"},
     "orderdate":"14.06.2022 11:40:43",
     "packetdate":"14.06.2022 11:40:46",
     "orderamount":1.99,
     "ordercomment":"",
     "ordercurrency":"RUB",
     "recommendation":"",
     "processingname":"SbpRuSt",
     "orderstate":"In Process",
     "fastpay":
       {"url":"https://qr.nspk.ru/AD100025MS3FMK9K95LACS1LCQDKB18F?type=02&bank=100000000014&sum=199&cur=RUB&crc=A77C",
        "type":"qrdynamic",
        "timeout":"14.06.2022 13:17:46"},
      "rate":1,
      "billnumber":"599093519074916.1",
      "currency":"RUB",
      "amount":1.99,
      "ordernumber":"silent-test-198954",
      "responsecode":"AS300"}}

В В случае успешной оплаты код возврата responsecode принимает значение AS000.

...

При оплате картой, требующей авторизации по 3D-Secure, АПК Ассист возвращает код ответа (responsecode) AS110. В пакет ответа по режиму silentpay также добавляются дополнительные поля, позволяющие ТСП обеспечить дополнительную аутентификацию плательщика по технологиям 3-D Secure (карты VISA), Mastercard SecureCode и MirAccept (карты Мир).

В настоящее время для Для дополнительной аутентификации плательщика большинство банков-эмитентов работает по версии возможно применение версии 1 или версии 2 протокола 3-D Secure 1.0 по всем типам карт.Для более надежного процесса аутентификации банки-эмитенты и платежные системы переходят на новую версию протокола 2.0 и выше для всех типов карт (VISA, Mastercard, МИР). Для поддержки протокола нового поколения предприятию нужно внести изменения в процесс аутентификации плательщика. Технология протокола версии 1 используется для карт VISA и Mastercard, эмитированных в РФ. Технология протокола версии 2 используется для карт МИР и UPI.

Для начала оплаты заказа предприятие отправляет авторизационный запрос на сервер АПК Ассист. К обычным параметрам запроса необходимо добавить следующие данные об устройстве и браузере клиента, если это еще не было сделано ранее для работы с СПМ .  В В новом протоколе 3-D Secure версии 2 .0 эти данные являются обязательными.

Название

Принимаемые значения

Описание

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
3ds1
3ds1


3D-Secure авторизация по протоколу версии 1

...


При оплате картой, требующей авторизации по протоколу версии 1.0, АПК Ассист возвращает код ответа (responsecode) AS110 и дополнительные поля pareq и acsurl в ответе на запрос авторизации.

...

Для продолжения процесса авторизации по 3D-Secure магазину необходимо передать в АПК Ассист пакет результата авторизации по 3D-Secure pares. Данная функциональность реализована в веб-сервисе get3DSec.

Get3DSec  - веб-сервис передачи параметров авторизации карты по 3D-Secure

...

Code Block
languagexml
<?xml version="1.0" encoding="windows-1251" standalone="no" ?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Fault>
<faultcode>Первый код</faultcode> 
<faultstring>Второй код</faultstring> 
<detail />
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

3D-Secure авторизация по протоколу версии 2

...


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

...

  1. Проверять версию протокола 3D-Secure в ответе на авторизационный запрос к сервису Assist. Для версии 1 .0 поддерживать описанную выше схему работы.
  2. Для версии 2 .0 сформировать скрытый iframe Iframe на платежной странице (детальное описание параметров см. ниже) и отправить на ACS банка-эмитента запрос 3DSMethod (при наличии).
  3. Для продолжения аутентификации вызвать веб-сервис ws3dsecver2 с get3dsecver2 с дополнительными параметрами 3D-Secure. Если аутентификация произойдет без дополнительного взаимодействия с клиентом (Frictionless Flow), то АПК Ассист получит ее результат и отправит транзакцию авторизации в процессинг. В ответе предприятие получит полный результат оплаты, содержащий также и результат авторизации в процессинге.  В В случае необходимости дополнительной аутентификации клиента АПК Ассист вернет в ответе на запрос дополнительные поля для проведения проверки (Challenge Flow).
  4. При наличии в ответе дополнительных полей, сообщающих о необходимости дополнительной проверки (Challenge Flow), предприятие на платежной странице формирует iFrameIFrame, в котором реализует отображение страницы ACS банка-эмитента для ввода одноразового пароля. Покупатель завершает аутентификацию.. Покупатель завершает аутентификацию.
  5. При наличии в ответе дополнительных полей, сообщающих о возможности отложенной аутентификации (Decoupled Authentication), предприятие ожидает результата прохождения проверки. Аутентификация покупателя может быть пройдена альтернативным способом, поддерживаемым банком-эмитентом (например, через push-уведомление на телефоне и аутентификацию по Face id или отпечатку пальца в приложении банка-эмитента).
  6. Результат прохождения проверки АПК Ассист получит на сервер на своей стороне (для Challenge Flow и Decoupled Authentication). В случае успешной проверки будет проведена транзакция оплаты в процессинге. В случае неуспешной проверки операция завершится с ошибкой.
  7. Для того чтобы узнать окончательный результат оплаты заказа, предприятию необходимо использовать один из методов получения результата авторизации.

Логику работы нового протокола версии 2 .0 отображает граф-нижеследующая схема. Текстовое описание ниже далее содержит ссылки на пронумерованные блоки граф- схемы.

Image RemovedImage Added

Для начала оплаты заказа предприятие отправляет авторизационный запрос на сервер АПК Ассист    и необходимые дополнительные параметры на сервер АПК Ассист (блок 1). Также могут использоваться необязательные дополнительные параметры.

При оплате картой, требующей авторизации по протоколу версии 2.0 , АПК Ассист вернет в ответе код возврата AS110 (блок 2) и дополнительный блок параметров threedsdata.  Список Полный список параметров, которые могут содержаться в блоке threedsdata, представлен в таблице ниже:

Название

Принимаемые значения

Описание

В ответе сервиса1

version

1* 1 (1.0.0, 1.0.2)
2* 1 (2.0, 2.1.0, 2.2.0)

Версия протокола 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 - для информации, S - без аутентификации с учетом низкой оценки риска

Результат аутентификации будет получен в ответе, если она произошла в одну стадию (Frictionless Flow)

1,2

challenge

F - Frictionless Flow
C - Challenge Flow
D - Decoupled Authentication

Взаимодействие с держателем карты (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
2


2В случае авторизации без дополнительной проверки (Frictionless Flow(Frictionless Flow) и для отложенной аутентификации (Decoupled authentication) параметры challengeurl и challengerequest не будут возвращены.

В зависимости от содержания полученного блока threedsdata (блоки 3,47,58) аутентификация продолжается по-разному.

Основные сценарии работы :для версии 2 определяются тем, требуется ли вызов 3DSMethod (формирование скрытого iFrame в браузере клиента), а также требуется ли дополнительная аутентификация клиента и по какому сценарию она проходит:

  • При Для версии 3D-Secure 2.0 (блок 3) при наличии URL банка-эмитента threeDSMethodURL (блок 57) предприятие формирует скрытый HTML iFrame на платежной странице (блок 89), отправляет POST запрос с одним параметром threeDSMethodData на полученный адрес threeDSMethodURL, и далее вызывает сервис get3dsecver2 (блок 910).
  • Для версии 3D-Secure 2.0 (блок 3) при При наличии URL банка-эмитента threeDSMethodURL (блоки 57, 89, 910), но без необходимости дополнительного взаимодействия с держателем карты (блок 48) - Frictionless Flow (F), АПК Ассист сразу проводит транзакцию в процессинге или завершает операцию с ошибкой (блок 12).. В ответе на вызов сервиса get3dsecver2 предприятие получит статус оплаты (блок 6).
  • При Для версии 3D-Secure 2.0 (блок 3) при наличии URL банка-эмитента threeDSMethodURL (блоки 57, 89, 910) и при необходимости дополнительного взаимодействия с держателем карты (блок 108) предприятие должно сформировать на платежной странице объект HTML iFrame и отправить методом HTTP POST запрос проверки держателя карты к указанному URL challengeurl (блок 11). В этом iFrame отображается страница ACS банка эмитента и плательщик вводит одноразовый пароль, полученный от банка. Это сценарий Challenge Flow (C).
  • При наличии URL банка-эмитента threeDSMethodURL (блоки 7, 9, 10) при необходимости дополнительного взаимодействия с держателем карты (блок 8) и отложенной аутентификации предприятие должно оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты (в рамках времени жизни заказа). Это сценарий Decoupled Authentication (D).
  • При Для версии 3D-Secure 2.0 (блок 3) при отсутствии URL банка-эмитента threeDSMethodURL и когда дополнительное взаимодействие с держателем карты не требуется - Frictionless Flow (F), сразу же будет проведена транзакция в процессинге, и процесс оплаты будет завершен (блок 12).6). Предприятие получит результат аутентификации и статус оплаты сразу в ответе на вызов сервиса silentpay.
  • При отсутствии URL банка-эмитента threeDSMethodURL и при необходимости дополнительного взаимодействия с держателем карты (блок 8) для сценария Challenge Flow (CДля версии 3D-Secure 2.0 (блок 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 секунд). 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 банка-эмитента и плательщик вводит одноразовый пароль, полученный от банка, в котором передать полученное значение challengerequest. В этом iFrame отображается страница ACS банка-эмитента и плательщик вводит одноразовый пароль, полученный от банка.

В сценарии с отложенной аутентификацией в блоке данных threedsdata параметр challenge будет равен D, а параметры challengeurl и challengerequest будут отсутствовать (блок 8). Предприятие должно в этом случае оставить заказ в состоянии В Процессе и ожидать окончательного статуса оплаты.

Результат этой проверки АПК Ассист получит на свой сервер в асинхронном режиме (блоки 13, 14). В зависимости от результата аутентификации и настроек процессинга и предприятия (блок 15), АПК Ассист проведет транзакцию оплаты в процессинге или закроет операцию с ошибкой.

АПК Ассист может также продублировать результат прохождения 3D-Secure на сервер предприятия, для этого нужно Для того, чтобы после прохождения дополнительной проверки плательщик смог вернуться обратно на сайт предприятия, следует сообщить службе поддержки АПК Ассист URL для возврата покупателя и приема результата прохождения дополнительной проверки. Результат дополнительной проверки будет направлен платежной системой в параметре CRes. Для предприятия получение этого запроса будет означать, что дополнительная проверка завершена, и оно может в этот момент перенаправить браузер плательщика на страницу результата на своей стороне и ожидать завершения платежной транзакции в процессингепроцессинге.

Получение результата платежа после дополнительной проверки отражено на схеме блоками 12, 13, 14.

Warning

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

...

Code Block
languagexml
<threedsdata>
<version>2.0<2</version>
<alphaauthresult>Y</alphaauthresult>
<challenge>F<challenge>
</threedsdata>

...

Code Block
languagexml
<threedsdata>
<version>2.0<2</version>
<challenge>С<challenge>
<challengeurl>https://acs.superbank.ru/version20/creq</challengeurl>
<challengerequest>eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImE3ZWJlMDU3LTg2ZjgtNGFmMS05MTJkHGNlYTc5Mzc0OWUxMiIsImFjc1RyYW5zSUQiOiI5ODhmOWZmYS1kNzYyLTQ0YjktOWI0OS01ZDRkMjU5YmRkZWQiLCJkc1RyYW5zSUQiOiJkMGJmZGQzYy00YzdhLTVmNjktODAwMC0wMDAwMDAwOGM3NjMiLCJtZXNzYWdlVHlwZSI6IkNSеZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA0In0</challengerequest>
</threedsdata>

...

Code Block
languagexml
{
    "threedsdata": {
        "version": "2.02",
        "alphaauthresult": "Y",
        "challenge": "F"
    },
    "silentpay": {
        "customermessage": "Завершено успешно",
        "message": "Завершено успешно",
        "testmode": 0,
        "operationtype": 100,
        "orderdate": "05.04.2022 11:19:54",
        "packetdate": "05.04.2022 11:19:58",
        "orderamount": 31.79,
        "ordercomment": "",
        "cardexpirationdate": "12/23",
        "ordercurrency": "RUB",
        "recommendation": "",
        "processingname": "Credx",
        "meannumber": "554373****0010",
        "orderstate": "Approved",
        "rate": 1,
        "amount": 31.79,
        "responsecode": "AS000",
        "meantypename": "MasterCard",
        "protocoltypename": "NET",
        "bankcountry": "Россия",
        "customer": {
            "lastname": "Test",
            "firstname": "Auto",
            "middlename": "",
            "ipaddress": "127.0.0.1",
            "email": "null@assist.ru"
        },
        "cardholder": "TEST",
        "approvalcode": "489489",
        "billnumber": "5817109255129315.1",
        "issuebank": "BANK OTKRITIE",
        "currency": "RUB",
        "ordernumber": "856a13d9-e9a0-4d3c-9d02-b82db6bae03e",
        "meansubtype": "Platinum MasterCard Salary-Immediate Debit"
    }
}

...

Code Block
languagexml
{     
    "threedsdata": {
        "version": "2.2.0",
        "challengerequest": "eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjQxMWI2ODVjLWUzODAtNGZkYS05YmIzLWJiZjM2OTJiNGMyNiIsImFjc1RyYW5zSUQiOiJmY2FlMDMzNS0xODgwLTRlNjgtOWJjMy0wMDcyZDM4ZTkzODYiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDIiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0",
        "challengeurl": "https://fake.3dss.t.paysecure.ru/acs/challenge",
        "challenge": "C"
    },
    "MakePaymentResponse": {
        "customermessage": "Создана Аутентификация клиента по технологии 3DSecure",
        "message": "Создана Аутентификация клиента по технологии 3DSecure",
        "testmode": 0,
        "operationtype": 100,
        "orderdate": "05.04.2022 11:19:32",
        "packetdate": "05.04.2022 11:19:34",
        "orderamount": 31.79,
        "ordercomment": "",
        "cardexpirationdate": "12/23",
        "ordercurrency": "RUB",
        "recommendation": "",
        "processingname": "Credx",
        "meannumber": "554373****6654",
        "orderstate": "In Process",
        "rate": 1,
        "recommendationamount": ""31.79,
        "processingnameresponsecode": "CredxAS110",
        "meannumbermeantypename": "554373****6654MasterCard",
        "orderstateprotocoltypename": "In ProcessNET",
        "ratebankcountry": 1"Россия",
        "amountcustomer": 31.79,
{
            "responsecodelastname": "AS110Test",
            "meantypenamefirstname": "MasterCardAuto",
            "protocoltypenamemiddlename": "NET",
            "bankcountryipaddress": "Россия127.0.0.1",
            "customeremail": {
"null@assist.ru"
        },
        "lastnamecardholder": "TestTEST",
            "firstnameapprovalcode": "Auto",
            "middlenamebillnumber": "5817109255129273.1",
            "ipaddressissuebank": "127.0.0.1BANK OTKRITIE",
            "emailcurrency": "null@assist.ruRUB",
        }"ordernumber": "6b510f3d-1327-4f3b-bc17-612daeed3aac",
        "cardholdermeansubtype": "TEST",Platinum MasterCard Salary-Immediate Debit"
    }
}

Пример параметра CRes с результатом дополнительной проверки покупателя

Code Block
languagexml
{
    "approvalcodemessageType": "CRes",
        "billnumberthreeDSServerTransID": "5817109255129273.1"1b760648-104c-42a0-a047-5a3f422fcbfa",
        "issuebankacsTransID": "BANK OTKRITIE"60c63017-4779-4c44-a47b-da8dc45ed989",
        "currencychallengeCompletionInd": "RUBY",
        "ordernumbermessageVersion": "6b510f3d-1327-4f3b-bc17-612daeed3aac"2.1.0",
        "meansubtypetransStatus": "Platinum MasterCard Salary-Immediate Debit"
    }"Y"
}


Наверх