Возврат платежа по СБП (REFUND)

Для возврата платежа нужно передать запрос на https://api.1payment.com/init_refund
со следующими параметрами:

см. формат запросов к API

  • partner_id - 1234 (ID партнера)
  • project_id - 5678 (ID проекта)
  • amount - 100 (Сумма возврата, указывается в случае частичных возвратов. Доступность данной функции уточняйте у менеджера)
  • order_id - идентификатор платежа для которого делается возврат
  • user_data - abcd1234 (Уникальный идентификатор возврата на стороне партнера, отличный от user_data платежа)

Пример:

https://api.1payment.com/init_refund?partner_id=1234&project_id=5678order_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&user_data=abcd1234&sign=d724e1e6453a43397bb2aa6d6be9cc06

Подпись (sign) рассчитывается так: md5 от строки "init_refund + конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:

init_refundorder_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&partner_id=1234&project_id=5678&user_data=abcd1234[API_Key]

В ответ система выдаст в JSON:

{"refund_order_id":"crf_1p3brmb19gfg0sg8gcwhws8kgc748s87","status":9,"status_description":"REFUND_PENDING","status_code":0}

Где:

После получения статуса по возврату, на ваш notify_url (указанный в настройках проекта) будет отправлено уведомление о статусе платежа. Формат уведомления POST JSON со следующими параметрам:

  • payment_type - тип платежа (см таблицу типы платежей)
  • order_id - идентификатор возврата
  • project_id - ID проекта
  • status - состояние возврата
  • status_description - текстовое описание статуса
  • init_time - время создания возврата
  • status_time - время получения статуса о возврате
  • merchant_price - стоимость исходного платежа для плательщика
  • init_price - сумма при инициации
  • user_price - списание по возврату
  • status_code - поле будет содержать код ошибки (если это возможно)
  • user_data - идентификатор, переданный при создании возврата
  • sign - Подпись (sign), рассчитывается так: md5 от строки "конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)