Документація / Довідник

Коди помилок

Тіло помилки завжди однакове. Орієнтуйтеся на code, а не на текст: текст написано для людини, і він може змінюватися.

JSON
{ "error": { "code": "duplicate_order", "message": "Рахунок для цього order_id уже створено" } }
Коли повторювати безпечноУ разі 429, 500, 503, idempotency_in_progress і мережевих помилок — з тим самим Idempotency-Key: дубліката не буде.

Запит і доступ

HTTPcodeПричина та що робити
400bad_json, bad_bodyТіло не JSON, зайві поля або сума числом замість рядка — виправте запит
400bad_idempotency_keyНемає ключа або неправильний формат: 8–128 друкованих символів ASCII, не починається з d:
400bad_queryНеправильні параметри списку
401unauthorizedПідпис, час, nonce або ключ — див. CP-HMAC
403merchant_suspendedМерчанта призупинено — зверніться до підтримки
403merchant_not_approvedПідключення не завершено або заявка на розгляді — завершіть майстер у кабінеті
403billing_suspendedНе оплачено рахунок на комісію — оплатіть у кабінеті, розділ «Білінг»; призупинення знімається одразу
404not_foundРахунку немає або він чужий
413body_too_largeТіло перевищує ліміт — зменште metadata
429rate_limitedЗабагато запитів — повторіть з експоненційною паузою
500internalВнутрішня помилка — повторіть з тим самим Idempotency-Key

Рахунки та ідемпотентність

HTTPcodeПричина та що робити
409duplicate_orderorder_id уже використано — потрібен новий, наприклад ORDER-1001-2
409idempotency_conflictТой самий ключ з іншим тілом
409idempotency_in_progressПерший запит ще виконується — повторіть за 1–2 с
409invoice_not_payableРахунок прострочено або закрито — створіть новий
422invalid_order_id, invalid_price_amount, invalid_price_currency, invalid_return_url, invalid_expires_in_seconds, invalid_metadataПоле не пройшло перевірку — текст підказує правило
422invalid_allowed_assetsЖоден актив зі списку не доступний — у тексті причина для кожного
422no_assetsНемає жодного доступного активу — перевірте гаманці й активи в кабінеті
422amount_too_smallСума менша за мінімум усіх доступних активів

Вибір валюти на сторінці оплати

Ці помилки обробляє сторінка оплати — ваш сервер стикається з ними, лише якщо ви викликаєте select самі.

HTTPcodeПричина
409asset_lockedЗміна валюти після платежу
409wallet_not_configuredНемає чинного гаманця для приймання в цій мережі
409wallet_changed, address_conflictПовторіть вибір
422asset_not_allowedАктиву немає в рахунку або він більше не дозволений
503rate_unavailableНемає підтвердженого курсу — запропонуйте стейблкоїн
503network_unavailableПриймання в мережі тимчасово недоступне — оберіть іншу

Повернення

HTTPcodeПричина
403merchant_inactiveМагазин призупинено або ключ відкликано
409invoice_not_paidДля рахунку не обрано актив — повертати нічого
409nothing_to_refundУсе вже повернуто або запитано
409too_many_refunds20 відкритих заявок за рахунком
409refund_executorПовернення виконує платформа, а не ви
409invoice_status_changedСтатус рахунку змінився після заявки — повторіть з "ack_status_change": true
422amount_exceeds_refundableСума більша за доступну — зменште її або вкажіть "full"
422invalid_amount, invalid_address, invalid_tx_hashПоле не пройшло перевірку