XML интерфейсы предназначены для создания развёрнутого интерфейса Robokassa, со всевозможными информационными блоками для клиентов Вашего магазина/сайта, а также для построения более глубокой системы взаимодействия Вашего магазина/сайта с Robokassa.
Запросы к интерфейсам можно отправлять методом HTTP GET или HTTP POST, либо их можно использовать как методы XML web-сервиса:
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/<название метода>
Возвращается в формате XML-документа. Документ имеет следующую структуру:
1 2 3 4 5 6 7 8 9 10 11<?xml version="1.0" encoding="utf-8" ?>
<...>
<Result>
<Code>integer</Code>
<Description>string</Description>
</Result>
<...>
Запрошенные данные (возвращаются только в случае успешного выполнения запроса)
Required data
<...>
<...>
Информация о результате в элементе Result
Параметр
Значение
Тип и сумма налога.
Содержит строку:
Результат выполнения запроса. Если во время выполнения запроса произошла ошибка, то в ответе не будет содержаться дополнительных элементов с запрашиваемыми данными.
Возможные значения:
— Запрос обработан успешно
— Информация о магазине с таким MerchantLogin не найдена или магазин не активирован
— Внутренняя ошибка сервиса
Текстовое описание результата выполнения запроса.
Возвращает список валют, доступных для оплаты заказов указанного магазина (сайта). Используется для указания значений параметра IncCurrLabel, также используется для отображения доступных вариантов оплаты непосредственно на вашем сайте, если вы желаете дать больше информации своим клиентам.
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/GetCurrencies
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/GetCurrencies?MerchantLogin=demo&Language=ru
Параметры запроса
Параметр
Значение
Идентификатор магазина, строка.
Язык для локализованных значений в ответе (названий валют, методов оплаты и т.д.).
Возможные значения:
– Английский
– Русский
Возвращается в формате XML-документа. Документ имеет следующую структуру:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18<?xml version="1.0" encoding="utf-8" ?>
<CurrenciesList xmlns="http://auth.robokassa.ru/Merchant/WebService/">
<Result>
<Code>integer</Code>
<Description>string</Description>
</Result>
<Groups>
<Group Code="string" Description="string">
<Items>
<Currency Label="string" Name="string">
<Rate IncSum="decimal" />
</Currency>
...
</Items>
</Group>
...
</Groups>
</CurrenciesList>
Описание возвращаемых данных
Параметр
Значение
Группы валют. Могут использоваться для более удобного отображения валют в пользовательском интерфейсе.
Код группы
Текстовое описание группы
Валюты, входящие в группу
Код валюты
Наименование валюты
Возвращает детальную информацию о текущем состоянии и реквизитах оплаты. Необходимо помнить, что операция инициируется не в момент ухода пользователя на оплату, а позже — после подтверждения его платежных реквизитов, т.е. Вы вполне можете не находить операцию, которая по Вашему мнению уже должна начаться.
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/OpStateExt
https://auth.robokassa.ru/Merchant/WebService/Service.asmx/OpStateExt?MerchantLogin=demo&InvoiceID=1932809606&Signature=9e2bf657364d25acf5905b4ac4f50e39
Описание параметров запроса
Параметр
Значение
Идентификатор магазина, строка.
Номер счета магазина, целое число.
Контрольная сумма – хэш, число в 16-ричной форме и любом регистре (0-9, A-F), рассчитанное методом указанным в Технических настройках магазина. Базой для расчёта служат все обязательные параметры, разделенные символом : с добавлением Пароль#2, (указывается при заполнении раздела Технических настроек) т. е.: MerchantLogin:InvoiceID:Пароль#2
Возвращается в формате XML-документа. Документ имеет следующую структуру:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31<?xml version="1.0" encoding="utf-8" ?>
<OperationStateResponse xmlns="http://auth.robokassa.ru/Merchant/WebService/">
<Result>
<Code>integer</Code>
<Description>string</Description>
</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>
<Description>string</Description>
</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>
Описание возвращаемых параметров
Параметр
Значение
Информация о результате выполнения запроса.
Содержит строку:
Результат выполнения запроса. Если во время выполнения запроса произошла ошибка, то в ответе не будет содержаться дополнительных элементов с запрашиваемыми данными.
Возможные значения:
Запрос обработан успешно
Неверная цифровая подпись запроса
Информация о магазине с таким MerchantLogin не найдена или магазин не активирован
Информация об операции с таким InvoiceID не найдена.
Найдено две операции с таким InvoiceID. Такая ошибка возникает когда есть тестовая оплата с тем же InvoiceID.
Внутренняя ошибка сервиса
Текущее состояние оплаты.
Содержит строку:
Код текущего состояния операции оплаты счета.
Возможные значения:
– Операция только инициализирована, деньги от покупателя не получены. Или от пользователя ещё не поступила оплата по выставленному ему счёту или платёжная система, через которую пользователь совершает оплату, ещё не подтвердила факт оплаты.
– Операция отменена, деньги от покупателя не были получены. Оплата не была произведена. Покупатель отказался от оплаты или не совершил платеж, и операция отменилась по истечении времени ожидания. Либо платёж был совершён после истечения времени ожидания. В случае возникновения спорных моментов по запросу от продавца или покупателя, операция будет перепроверена службой поддержки, и в зависимости от результата может быть переведена в другое состояние.
– Операция находится в статусе HOLD. Используется в случае отправки запроса на холдирование средств.
– Деньги от покупателя получены, производится зачисление денег на счет магазина. Операция перешла в состояние зачисления средств на баланс продавца. В этом статусе платёж может задержаться на некоторое время. Если платёж «висит» в этом состоянии уже долго (более 20 минут), это значит, что возникла проблема с зачислением средств продавцу.
– Отказ в зачислении средств на счёт магазина. Списанные средства вернулись покупателю на счёт (кошелёк), с которого производилась оплата. Возможные причины ошибки: двойная оплата инвойса, просрочка счёта, отмена холдирования или внутренние ограничения.
– Исполнение операции приостановлено. Внештатная остановка. Произошла внештатная ситуация в процессе совершения операции (недоступны платежные интерфейсы в системе, из которой/в которую совершался платёж и т.д.) Или операция была приостановлена системой безопасности. Операции, находящиеся в этом состоянии, разбираются нашей службой поддержки в ручном режиме.
Платёж проведён успешно, деньги зачислены на баланс продавца, уведомление об успешном платеже отправлено
Текстовое описание
Дата/время ответа на запрос. Дата/время передаются в формате, рекомендованном стандартом ISO 8601 (YYYY-MM-DDThh:mm:ss.fffffff;ZZZZZ)
Например: 2010-02-11T16:07:11.6973153+03:00
Содержит параметры:
Год, 4 цифры
Месяц, 2 цифры
День месяца, 2 цифры (от 01 до 31)
Латинский символ «T» в верхнем регистре
Часы, 2 цифры (24-часовой формат, от 00 до 23)
Минуты, 2 цифры (от 00 до 59)
Секунды, 2 цифры (от 00 до 59)
Дробные части секунд. от 1 до 7 цифр
Описатель временной зоны. Должен быть в верхнем регистре. Означает, что момент времени представлен в UTC зоне (эквивалентно +00:00 и -00:00). Смещение -hh:mm или +hh:mm относительно UTC показывает, что указано локальное время, которое на данное число часов и минут опережает или отстает от UTC
Дата/время последнего изменения состояния операции. Содержит параметры как RequestDate.
Информация об операции оплаты счета.
Валюта, которой платил клиент.
Сумма, оплаченная клиентом, в единицах валюты IncCurrLabel.
Номер счёта (кошелёк, номер банковской карты) клиента в платежной системе, через которую производилась оплата.
Способ оплаты, выбранный клиентом.
Содержит строку:
Код способа оплаты
Валюта, в которой получает средства магазин.
Сумма, зачисленная на счет магазина, в единицах валюты OutCurrLabel.
Идентификатор операции.
Уникальный идентификатор банковской транзакции.
Пользовательские параметры, которые были переданы при старте платежа.
Имя пользовательского параметра
Значение пользовательского параметра