Предприятие может узнать результат оплаты (статус заказа) по номеру заказа с помощью веб-сервиса. Все возможные статусы заказа описаны в таблице 5.1.
Для получения результата платежа по номеру заказа нужно отправить запрос на сервер АПК Ассист методом HTTP POST или SOAP (в кодировке UTF-8).
URL запроса для получения статуса заказа:
https://<SERVER-NAME>/orderstate/orderstate.cfm.
Поиск заказа при помощи веб-сервиса производится только за указанный промежуток времени. Для этого нужно задать период, когда была начата оплата заказа, при помощи параметров STARTDAY, STARTMONTH, STARTYEAR, задающих дату начала выборки, и параметров ENDDAY, ENDMONTH, ENDYEAR, задающих дату окончания выборки. Если параметры будут не заданы или заданы неверно, для них будут использованы значения по умолчанию. По умолчанию за дату окончания выборки принимается текущая дата, а за дату начала выборки – текущая дата минус три дня.
Параметры запроса:
Название | Обязатель ное поле | Принимаемые значения | Значение по умолчанию | Описание |
Ordernumber | Да | Строка, 128 символов | Номер заказа | |
Merchant_ID | Да | Число | Идентификатор предприятия в АПК Ассист | |
Login | Да | 8 - 20 символов | Логин (лат. буквы и цифры, символ _) | |
Password | Да | 8 - 20 символов | Пароль (лат. буквы и цифры) | |
StartYear | Нет | Год в формате YYYY | Минус 3 дня от текущей даты | Дата начала выборки по Гринвичу (GMT) |
StartMonth | Нет | 1-12 | Минус 3 дня от текущей даты | |
StartDay | Нет | 1-31 | Минус 3 дня от текущей даты | |
StartHour | Нет | 0-23 | Минус 3 дня от текущей даты | |
StartMin | Нет | 0-59 | Минус 3 дня от текущей даты | |
EndYear | Нет | Год в формате YYYY | Текущий год | Дата окончания выборки по Гринвичу (GMT) |
EndMonth | Нет | 1-12 | Текущий месяц | |
EndDay | Нет | 1-31 | Текущий день | |
EndHour | Нет | 0-23 | Текущий час | |
EndMin | Нет | 0-59 | Текущая минута | |
Format | Да/Нет | 1 – CSV | 4 | Формат выдачи результатов. Не нужно передавать в случае формата SOAP, нужно для формата POST |
Параметры ответа:
Название | Значение |
billnumber | Уникальный номер заказа в системе АПК Ассист |
ordernumber | Номер заказа |
orderstate | Статус заказа |
orderamount | Оригинальная сумма заказа |
ordercurrency | Оригинальны валюта заказа |
packetdate | Дата формирования запроса по Гринвичу (GMT) |
checkvalue | uppercase(md5(uppercase(md5(SALT) + md5(Х)))), где SALT – секретное слово; Х – результат строковой склейки параметров merchant_id, ordernumber, orderamount, ordercurrency, orderstate (без разделителей), + -строковая склейка |
Описания веб-сервиса:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.paysecure.ru/ws/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="orderstate" targetNamespace="http://www.paysecure.ru/ws/"> <wsdl:types> <xsd:schema targetNamespace="http://www.paysecure.ru/ws/"> <xsd:complexType name='operationResult'> <xsd:sequence> <xsd:element name="ordernumber" type="xsd:string" /> <xsd:element name="billnumber" type="xsd:string" /> <xsd:element name="orderamount" type="xsd:string" /> <xsd:element name="ordercurrency" type="xsd:string" /> <xsd:element name="orderstate" type="xsd:string" /> <xsd:element name="packetdate" type="xsd:string" /> <xsd:element minOccurs="0" name="signature" type="xsd:string" /> <xsd:element minOccurs="0" name="checkvalue" type="xsd:string" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="result" > <xsd:sequence> <xsd:element maxOccurs="unbounded" name="order" type="tns:operationResult"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="orderstateRequest"> <wsdl:part name="ordernumber" type="xsd:string" /> <wsdl:part name="merchant_id" type="xsd:string" /> <wsdl:part name="login" type="xsd:string" /> <wsdl:part name="password" type="xsd:string" /> <wsdl:part name="format" type="xsd:string" /> <wsdl:part name="startyear" type="xsd:string" /> <wsdl:part name="startmonth" type="xsd:string" /> <wsdl:part name="startday" type="xsd:string" /> <wsdl:part name="starthour" type="xsd:string" /> <wsdl:part name="startmin" type="xsd:string" /> <wsdl:part name="endyear" type="xsd:string" /> <wsdl:part name="endmonth" type="xsd:string" /> <wsdl:part name="endday" type="xsd:string" /> <wsdl:part name="endhour" type="xsd:string" /> <wsdl:part name="endmin" type="xsd:string" /> </wsdl:message> <wsdl:message name="orderstateResponse"> <wsdl:part type="tns:result" name="orderstate"/> </wsdl:message> <wsdl:portType name="orderstatePortType"> <wsdl:operation name="orderstate"> <wsdl:input message="tns:orderstateRequest" /> <wsdl:output message="tns:orderstateResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="orderstateBinding" type="tns:orderstatePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="orderstate"> <soap:operation soapAction="http://www.paysecure.ru/ws/orderstate" /> <wsdl:input> <soap:body namespace="http://www.paysecure.ru/ws/" use="literal" /> </wsdl:input> <wsdl:output> <soap:body namespace="http://www.paysecure.ru/ws/" use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="orderstateService"> <wsdl:port binding="tns:orderstateBinding" name="orderstate"> <soap:address location="" /> </wsdl:port> </wsdl:service> </wsdl:definitions>