Возврат средств через метод refund
Метод refund
используется для возврата средств по успешно выполненным платежам (в статусе succeeded
). Минимальная сумма возврата не должна быть меньше 1 USD (или эквивалентной суммы в UZS), а максимальная сумма возврата, как разовая, так и суммарная, не должна превышать изначальную сумму транзакции.
Важно!
Сумма возврата не может превышать 10 млн. сум за одну транзакцию, но не нет ограничений по количеству транзакций.
Метод refund
- URL:
https://secure.octo.uz/refund
- Method:
POST
- Content-type:
application/json
Пример запроса
json
{
"octo_shop_id": "{{merchant_id}}",
"shop_refund_id": "{{$randomUUID}}",
"octo_secret": "{{merchant_secret}}",
"octo_payment_UUID": "{{octo_payment_UUID}}",
"amount": 1000.00
}
Параметры запроса
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
octo_shop_id | int | Да | Уникальный идентификатор магазина, доступный в личном кабинете. |
shop_refund_id | string | Да | Уникальный идентификатор запроса на возврат, генерируемый системой. |
octo_secret | string | Да | Персональный секретный ключ магазина, генерируемый в личном кабинете. |
octo_payment_UUID | string | Да | Уникальный идентификатор платежа, созданный системой OCTO. |
amount | decimal | Да | Сумма возврата. |
Пример успешного ответа
json
{
"error": 0,
"errMessage": null,
"data": {
"octo_payment_UUID": "6b6b4477-ab8b-49dc-97eb-638b15b9b3e9",
"refund_id": "9ddd6a6c-e8c7-4859-9943-70c5bf7b4405",
"refund_time": "2024-12-18 16:59:39",
"status": "succeeded"
},
"errorMessage": null,
"apiMessageForDevelopers": "Поле errorMessage устарело, просим перейти на errMessage для унификации ответов."
}
Параметры успешного ответа
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
error | int | Да | Код ошибки. 0 означает успешный запрос. |
errMessage | string | Нет | Сообщение об ошибке, если ошибка произошла. Если нет, то null . |
data.octo_payment_UUID | string | Да | Уникальный идентификатор платежа в системе Octo. |
data.refund_id | string | Да | Уникальный идентификатор возврата. |
data.refund_time | string | Да | Время успешного возврата в формате ISO 8601. |
data.status | string | Да | Статус возврата. Возможные значения: succeeded , failed , pending . |
apiMessageForDevelopers | string | Нет | Сообщение для разработчиков о статусе API или изменениях. |
Пример неуспешных ответов
Ошибка с неправильной суммой возврата
json
{
"error": 22, // Код ошибки
"errMessage": "Wrong amount to refund.", // Сообщение об ошибке
"data": null,
"errorMessage": "Wrong amount to refund.", // Сообщение об ошибке
"apiMessageForDevelopers": "Поле errorMessage устарело, просим перейти на errMessage для унификации ответов. Так же пожалуйста знайте, что в дальнейшем все поля кроме error и errMessage будут передаваться в data. Для более подробного ознакомление свяжитесь с технической поддержкой сервиса"
// Сообщение для разработчиков о текущих изменениях API
}
Ошибка с неправильным секретным ключом
json
{
"error": 2, // Код ошибки
"errMessage": "Wrong secret", // Сообщение об ошибке
"data": null,
"errorMessage": "Wrong secret", // Сообщение об ошибке
"apiMessageForDevelopers": "Поле errorMessage устарело, просим перейти на errMessage для унификации ответов. Так же пожалуйста знайте, что в дальнейшем все поля кроме error и errMessage будут передаваться в data. Для более подробного ознакомление свяжитесь с технической поддержкой сервиса"
// Сообщение для разработчиков о текущих изменениях API
}
Параметры неуспешного ответа
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
error | int | Да | Код ошибки. |
errMessage | string | Да | Сообщение об ошибке. |
data | object | Нет | Основные данные транзакции (при ошибке может быть null ). |
errorMessage | string | Да | Устаревшее поле, сообщение об ошибке (рекомендуется использовать errMessage ). |
apiMessageForDevelopers | string | Нет | Сообщение для разработчиков о статусе API или изменениях. |
Примечание
Метод refund
применяется только для транзакций со статусом succeeded
. Минимальная сумма возврата — 1 USD (или эквивалент в UZS). При возникновении вопросов обратитесь в техническую поддержку.