Предприятие может также узнать результаты операций по заказам, проведенным за указанный период, с помощью веб-сервиса.

Для получения результатов авторизации нужно отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8), либо в формате JSON (swagger описание: https://docs.belassist.by/swagger/). 

URL запроса для получения результатов авторизации:

https://<SERVER-NAME>/resultbydate/resultbydate.cfm.

Получить результаты операций при помощи веб-сервиса можно только за промежуток времени, не превышающий сутки. Для этого нужно указать такие значения параметров, задающих дату начала выборки, и параметров, задающих дату окончания выборки, чтобы разница между этими датами составляла не более суток. В противном случае для этих параметров будут использованы значения по умолчанию (за последние 3 часа). Иными словами, если параметры, определяющие дату начала и дату окончания выборки, не заданы или заданы неверно, в результате запроса будут выведены результаты операций, совершенных за последние три часа. Обратите внимание, что параметры, задающие дату и время выборки, необходимо передавать по Гринвичу (GMT/UTC). Выборка производится по дате заказа.

Если клиент прервал процесс оплаты раньше, чем выбрал тип платежного средства, то в системе АПК Ассист не будет создана операция оплаты, и выборке не будет операций по данному заказу.

Внимание! Запрашивать результаты операций можно за промежуток времени, не превышающий одни сутки, и не чаще, чем один раз в 10 минут.

Список параметров запроса:

Название

Обязательное поле

Принимаемые значения

Значение по умолчанию

Описание

Merchant_ID

Да

Число


Идентификатор предприятия в АПК Ассист

Login

Да

8 - 20 символов 


Логин (лат. буквы и цифры, символ _)

Password

Да

8 - 20 символов


Пароль (лат. буквы и цифры)

TestMode

Да

0 – рабочий режим

1 – тестовый режим

0

Режим работы

Language

Нет

RU

EN

EN

Язык выдачи результатов

Format

Да/Нет

1 – CSV
3 – XML
4 – SOAP
5 - JSON

1

Формат выдачи результатов. Передается только для запроса в формате POST (по умолчанию ответ будет выдан в формате CSV). Для других форматов ответ выдается в том же формате, в котором был выполнен запрос.

MeanType_ID

Нет

1 – VISA
2 – MasterCard
5  – AMEX
33 – Mobicon
38 - ERIP

По умолчанию выборка по всем значениям

Выборка по типам платежных средств

Operationstate

Нет

N – создана;
P – в процессе обработки;
S – завершена успешно;
F – завершена неуспешно;
T – закрыта по истечению времени

По умолчанию выборка по всем значениям

Выборка по состояниям операций. Регистр должен быть верхний.

Operationtype

Нет

A – оплата;
C – подтверждение оплаты;
R – отмена

По умолчанию выборка по всем значениям

Выборка по типам операций. Регистр должен быть верхний.

StartDay

Нет

01-31

По умолчанию – минус три часа от текущего времени на момент выборки

Дата начала выборки по Гринвичу (GMT)

StartMonth

Нет

01-12

StartYear

Нет

YYYY

StartHour

Нет

00-23

StartMin

Нет

00-59

EndDay

Нет

01-31

По умолчанию - текущее время на момент выборки

Дата окончания выборки по Гринвичу (GMT)

EndMonth

Нет

01-12

EndYear

Нет

YYYY

EndHour

Нет

00-23

EndMin

Нет

00-59

DateTimeMode

Нет

0 – по дате заказа;
1 – по дате начала операции;
2 – по дате окончания операции.

0

Тип даты - целевая дата для выборки данных

ZipFlag

Нет

"0" - browser
"1" - file
"2" - ZIP

0

Формат выдачи результатов

Все параметры, передаваемые в запросе, проходят автоматическую валидацию в АПК Ассист. Правила валидации описаны в табл. "Правила валидации входных параметров".

На основании значений параметров, переданных на сервер АПК Ассист в запросе о результатах операций, производится выборка информации и определяется формат и вид результата.

Например, в результате запроса могут быть выведены только успешные операции оплаты по картам VISA.

Пример запроса HTTP POST для получения результатов, возвращающий информацию об успешных операциях оплаты по картам VISA в тестовом режиме с 07:00 до 11:00 (GMT) 06.07.2016 в формате XML:

<FORM ACTION="https://<SERVER-NAME>/resultbydate/resultbydate.cfm" method="POST">
<INPUT TYPE="hidden" NAME="Merchant_ID" VALUE="Ваш Merchant_ID">
<INPUT TYPE="hidden" NAME="Login" VALUE="Ваш логин">
<INPUT TYPE="hidden" NAME="Password" VALUE="Ваш пароль">
<INPUT TYPE="hidden" NAME="TestMode" VALUE="1">
<INPUT TYPE="hidden" NAME="Language" VALUE="EN">
<INPUT TYPE="hidden" NAME="MeanType_ID" VALUE="1">
<INPUT TYPE="hidden" NAME="Operationstate" VALUE="S">
<INPUT TYPE="hidden" NAME="Operation type" VALUE="A">
<INPUT TYPE="hidden" NAME="StartDay" VALUE="06">
<INPUT TYPE="hidden" NAME="StartMonth" VALUE="07">
<INPUT TYPE="hidden" NAME="StartYear" VALUE="2016">
<INPUT TYPE="hidden" NAME="StartHour" VALUE="07">
<INPUT TYPE="hidden" NAME="StartMin" VALUE="00">
<INPUT TYPE="hidden" NAME="EndDay" VALUE="06">
<INPUT TYPE="hidden" NAME="EndMonth" VALUE="07">
<INPUT TYPE="hidden" NAME="EndYear" VALUE="2016">
<INPUT TYPE="hidden" NAME="EndHour" VALUE="11">
<INPUT TYPE="hidden" NAME="EndMin" VALUE="00">
<INPUT TYPE="hidden" NAME="DateTimeMode" VALUE="1">
<INPUT TYPE="hidden" NAME="Format" VALUE="3">
<INPUT TYPE="Submit"></FORM>

Список параметров ответа:

Название

Значение

ordernumber

Номер заказа

billnumber

Расширенный формат billnumber

testmode

Тестовый режим

ordercomment

Комментарий

orderamount

Оригинальная сумма заказа

ordercurrency

Оригинальная валюта заказа

amount

Сумма операции

currency

Валюта операции

rate

Курс валюты

lastname

Фамилия плательщика

firstname

Имя плательщика

middlename

Отчество плательщика

email

Email плательщика

clientip

IP-адрес совершившего операцию

ipaddress

IP-адрес плательщика

meantype_id

ID платежного средства

meantypename

Тип платежного средства

meansubtype

Подтип платежного средства

meannumber

Номер платежного средства

cardholder

Держатель платежного средства

issuebank

Название банка-эмитента

bankcountry

Страна банка-эмитента

orderdate

Дата заказа по Гринвичу (GMT)

orderstate

Cтатус заказа

responsecode

Код возврата

message

Сообщение

customermessage

Сообщение о результате для покупателя

recommendation

Рекомендации

approvalcode

Код авторизации

protocoltypename

Протокол

processingname

Процессинг

operationtype

Тип операции

operationdate

Дата и время операции (GMT)

authresult

Результат авторизации по 3DSecure (Y - успешно, N - неуспешно, A - Attempt, U – неизвестно)

authrequired

Результат проверки вовлеченности карты (1 – вовлечена, 0 – не вовлечена, -1 – неизвестно, null – ошибка при определении вовлеченности)

slipno

Номер финансовой транзакции, отправляемый в процессинг (не используется)

packetdate

Дата формирования запроса по Гринвичу (GMT)

checkvalue

uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, orderamount, ordercurrency, orderstate (без разделителей), + строковая склейка.

cardexpirationdate

Срок действия карты

Внимание! В полученном ответе необходимо проверить значение параметра testmode. Если платеж был выполнен в тестовом режиме (testmode=1), то отгружать товар или оказывать услугу по текущему заказу не требуется.

Пример полей вывода результата в XML формате:

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!DOCTYPE result [
<!ATTLIST result
		  firstcode CDATA #REQUIRED
		  secondcode CDATA #REQUIRED
		  count CDATA #REQUIRED>
<!ELEMENT result (payment*)>
<!ELEMENT payment (ordernumber?,billnumber?,testmode?,ordercomment?,orderamount?,ordercurrency?,amount?,currency?,rate?,firstname?,lastname?,middlename?,email?,clientip?,ipaddress?,meantype_id?,meantypename?,meansubtype?,meannumber?,cardholder?,issuebank?,bankcountry?,orderdate?,orderstate?,responsecode?,message?,customermessage?,recommendation?,approvalcode?,protocoltypename?,processingname?,operationtype?,operationdate?,authresult?,authrequired?, slipno?,packetdate?,signature?,checkvalue?, cardexpirationdate?)>
<!ELEMENT ordernumber (#PCDATA)>
<!ELEMENT billnumber (#PCDATA)>
<!ELEMENT testmode (#PCDATA)>
<!ELEMENT ordercomment (#PCDATA)>
<!ELEMENT orderamount (#PCDATA)>
<!ELEMENT ordercurrency (#PCDATA)>
<!ELEMENT amount (#PCDATA)>
<!ELEMENT currency (#PCDATA)>
<!ELEMENT rate (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT middlename (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT clientip (#PCDATA)>
<!ELEMENT ipaddress (#PCDATA)>
<!ELEMENT meantype_id (#PCDATA)>
<!ELEMENT meantypename (#PCDATA)>
<!ELEMENT meansubtype (#PCDATA)>
<!ELEMENT meannumber (#PCDATA)>
<!ELEMENT cardholder (#PCDATA)>
<!ELEMENT issuebank (#PCDATA)>
<!ELEMENT bankcountry (#PCDATA)>
<!ELEMENT orderdate (#PCDATA)>
<!ELEMENT orderstate (#PCDATA)>
<!ELEMENT responsecode (#PCDATA)>
<!ELEMENT message (#PCDATA)>
<!ELEMENT customermessage (#PCDATA)>
<!ELEMENT recommendation (#PCDATA)>
<!ELEMENT approvalcode (#PCDATA)>
<!ELEMENT protocoltypename (#PCDATA)>
<!ELEMENT processingname (#PCDATA)>
<!ELEMENT operationtype (#PCDATA)>
<!ELEMENT operationdate (#PCDATA)>
<!ELEMENT authresult (#PCDATA)>
<!ELEMENT authrequired (#PCDATA)>
<!ELEMENT slipno (#PCDATA)>
<!ELEMENT packetdate (#PCDATA)>
<!ELEMENT signature (#PCDATA)>
<!ELEMENT checkvalue (#PCDATA)>
<!ELEMENT cardexpirationdate (#PCDATA)>]>
<result firstcode='0' secondcode='0' count='17'> 
<payment>
<ordernumber>0001-01</ordernumber>
<billnumber>511111100000001.1</billnumber>
<testmode>1</testmode>
<ordercomment>тестовый платеж</ordercomment>
<orderamount>100.00</orderamount>
<ordercurrency>BYN</ordercurrency>
<amount>100.00</amount>
<currency>BYN</currency>
<rate>1</rate>
<firstname>Test</firstname>
<lastname>Testov</lastname>
<middlename>Testovich</middlename>
<email>test@testpost.by</email>
<clientip>111.23.11.23</clientip>
<ipaddress>0.0.0.0</ipaddress>
<meantype_id>1</meantype_id>
<meantypename>VISA</meantypename>
<meansubtype>Corporate Purchasing Card</meansubtype>
<meannumber>411111****1111</meannumber>
<cardholder>TEST</cardholder>
<issuebank>BANK </issuebank>
<bankcountry>Russia</bankcountry>
<orderdate>06.07.2016  08:39:25</orderdate>
<orderstate>Approved</orderstate>
<responsecode>AS000</responsecode>
<message>Success  </message>
<customermessage>Success  </customermessage>
<recommendation></recommendation>
<approvalcode>F31720</approvalcode>
<protocoltypename>NET</protocoltypename>
<processingname>Name</processingname>
<operationtype>100</operationtype>
<operationtdate>06.07.2016 06:39:42</operationdate>
<authresult/>
<authrequired>0</authrequired>
</slipno>
<packetdate>06.07.2016 10:55:51</packetdate>
<checkvalue></checkvalue>
<cardexpirationdate>12/20</cardexpirationdate></payment>
<payment>…  </payment>
</result>

Пример полей вывода результата в формате CSV:

"ordernumber";"billnumber";"testmode";"ordercomment";"orderamount";"ordercurrency";"amount";"currency";"rate";"firstname";"lastname";"middlename";"email";"clientip";"ipaddress";"meantype_id";"meantypename";"meansubtype";"meannumber";"cardholder";"issuebank";"bankcountry";"orderdate";"orderstate";"responsecode";"message";"customermessage";"recommendation";"approvalcode";"protocoltypename";"processingname";"operationtype";"operationdate";"authresult";"authrequired";"slipno";"packetdate";"checkvalue";"cardexpirationdate";

"001-1";"500000000000000.1";"0";"тестовый платеж";"70.00";"USD";"137.26";"BYN";"1.9608";"Testov";"упр";"S.";"test@test.by";"10.20.10.00";"0.0.0.0";"1";"VISA";"Classic";"411111****1111";"TEST";"New Bank";"Россия";"06.07.2016 07:51:42";"Оплачен";"AS000";"Завершено успешно.";"Завершено успешно.";"";"X28577";"NET";"Fake";"100";"06.07.2016 06:39:42";"";"0";"";"06.07.2016 12:27:32";"5189407747A5435E9E7A0C06A7BC18CD";"12/20";

Пример результата запроса в формате XML, вернувшего ошибку (неправильный пароль):

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<!DOCTYPE result [...]> 
<result firstcode="7" secondcode="102" count="0"></result> 

С описанием первого и второго кодов ошибок можно ознакомиться в Таблице "Коды ошибок". Также в соответствующих таблицах описаны возможные статусы заказа, типы операций, коды возврата и коды валют. В качестве значения поля <meannumber> возвращаются первые 6 и последние 4 цифры номера карты, остальные цифры скрыты символом *.

Описание веб-сервиса для формата SOAP можно увидеть на странице:

https://<SERVER-NAME>/resultbydate/resultbydate.wsdl

Пример ответа в формате SOAP:

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.paysecure.ru/ws/"><soapenv:Body>
<ws:resultbydateResponse><resultbydate><payment>
<ordernumber>18062012_SDR</ordernumber>
<billnumber>550000110000001.1</billnumber>
<testmode>1</testmode>
<ordercomment>тестовый платеж</ordercomment>
<orderamount>21.00</orderamount>
<ordercurrency>BYN</ordercurrency>
<amount>21.00</amount>
<currency>BYN</currency>
<rate>1</rate>
<firstname>Test</firstname>
<lastname>Testov</lastname>
<middlename>T.</middlename>
<email>test@test.by</email>
<clientip>10.10.10.10</clientip>
<ipaddress>0.0.0.0</ipaddress>
<meantype_id>2</meantype_id>
<meantypename>MasterCard</meantypename>
<meansubtype>Standart</meansubtype>
<meannumber>546792****4128</meannumber>
<cardholder>TEST</cardholder>
<issuebank>Bank</issuebank>
<bankcountry>RUS</bankcountry>
<orderdate>06.07.2016 11:10:06</orderdate>
<orderstate>Approved</orderstate>
<responsecode>AS000</responsecode>
<message>Завершено успешно.  </message>
<customermessage>Завершено успешно.  </customermessage>
<recommendation/>
<approvalcode>X40334</approvalcode>
<protocoltypename>NET</protocoltypename>
<processingname>Fake</processingname>
<operationtype>100</operationtype>
<operationdate>06.07.2016 11:10:07</operationdate>
<authresult/>
<authrequired>0</authrequired>
<slipno></slipno>
<packetdate>06.07.2016 11:22:37</packetdate>
<checkvalue>45A33F800F2BD16C02E3D2F5C81557A0</checkvalue>
<cardexpirationdate>12/20</cardexpirationdate></payment>
</resultbydate></ws:resultbydateResponse ></soapenv:Body></soapenv:Envelope>

Внимание!

Для корректной работы с веб-сервисами по защищенному TLS-соединению необходимо иметь на своей стороне в хранилище доверенных корневых сертификатов следующие сертификаты:

Перед началом работы следует проверить наличие этих сертификатов в хранилище и добавить их в случае необходимости.

Наверх