# Оплата ЖКХ и штрафов ГИБДД

Помимо обычного QR СБП, в то же поле `qrCode` метода
[`POST /orders/prepare`](/guides/orders/prepare-order) можно передать
**платёжку ЖКХ** (строка `ST00012`) или **штраф ГИБДД** (по УИН). Тип платежа
определяется автоматически по содержимому поля и возвращается в `paymentType`.

Дальнейший флоу не меняется: котировка → [accept](/guides/orders/accept-order)
→ оплата трейдером. Реквизиты получателя сохраняются за ордером, чтобы трейдер
смог провести платёж.

## Что можно передать в `qrCode`

| Вход | `paymentType` | Откуда берётся сумма |
|  --- | --- | --- |
| QR СБП/NSPK, multiqr, platiqr | `nspk` | НСПК / multiqr |
| `ST00012|...` | `st00012` | поле `Sum` строки (в копейках) |
| `gibdd:uin:{20–25 цифр}` | `gibdd_uin` | автоматически из реестра штрафов |


## ЖКХ — формат ST00012

Передайте строку платёжного документа по ГОСТ Р 56042-2014 целиком. Сумма
берётся из поля `Sum` (в копейках), реквизиты получателя парсятся из строки.

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


```bash
curl -X POST 'https://b2b.lumowallet.io/orders/prepare' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "qrCode": "ST00012|Name=ООО УК Комфорт|PersonalAcc=40702810500000012345|BankName=ПАО Сбербанк|BIC=044525225|CorrespAcc=30101810400000000225|PayeeINN=7700000000|KPP=770001001|Sum=350075|Purpose=Оплата ЖКУ за май",
    "externalOrderId": "zhkh-0518"
  }'
```

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


```json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "amountRub": 3500.75,
  "amountUsdt": 36.85,
  "rate": 95.00,
  "paymentType": "st00012",
  "expiresAt": "2026-05-25T12:00:30Z",
  "isBalanceSufficient": true,
  "merchantName": "ЖКХ"
}
```

> Сумма `Sum=350075` (копейки) → `amountRub: 3500.75`.


### Поля ST00012, которые мы разбираем

| Поле ST00012 | Назначение |
|  --- | --- |
| `Name` | Получатель |
| `PersonalAcc` | Расчётный/казначейский счёт |
| `BankName` | Банк получателя |
| `BIC` | БИК |
| `CorrespAcc` | Корр. счёт |
| `PayeeINN` | ИНН получателя |
| `KPP` | КПП |
| `CBC` | КБК |
| `OKTMO` | ОКТМО |
| `Purpose` | Назначение платежа |
| `Sum` | Сумма в копейках |


## Штрафы ГИБДД — по УИН

Передайте УИН постановления в формате `gibdd:uin:{номер}`, где номер — 20–25 цифр.
Сумма к оплате (с учётом скидки, если она действует) и реквизиты получателя
подтягиваются автоматически из реестра штрафов.

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


```bash
curl -X POST 'https://b2b.lumowallet.io/orders/prepare' \
  -H 'X-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "qrCode": "gibdd:uin:18810177230000000000",
    "externalOrderId": "fine-9981"
  }'
```

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


```json
{
  "id": "7c3e0b22-9a1f-4c5b-8a0e-2b6f1d2c3e4a",
  "amountRub": 250.00,
  "amountUsdt": 2.63,
  "rate": 95.00,
  "paymentType": "gibdd_uin",
  "expiresAt": "2026-05-25T12:00:30Z",
  "isBalanceSufficient": true,
  "merchantName": "ГИБДД"
}
```

### Требования к УИН

- Только цифры, длина 20–25 символов.
- Невалидный УИН → `400` с сообщением о некорректном УИН.


## Реквизиты получателя

Для `st00012` и `gibdd_uin` за ордером сохраняются структурированные реквизиты
(получатель, счёт, БИК, ИНН/КПП, КБК, ОКТМО, назначение; для штрафов
дополнительно — статья КоАП, дата постановления, место). Их видит трейдер,
который проводит оплату. Для обычного `nspk` реквизиты не используются.

## Лимиты по сумме

Лимиты `qrMinAmountRub` / `qrMaxAmountRub` применяются ко всем типам платежей,
включая ЖКХ и штрафы. Если сумма не попадает в диапазон — `400`
(`Сумма ниже минимальной` / `Сумма выше максимальной`).

## Ошибки

| Код | errorCode / сообщение | Описание |
|  --- | --- | --- |
| 400 | `Поле Sum не найдено в ST00012 строке` | В строке ЖКХ нет суммы |
| 400 | Некорректный УИН | УИН не 20–25 цифр |
| 400 | `FINE_NOT_FOUND` | Штраф по УИН не найден |
| 400 | `FINE_ALREADY_PAID` | Штраф уже оплачен |
| 503 | `DRIVER_HELPER_TRANSIENT` | Сервис проверки штрафов временно недоступен, повторите попытку |


## Что дальше?

После котировки с `isBalanceSufficient: true` — переходите к
[подтверждению оплаты](/guides/orders/accept-order). Дальнейший жизненный цикл
ордера описан в разделе [Жизненный цикл ордера](/guides/orders/order-lifecycle).