Возврат платежа

С помощью PayKeeper можно выполнить полный или частичный возврат платежа, произвести отмену операции до списания или выполнить частичное списание.

Вернуть платёж в PayKeeper можно через личный кабинет или программно, с помощью API личного кабинета. 

Для выполнения полного возврата суммы платежа через личный кабинет PayKeeper:

Кнопка возврата платежа

Кнопка для возврата платежа во вкладке «Платежи»

  1. Перейдите на вкладку «Платежи» и найдите платёж, который требуется вернуть.
  2. Нажмите на кнопку «Полный или частичный возврат платежа»
  3. В разделе «Сумма к возврату» выберите «Полный возврат суммы»
  4. Нажмите на кнопку «Вернуть платёж» и подтвердите выполнение возврата
  5. Проверьте, что статус платежа изменился на «Возвращён клиенту»
Полный возврат платежа

Диалог полного возврата платежа

Для выполнения частичного возврата через личный кабинет PayKeeper:

  1. Перейдите на вкладку «Платежи» и найдите платёж, который требуется частично вернуть.
  2. Нажмите на кнопку «Полный или частичный возврат платежа»
  3. В открывшемся окне, в разделе «Сумма к возврату» выберите «Частичный возврат суммы»
  4. Укажите ту часть суммы, которую нужно вернуть. Сумму к возврату нужно указывать в формате «1234.56» — используя только цифры, символ точки, без использования пробела
  5. Если была передана товарная корзина, то укажите количество и стоимость товаров, за которые производится возврат
    Частичный возврат платежа с корзиной товаров

    Диалог частичного возврата платежа с корзиной товаров

  6. Нажмите на кнопку «Вернуть платёж» и подтвердите выполнение возврата
  7. Проверьте, что статус платежа изменился на «Возвращён клиенту»

Для выполнения возврата полной суммы платежа через API личного кабинета PayKeeper:

  1. Используя метод 2.8. Запрос на возврат платежа /change/payment/reverse/, отправьте запрос с параметром partial = false. Параметр amount передавать не нужно. 
  2. Проверьте статус платежа с помощью а) запросу к API личного кабинета или б) получив callback от сервера PayKeeper:

а) Проверка успешности возврата с помощью запроса к API личного кабинета:

  1. Подождите 3 минуты. За это время PayKeeper передаст запрос на шлюз банка или платёжной системы и получит ответ.
  2. Используя метод 2.3. Запрос получения информации о платеже по идентификатору /info/payments/byid/, получите актуальную информацию о платеже
  3. Проверьте, что параметр status имеет значение refunded

б) Проверка успешности возврата с помощью callback-запроса от сервера PayKeeper:

  1. Сообщите в службу технической поддержки URL, на который PayKeeper должен отправлять callback-запросы с уведомлениями о состоявшемся возврате.
  2. Ожидайте получения callback-запроса. Запрос полностью идентичен тому, что PayKeeper отправляет при получении платежа.
  3. Ответьте на callback-запрос строкой OK hash, где hash вычисляется как md5-хеш от конкатенации поля id запроса и секретного слова.  
     

Для выполнения частичного возврата через API личного кабинета PayKeeper:

  1. Используя метод 2.8. Запрос на возврат платежа /change/payment/reverse/, отправьте запрос с параметрами partial = true, amount равный возвращаемой сумме, используя в качестве разделителя точку (например: «99.97») и refund_cart с json-массивом товарной корзины со списком товаров, по которым выполняется возврат.
  2. Проверьте статус платежа с помощью а) запросу к API личного кабинета или б) получив callback от сервера PayKeeper:

а) Проверка успешности возврата с помощью запроса к API личного кабинета:

  1. Подождите 3 минуты. За это время PayKeeper передаст запрос на шлюз банка или платёжной системы и получит ответ.
  2. Используя метод 2.7. Запрос информации по возвратам для платежа /info/refunds/bypaymentid/, получите актуальную информацию о возвратах.
  3. Проверьте, что параметр status у последнего возврата имеет значение done

б) Проверка успешности возврата с помощью callback-запроса от сервера PayKeeper:

  1. Сообщите в службу технической поддержки URL, на который PayKeeper должен отправлять callback-запросы с уведомлениями о состоявшемся возврате.
  2. Ожидайте получения callback-запроса. Запрос полностью идентичен тому, что PayKeeper отправляет при получении платежа.
  3. Ответьте на callback-запрос строкой OK hash, где hash вычисляется как md5-хеш от конкатенации поля id запроса и секретного слова.  

Отмена авторизации / Возврат в тот же день

Для отмены авторизации на шлюз банка отправляется специальный запрос, который отличается от того, что отправляется при обычном возврате. PayKeeper автоматически определяет, какой тип запроса нужно отправить в банк, основываясь на текущем состоянии платежа и технических возможностях шлюза банка.

 

Сроки возврата средств на карту

Сроки возврата зависят от того, были ли уже перечислены средства от банка-эмитента (банк, который выдал карту клиенту) в банк-эквайер:

  • Если средства ещё не были перечислены (как правило, в течение дня), то клиент увидит информацию о возврате почти сразу же.  
  • Если банк-эмитент уже перечислил средства по данной операции, то возврат может занимать от 3 до 10 рабочих дней, в отдельных случаях до 30 календарных дней.

У банка-эквайера нет возможности производить списание средств с расчётного счёта организации, поэтому большая часть банков-эквайеров выполняют возврат за счёт своих средств. В дальнейшем сумма возврата удерживается из будущих перечислений. Также банком может быть выставлено платёжное требование для погашения образовавшейся задолженности.

Если клиент организации утверждает, что возврат не был выполнен, то ему нужно обратиться в свой банк для составления претензионного заявления. Данный порядок регламентирован правилами платёжных систем.  

 

Выдача чека при возврате

После выполнения возврата, PayKeeper отправить на кассу запрос на печать чека с признаком «возврат прихода».  Если выполняется частичный возврат и в PayKeeper была передана информация о позициях, за которые производится возврат и их количестве, то данная информация также будет отображена в чеке «возврат прихода».