.. meta:: :description: Транзакции возврата (refund) в Payneteasy API: полный или частичный возврат по ранее одобренным операциям sale через endpoint return с обработкой ответа. .. _return_transactions: Возврат ###################################### .. role:: ex .. role:: code Введение ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | **Возврат:** Транзакция возврата - означает возврат денег на кредитную карту или какой-либо другой аккаунт Плательщика. Возвращённые средства не отображаются непосредственно после инициации запроса на возврат средств, т.к. запрос обрабатывается банком-эмитентом в течение нескольких дней. Возврат может быть проведён только для транзакций :ex:`Продажи`, :ex:`Преавторизированной Продажи` и последующего :ex:`Подтверждения` с успешным конечным статусом. После успешного Возврата :ex:`Продажа` принимает статус :ex:`Отменённой транзакции`, :ex:`Преавторизированная Продажа` и :ex:`Подтверждение` - статус :ex:`Возврата`.См. :ref:`Статусы`. | **Аннулирование:** Транзакция аннулирования может быть использована вместо транзакции возврата для осуществления возврата средств на аккаунт Плательщика. Транзакция аннулирования позволяет не дожидаться клиринга и обработки возврата со стороны банка эмитента. Транзакция может быть аннулирована в случае если она была авторизирована, но не подтверждена. Если же клиринг уже прошел, а аннулирование не поддерживается, единственным решением возврата средств на аккаунт Плательщика является транзакция Возврата. | Аннулирование может быть применено только для транзакций :ex:`Продажи` и :ex:`Подтверждения` в успешном конечном статусе. :ex:`Запрос на аннулирование` инициирует транзакцию аннулирования. См. :ref:`Статусы`. Аннулирование может не поддерживаться в большинстве случаев, пожалуйста, свяжитесь с менеджером Поддержки для дополнительной информации. | | Значение терминов см. в :ref:`Глоссарии`. .. _return_request_url: Сценарий Возврата ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. uml:: :align: center skinparam roundcorner 20 skinparam sequenceArrowThickness 1 skinparam maxmessagesize 100 skinparam sequenceParticipant underline actor Плательщик participant "Присоединяющаяся Сторона" as A participant "Платёжный Шлюз" as B hnote over A,B : Успешная транзакция оплаты, преавторизации или списания autonumber group Опционально Плательщик -> A: Инициация возврата activate A end == Возврат == A -> B: api/v2/return activate B B --> A: ИД транзакции B -> B: Обработка возврата group Получение финального статуса == Получение обратного вызова \nПрисоединяющейся Стороны == A <- B: Обратный вызов с финальным статусом A --> B: HTTP 200 deactivate B == Запрос статуса == A -> B: Получение статуса по ИД транзакции api/v2/status activate B B --> A: Ответ со статусом, Order-stage deactivate B end group Опционально A --> Плательщик: Конечный статус deactivate A end | Возврат может быть инициирован Присоединяющейся Стороной, опираясь на внутреннюю политику компании или по запросу Плательщика. | (2) Для имплементации запроса возврата см. :ref:`/api/v2/return/`. | (5) Обратный вызов для транзакций возврата будет отправлен только в случае если :ex:`notify_url` был отправлен в начальном запросе или прописан дополнительный URL обратного вызова транзакции возврата на уровне терминала. Если :ex:`server_callback_url` был отправлен в начальном запросе транзакции, обратный вызов для возврата не будет отправлен. Для имплементации обратных вызовов с настройкой финального статуса см. :ref:`Обратные Вызовы Присоединяющейся Стороны`. | (7) Для реализации запроса статуса заказа см. :ref:`/api/v2/status/`. Статус следует запрашивать несколько раз с интервалом 3-5 секунд, пока в ответе не будет получен финальный статус. | (9) Финальный статус может быть отправлен Присоединяющейся Стороной, опираясь на внутреннюю политику компании или по запросу Плательщика. .. _void_request_url: Сценарий аннулирования ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. uml:: :align: center skinparam roundcorner 20 skinparam sequenceArrowThickness 1 skinparam maxmessagesize 100 skinparam sequenceParticipant underline actor Плательщик participant "Присоединяющаяся Сторона" as A participant "Платёжный Шлюз" as B hnote over A,B : Успешная транзакция оплаты или списания autonumber group Опционально Плательщик -> A: Инициация Аннулирования activate A end == Аннулирование == A -> B: api/v2/void activate B B --> A: ИД транзакции B -> B: Обработка аннулирования group Получение финального статуса == Получение обратного вызова == A <- B: Обратный вызов с финальным статусом A --> B: HTTP 200 deactivate B == Запрос статуса == A -> B: Получение статуса по ИД транзакции api/v2/status activate B B --> A: Ответ со статусом, Order-stage deactivate B end group Опционально A --> Плательщик: Конечный статус deactivate A end | Аннулирование может быть инициировано Присоединяющейся Стороной, опираясь на внутреннюю политику компании или по запросу Плательщика. | (2) Для имплементации запроса на аннулирование см. :ref:`/api/v2/void/`. | (5) Обратный вызов для транзакций аннулирования будет отправлен только в случае, если :ex:`notify_url` был отправлен в начальном запросе или прописан дополнительный URL обратного вызова транзакции аннулирования на уровне терминала. Если :ex:`server_callback_url` был отправлен в начальном запросе транзакции, обратный вызов для аннулирования не будет отправлен. Для имплементации обратных вызовов с настройкой финального статуса см. :ref:`Обратные Вызовы Присоединяющейся Стороны`. | (7) Для реализации запроса статуса заказа см. :ref:`/api/v2/status/`. Статус следует запрашивать несколько раз с интервалом 3-5 секунд, пока в ответе не будет получен финальный статус. | (9) Финальный статус может быть отправлен Присоединяющейся Стороной, опираясь на внутреннюю политику компании или по запросу Плательщика.