Помимо обычного QR СБП, в то же поле qrCode метода POST /orders/prepare можно передать платёжку ЖКХ (строка ST00012) или штраф ГИБДД (по УИН). Тип платежа определяется автоматически по содержимому поля и возвращается в paymentType.
Дальнейший флоу не меняется: котировка → accept → оплата трейдером. Реквизиты получателя сохраняются за ордером, чтобы трейдер смог провести платёж.
| Вход | paymentType | Откуда берётся сумма |
|---|---|---|
| QR СБП/NSPK, multiqr, platiqr | nspk | НСПК / multiqr |
ST00012|... | st00012 | поле Sum строки (в копейках) |
gibdd:uin:{20–25 цифр} | nspk или gibdd_uin | автоматически из реестра штрафов |
Передайте строку платёжного документа по ГОСТ Р 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 | Назначение |
|---|---|
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.
| HTTP | errorCode | Описание |
|---|---|---|
| 400 | ST00012_SUM_MISSING | В строке ЖКХ нет поля Sum |
| 400 | ST00012_SUM_INVALID | Поле Sum не число или не больше нуля |
| 400 | GIBDD_UIN_INVALID | УИН не 20–25 цифр |
| 400 | FINE_NOT_FOUND | Штраф по УИН не найден |
| 400 | FINE_ALREADY_PAID | Штраф уже оплачен |
| 503 | DRIVER_HELPER_TRANSIENT | Сервис проверки штрафов временно недоступен, повторите попытку. При сетевом сбое может прийти 500 |
После котировки с isBalanceSufficient: true — переходите к подтверждению оплаты. Дальнейший жизненный цикл ордера описан в разделе Жизненный цикл ордера.