Помилки й безпечні повтори
Розрізняйте невідомий результат і підтверджену відмову.
Envelope інтеграції: { "error": { "code": "INVALID_AMOUNT", "message": "Human-readable diagnostic" } }. Обробляйте error.code, а не лише HTTP/текст. Тайм-аут, втрачена відповідь чи звичайний 5xx залишають результат створення невідомим: повторюйте збережене тіло з тим самим Idempotency-Key.
| Код | Дія |
|---|---|
INVALID_REQUEST, INVALID_AMOUNT | Виправте поля; для v2 amountUsd/baseAmountUsd — додатний рядок до 18 цілих і 6 дробових цифр; 25.0000001 відхиляється. Без знаків, експоненти, пробілів і початкових нулів. |
INVALID_API_KEY | Перевірте секрет, проєкт і режим; не публікуйте ключ. |
PROJECT_NOT_READY, WALLET_NOT_CONFIGURED | Завершіть налаштування, перевірте гаманець/маршрут і доступність облікового запису. |
UNSUPPORTED_ASSET, UNSUPPORTED_NETWORK | Використовуйте запропонований маршрут поточного контексту. |
INVOICE_NOT_FOUND | Перевірте ID і проєкт/контекст; історичний код може означати відсутність сесії. |
IDEMPOTENCY_CONFLICT | Звірте збережені ID/тіло/замовлення; не обходьте новим ключем. |
DEMAND_MONITORING_UNAVAILABLE, TEMPORARILY_UNAVAILABLE | Зачекайте; зберігайте ідентичність запиту. |
AMOUNT_SPACE_EXHAUSTED | Маршрут недоступний; зверніться до підтримки, не вигадуйте точну суму. |
RATE_LIMITED | Враховуйте параметри повтору, backoff і jitter. |
429 може містити resourceCode, scope, limit, profile, retryAfterSeconds, retryable. Єдиної гарантованої квоти немає.
Остаточна відмова створення
Лише повністю перевірена помилка з code: "PAYMENT_CREATION_DECLINED", version: 1, retryable: false, sessionCreated: false, коректним rejectionId і відповідними projectId, mode, externalId, idempotencyKey, requestHash підтверджує зафіксовану відмову без сесії. Звірте всі поля зі збереженим запитом і збережіть квитанцію. Один HTTP 503, відсутнє поле чи невідповідна ідентичність залишають результат невідомим; не створюйте заміну з новим ключем.
Сплив строку не доводить остаточну несплату. Перевіряйте status, monitoringComplete, pendingSettlement та isFinal. Помилковий, додатковий чи пізній переказ потребує розгляду; не просіть автоматично новий переказ і не обіцяйте повернення.