Для оповещения предприятия о результате платежа в режиме реального времени система АПК Ассист предоставляет сервис синхронной отправки результатов платежа на сервер предприятия. После завершения покупателем оплаты заказа (при помощи банковской карты или одного из средств электронной наличности) на сервер предприятия методом 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 | Номер финансовой транзакции, отправляемый в процессинг (не используется) |
Параметры 3DSecure | |
version | Версия протокола 3DSecure |
alphaauthresult | Результат авторизации (Y - успешно, N - неуспешно, A - Attempt, U – невозможно провести аутентификацию, R- отказ, C – не завершено по каким-либо причинам, E - ошибка) |
challenge | Взаимодействие с держателем карты (C – было, F – не было) |
eci | Electronic Commerce Indicator (5 – полная аутентификация, 6 – попытка аутентификации, 7 – без аутентификации) |
В ответ на сообщение о результатах платежа система ожидает от магазина 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 раз.
Внимание! При получении ответа, указывающего на ошибки обработки сообщения с результатами платежа, повторная отправка результатов не производится. Указанные в ответе коды firstcode, secondcode используются для диагностики возникших проблем.
Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.