Payment.Cancel
Отменяет платёж, созданный методом Payment.Create. VCR самостоятельно определяет необходимую операцию по текущему состоянию платежа:
- незавершённый платёж отменяется у провайдера;
- по успешно проведённому платежу выполняется полный возврат средств;
- повторный запрос возвращает сохранённый результат и не выполняет операцию повторно.
Поддерживается только отмена или возврат полной суммы исходного платежа. Для возврата через банковский терминал может потребоваться исходная карта покупателя.
Если платёж связан с фискальным чеком, после подтверждения денежного возврата необходимо зарегистрировать чек методом Receipt.Refund. Текущее состояние денежного возврата возвращается в поле refund.
Для асинхронной операции вызывайте Payment.Get с тем же payment_id. Статус refund.status = 9 означает неопределённый результат: не повторяйте операцию до проверки у провайдера и подтверждения администратором в VCR.
Входные параметры
| Название | Тип данных | Обязательность | Описание |
|---|---|---|---|
| payment_id | string | Обязательный | Локальный id платежа VCR из ответа Payment.Create |
Пример запроса
{
"jsonrpc": "2.0",
"method": "Payment.Cancel",
"params": {
"payment_id": "58847e73-b40b-4746-8a07-44582991bd6b"
},
"auth": "a2Fzc2E6a2FzMTIzNDU2",
"id": 1
}
Выходные параметры
Метод возвращает актуальный объект платежа в формате Payment.Get. Если потребовался возврат проведённых средств, поле refund содержит состояние этой операции.
Пример ответа — отменён незавершённый платёж
{
"jsonrpc": "2.0",
"result": {
"id": "58847e73-b40b-4746-8a07-44582991bd6b",
"payment_system_id": -3,
"payment_id": "4f7afa7c-3d89-4fea-8025-a8b8f1e1468a",
"status": 5,
"amount": 1000000
},
"ok": true,
"id": 1
}
Пример ответа — деньги возвращены, ожидается возвратный чек
{
"jsonrpc": "2.0",
"result": {
"id": "58847e73-b40b-4746-8a07-44582991bd6b",
"payment_system_id": -3,
"status": 8,
"amount": 1000000,
"receipt_id": "исходный-чек",
"refund": {
"refund_id": "0e3bbfd2-6f43-4316-839a-95d460a020d1",
"payment_id": "58847e73-b40b-4746-8a07-44582991bd6b",
"amount": 1000000,
"status": 5
}
},
"ok": true,
"id": 1
}
Статусы refund: 1 — создана, 2 — выполняется, 4 — подтверждена провайдером, 5 — ожидает фискализации, 6 — завершена, 8 — ошибка, 9 — результат неизвестен.