Возврат платежа по СБП (REFUND)
Для возврата платежа нужно передать запрос на https://api.1payment.com/init_refund
со следующими параметрами:
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}
Где:
refund_order_id
- Это id этого возврата, по нему можно будет узнать статусstatus
- состояние возвратаstatus_description
- текстовое описание статусаstatus_code
- поле будет содержать код ошибки (если это возможно) в случае отказа в возврате
После получения статуса по возврату, на ваш 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)