Skip to content

Возврат средств через метод 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_idintДаУникальный идентификатор магазина, доступный в личном кабинете.
shop_refund_idstringДаУникальный идентификатор запроса на возврат, генерируемый системой.
octo_secretstringДаПерсональный секретный ключ магазина, генерируемый в личном кабинете.
octo_payment_UUIDstringДаУникальный идентификатор платежа, созданный системой OCTO.
amountdecimalДаСумма возврата.

Пример успешного ответа

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 для унификации ответов."
}

Параметры успешного ответа

ПараметрТипОбязательностьОписание
errorintДаКод ошибки. 0 означает успешный запрос.
errMessagestringНетСообщение об ошибке, если ошибка произошла. Если нет, то null.
data.octo_payment_UUIDstringДаУникальный идентификатор платежа в системе Octo.
data.refund_idstringДаУникальный идентификатор возврата.
data.refund_timestringДаВремя успешного возврата в формате ISO 8601.
data.statusstringДаСтатус возврата. Возможные значения: succeeded, failed, pending.
apiMessageForDevelopersstringНетСообщение для разработчиков о статусе 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
}

Параметры неуспешного ответа

ПараметрТипОбязательностьОписание
errorintДаКод ошибки.
errMessagestringДаСообщение об ошибке.
dataobjectНетОсновные данные транзакции (при ошибке может быть null).
errorMessagestringДаУстаревшее поле, сообщение об ошибке (рекомендуется использовать errMessage).
apiMessageForDevelopersstringНетСообщение для разработчиков о статусе API или изменениях.

Примечание

Метод refund применяется только для транзакций со статусом succeeded. Минимальная сумма возврата — 1 USD (или эквивалент в UZS). При возникновении вопросов обратитесь в техническую поддержку.