Постоплатний білінг
З постоплатним білінгом ви замовляєте energy, bandwidth, активацію та AML-перевірки без попереднього поповнення депозиту. Ціни на послуги розраховуються за відповідним індивідуальним тарифом клієнта, включно з діючими знижками. Нарахування, платежі та коригування відображаються у вашому інвойсі відповідно до умов виставлення рахунків і оплати вашого договору.
Постоплата вмикається компанією Netts за запитом для бізнес-акаунтів. Кінцеві точки в цьому розділі відповідають лише для акаунтів із постоплатним білінгом; інші акаунти отримують 403 postpaid_required.
Як це працює
- Ви замовляєте як зазвичай. Ті самі кінцеві точки замовлень, той самий API-ключ. Постоплатному акаунту не потрібен баланс депозиту для цих замовлень. Ціна є ціною згідно з вашим договором, включно з вашими знижками.
- Надані послуги фіксуються як нарахування. Прийняте замовлення саме по собі не є наданою послугою. Нарахування з'являється у використанні після того, як послуга або окремо оплачувана частина замовлення була надана — це може відбутися пізніше, ніж відповідь на замовлення.
- Ціна та курс фіксуються і зберігаються. Дійсне котирування фіксує ціну за вашим договором для цього замовлення. Без котирування застосовується ціна за вашим договором на момент розміщення замовлення, а сума у валюті вашого договору розраховується за курсом на момент надання послуги. Зафіксовані суми не перераховуються, коли ви переглядаєте використання, отримуєте інвойс або здійснюєте платіж.
- Ви отримуєте та оплачуєте свій інвойс. Розрахунковий період та умови оплати відповідають узгодженим у вашому договорі. Інвойс показує послуги за період, застосовані платежі та коригування, а також суму, що залишилася до сплати; платіж не видаляє записи про послуги. Дивіться інвойси та платежі. Валюта платежу, мережа та термін оплати вказані в
settlementу акаунті. Переплата залишається на вашому акаунті як кредит і використовується для наступних нарахувань.
Тариф, котирування та зафіксований обмінний курс
Котирування (freezePrice) фіксує ціну за вашим договором на одну хвилину. Розмістіть замовлення з quoteId і тими самими параметрами протягом цієї хвилини, і воно буде тарифікуватися за ціною котирування, навіть якщо ціна зміниться або послуга буде надана пізніше. Котирування є необов'язковим; дивіться параметри запиту для 1-годинної energy та 5-хвилинної energy.
Без котирування сума у валюті вашого договору розраховується за курсом на момент надання послуги, а не тоді, коли ви переглядали ціну або свій акаунт. Поточний курс — ваш курс і курс у відповідях акаунта — наведено лише для порівняння; він не є гарантією курсу для майбутнього замовлення.
AML-перевірки тарифікуються в доларах США та фіксуються у валюті вашого договору; еквівалент у TRX розраховується за курсом на момент завершення перевірки. Не перераховуйте нарахування за AML на основі округленої суми в TRX.
Суми відображаються в TRX та у валюті вашого договору; ваші ліміти обраховуються у валюті вашого договору. usdPerTrx — це курс TRX до валюти вашого договору. Ви сплачуєте у валюті та мережі вашого договору, вказаних у settlement.
Замовлення може містити більше ніж одне нарахування, наприклад, energy та окремо оплачувану активацію. Кожне нарахування має власний час і курс. Суми округлюються один раз до шести десяткових знаків, банківським округленням (half-even); котирування зберігає зазначені в ньому суми. Звіряйте замовлення за його нарахуваннями, а не шляхом застосування поточного курсу до його загальної суми.
Весь час вказано за UTC. Усі суми є десятковими рядками, наприклад "30000.000000" — аналізуйте їх десятковим типом, а не числом з плаваючою комою (float).
Кредитний ліміт
Netts встановлює кредитний ліміт вашого акаунта: максимальну суму, яку ви можете заборгувати в будь-який момент. Він відображається в акаунті та лімітах з "origin": "netts". Ви можете його бачити, але не можете змінити або вимкнути — зверніться до вашого менеджера Netts, якщо вам потрібен інший ліміт.
Продукти та API-ключі спільно використовують цей єдиний кредитний ліміт рівня акаунта. Кожне нове замовлення перевіряється на відповідність кожному застосовному ліміту. Якщо ця перевірка виявляє недостатній доступний кредит, замовлення відхиляється перед виконанням:
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached",
"product": "*",
"period": "outstanding",
"limitId": 1
}
}Кінцева точка замовлення відповідає 402. Платіж знову звільняє ліміт. Якщо перевірка тимчасово недоступна, кінцева точка замовлення відповідає 503 із кодом 5036 — повторіть спробу пізніше, за відхилену спробу нічого не було нараховано. Доступна сума, показана запитом на читання, є поточним значенням, а не резервуванням для наступного замовлення; інші прийняті замовлення можуть змінити її.
Ваші власні ліміти
У межах ліміту Netts ви можете встановлювати власні, нижчі ліміти — щоб контролювати витрати або обмежити окремі продукти:
- Ваш власний загальний ліміт — загальна сума, яку ви дозволяєте собі заборгувати, нижча за ліміт Netts.
- Ліміт на продукт — скільки може використати один продукт, наприклад
energy_5m.
Ваші ліміти ніколи не додають кредит. Ліміти на продукти не сумуються: за ліміту Netts у 50 USD ліміти продуктів у 50 USD для energy_1h та 50 USD для energy_5m усе одно спільно використовують 50 USD кредиту рівня акаунта. Перевірка замовлення застосовує кожен відповідний ліміт, а ліміти показують для кожного продукту, скільки наразі можна витратити.
Ліміт може враховувати:
period | Що враховується |
|---|---|
outstanding | неоплачені нарахування, плюс прийняті замовлення, які ще не зафіксовані |
day | нарахування поточного дня UTC, включно з оплаченими, плюс прийняті замовлення, які ще не зафіксовані |
week | нарахування поточного тижня UTC з понеділка 00:00 UTC, включно з оплаченими, плюс прийняті замовлення, які ще не зафіксовані |
order | сума одного нового замовлення |
Платіж зменшує вашу заборгованість, але не скидає використання за день або тиждень. Кредит від переплати відображається як creditApplied і зараховується один раз у рахунок вашої загальної заборгованості; він не додається до ліміту кожного продукту.
Ваші ліміти встановлюються у валюті ліміту Netts і не можуть бути вищими за нього. Якщо Netts знижує свій ліміт нижче одного з ваших, продовжує діяти нижче застосовне обмеження.
Продукти: energy_1h, energy_5m, bandwidth, activation, aml_check.
Права доступу API-ключа
Кожному API-ключу потрібен дозвіл для цього розділу. Ваш менеджер Netts надає його для кожного ключа:
| Дозвіл | Дозволяє |
|---|---|
billing.read | акаунт, курс, ліміти, використання, інвойси та платежі |
limits.write | створення, зміну, вимкнення та ввімкнення ваших власних лімітів |
Без дозволу кінцева точка відповідає 403 із billing_read_required або forbidden. Білий список IP-адрес ключа застосовується так само, як і для будь-якої іншої кінцевої точки. Ці кінцеві точки залишаються доступними, коли баланс депозиту дорівнює нулю.
Кінцеві точки
| Кінцева точка | Що вона робить |
|---|---|
GET /apiv2/billing/account | кредитний ліміт, заборгованість і те, що доступно зараз |
GET /apiv2/billing/rate | ваш поточний курс TRX до валюти вашого договору |
GET /apiv2/billing/limits | усі ліміти з використаними та доступними сумами, доступно по кожному продукту |
POST /apiv2/billing/limits | створення, зміна, вимкнення та ввімкнення ваших власних лімітів |
GET /apiv2/billing/usage | компоненти нарахувань, прив'язані до їхніх замовлень |
GET /apiv2/billing/invoices | інвойси, один інвойс із його нарахуваннями |
GET /apiv2/billing/payments | платежі та кредит |
Формат відповіді
{ "success": true, "data": { }, "timestamp": "2026-10-19T20:12:30+00:00" }Помилка від сервісу:
{
"success": false,
"error": { "code": "postpaid_required", "message": "this account has no postpaid billing" },
"timestamp": "2026-10-19T20:12:30+00:00"
}Відсутній або недійсний ключ, або запит з IP-адреси поза білим списком ключа, відхиляється шлюзом API до того, як досягне сервісу, з кодом 401:
{ "detail": { "code": -1, "msg": "Invalid or missing API key" } }Код -2 із "Invalid API key or IP not in whitelist" означає, що IP-адреса не входить до білого списку ключа. Понад 10 запитів на секунду або 300 на хвилину з однієї IP-адреси відхиляються з кодом 429 та {"message": "API rate limit exceeded"}.
| HTTP | code | Значення |
|---|---|---|
| 400 | invalid_request, invalid_amount, idempotency_key_required, invalid_idempotency_key | параметр відсутній або має неправильний формат |
| 403 | postpaid_required | акаунт не має постоплатного білінгу |
| 403 | postpaid_disabled | постоплатний білінг призупинено: ви можете читати, але не змінювати ліміти |
| 403 | billing_read_required, forbidden | у ключа відсутній дозвіл billing.read або limits.write |
| 403 | netts_limit_readonly | ліміт встановлено Netts і його не можна змінити |
| 404 | not_found | такого ліміту або інвойсу немає на вашому акаунті |
| 409 | revision_conflict | ліміт тим часом було змінено — прочитайте його знову |
| 409 | limit_exists | у вас уже є ліміт для цього продукту та періоду |
| 409 | idempotency_conflict | Idempotency-Key було використано з іншим запитом |
| 409 | no_account_limit | для акаунта ще не встановлено кредитний ліміт компанією Netts |
| 422 | above_account_limit | значення вище за ліміт Netts |
| 422 | product_not_postpaid | продукт недоступний на постоплаті |
| 422 | unit_mismatch | валюта ліміту Netts змінилася — встановіть нове значення перед увімкненням вашого ліміту |
| 503 | unavailable | тимчасово недоступно — повторіть спробу пізніше |
| 503 | rate_unavailable | ваш курс тимчасово недоступний — повторіть спробу пізніше |