StealthSurf VPNStealthSurf VPN
Доступные методыПрофиль

История платежей

Методы для получения истории платежей пользователя и платёжных чеков.

Обзор

Модуль для получения истории платежей пользователя и нормализованных платёжных чеков.


GET /profile/payments-history

Получить историю платежей пользователя, отсортированную по дате создания по убыванию.

Rate Limit: глобальный (60 req/min)

Query Parameters

ParameterTypeRequiredDescription
limitnumberНетКоличество записей, от 1 до 1000. По умолчанию 100
offsetnumberНетСмещение выборки (>= 0, по умолчанию 0)

Пример запроса

curl -X GET "https://api.stealthsurf.net/profile/payments-history?limit=10&offset=0" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: Array<{
    id: number                // Идентификатор записи
    amount: string | null     // Сумма платежа, decimal-строка
    type: string | null       // Тип операции из metadata.type: new_config | renewal | cloud_server | paid_option | balance_topup
    method: string            // Способ оплаты: sbp | card | ton | usdt | telegram_stars | balance | promocode | referral
    days: number | null       // Количество дней
    is_paid: boolean          // Оплачен ли платёж (наличие paid_at)
    as_key?: boolean          // Покупка ключа активации из metadata.as_key
    created_at: number        // Дата создания, Unix timestamp
  }>
}

Пример ответа

{
  "status": true,
  "statusCode": 200,
  "data": [
    {
      "id": 1234,
      "amount": "299.00",
      "type": "new_config",
      "method": "sbp",
      "days": 30,
      "is_paid": true,
      "as_key": false,
      "created_at": 1704067200
    },
    {
      "id": 1235,
      "amount": "199.00",
      "type": "renewal",
      "method": "card",
      "days": 30,
      "is_paid": true,
      "as_key": false,
      "created_at": 1706745600
    }
  ]
}

Поля type и as_key берутся из JSON-поля metadata платежа. Если metadata содержит некорректный JSON, они остаются значениями по умолчанию.

Для method: "promocode" поле as_key в ответе отсутствует, а type при пустом значении подставляется как new_config.

Типы платежей

ТипОписание
new_configПокупка новой конфигурации
renewalПродление конфигурации
cloud_serverПокупка облачного сервера
paid_optionПокупка платной опции
balance_topupПополнение баланса

Методы оплаты

МетодОписание
sbpСистема быстрых платежей
cardБанковская карта
tonTON криптовалюта
usdtUSDT криптовалюта (также варианты usdt_* для разных сетей)
telegram_starsTelegram Stars
balanceБаланс аккаунта
promocodeПромокод
referralРеферальный баланс

GET /profile/payments-history/:id/receipt

Получить нормализованный чек по записи истории платежей. Метод возвращает только платежи текущего пользователя и устанавливает заголовок Cache-Control: no-store.

Rate Limit: глобальный (60 req/min)

URL Parameters

ParameterTypeRequiredDescription
idnumberДаID записи истории платежей

Пример запроса

curl -X GET "https://api.stealthsurf.net/profile/payments-history/1234/receipt" \
  -H "Authorization: Bearer stlth_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYY"

Ответ

{
  status: true,
  statusCode: 200,
  data: {
    id: number
    status: "pending" | "paid"
    amount: string | null
    currency: string
    payment_method: string
    created_at: number
    paid_at: number | null
    service: {
      type: "vpn_config" | "cloud_server" | "paid_option" | "balance" | "activation_key" | "custom" | "unknown"
      action: "purchase" | "renewal" | "topup" | "transfer" | "payment" | "unknown"
      title: string
      details: Record<string, string | number | boolean>
    }
  }
}

Поле service.details зависит от типа услуги:

Тип услугиВозможные поля details
vpn_configdays, location, protocol, delivery
cloud_serverdays, location, tariff
paid_optiondays, option, location, delivery
balancecredited_amount, credited_currency
activation_keydays
custom, unknownПустой объект или безопасные нормализованные поля

Пример ответа

{
  "status": true,
  "statusCode": 200,
  "data": {
    "id": 1234,
    "status": "paid",
    "amount": "299.00",
    "currency": "RUB",
    "payment_method": "sbp",
    "created_at": 1786356000,
    "paid_at": 1786356060,
    "service": {
      "type": "vpn_config",
      "action": "purchase",
      "title": "VPN subscription",
      "details": {
        "days": 30,
        "location": "🇩🇪 Германия",
        "protocol": "vless",
        "delivery": "account"
      }
    }
  }
}

Ошибки

errorCodemessageКогда
1not foundПлатёж не найден или не принадлежит пользователю

Помогла ли вам эта статья?

Содержание