Для оплаты с помощью токена нужно отправить запрос на сервер АПК Ассист в формате JSON (swagger описание: https://docs.belassist.by/swagger/). 

URL запроса для передачи платежного токена

https://<SERVER_NAME>/pay/tokenpay.cfm ,

где <SERVER_NAME> - адрес сервера который предоставляется службой поддержки Assist в процессе подключения.

Список параметров запроса:

Название

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

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

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

Описание

Merchant_ID

Да

Число


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

Login

Да

8 - 20 символов


Логин учетной записи в АПК Ассист (лат. буквы и цифры, символ _)

Password

Да

8 - 20 символов


Пароль учетной записи в АПК Ассист (лат. буквы и цифры)

OrderNumber

Да

128 символов


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

OrderAmount

Да

Число, 15 цифр (разделители «.», «,»)


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

OrderCurrency

Нет

3 символа

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

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

OrderComment

Нет

4000 символов


Комментарий

Delay

Нет

0 – одностадийный механизм работы

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

0

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

Language

Нет

RU - русский,

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

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

Язык квитанции об оплате

ClientIP

Нет

Максимум 15 цифр, 4 разделителя «.»


IP адрес покупателя

TokenType

Нет

1 – Apple Pay;
3 – Samsung Pay;
5 – Assist.

1

Идентификатор типа платежного токена.

5 - платежный токен Assist используется для операций CIT COF

PaymentToken

Да

JSON


Для типов 1-3 - платежный токен провайдера (Apple Pay,  Samsung Pay)

Для платежного токена Assist (тип 5) - {"Token":"<UUID>", "CustomerNumber":"<CustomerNumber>"}

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 символов


Индекс предприятия связи покупателя

URL_RETURN

Нет

255 символов


URL страницы, на которую должен вернуться покупатель после осуществления платежа в системе (должна быть активирована опция «Перейти на страницу магазина» в настройках мерчанта в Личном кабинете). В целях безопасности рекомендуется использовать протокол с шифрованием HTTPS.

URL_RETURN_OK

Нет

255 символов

Значение параметра URL_RETURN, а при его отсутствии – URL для возврата при успешной авторизации, указанный в Личном кабинете

URL страницы, куда должен вернуться покупатель после неуспешного осуществления платежа в системе АПК Ассист или при отсутствии ответа об окончательном статусе платежа (текущий статус "В процессе"), подробнее см. "Возврат покупателя на страницу интернет-магазина после покупки". Должна быть активирована опция «Возвращаться в магазин по URL для возврата» в Личном кабинете. В целях безопасности рекомендуется использовать протокол с шифрованием HTTPS.

URL_RETURN_NO

Нет

255 символов



isConvert

Нет

0 - не конвертировать в базовую валюту;
1 - не конвертировать при возможности;
2 - всегда конвертировать

1

Флаг конвертации валюты платежа в базовую валюту

Format

Нет

4 – SOAP
5 – JSON

5

Формат выдачи результатов

Signature

Нет

строка


Формируется строка, сшитая из следующих параметров заказа:

Merchant_ID;OrderNumber;OrderAmount;OrderCurrency, разделенных точкой с запятой.

На базе этой строки алгоритмом 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

Список параметров ответа:

Название

Значение

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

ordernumber

Номер заказа

billnumber

Уникальный номер заказа в системе АПК Ассист

testmode

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

ordercomment

Комментарий

orderamount

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

ordercurrency

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

firstname

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

lastname

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

middlename

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

Email

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

orderdate

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

orderstate

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

packetdate

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

signature

  • для типа подписи MD5 – пусто;
  • для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64.

checkvalue

uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, orderamount, ordercurrency, orderstate (без разделителей) + строковая склейка

Параметры операции

billnumber

Расширенный формат billnumber

operationtype

Тип операции

operationstate

Состояние операции

amount

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

currency

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

ipaddress

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

clientip

IP-адрес совершившего операцию

meantype_id

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

meantypename

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

meansubtype

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

meannumber

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

cardholder

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

issuebank

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

bankcountry

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

responsecode

Код возврата

message

Сообщение о результате операции

customermessage

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

recommendation

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

approvalcode

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

protocoltypename

Протокол

processingname

Процессинг

operationdate

Дата и время операции (GMT)

authresult

Результат авторизации по 3D-Secure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно)

authrequired

Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности)

slipno

Номер финансовой транзакции, отправляемый в процессинг

