Об XML интерфейсах
XML интерфейсы позволяют создать развёрнутый информационный раздел Robokassa для клиентов интернет-магазина и выстроить более глубокую интеграцию.
Запросы можно выполнять методом HTTP GET или HTTP POST, а также через вызовы XML web-сервиса.
- Базовый URL:
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/<название метода>
Структура ответа
Любой ответ возвращается в формате XML с общей структурой результата:
<?xml version="1.0" encoding="utf-8" ?>
...
<Result>
<Code>integer</Code>
<Description>string</Description>
</Result>
...
Required data
...
...
Информация об элементе Result
| Параметр | Значение |
|---|
Result | Содержит информацию о результате обработки запроса и включает элементы Code и Description. |
Code | Результат выполнения запроса. При ошибке дополнительные элементы с данными не возвращаются. |
Description | Текстовое описание результата. |
Возможные значения Result.Code
| Код | Описание |
|---|
0 | Запрос обработан успешно. |
2 | Магазин с указанным MerchantLogin не найден или не активирован. |
1000 | Внутренняя ошибка сервиса. |
Интерфейс получения списка валют
Метод возвращает список валют, доступных для оплаты заказов, и может использоваться для заполнения параметра IncCurrLabel или отображения доступных вариантов оплаты.
- Название метода:
GetCurrencies
- URL:
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/GetCurrencies
Пример GET-запроса
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/GetCurrencies?MerchantLogin=demo&Language=ru
Параметры запроса
| Параметр | Значение |
|---|
MerchantLogin | Идентификатор магазина (строка). |
Language | Язык локализованных значений (en — английский, ru — русский). |
Структура ответа
<CurrenciesList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://merchant.roboxchange.com/WebService/">
<Result>
<Code>integer</Code>
</Result>
<Groups>
<Group Code="string" Description="string">
<Items>
<Currency Label="string" Alias="string" Name="string">
...
</Currency>
</Items>
</Group>
...
</Groups>
</CurrenciesList>
Описание возвращаемых данных
| Параметр | Значение |
|---|
Groups | Набор групп валют для удобного отображения в интерфейсе. |
Code | Код группы. |
Description | Текстовое описание группы. |
Items | Список валют в группе. |
Label | Код валюты. |
Name | Наименование валюты. |
Получение расширенной информации об операции
Интерфейс возвращает детальные сведения о состоянии оплаты и реквизитах операции. Учтите, что операция инициируется после подтверждения платёжных реквизитов пользователя, поэтому данные могут отсутствовать сразу после перехода на оплату.
- Название метода:
OpStateExt
- URL:
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/OpStateExt
Пример GET-запроса
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/OpStateExt?MerchantLogin=demo&InvoiceID=1932809606&Signature=9e2bf657364d25acf5905b4ac4f50e39
Параметры запроса
| Параметр | Значение |
|---|
MerchantLogin | Идентификатор магазина (строка). |
InvoiceID | Номер счёта магазина (целое число). |
Signature | Контрольная сумма (хэш в шестнадцатеричном формате). Рассчитывается по формуле MerchantLogin:InvoiceID:Пароль#2, где Пароль#2 задаётся в технических настройках магазина. |
Signature допускает символы 0-9, A-F и регистр не имеет значения. Параметры в строке подписи разделяются двоеточием :.
Структура ответа
<OperationStateResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://merchant.roboxchange.com/WebService/">
<Result>
<Code>integer</Code>
</Result>
<State>
<Code>integer</Code>
<RequestDate>datetime</RequestDate>
<StateDate>datetime</StateDate>
</State>
<Info>
<IncCurrLabel>string</IncCurrLabel>
<IncSum>decimal</IncSum>
<IncAccount>string</IncAccount>
<PaymentMethod>
<Code>string</Code>
</PaymentMethod>
<OutCurrLabel>string</OutCurrLabel>
<OutSum>decimal</OutSum>
<OpKey>string</OpKey>
<BankCardRRN>string</BankCardRRN>
</Info>
<UserField>
<Field>
<Name>string</Name>
<Value>string</Value>
</Field>
</UserField>
</OperationStateResponse>
Описание возвращаемых параметров
Элемент Result
| Параметр | Значение |
|---|
Result | Содержит итог выполнения запроса. |
Code | Результат обработки запроса. |
Возможные значения Result.Code
| Код | Описание |
|---|
0 | Запрос обработан успешно. |
1 | Неверная цифровая подпись запроса. |
2 | Магазин с указанным MerchantLogin не найден или не активирован. |
3 | Операция с указанным InvoiceID не найдена. |
4 | Найдено две операции с одним InvoiceID (обычно из-за тестовой оплаты с тем же номером). |
1000 | Внутренняя ошибка сервиса. |
Элемент State
| Параметр | Значение |
|---|
State | Текущее состояние оплаты. |
Code | Код состояния операции. |
RequestDate | Дата и время ответа на запрос. Формат ISO 8601 (YYYY-MM-DDThh:mm:ss.fffffff;ZZZZZ). |
StateDate | Дата и время последнего изменения состояния. Формат аналогичен RequestDate. |
Элементы RequestDate и StateDate используют расширенный формат ISO 8601:
YYYY — год (4 цифры).
MM — месяц (2 цифры).
DD — день месяца (2 цифры).
T — разделитель даты и времени.
hh:mm:ss — время в 24-часовом формате.
fffffff — дробные доли секунды (до 7 цифр).
ZZZZZ — смещение часового пояса относительно UTC (+hh:mm или -hh:mm).
Возможные значения State.Code
| Код | Описание |
|---|
5 | Операция инициализирована, оплата ещё не подтверждена. |
10 | Операция отменена, средства от покупателя не получены или платеж выполнен после истечения времени ожидания. |
20 | Операция находится в статусе HOLD (используется при холдировании средств). |
50 | Средства получены от покупателя, выполняется зачисление на счёт магазина. |
60 | Отказ в зачислении средств на счёт магазина, деньги возвращены покупателю. |
80 | Исполнение операции приостановлено из-за внештатной ситуации или проверки безопасности. |
100 | Платёж проведён успешно, средства зачислены и отправлено уведомление. |
Элемент Info
| Параметр | Значение |
|---|
Info | Содержит данные об оплате счёта. |
IncCurrLabel | Валюта, которой платил клиент. |
IncSum | Сумма в валюте IncCurrLabel. |
IncAccount | Счёт покупателя (кошелёк или номер карты), через который производилась оплата. |
PaymentMethod.Code | Код выбранного способа оплаты. |
OutCurrLabel | Валюта, в которой магазин получает средства. |
OutSum | Сумма, зачисленная магазину, в валюте OutCurrLabel. |
OpKey | Идентификатор операции. |
BankCardRRN | Уникальный идентификатор банковской транзакции. |
Элемент UserField
| Параметр | Значение |
|---|
UserField | Пользовательские параметры, переданные при старте платежа. |
Field.Name | Имя пользовательского параметра. |
Field.Value | Значение пользовательского параметра. |
Дополнительно о пользовательских параметрах см. раздел Параметры скрипта.