- Создал(а) Неизвестный пользователь (sd), редактировал(а) Евгений Панчишкин дек. 09, 2022
Система предполагает возможность провидения возврата по успешным транзакциям. Возврат можно провести из ЛК или посредством API.
Функционал активируется для выбранного сервиса и канала оплаты по отдельному согласованию. Возврат платежа может быть недоступен для определенных каналов.
Если канал оплаты не поддерживает возврат, будет выведено сообщение “Канал оплаты не поддерживает возвраты”
Возвраты по СБП проводятся исключительно в ЛК my.life-pay.ru (найти нужную транзакцию в разделе Продажи, нажать на ее идентификатор - справа внизу - Возврат)
Для Visa/MasterCard/МИР возвраты: Операция возврата необратима! В случае если вы ошиблись с суммой возврата или id транзакции - обратитесь отдел технической интеграции. Перейдите в Личный Кабинет → Аналитика→ Статистика. Найдите нужную транзакцию и нажмите "Запросить возврат": Произойдет автоматическая переадресация на страницу управления возвратами, где необходимо указать сумму, причину и id возврата (опционально): Если id возврата не указан, то система присвоит значение автоматически Для Visa/MasterCard/МИР возможно произвести несколько возвратов, в рамках одной транзакции. Это возможно, если один возврат был проведен на сумму, меньшую оригинальной. Инициализация происходит со страницы управления возвратами Личный Кабинет → Интеграция → Сервисы → Возвраты (справа от колонки "Действия" вашего списка сервисов). Заполнить поля: После ввода данных и подтверждения, появится информационное сообщение и ранее созданный возврат: Кликните на чекбокс и нажмите Создать. Операция возврата может находится в нескольких статусах: Сумма возврата может превышать общую сумму транзакций за день. В этом случае возврат находится в очереди до тех пор, пока необходимая сумма накопится (до зачисления на расчётный счёт). После каждого перечисления на расчётный счёт сумма будет копиться заново. Провайдер не может взимать средства для возврата с расчётного счёта, поэтому в возвратах участвует только та сумма, которая накопилась за день.Возврат через личный кабинет
Множественный возврат
Статусы
Возврат по API
Для создания заявки через API необходимо выполнить POST запрос на адрес https://partner.life-pay.ru/alba/refund/
В запросе необходимо передать (Content-Type: “application/x-www-form-urlencoded”):
- version – “2.0”
- tid – id транзакции
- amount – опциональный параметр, сумма указывается в формате xxx.xx. Если значение не указано - произойдет возврат всей суммы
- reason – опциональный параметр – причина возврата
- refund_ext_id - id возврата
- check – Электронная подпись запроса. См. приложение №1
В ответ возвращается JSON с результатом обработки запроса:
- Успех: {‘status’: ‘success’, ‘payback_id’: }
- Неуспех: {‘status’: ‘error’, ‘message’: ”}
Результат определяет создание/инициализацию возврата в системе, но не сам процесс возврата денежных средств. Информацию о ходе выполнения операции следует смотреть на странице управления возвратами или в статистике.
SDK
- php
1 2 3 4 5 6 7 8 | $service = new AlbaService(SERVICE_ID, 'SERVICE_SECRET'); try { $result = $service->refund(TRANSACTION_ID); echo "Возврат поставлен в очередь, payback_id: " . $result->payback_id; } catch (AlbaException $e) { echo "Произошла ошибка:" . $e->getMessage(); } |
- python
1 2 3 4 5 6 7 8 | from alba_client import AlbaService, AlbaException service = AlbaService(SERVICE_ID, 'SERVICE_SECRET') try: result = service.refund(TRANSACTION_ID) print("Возврат поставлен в очередь, payback_id: {}".format(result['payback_id'])) except AlbaException, e: print("Произошла ошибка: {}".format(e)) |
- Java
1 2 3 4 5 6 7 8 | AlbaService = new AlbaService(SERVICE_ID, "SERVICE_SECRET"); RefundResponse refundResponse = service.refund( RefundRequest.builder(response.getTransactionId()) .setAmount(new BigDecimal("REFUND_AMOUNT")) .setReason("REFUND_REASON") .build() ); |