Перейти к содержимому
Последнее обновление

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

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

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

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

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

ЖКХ — формат ST00012

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

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

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"
  }'

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

{
  "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 цифр. Сумма к оплате (с учётом скидки, если она действует) и реквизиты получателя подтягиваются автоматически из реестра штрафов.

Штраф выставляется одним из двух способов:

  • как обычный платёж СБП — по УИН выпускается ссылка СБП, и дальше ордер живёт как обычный QR: paymentType: nspk, в merchantName — получатель из НСПК;
  • по реквизитам — если выпустить ссылку не удалось: paymentType: gibdd_uin, merchantName: ГИБДД, реквизиты получателя сохраняются за ордером.

Способ выбирается автоматически, ваш код должен принимать оба варианта.

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

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"
  }'

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

Платёж СБП:

{
  "id": "7c3e0b22-9a1f-4c5b-8a0e-2b6f1d2c3e4a",
  "amountRub": 250.00,
  "amountUsdt": 2.63,
  "rate": 95.00,
  "paymentType": "nspk",
  "expiresAt": "2026-05-25T12:00:30Z",
  "isBalanceSufficient": true,
  "merchantName": "Получатель из НСПК"
}

Платёж по реквизитам:

{
  "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 GIBDD_UIN_INVALID.

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

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

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

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

Ошибки

HTTPerrorCodeОписание
400ST00012_SUM_MISSINGВ строке ЖКХ нет поля Sum
400ST00012_SUM_INVALIDПоле Sum не число или не больше нуля
400GIBDD_UIN_INVALIDУИН не 20–25 цифр
400FINE_NOT_FOUNDШтраф по УИН не найден
400FINE_ALREADY_PAIDШтраф уже оплачен
503DRIVER_HELPER_TRANSIENTСервис проверки штрафов временно недоступен, повторите попытку. При сетевом сбое может прийти 500

Что дальше?

После котировки с isBalanceSufficient: true — переходите к подтверждению оплаты. Дальнейший жизненный цикл ордера описан в разделе Жизненный цикл ордера.