Перейти до вмісту

Статус рахунку та депозиту

Читайте стан рахунку або депозиту через GET-запити. Вебхуки сповіщають вас про зміни автоматично.

Прочитайте рахунок або депозит

Section titled “Прочитайте рахунок або депозит”

Використовуйте id, повернутий під час створення рахунку або депозиту:

Terminal window
curl 'https://platform.invoise.me/api/v1/shops/{shop_id}/issuances/{issuance_id}' \
-H 'Authorization: Bearer ivk_...'

Відповідні поля з прикладу відповіді (інші поля опущено):

{
"id": "f06b8a31-19c7-4687-ade3-1c09466d2751",
"kind": "invoice",
"status": "funded",
"amount": "10000000",
"received": "10000000",
"token_decimals": 6,
"expires_at": "2026-10-19T10:00:00Z",
"cancelled_at": null,
"disabled_at": null,
"payout_tx_hash": null
}

Обидві суми — рядки цілих чисел у базових одиницях. У цьому прикладі надійшло 10 токенів, але підтверджена транзакція виплати ще не показана.

status Що робити
registering Чекайте на непорожню address. Не формуйте її самостійно.
open Продовжуйте чекати. received може показувати частковий платіж.
funded Достатньо підтверджених коштів для розрахунку.
settled Рахунок закрито в мережі.
reconciling Чекайте узгодження; не вважайте це успішним платежем.

Також перевіряйте cancelled_at. Це часова мітка або null, а не значення статусу. Вона встановлюється, коли ви скасовуєте рахунок, коли неоплачений рахунок проходить свій expires_at, або коли персонал Invoise блокує мерчанта; вебхук invoice.cancelled розрізняє ці випадки через data.reason. Скасування приховує сторінку оплати, але не зупиняє вхідні кошти чи розрахунок. Вирішіть явно, як ваш бізнес обробляє оплачений, але скасований рахунок.

funded означає, що платіж отримано, а не що виплату завершено. settled фіксує закриття рахунку. Для повного обліку виплати використовуйте payout.confirmed; payout_tx_hash вказує на останній підтверджений вихідний переказ отримувачу, коли він доступний.

Якщо ви отримуєте transfer.reverted, Invoise повідомляє про відкат конкретного вхідного переказу в мережі. Визначте його через chain_event.reference_event_id, прочитайте поточний стан рахунку й скоригуйте свій запис про цей переказ один раз. Формат події див. у Вебхуках.

Депозитна адреса багаторазова. Вона може повернутися до open після виплати, тож не чекайте, що вона стане settled назавжди.

received — це накопичена підтверджена вхідна сума, а не залишок. Виплата не віднімається від неї. Вона може зменшитися, якщо переказ відкотять. Зараховуйте кожен вхідний платіж лише один раз; для цього зручні вебхуки, оскільки кожна подія має стабільний ID.

disabled_at керує доступністю сторінки оплати. Вимкнення депозиту не зупиняє відстеження його адреси.

Список рахунків і депозитів

Section titled “Список рахунків і депозитів”
Terminal window
curl 'https://platform.invoise.me/api/v1/shops/{shop_id}/payments?limit=50' \
-H 'Authorization: Bearer ivk_...'

З limit (1–100) відповідь має вигляд {"items":[...],"next_cursor":"..."}. Надсилайте cursor для наступної сторінки, поки next_cursor не стане порожнім. Без параметрів пагінації ендпоінт повертає обмежений масив; це не вся історія.

Список підтримує фільтри kind, status і q. Його фільтр status=paid обирає funded і settled; paid не є статусом рахунку, який повертає ендпоінт деталей.

Поле transfers ендпоінту деталей містить лише десять останніх підтверджених вхідних/вихідних записів. Не використовуйте його як повний реєстр.

Публічний статус сторінки оплати

Section titled “Публічний статус сторінки оплати”

GET /api/v1/checkout/{public_id} не потребує облікових даних. Він надає стан сторінки оплати, зокрема status, received, amount і expires_at. Для записів магазину на своєму бекенді використовуйте автентифікований ендпоінт рахунку.

Про надсилання оновлень і перевірку підпису див. Вебхуки.