Refunds
Возврат создаётся по конкретному платежу — полностью или на часть суммы. Несколько частичных возвратов по одному платежу допустимы, пока их сумма не превысила сумму платежа.
Создание возврата
Параметры
payment_id
string
required
Платёж, по которому возвращаются деньги.
amount
string
required
Сумма возврата строкой. Должна быть больше нуля и не превышать невозвращённый остаток платежа.
receipt
object
optional
Состав чека возврата. См. Receipts.
| Name | Type | Required | Description |
|---|---|---|---|
payment_id
|
string
|
required | Платёж, по которому возвращаются деньги. |
amount
|
string
|
required | Сумма возврата строкой. Должна быть больше нуля и не превышать невозвращённый остаток платежа. |
receipt
|
object
|
optional | Состав чека возврата. См. Receipts. |
⊘
Указывайте сумму явно
Пустая сумма трактуется как возврат всей суммы платежа. Если ваш код может передать пустое значение при ошибке расчёта, частичный возврат молча превратится в полный.
Статусы возврата
Жизненный цикл
new
enum
optional
Возврат принят к исполнению.
in_progress
enum
optional
Исполняется.
postponed
enum
optional
Отложен — исполнение продолжится позже. Не отказ, повторять не нужно.
in_finish
enum
optional
Завершается.
completed
enum
optional
Деньги возвращены плательщику.
error
enum
optional
Ошибка исполнения. В ответе есть код отказа.
| Name | Type | Required | Description |
|---|---|---|---|
new
|
enum
|
optional | Возврат принят к исполнению. |
in_progress
|
enum
|
optional | Исполняется. |
postponed
|
enum
|
optional | Отложен — исполнение продолжится позже. Не отказ, повторять не нужно. |
in_finish
|
enum
|
optional | Завершается. |
completed
|
enum
|
optional | Деньги возвращены плательщику. |
error
|
enum
|
optional | Ошибка исполнения. В ответе есть код отказа. |
⚠
Это не статусы платежа
У возврата свой набор: нет paid, зато есть in_finish и postponed. Общий только completed.
Проверка результата
Поля возврата
id
string
optional
Идентификатор возврата.
payment_id
string
optional
Платёж, по которому сделан возврат.
amount
string
optional
Сумма возврата.
status
enum
optional
Текущий статус.
refunded_at
string
optional
Когда возврат фактически исполнен.
receipts
array
optional
Чеки возврата.
| Name | Type | Required | Description |
|---|---|---|---|
id
|
string
|
optional | Идентификатор возврата. |
payment_id
|
string
|
optional | Платёж, по которому сделан возврат. |
amount
|
string
|
optional | Сумма возврата. |
status
|
enum
|
optional | Текущий статус. |
refunded_at
|
string
|
optional | Когда возврат фактически исполнен. |
receipts
|
array
|
optional | Чеки возврата. |
Список возвратов доступен по платежу — это надёжный способ узнать, сколько уже возвращено, и не уйти в перевозврат.
⊘
Не повторяйте возврат после таймаута
Запрос не идемпотентен: повтор создаёт второй возврат. Если ответ не пришёл, запросите список возвратов по платежу и решайте по нему.