Page History
Для передачи зашифрованного блока данных о платеже оплаты с помощью токена нужно отправить запрос на сервер АПК Ассист методом HTTP POST (в кодировке UTF-8).Ассист в формате JSON (swagger описание: https://docs.assist.ru/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 | Нет | 256 4000 символов | Комментарий | ||||||
Delay | Нет | 0 – одностадийный механизм работы; | 0 | Признак авторизации кредитной карты при двустадийном механизме работы
| |||||
Language | Нет | RU - русский, EN - английский | Язык юр.лица или предприятия | Язык квитанции об оплате | |||||
ClientIP | Нет | Максимум 15 цифр, 4 разделителя «.» | IP адрес покупателя | ||||||
TokenType | Нет | 1 – Apple Pay; | 1 | Идентификатор типа платежного токена.
| |||||
PaymentToken | НетДа | JSONПлатежный токен | Для типов 1-3 и 6 - платежный токен провайдера (Apple Pay, Google Pay; Samsung Pay, Mir 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 символов | Индекс предприятия связи покупателя | ||||||
URL_RETURN | Нет | 255 символов | URL страницы, на которую должен вернуться покупатель после осуществления платежа в системе (должна быть активирована опция «Перейти на страницу магазина» в настройках мерчанта в Личном кабинете). В целях безопасности рекомендуется использовать протокол с шифрованием HTTPS. | ||||||
URL_RETURN_OK | Нет | 255 символов | Значение параметра URL_RETURN, а при его отсутствии – URL для возврата при успешной авторизации, указанный в Личном кабинете | URL страницы, куда должен вернуться покупатель после успешного осуществления платежа в системе АПК Ассист (должна быть активирована опция «Перейти на страницу магазина» в настройках мерчанта в Личном кабинете). В целях безопасности рекомендуется использовать протокол с шифрованием HTTPS. | |||||
URL_RETURN_NO | Нет | 255 символов | Значение параметра URL_RETURN, а при его отсутствии – URL для возврата, указанный в Личном кабинете | URL страницы, куда должен вернуться покупатель после неуспешного осуществления платежа в системе АПК Ассист или при отсутствии ответа об окончательном статусе платежа (текущий статус "В процессе"), подробнее см. "Возврат покупателя на страницу интернет-магазина после покупки". Должна быть активирована опция «Возвращаться в магазин по URL для возврата» в Личном кабинете. В целях безопасности рекомендуется использовать протокол с шифрованием HTTPS. | |||||
isConvert | Нет | 0 - не конвертировать в базовую валюту; | 1 | Флаг конвертации валюты платежа в базовую валюту | |||||
ChallengeResponseNotificationUrl | Нет | 255 символов | URL, на который отправляется результат прохождения 3ds и перенаправляется покупатель после Challenge. | ||||||
Format | Нет | 4 – SOAP | 5 | Формат выдачи результатов | |||||
Signature | Нет | строка | Формируется строка, сшитая из следующих параметров заказа: Merchant_ID;OrderNumber;OrderAmount;OrderCurrency, разделенных точкой с запятой. На базе этой строки алгоритмом MD5 формируется дайджест. Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается нам в виде дополнительного параметра, закодированного в виде строки BASE64.
| ||||||
RecurringIndicator | Нет | 1 –рекуррентный –рекуррентный платеж | 0 | Признак рекуррентного платежа | |||||
RecurringMinAmount | Нет/Да | Число, 15 цифр ( знаков, два знака после разделителя (допустимые разделители «.», «,») | Минимальная сумма рекуррентных платежей. Обязателен при RecurringIndicator = 1 | ||||||
RecurringMaxAmountRecurringMaxAmount | Нет/Да | Число, 15 цифр(знаков, два знака после разделителя (допустимые разделители «.», «,») | Максимальная сумма рекуррентных платежей. Обязателен при RecurringIndicator = 1 | ||||||
RecurringPeriod | Нет/Да | Число, 10 цифр | Периодичность рекуррентных платежей в днях. Обязателен при RecurringIndicator = 1 | ||||||
RecurringMaxDate | Нет/Да | Строковое представление даты в формате DD.MM.YYYY | Дата окончания рекуррентных платежей. Обязателен при RecurringIndicator = 1 | Chequeitems | Нет/Да** | Строка в формате JSON | Позиции чека согласно документу «Работа с чеком». | ||
GenerateReceipt | Нет | 0 или 1 | 1 | Разрешение формирования фискального чека. При значении параметра 0 формирование фискального чека запрещено для данного заказа. | |||||
Tax | Нет | 10 символов | Определяется настройкой предприятия "Ставка налога по умолчанию" и используется в режиме без передачи позиций чека (вся сумма должна проводится с одной ставкой). | ||||||
ReceiptLine | Нет | 128 символов | Определяется настройкой предприятия "Шаблон строки чека по умолчанию" и используется в режиме без передачи позиций чека. | Текстовое описание позиции чека, если по чеку проводится одна единственная позиция. | |||||
FPMode | Нет | Число | Определяется настройкой предприятия "Признак способа расчета по умолчанию" и используется в режиме без передачи позиций чека. | ||||||
TaxationSystem | Нет/Да* | Число | Из настроек предприятия или ККТ |
*Если предприятие использует несколько систем налогообложения, передача этого параметра становится обязательной.
**Состав чека (поля с названием, стоимостью за единицу товара/услуги, ставкой налога и способом расчета по каждой позиции) определяется по следующим правилам.
- Если в запросе передана структура ChequeItems (см. документ «Работа с чеком»), то формируется чек с количеством позиций по числу переданных в ChequeItems строк, в каждой позиции должны быть обязательно указаны параметры:
- product и/или name;
- price;
- quantity;
- amount;
при этом:
название каждой из позиций формируется как объединение параметров product и name через пробел (если переданы оба) или как один из параметров product или name соответственно (если передан только один);
если параметры Tax или FPmode не переданы в позициях, то они могут быть переданы в параметрах запроса (в этом случае значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если параметры Tax или FPmode не переданы в параметрах запроса, то их значения подставляются из настроек предприятия (значения этих параметров будут одинаковыми для всех позиций чека, переданных в ChequeItems);
если настройки предприятия для этих параметров отсутствуют, то обработка запроса завершается с ошибкой (недостаточно данных для выполнения операции).
2.Если в запросе не передана структура ChequeItems, то формируется чек с одной позицией, в которой:
название позиции подставляется из параметра ReceiptLine, если он передан в запросе; если параметр ReceiptLine не передан в запросе, то название позиции подставляется из настроек предприятия; если настройки предприятия для этих параметров отсутствуют, то в качестве названия подставляется строка "Оплата заказа";
стоимость единицы товара/услуги подставляется из параметра запроса Amount;
количество всегда равно 1;
...
| Note |
|---|
Для фискализации операции оплаты токеном в запросе могут передаваться дополнительные параметры для формирования корректного чека. Описание дополнительных параметров приведено в разделе "Режимы передачи данных чека". |
Список параметров ответа:
Название | Значение |
Параметры заказа | |
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 | Результат аворизации авторизации по 3DSecure 3D-Secure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно) |
authrequired | Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности) |
slipno | Номер финансовой транзакции, отправляемый в процессинг |
| firstcode*1 | Первый код ошибки автоматизированных интерфейсовошибки |
| secondcode*1 | Второй код ошибки автоматизированных интерфейсовошибки |
| continueurl*2 | Адрес перехода на страницу аутентификации для покупателя |
*Параметры выдаются только в случае проведения оплаты нетокенизированной картой для операций ECOM с переадресацией покупателя на страницу ввода CVC2 и, если необходимо, дополнительной аутентификацией 3DSecure. В этом случае параметры 1Параметры firstcode и secondcode принимают значения «3» и «115» соответственно при требовании ввода CVC2, а при необходимости дополнительной аутентификации 3D-Secure без ввода CVC2 - значения «0», также в этом случае отдается код ответа responsecode AS110.
2Параметр выдается только в том случае, если требуется ввод CVC2 или необходима дополнительная аутентификация 3D-Secure, при этом для продолжения оплаты следует переадресовать покупателя на страницу continueurl.
| Warning |
|---|
Внимание! В рамках одного заказа может быть проведено несколько операций (оплаты, подтверждения оплаты, отмены). Более того, в рамках одного заказа может быть несколько операций оплаты, если некоторые из них были неуспешными. Успешная операция оплаты заказа может быть только одна. В этих случаях в ответе на запрос о результатах операций по номеру заказа может быть несколько вложенных операций для одного номера заказа. |
...
| Code Block | ||
|---|---|---|
| ||
{"order":[
{
"ordernumber":"26012015_4"
,"billnumber":"5899110210668265"
,"testmode":"0"
,"ordercomment":"тестовый платеж"
,"orderamount":"24.00"
,"ordercurrency":"RUB"
,"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":"RUB"
,"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"
} |
...
| Code Block | ||
|---|---|---|
| ||
{"order":[
{
"ordernumber":"2019.07.01-1226",
"billnumber":"516009019047110",
"testmode":"0",
"ordercomment":"Test 4 mode",
"orderamount":"101.45",
"ordercurrency":"RUB",
"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":"RUB",
"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":"New Assist Bank",
"bankcountry":"Россия",
"responsecode":"AS300",
"message":"",
"customermessage":"", "
"recommendation":"",
"approvalcode":"",
"protocoltypename":"NET",
"processingname":"UCS",
"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.