Проведение возвратов
Этот XML-интерфейс позволяет продавцу отменить проведенную транзакцию и вернуть средства клиенту. По условиям договора с помощью данного интерфейса транзакции можно отменить только до 01:00 часов следующего после принятия платежа дня. Этот интерфейс также используется для проведения возвратов за счет следующих поступлений, если это предусмотрено договором.
Action - https://api.paysoft.solutions/merchants/refund
Method - POST
Формат XML-запроса:
<Command>
<LMI_MERCHANT_ID></LMI_MERCHANT_ID>
<LMI_SYS_PAYMENT_ID></LMI_SYS_PAYMENT_ID>
<RefundId></RefundId>
<ActionAmount></ActionAmount>
<RefundAmount></RefundAmount>
<LMI_HASH></LMI_HASH>
</Command>
Название | Поле в XML | Описание |
---|---|---|
Идентификатор продавца | LMI_MERCHANT_ID | Идентификатор магазина. Идентификатор Продавец может получить в Кабинете(https://merchant.paysoft.solutions). |
Внутренний номер платежа в системе PaySoft | LMI_SYS_PAYMENT_ID | |
Уникальный номер заявки на возврат | RefundId | Идентификатор заявки на возврат средств, уникальный в рамках LMIMERCHANT_ID. Может содержать буквы латинского алфавита, цифры, знаки "-" и "" (без кавычек; знаки не могут быть в начале строки). Максимальная длина идентификатора - 20 символов. |
Cумма исходного платежа | ActionAmount | |
Сумма возврата | RefundAmount | Сумма возврата должна быть меньше или равна полной сумме платежа. Некоторые платежные системы поддерживают частичный возврат средств. |
Контрольная подпись | LMI_HASH | Контрольная подпись запроса. Для формирования подписи исходный текст XML-запроса с пустым значением LMI_HASH конкатенируется с секретным ключом SecretKey (без разделителя). От полученной строки формируется хеш сумма с помощью алгоритма, указанного в настройках магазина в Кабинете Продавца. Полученная подпись передается в теге LMI_HASH. Рекомендованный алгоритм хеширования SHA256.Пример формирования подписи |
Формат XML-ответа:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Retval></Retval>
<Retdesc></Retdesc>
<Retdata>
<ResultCode></ResultCode>
<ResultMsg></ResultMsg>
</Retdata>
</Response>
Название | Поле в XML | Описание |
---|---|---|
Код выполнения запроса | Retval | 1 - успешное выполнение команды |
Описание кода выполнения | Retdesc | |
Код выполнения возмещения | Retdata/ResultCode | |
Описание кода выполнения | Retdata/ResultMsg |
ВНИМАНИЕ! В отличие от остальных интерфейсов и форм, интерфейс возмещения имеет два статуса (коды исполнения). Код выполнения запроса (Retval) указывает на успешность или неуспешность запроса создания заявки на возмещение, а код выполнения возмещения (Retdata / ResultCode) указывает на успешность выполнения возмещения в платежной системе.
В случае получения неокончательного ответа в поле Retdata/ResultCode, можно повторить запрос с теми же параметрами (обязательно с тем же RefundId) для получения статуса текущей заявки.
Код выполнения возврата
Код | Пояснение | Окончательность |
---|---|---|
600 | Возврат проведен успешно | Окончательная |
601 | Транзакция не найдена | Окончательная |
602 | Возврат средств возможен только для успешных транзакций | Окончательная |
603 | Истекло время для проведения возврата | Окончательная |
604 | Не корректная сумма платежа | Окончательная |
605 | Не корректная сумма возврата | Окончательная |
606 | Сумма возврата не может превышать полную сумму платежа | Окончательная |
607 | Операция отмены платежа выполняется | Не окончательная |
608 | Транзакция полностью отменена | Окончательная |
609 | Платежная система не поддерживает возвраты | Окончательная |
610 | Платежная система не поддерживает частичные возвраты | Окончательная |
618 | Неверно указан идентификатор возврата | Окончательная |