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 символа | Мобильный телефон покупателя | |||||
Country | Нет | 3 символа | Код страны покупателя | |||||
State | Нет | 3 символа | Код региона покупателя | |||||
City | Нет | 70 символа | Город покупателя | |||||
Zip | Нет | 25 символа | Индекс предприятия связи покупателя | |||||
isConvert | Нет | 0 - Не конвертировать в базовую валюту 1 - Не конвертировать при возможности 2 - Всегда конвертировать | 1 | Флаг конвертации валюты платежа в базовую валюту | ||||
Format | Нет | 1 - CSV | 1 | Формат выдачи результатов. Передается только для запроса в формате POST (по умолчанию ответ будет выдан в формате CSV). Для других форматов ответ выдается в том же формате, в котором был выполнен запрос. | ||||
Signature | Нет | строка | Формируется строка по определенным правилам. На базе этой строки алгоритмом MD5 формируется дайджест. Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается нам в виде дополнительного параметра, закодированного в виде строки BASE64.
| |||||
RecurringIndicator | Нет | 1 - рекуррентный платеж 0 - обычный платеж | 0 | Признак рекуррентного платежа
| ||||
RecurringMinAmount | Нет/Да | Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,») | Минимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1
| |||||
RecurringMaxAmount | Нет/Да | Число, 15 знаков, два знака после разделителя (допустимые разделители «.», «,») | Максимальная сумма рекуррентных платежей. Параметр обязателен при RecurringIndicator = 1
| |||||
RecurringPeriod | Нет/Да | Число, 3 цифры | Периодичность рекуррентных платежей в днях. Параметр обязателен при 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.
| ||||
ChallengeResponseNotificationUrl | Нет | 255 символов | URL, на который отправляется результат прохождения 3ds и перенаправляется покупатель после Challenge. | |||||
type | Нет | cardpayment - покупатель платит картой; fastpaypayment - покупатель платит через СБП. | cardpayment | Тип платежа, выбранный плательщиком при оплате заказа (картой или через СБП). | ||||
account | Нет | 30 символов | Идентификатор получателя денежных средств (номер оплачиваемого телефона) |
...
При оплате картой, требующей авторизации по 3D-Secure, АПК Ассист возвращает код ответа (responsecode) AS110. В пакет ответа по режиму silentpay также добавляются дополнительные поля, позволяющие ТСП обеспечить дополнительную аутентификацию плательщика по технологиям 3-D Secure (карты VISA), Mastercard SecureCode и MirAccept (карты Мир).
В настоящее время для Для дополнительной аутентификации плательщика большинство банков-эмитентов работает по возможно применение версии 1 или версии 2 протокола 3-D Secure по всем типам карт.Для более надежного процесса аутентификации банки-эмитенты и платежные системы переходят на новую версию 2 и выше протокола для всех типов карт (VISA, Mastercard, МИР). Для поддержки протокола нового поколения предприятию нужно внести изменения в процесс аутентификации плательщика. Технология протокола версии 1 используется для карт VISA и Mastercard, эмитированных в РФ. Технология протокола версии 2 используется для карт МИР и UPI.
Для начала оплаты заказа предприятие отправляет авторизационный запрос на сервер АПК Ассист. К обычным параметрам запроса необходимо добавить следующие данные об устройстве и браузере клиента, если это еще не было сделано ранее для работы с СПМ . В новом протоколе 3-D Secure версии 2 эти данные являются обязательными.
...
- Проверять версию протокола 3D-Secure в ответе на авторизационный запрос к сервису Assist. Для версии 1 поддерживать описанную выше схему работы.
- Для версии 2 сформировать скрытый Iframe на платежной странице (детальное описание параметров см. ниже) и отправить на ACS банка-эмитента запрос 3DSMethod (при наличии).
- Для продолжения аутентификации вызвать веб-сервис ws3dsecver2 с get3dsecver2 с дополнительными параметрами 3D-Secure. Если аутентификация произойдет без дополнительного взаимодействия с клиентом (Frictionless Flow), то АПК Ассист получит ее результат и отправит транзакцию авторизации в процессинг. В ответе предприятие получит полный результат оплаты, содержащий также и результат авторизации в процессинге. В случае необходимости дополнительной аутентификации клиента АПК Ассист вернет в ответе на запрос дополнительные поля для проведения проверки.
- При наличии в ответе дополнительных полей, сообщающих о необходимости дополнительной проверки (Challenge Flow), предприятие на платежной странице формирует IFrame, в котором реализует отображение страницы ACS банка-эмитента для ввода одноразового пароля. Покупатель завершает аутентификацию.
- При наличии в ответе дополнительных полей, сообщающих о возможности отложенной аутентификации (Decoupled Authentication), предприятие ожидает результата прохождения проверки. Аутентификация покупателя может быть пройдена альтернативным способом, поддерживаемым банком-эмитентом (например, через push-уведомление на телефоне и аутентификацию по Face id или отпечатку пальца в приложении банка-эмитента).
- Результат прохождения проверки АПК Ассист получит на сервер на своей стороне (для Challenge Flow и Decoupled Authentication). В случае успешной проверки будет проведена транзакция оплаты в процессинге. В случае неуспешной проверки операция завершится с ошибкой.
- Для того чтобы узнать окончательный результат оплаты заказа, предприятию необходимо использовать один из методов получения результата авторизации.
...
Название | Принимаемые значения | Описание | В ответе сервиса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 - для информации, S - без аутентификации с учетом низкой оценки риска | Результат аутентификации будет получен в ответе, если она произошла в одну стадию (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 |
...
Для того, чтобы после прохождения дополнительной проверки плательщик смог вернуться обратно на сайт предприятия, следует сообщить службе поддержки АПК Ассист URL для возврата покупателя и приема результата прохождения дополнительной проверки. Результат дополнительной проверки будет направлен платежной системой в параметре CRes. Для предприятия получение этого запроса будет означать, что дополнительная проверка завершена, и оно может в этот момент перенаправить браузер плательщика на страницу результата на своей стороне и ожидать завершения платежной транзакции в процессинге.
...
Code Block | ||
---|---|---|
| ||
{
"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,
"amount": 31.79,
"responsecode": "AS110",
"meantypename": "MasterCard",
"protocoltypename": "NET",
"bankcountry": "Россия",
"customer": {
"lastname": "Test",
"firstname": "Auto",
"middlename": "",
"ipaddress": "127.0.0.1",
"email": "null@assist.ru"
},
"cardholder": "TEST",
"approvalcode": "",
"billnumber": "5817109255129273.1",
"issuebank": "BANK OTKRITIE",
"currency": "RUB",
"ordernumber": "6b510f3d-1327-4f3b-bc17-612daeed3aac",
"meansubtype": "Platinum MasterCard Salary-Immediate Debit"
}
} |
Пример параметра CRes с результатом дополнительной проверки покупателя
Code Block | ||
---|---|---|
| ||
{
"messageType":"CRes",
"threeDSServerTransID":"1b760648-104c-42a0-a047-5a3f422fcbfa",
"acsTransID":"60c63017-4779-4c44-a47b-da8dc45ed989",
"challengeCompletionInd":"Y",
"messageVersion":"2.1.0",
"transStatus":"Y"
} |