Versions Compared

Key

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

...

Список параметров, передаваемых в режиме silentpay:

Название

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

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

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

Описание

Merchant_ID

Да

Число


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

Login

Да

Строка


Ваш логин

Password

Да

Строка


Ваш пароль

OrderNumber

Да/Нет

128 символов


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

OrderAmount

Да

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


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

OrderCurrency

Нет

3 символа

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

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

OrderComment

Нет

4000 символов


Комментарий

Delay

Нет

0

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

0

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

Note

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

Language

Нет

RU

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

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

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

ClientIP

Нет/Да



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

Cardt ype

Нет

1

- VISA
2 - EC/MC
3

- DCL
4

- JCB
5 - AMEX


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

Cardnumber

Да



Номер карты

Cardholder

Нет*

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

- пробел.


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

Expiremonth

Да

1-12


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

Expireyear

Да

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


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

Cvc 2

Да



CVC2 код

Lastname

Нет*

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


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

Firstname

Нет*

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


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

Middlename

Нет

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


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

Email

Нет*

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
3

- XML
4 - SOAP
5 - JSON

1

Формат выдачи

результата. Если запрос передан в формате SOAP или JSON, то ответ также будет в SOAP или JSON соответственно, в остальных случаях ответ выдается согласно переданному значению формата

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

Signature

Нет

строка


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

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

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

RecurringIndicator

Нет

1

–рекуррентный

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

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

0

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

Note

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

RecurringMinAmount

Нет/Да

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


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

Note

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

RecurringM ax Amount

Нет/Да

Число, 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

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

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

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

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

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

Note

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

Warning

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

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

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

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

...

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

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

Для начала оплаты заказа предприятие отправляет  авторизационный запрос  на сервер АПК Ассист. К обычным параметрам запроса необходимо добавить следующие данные об устройстве и браузере клиента . В новом протоколе 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 адрес покупателя

Anchor
ver1
ver1


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

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

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

Клиент должен быть перенаправлен на сайт банка-эмитента по адресу, указанному в параметре acsurl (acsurl - значение, полученное в пакете результата режима silentpay от АПК Ассист).

В форме должны содержаться следующие поля:

AcsUrl

Url банка-эмитента. Значение, полученное в пакете результата режима silentpay от АПК Ассист.

PaReq

Значение, полученное в пакете результата режима silentpay от АПК Ассист.

TermUrl

Url магазина для получения результата от банка эмитента.

MD

Идентификатор, по которому в дальнейшем связывается результат, полученный от банка, и заказ. Данное поле возвращается от банка эмитента.

Пример запроса HTTP POST к банку-эмитенту:

Code Block
languagexml
<FORM ACTION="acsurl - значение, полученное от АПК Ассист в пакете режима silentpay" method="POST">
<INPUT TYPE="hidden" NAME="PaReq" VALUE="pareq - значение, полученное от АПК Ассист в пакете режима silentpay ">
<INPUT TYPE="hidden" NAME="TermUrl" VALUE="url магазина для получения результата от банка-эмитента">
<INPUT TYPE="hidden" NAME="MD" VALUE="любые данные магазина">
<INPUT TYPE="submit" NAME="Submit_3DS" class="button" VALUE="Продолжить">
</FORM>

Банк-эмитент возвращает следующие поля:

PaRes   

Пакет результата

MD

Идентификатор, введенный ранее

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

Get3DSec  

...

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

URL для передачи запроса:

https://<SERVER-NAME>/get3dsec/ws3dsec.cfm

Формат запроса и ответа SOAP ,  wsdl-описание сервиса доступно по URL:

https:// <SERVER-NAME> /get3dsec/get3dsec.wsdl

Предприятие должно отправить в АПК Ассист значение параметра pares, полученное в ответе от банка-эмитента. Для этого необходимо отправить запрос в формате SOAP.

Входные параметры:

Метод :   send3dsparams

Параметр

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

Описание

merchant_id

Да

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

login

Да

Ваш логин

password

Да

Ваш пароль

ordernumber

Да

Номер заказа, для которого передаются параметры 3DS

pares

Да

Пакет результата по 3DS

language

Нет

Язык

Пример SOAP запроса:

Code Block
languagexml
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<send3dsparams xmlns="urn:assist-processor">
<merchant_id>Идентификатор предприятия</merchant_id>
<login>Ваш логин</login>
<password>Ваш пароль</password>
<ordernumber>Номер заказа</ordernumber>
<language>Язык</language>
<pares>Значение, полученное в пакете результата от банка-эмитента</pares>
</send3dsparams>
<s:Body>
<s:Envelope>

Возвращаемая информация: пакет результата режима silentpay.

В случае возникновения ошибки:

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

...

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

...

Название

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

Описание

В ответе сервиса 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 - для информации

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

1,2

challenge

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

Взаимодействие с держателем карты (C - нужно, F - не нужно,  D - отложенная аутентификация)

1,2

challengeurl 2

Полное доменное имя (URL)

https://acs ....

Длина максимум 2048 символов

URL банка-эмитента или платежной системы для проверки плательщика

1,2

challengerequest 2

Сообщение, закодированное методом Base64, длина переменная

Данные запроса, отправляемого на challengeurl

1,2

...

1 Параметр может содержаться в ответе сервиса: 1-  silentpay ; 2 -  get 3 dsecver 2 .

Anchor
2
2


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

...

Ответ на запрос в этом случае будет содержать один из конечных кодов возврата (AS000 - операция успешно завершена, AS100-AS109 - отказ в авторизации), все поля ответа, описанные  выше , и дополнительный блок данных  threedsdata , в котором параметр  challenge  равен F, а поле  alphaauthresult  содержит результат аутентификации  (Y, N, U, R, I ).

...

Описание параметров всех веб-сервисов АПК Ассист для формата JSON содержится в файле swagger по адресу:

https://docs.assist.kz/swagger/

Пример ответа в формате JSON для операции без дополнительной аутентификации:

Code Block
languagexml
{
    "threedsdata": {
        "version": "2.2",
        "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": "KZT",
        "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.kz"
        },
        "cardholder": "TEST",
        "approvalcode": "489489",
        "billnumber": "5817109255129315.1",
        "issuebank": "BANK",
        "currency": "KZT",
        "ordernumber": "856a13d9-e9a0-4d3c-9d02-b82db6bae03e",
        "meansubtype": "Platinum MasterCard Salary-Immediate Debit"
    }
}

Пример ответа для операции c дополнительной аутентификацией:

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": "KZT",
        "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.kz"
        },
        "cardholder": "TEST",
        "approvalcode": "",
        "billnumber": "5817109255129273.1",
        "issuebank": "BANK",
        "currency": "KZT",
        "ordernumber": "6b510f3d-1327-4f3b-bc17-612daeed3aac",
        "meansubtype": "Platinum MasterCard Salary-Immediate Debit"
    }
}

Назад