Для оповещения предприятия о результате платежа в режиме реального времени система АПК Ассист предоставляет сервис синхронной отправки результатов платежа на сервер предприятия. После завершения покупателем оплаты заказа (при помощи банковской карты или одного из средств электронной наличности) на сервер предприятия методом 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 - пусто |
slipno | Номер финансовой транзакции, отправляемый в процессинг (не используется) |
personalaccount | Номер лицевого счета в ЕРИП, по которому выполнен платеж. Внимание! Параметр добавляется по запросу предприятия (при наличии авансовых платежей) в службу технической поддержки АПК Ассист (support@belassist.by) |
Параметры 3DSecure | |
version | Версия протокола 3DSecure |
alphaauthresult | Результат авторизации (Y - успешно, N - неуспешно, A - Attempt, U – невозможно провести аутентификацию, R- отказ, C – не завершено по каким-либо причинам, E - ошибка, I - для информации) |
challenge | Взаимодействие с держателем карты (C – было, F – не было, D - отложенная аутентификация) |
eci | Electronic Commerce Indicator (5 – полная аутентификация, 6 – попытка аутентификации, 7 – без аутентификации) |
Если настройка ожидаемого ответа отлична от HTTP 200, то в ответ на сообщение о результатах платежа система ожидает от магазина xml пакет.
Ответ должен формироваться в зависимости от установленной настройки Тип протокола для выдачи результата в разделе ЛК Настройки отправки результатов платежей.
Для типа протокола POST
Пример пакета в случае успешного получения и расшифровки сообщения о результате платежа:
<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), то отгружать товар или оказывать услугу по текущему заказу не требуется.