Skip to main content
Решение судьбы недоплаченного платежа (статус wrong_amount): accept — оставить частичную оплату себе (и отключить автовозврат для этого счёта) или refund — вернуть средства плательщику. Средства недоплаты к этому моменту уже зачислены на ваш баланс, вебхук invoice.wrong_amount уже отправлен. URL: https://api.oblodai.com/v1/payment/resolve · Аутентификация: обязательна, payout-ключ · Идемпотентность: заголовок Idempotency-Key поддержан; решение дополнительно идемпотентно на уровне счёта (одно на счёт).
Примеры используют хелпер call() и переменные $SECRET/$PUBLIC_ID — их определение см. в Как подписать запрос. Проще не писать подпись руками, а взять SDK.

Параметры запроса

string
UUID платежа. Нужен uuid или order_id.
string
Ваш идентификатор платежа.
string
обязательно
accept — принять частичную оплату · refund — вернуть плательщику.
string
Только для refund: адрес возврата. По умолчанию — записанный payer_address платежа; если он пуст (Bitcoin/UTXO), адрес обязателен, иначе refund.no_address.
string
Только для refund: сеть возврата, по умолчанию — сеть платежа.
string
Только для refund: ваш ключ дедупликации возврата.

Пример запроса

Пример ответа

При refund ответ содержит обычный объект возврата-выплаты (uuid, status из словаря выплат) — отслеживайте его как выплату.

Коды ошибок

400
action не accept и не refund. Повтор: Нет.
409
Платёж не в статусе wrong_amount (например, поздняя доплата перевела его в paid). Повтор: Нет — сверьтесь с /v1/payment/info.
409
Решение по счёту уже принято (противоположное действие). Повтор: Нет.
409
По счёту уже был возврат — принять недоплату нельзя. Повтор: Нет.
400
Не указан адрес возврата, а payer_address у платежа пуст (UTXO-сети). Повтор: Нет — передайте address.
404
Платёж не найден. Повтор: Нет — сверьте uuid/order_id.
503
Функция выключена на шлюзе. Повтор: Нет — обратитесь в поддержку.
Возврат также может вернуть обычные ошибки возвратов: refund.nothing_to_refund, refund.dust, refund.destination_internal, compliance.blocked и др. — см. Возврат платежа.

Нюансы

  • accept останавливает автовозврат для этого счёта: решение и поллер автовозврата сериализованы на локе счёта — гонки «приняли и одновременно вернули» нет.
  • Повторный accept — no-op (идемпотентно); refund после accept (и наоборот) → resolution.already_resolved.
  • accept не эмитит вебхуков; refund порождает выплату с обычными payout.* событиями.

Связанные страницы

Недоплата, переплата и автовозврат

Автовозврат: настройки

Возврат платежа

Объект Payment