Подтверждение или отмена платежа

Если платеж создавался с параметром auto_capture = false, то после перехода платежа в состояние waiting_for_capture сервис Octo ожидает от магазина подтверждения или отмены платежа.

В случае если подтверждение или отмена платежа магазином не была выполнена в рамках ответа на нотификацию магазина сервисом Octo (запрос на notify_url сервисом Octo) то магазин должен выполнить подтверждение или отмену платежа собственным запросом к системе Octo.

Формат запроса:

URL: https://secure.octo.uz/set_accept

Method: POST

Content-type: application/json

Тело запроса:

{
  "octo_shop_id": 10000,
  "octo_secret": "2d45df74-bb95-47cf-a616-8d6dcee2e10d",
  "octo_payment_UUID": "1145df74-bb95-47cf-a616-8d6dcee2e222",
  "accept_status": "capture",
  "final_amount": 100000
}

Описание полей запроса:

Поле Обязательное Описание
octo_shop_id да Уникальный ID магазина (доступен в ЛК магазина)
octo_secret да Персональный секретный ключ магазина, который генерируется в ЛК магазина. Должен содержаться в безопасной недоступной зоне сайта магазина.
octo_payment_UUID да Уникальный идентификатор транзакции в ПС Octo.
accept_status да Может принимать значения:
capture - подтвердить платеж
cancel - отменить платеж
final_amount нет Уменьшенная финальная сумма платежа

В ответ на запрос магазина ПС Octo отвечает следующим JSON в теле ответа:

{
    "error": 0,
    "errMessage": "",
    "data": {
        "status": "created",
        "shop_transaction_id": "uniq shop transaction_id",
        "octo_payment_UUID": "1145df74-bb95-47cf-a616-8d6dcee2e222",
        "octo_pay_url": "https://pay.octo.uz/pay_wisard/1145df74-bb95-47cf-a616-8d6dcee2e222",
        "transfer_sum": 990.00,
        "refunded_sum": 0.00,
        "processor_key": "ygygdxsxgh=",
        "rrn": "253242",
        "cancel_reason": "error_1",
        "processing_code": "777"
    }
}

Описание полей ответа Octo:

Поле Обязательное Описание
data да (если error=0) При успешном ответе содержит все поля (кроме erroe и errMessage).
status да (если error=0) Статус платежа в системе Octo, один из:

created - платеж создан
canceled - платеж отменен
wait_user_action - ожидает действий пользователя
waiting_for_capture - платеж авторизован и ожидает подтверждения магазином
succeeded - платеж успешно выполнен
shop_transaction_id да (если error=0) Уникальный идентификатор транзакции на стороне магазина.
octo_payment_UUID да (если error=0) Уникальный идентификатор транзакции в ПС Octo.
octo_pay_url да (если error=0) URL совершения платежа в ПС Octo
error да Код ошибки. Варианты:

0 - нет ошибок
1 - ошибка формата данных
2 - ошибка авторизации
4 - внутренняя ошибка сервиса
10 - Не удалось сменить статус платежа
11 - платеж с указанным octo_payment_UUID не найден
errMessage нет детальное описание ошибки
transfer_sum нет Сумма по счету за вычетом комиссии Octo, доступная для возврата средств покупателю
refunded_sum нет Возвращенная покупателю сумма

В случае, если магазин не подтверждает платеж в течение 2 часов с момента перевода в статус waiting_for_capture то платеж автоматически отменяется и деньги возвращаются на счет покупателя.