Доступные методыПрофиль
Баланс
Методы для работы с балансом аккаунта: история, расчёт стоимости, пополнение.
Обзор
Модуль для работы с балансом аккаунта. Позволяет рассчитывать стоимость пополнения и пополнять баланс.
GET /profile/balance/calculate
Рассчитать стоимость пополнения баланса.
Rate Limit: 5 req/sec
Query Parameters
| Parameter | Type | Required | Validation | Description |
|---|---|---|---|---|
amount | number | Да | @IsInt @Min(1) @Max(14000) | Сумма в рублях (1-14000) |
Пример запроса
curl -X GET "https://api.stealthsurf.net/profile/balance/calculate?amount=500" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: Array<{
id: number
method_key: string // sbp | ton | etc.
display_name: string // Название способа оплаты
price: number // Стоимость в валюте
currency: string // RUB | TON | etc.
}>
}Пример ответа
{
"status": true,
"statusCode": 200,
"data": [
{
"id": 1,
"method_key": "sbp",
"display_name": "СБП",
"price": 500,
"currency": "RUB"
},
{
"id": 3,
"method_key": "ton",
"display_name": "TON",
"price": 1.25,
"currency": "TON"
}
]
}В ответ не попадают неактивные методы, а также методы balance и promocode. Методы с суммой ниже min_amount исключаются (кроме referral). Сортировка — по полю position, затем по id.
POST /profile/balance/topup
Пополнить баланс.
Rate Limit: 1 req/sec
Request Body
| Field | Type | Required | Validation | Description |
|---|---|---|---|---|
amount | number | Да | @IsInt @Min(1) @Max(14000) | Сумма в рублях (1-14000) |
payment_method_id | number | Да | @IsInt | ID способа оплаты |
Заголовки
| Header | Описание |
|---|---|
x-forwarded-for | IP-адрес клиента (учитывается платёжным шлюзом) |
Пример запроса
curl -X POST "https://api.stealthsurf.net/profile/balance/topup" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY" \
-H "Content-Type: application/json" \
-d '{
"amount": 500,
"payment_method_id": 1
}'Ответ
{
status: true,
statusCode: 200,
data: {
link: string // Ссылка на оплату
}
}Пример ответа
{
"status": true,
"statusCode": 200,
"data": {
"link": "https://sbp.fk.life/pay/1234567890"
}
}Ответ (перевод с реферального баланса)
При пополнении основного баланса с реферального ответ — просто true (а не объект с link).
{
status: true,
statusCode: 200,
data: true
}Ошибки
| errorCode | message | Когда |
|---|---|---|
| 3 | bad request | Неверный запрос |
| 15 | referral balance not enough | Недостаточно реферального баланса для перевода |
| 46 | invalid topup amount | Неверная сумма пополнения (вне диапазона 1-14000) |
Минимальная сумма пополнения — 1 рубль, максимальная — 14000 рублей.
GET /profile/balance/monthly-spend
Получить нормализованные ежемесячные расходы по автопродлеваемым подпискам.
Rate Limit: 5 req / 1 sec
Пример запроса
curl -X GET "https://api.stealthsurf.net/profile/balance/monthly-spend" \
-H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"Ответ
{
status: true,
statusCode: 200,
data: {
total: number // Суммарные расходы
currency: string // Валюта (RUB)
has_active_renewals: boolean
next_charge: { // null, если нет активных автопродлений
at: number // Unix timestamp следующего списания
amount: number
} | null
items: Array<{
type: string // config | cloud_server | paid_option
id: number
title: string
days: number
charge_amount: number
price_per_month: number
expires_at: number
}>
}
}Пример ответа
{
"status": true,
"statusCode": 200,
"data": {
"total": 750,
"currency": "RUB",
"has_active_renewals": true,
"next_charge": {
"at": 1716153600,
"amount": 250
},
"items": [
{
"type": "config",
"id": 12,
"title": "🇳🇱 Нидерланды",
"days": 30,
"charge_amount": 250,
"price_per_month": 250,
"expires_at": 1716153600
}
]
}
}Помогла ли вам эта статья?