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.*событиями.