https://api.oblodai.com/v1/payment/refund · Аутентификация: обязательна · Идемпотентность: заголовок Idempotency-Key или тройка (платёж, адрес, сумма).
Примеры используют хелпер
call() и переменные $SECRET/$PUBLIC_ID — их определение см. в
Как подписать запрос. Проще не писать подпись руками, а взять
SDK.Параметры запроса
string
Идентификатор платежа.
string
Ваша ссылка на заказ платежа.
string
Адрес назначения возврата. По умолчанию —
payer_address, адрес, с которого пришли деньги.string
Сеть.
string
Частичная сумма. По умолчанию — вся полученная.
uuid или order_id. Всё остальное — по мере надобности.
address необязателен. Не передавайте его — и возврат уйдёт на
payer_address платежа. Обязателен он только для Bitcoin/UTXO: у таких
платежей нет единого отправителя, payer_address пуст, и без явного адреса вы получите
400 refund.no_address.Заголовки
Любое уникальное значение (≤255 символов), одинаковое во всех повторах одного возврата. Повтор вернёт тот же ответ и заголовок
Idempotent-Replayed: true. → ИдемпотентностьПример запроса
Обычный случай — вернуть всё плательщику. Ни адреса, ни суммы указывать не надо:Пример ответа
Коды ошибок
Нюансы
- Адрес по умолчанию — адрес плательщика. Шлюз запоминает, откуда пришли деньги
(
payer_address), и без явногоaddressвозвращает туда же. На аккаунтных сетях (EVM, Tron, Solana, TON) отправитель известен всегда. На Bitcoin/UTXO единого отправителя нет — тамaddressобязателен. - Возврат по API‑ключу авто‑одобряется и уходит сразу — как на адрес плательщика, так и на любой
другой (отдельное подтверждение через
/v1/payout/approveне требуется, как и для обычной выплаты). Поэтому не передавайтеaddressбез нужды и перепроверяйте его, если передаёте: отправленный возврат не остановить. - Валюта возврата — та, что фактически пришла. Возврат деноминирован в монете платежа и не
пересчитывается по новому курсу. Если счёт был в
USD, а заплатилиUSDT, вернётсяUSDT— ровно столько, сколько пришло. Курсовую разницу шлюз не компенсирует. - Идемпотентность. Заголовок
Idempotency-Keyлибо тройка(платёж, адрес, сумма). Суммарно нельзя вернуть больше оплаченного. - Кто несёт нашу комиссию при возврате — настраивается через
refund-fee-config. - Автоматический (не ручной) возврат недоплаты/переплаты настраивается отдельно —
autorefund. - Много возвратов сразу —
POST /v1/refund/batch(до 5000 за один запрос). - Что уже возвращено по счёту, видно в полях
refunds[]иrefund_statusответаPOST /v1/payment/info.
Связанные страницы
POST /v1/payment/autorefund/get · /set
POST /v1/refund/batch
массовые возвраты.
Кто платит комиссию возврата
Возвраты платежей
Объект платежа
payer_address, refunds[], refund_status.