Для оповещения предприятия о результате платежа в режиме реального времени система АПК Ассист предоставляет сервис асинхронной отправки результатов платежа на сервер предприятия. После завершения покупателем оплаты заказа (при помощи банковской карты или одного из средств электронной наличности) на сервер предприятия методом HTTP POST или SOAP отправляется сообщение с параметрами платежа.
Настроить отправку можно в Личном кабинете, указав URL для отправки результатов, тип протокола, тип подписи и секретное слово.
После активации и настройки сервиса на сервер предприятия будут отправляться результаты операций (оплат, подтверждений, отмен – в зависимости от настроек). Не отправляются результаты операций оплаты, завершенных по тайм-ауту.
Внимание! По соображениям безопасности данные отправляются только на порты 443, 8443, 80, 8080. На другие порты данные отправляться не будут!
Для работы сервиса по протоколу HTTPS необходимо использовать сертификат доверенного центра сертификации.
Список отправляемых параметров:
Название | Значение |
merchant_id | Идентификатор предприятия |
ordernumber | Номер заказа |
billnumber | Полный уникальный номер операции в системе |
testmode | Тестовый режим |
ordercomment | Комментарий |
orderamount | Оригинальная сумма заказа |
ordercurrency | Оригинальная валюта заказа |
amount | Сумма операции |
currency | Валюта операции |
rate | Курс валюты |
firstname | Имя плательщика |
lastname | Фамилия плательщика |
middlename | Отчество плательщика |
Email плательщика | |
clientip | IP-адрес совершившего операцию |
ipaddress | IP-адрес плательщика |
meantype_id | ID платежного средства |
meantypename | Тип платежного средства |
meansubtype | Подтип платежного средства |
meannumber | Номер платежного средства |
cardholder | Держатель платежного средства |
cardexpirationdate | Срок действия карты |
issuebank | Название банка-эмитента |
bankcountry | Страна банка-эмитента |
orderdate | Дата заказа по Гринвичу (GMT) |
orderstate | Cтатус заказа |
responsecode | Код возврата |
message | Сообщение |
customermessage | Сообщение о результате для покупателя |
recommendation | Рекомендации |
approvalcode | Код авторизации |
protocoltypename | Протокол |
processingname | Процессинг |
operationtype | Тип операции |
operationdate | Дата и время операции (GMT) |
authresult | Результат авторизации по 3DSecure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно, R- отказ, C – не завершено по каким-либо причинам, E - ошибка) |
authrequired | Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности) |
packetdate | Дата формирования запроса по Гринвичу (GMT) |
signature | 1) Для типа подписи MD5 - пусто 2) Для типа PGP – значение X, подписанное закрытым ключом АПК Ассист, закодированное в BASE64 |
checkvalue | Контрольный код сообщения. 1) Для типа подписи MD5 вычисляется по формуле: uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, amount, currency, orderstate (без разделителей); + - строковая склейка. 2) Для типа PGP - пусто |
errorcategory*** | Категория ответов при неуспешных оплатах, полученная от VISA |
merchantadvicecode*** | |
slipno | Номер финансовой транзакции, отправляемый в процессинг |
payment_Id* | Идентификатор внешней операции |
fiscalreceipt_Id* | Идентификатор чека |
status* | Статус чека |
fiscal_receipt_number* | Номер чека в смене |
shift_number* | Номер смены |
receipt_datetime* | Дата и время документа из ФН |
total* | Итоговая сумма документа |
fn_number | Номер ФН |
ecr_registration_number* | Регистрационный номер ККМ |
fiscal_document_number* | Фискальный номер документа |
fiscal_document_attribute* | Фискальный признак документа |
errortext* | Текст ошибки |
taxationsystem* | Код системы налогообложения |
chequeItems** | Строка с позициями чека в JSON формате согласно документу «Работа с чеком». |
extrrn*** | Уникальный номер платежа в процессинге |
Параметры 3DSecure | |
version | Версия протокола 3DSecure |
alphaauthresult | Результат авторизации (Y - успешно, N - неуспешно, A - Attempt, U – невозможно провести аутентификацию, R- отказ, C – не завершено по каким-либо причинам, E - ошибка, I - для информации, S - без аутентификации с учетом низкой оценки риска) |
challenge | Взаимодействие с держателем карты (C – было, F – не было. D - отложенная аутентификация) |
eci | Electronic Commerce Indicator (5 – полная аутентификация, 6 – попытка аутентификации, 7 – без аутентификации) |
*Параметры фискализации, передаются только при включенной настройке «Отправка результатов фискализации» в ЛК АПК Ассист.
** Позиции заказа, передаются только при включенной настройке «Отправлять позиции заказа» в ЛК АПК Ассист.
***Для передачи параметра необходимо обратиться в службу поддержки (support@assist.ru).
Если настройка ожидаемого ответа отлична от HTTP 200, то в ответ на сообщение о результатах платежа система ожидает от магазина xml пакет.
Пример пакета в случае успешного получения и расшифровки сообщения о результате платежа:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="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> <m:PushPaymentResultResponse xmlns:m="http://www.assist.ru/wsdl"> <return xmlns:si="http://www.assist.ru/type/" xsi:type="si:SOAPStruct"> <billnumber>5696145241469255.1</billnumber> <packetdate>26.06.2019 08:44:00</packetdate> </return> </m:PushPaymentResultResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
В случае неудачи:
<?xml version="1.0" encoding="windows-1251"?> <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>5</faultcode> <faultstring>143</faultstring> <detail /> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
С описанием первого и второго кодов ошибок можно ознакомиться в Таблице "Коды ошибок"
Система будет повторять отправку сообщения с результатами платежа с увеличивающимся интервалом в течение четырех часов, но не более 8 раз, если:
- настройка ожидаемого ответа отлична от HTTP 200, и от предприятия нет ответа ни об успешной, ни о неуспешной обработке сообщения о результате платежа;
- настройка ожидаемого ответа соответствует HTTP 200, но в ответе получено другое значение.
Внимание! При получении ответа, указывающего на ошибки обработки сообщения с результатами платежа, повторная отправка результатов не производится. Указанные в ответе коды firstcode, secondcode используются для диагностики возникших проблем.
Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.