Для оплаты с помощью токена нужно отправить запрос на сервер АПК Ассист в формате 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;  | 1  | Идентификатор типа платежного токена. 
  | |
PaymentToken  | Да  | JSON  | Для типов 1-3 - платежный токен провайдера (Apple Pay, Samsung Pay) Для платежного токена Assist (тип 5) - {"Token":"<UUID>", "CustomerNumber":"<CustomerNumber>"}  | ||
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  | Нет  | 4 – SOAP  | 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 плательщика  | |
orderdate  | Дата заказа по Гринвичу (GMT)  | 
orderstate  | Статус заказа  | 
packetdate  | Дата формирования запроса по Гринвичу (GMT)  | 
signature  | 
  | 
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.