Документация/Приём платежей/Capture и возврат
Capture, отмена и возврат
Три операции над уже созданным платежом. Каждая доступна, только если её поддерживает канал — проверяйте возможности до того, как строить на них бизнес-процесс.
Сначала возможности канала
Операция, не поддержанная каналом, возвращает 422 capability_not_supported. Это штатный ответ, а не сбой: он означает, что поток нужно согласовать, а не повторить запрос.
Capture
Списывает ранее удержанную сумму по платежу в статусе authorized. Пустое тело означает полное списание доступной суммы; частичное списание доступно только при соответствующей возможности канала.
POST /api/v1/payments/{payment_id}/capture
Idempotency-Key: capture-order-20260817-001
{ "amount_minor": 1001 }Отмена
Снимает удержание до списания. После отмены платёж переходит в финальный статус canceled и не может быть возобновлён — новая попытка оплаты означает новый платёж со своим order_id.
POST /api/v1/payments/{payment_id}/cancel
Idempotency-Key: cancel-order-20260817-001Возврат
Возврат создаётся по успешному платежу. Сумма меньше исходной делает возврат частичным, и платёж переходит в partially_refunded; полный возврат — в refunded. Список возвратов по платежу читается отдельным запросом.
Создать возврат
POST /api/v1/payments/{payment_id}/refunds
Idempotency-Key: refund-order-20260817-001-1
{ "amount_minor": 500 }Список возвратов
GET /api/v1/payments/{payment_id}/refundsСобытие возврата одно
Частичный и полный возврат отправляют одно и то же событие payment.refunded. Различить их можно только по полю status в теле — события payment.partially_refunded не существует.
Возможность возврата зависит от подключённого провайдера
Если провайдер канала не поддерживает возврат, вызов вернёт 422 capability_not_supported. Проверьте возможности канала до того, как обещать возвраты в клиентском интерфейсе.