firstcode1Первый код ошибки 
secondcode1Второй код ошибки 
continueurl2Адрес перехода на страницу аутентификации для покупателя

1Параметры firstcode и secondcode принимают значения «3» и «115» соответственно при требовании ввода CVC2, а при необходимости дополнительной аутентификации 3D-Secure без ввода CVC2 - значения «0», также в этом случае отдается код ответа responsecode AS110.

2Параметр выдается только в том случае, если требуется ввод CVC2 или необходима дополнительная аутентификация 3D-Secure, при этом для продолжения оплаты следует переадресовать покупателя на страницу continueurl.

Внимание! В рамках одного заказа может быть проведено несколько операций (оплаты, подтверждения оплаты, отмены). Более того, в рамках одного заказа может быть несколько операций оплаты, если некоторые из них были неуспешными. Успешная операция оплаты заказа может быть только одна. В этих случаях в ответе на запрос о результатах операций по номеру заказа может быть несколько вложенных операций для одного номера заказа.

Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.

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

{"order":[
{
    "ordernumber":"26012015_4"
    ,"billnumber":"5899110210668265"
    ,"testmode":"0"
    ,"ordercomment":"тестовый платеж"
    ,"orderamount":"24.00"
    ,"ordercurrency":"BYN"
    ,"firstname":""
    ,"lastname":""
    ,"middlename":""
    ,"email":""
    ,"orderdate":"26.01.2015 17:25:39"
    ,"orderstate":"In Process"
    ,"fraud_state":""
    ,"fraud_reason":""
    ,"checkvalue":"85C6C974AADC1CADFCFD195730ED090B"
    ,"operations":[
{"billnumber":"5899110210668265.1"
,"operationtype":"100"
,"operationstate":"In Process"
,"amount":"24.00"
,"currency":"BYN"
,"clientip":"10.20.10.85"
,"ipaddress":"0.0.0.0"
,"meantype_id":"61"
,"meantypename":"SamsungPay"
,"meansubtype":""
,"meannumber":""
,"cardholder":""
,"issuebank":"UNKNOWN"
,"bankcountry":"UNKNOWN"
,"responsecode":"AS200"
,"message":""
,"customermessage":""
,"recommendation":""
,"approvalcode":""
,"protocoltypename":"NET"
,"processingname":""
,"operationdate":"26.01.2015 17:25:39"
,"authresult":""
,"authrequired":""
,"slipno":""}
]
}
],
"packetdate":"26.01.2015 18:16:19"
}

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

{"order":[
{
    "ordernumber":"2019.07.01-1226",
    "billnumber":"516009019047110",
    "testmode":"0",
    "ordercomment":"Test 4 mode",
    "orderamount":"101.45",
    "ordercurrency":"BYN",
    "firstname":"",
    "lastname":"",
    "middlename":"",
    "email":"",
    "orderdate":"01.07.2019 15:31:16",
    "orderstate":"In Process",
    "fraud_state":""
    "fraud_reason":""
    "checkvalue":"85C6C974AADC1CADFCFD195730ED090B"
    "operations":[
{"billnumber":"516009019047110.1",
"operationtype":"100",
"operationstate":"New",
"amount":"101.45",
"currency":"BYN",
"clientip":"10.20.10.66",
"ipaddress":"127.0.0.1",
"meantype_id":"1",
"meantypename":"VISA",
"meansubtype":"Classic",
"meannumber":"411111****1111",
"cardholder":"N/A",
"cardexpirationdate":"12/24",
"issuebank":"BANK",
"bankcountry":"Россия",
"responsecode":"AS300",
"message":"",
"customermessage":"", "
"recommendation":"",
"approvalcode":"",
"protocoltypename":"NET",
"processingname":"NAME",
"operationdate":"01.07.2019 15:31:18",
"authresult":"",
"authrequired":"",
"slipno":""}
]
}
],
"packetdate":"26.01.2015 18:16:19",
"firstcode":"3",
"secondcode":"115",
"continueurl":"https://<SERVER_NAME>/pay/pay.cfm?CFSID=LiRNMzMiSFc3Wy0nWFdaQCJYTiQgCg%3D%3D"
}

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

В случае неуспешной оплаты responsecode принимает значения AS100-AS998 (кроме специального кода AS110, если необходима авторизация по 3-D Secure).

Если запрос на оплату не может быть обработан, в результате вернутся ненулевые значения параметров firstcode, secondcode.

Наверх