Возвраты
С помощью API можно возвращать платежи — полностью или частично. Порядок возврата зависит от способа оплаты (payment_method
) исходного платежа. При оплате банковской картой деньги возвращаются на карту, которая была использована для проведения платежа.
Объект возврата (Refund
) содержит актуальную информацию о возврате успешного платежа. Он приходит в ответ на любой запрос, связанный с возвратами.
Объект может содержать параметры и значения, не описанные в этом Справочнике API. Их следует игнорировать.
Создание возврата
POST URL для запроса
https://api.payvo.ru/public/refunds
Параметры запроса
Параметр | Тип параметра | Обязательный | По умолчанию | Описание |
---|---|---|---|---|
payment_uuid |
string |
Да | - | Идентификатор платежа в Payvo. |
amount |
number |
Нет | - | Сумма, которую нужно вернуть пользователю. |
description |
string |
Нет | - | Комментарий к возврату, основание для возврата денег пользователю. |
Пример тела ответа
{
"errors": null,
"refund": {
"uuid": "bb9a9c85-1b16-425e-a38e-32bfcdbf52f5",
"payment_uuid": "bb9a9c85-1b16-425e-a38e-32bfcdbf52f5",
"status": "pending",
"amount": 1000,
"description": "Тестовый платеж",
"created_at": "2025-04-10T20:12:18.000+03:00",
"cancellation_details": null,
}
}
Информация о возврате
Запрос позволяет получить информацию о текущем состоянии возврата по его уникальному идентификатору.
POST URL для запроса
https://api.payvo.ru/public/refunds/:uuid
Параметры запроса
Без параметров.
Пример тела ответа
{
"id": "216749f7-0016-50be-b000-078d43a63ae4",
"status": "succeeded",
"amount": {
"value": "1.00",
"currency": "RUB"
},
"created_at": "2017-10-04T19:27:51.407Z",
"payment_id": "216749da-000f-50be-b000-096747fad91e"
}
Коды ошибок
В процессе возврата что-то может пойти не так. Например, может не хватать денег для возврата. В этом случае возврат будет отменен и перейдет в статус canceled
.
Чтобы вы могли лучше понимать, что произошло и что с этим делать, Payvo пришлет в объекте возврата комментарий к отмене возврата (cancellation_details
). В нём будут указаны инициатор и причина отмены возврата. Вы можете использовать эти данные для анализа и решения проблем, вывода сообщений пользователю и любых других целей.
Инициаторы отмены платежа
Значение | Описание |
---|---|
payvo |
Payvo |
refund_network |
Любые участники процесса возврата, кроме Payvo и вас (например, эмитент банковской карты) |
Причины отмены возврата
Значение | Описание |
---|---|
general_decline |
Причина не детализирована. Для уточнения подробностей обратитесь в техническую поддержку. |
insufficient_funds |
Не хватает денег, чтобы сделать возврат: сумма платежей, которые вы получили в день возврата, меньше, чем сам возврат, или есть задолженность. |
rejected_by_payee |
Эмитент платежного средства или другой участник процесса возврата отклонил операцию по неизвестным причинам. Сделать возврат через Payvo нельзя. |
rejected_by_timeout |
Технические неполадки на стороне инициатора отмены возврата. Повторите запрос с новым ключом идемпотентности. Если результат не изменится, повторяйте запрос с возрастающим разумным интервалом (например, можно использовать последовательность Фибоначчи). |
Пример объекта возврата в статусе canceled
{
"id": "216749f7-0016-50be-b000-078d43a63ae4",
"status": "canceled",
"amount": {
"value": "2.00",
"currency": "RUB"
},
"created_at": "2017-10-04T19:27:51.407Z",
"payment_id": "21740069-000f-50be-b000-0486ffbf45b0",
"cancellation_details": {
"party": "yoo_money",
"reason": "insufficient_funds"
}
}