Первый шаг для оплаты QR-кода СБП — создание котировки с фиксированным курсом.
POST /orders/prepare| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
qrCode | string | Да | QR-код СБП (URL или payload) |
externalOrderId | string | Нет | Ваш внутренний ID заказа |
curl -X POST 'https://b2b.lumowallet.io/orders/prepare' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"qrCode": "https://qr.nspk.ru/AS10003P3RCT8NTGH6LR6D3P815L3SHK?type=02&bank=100000000001&sum=50000&cur=RUB&crc=F4AB",
"externalOrderId": "order-12345"
}'{
"id": "550e8400-e29b-41d4-a716-446655440000",
"amountRub": 5000.00,
"amountUsdt": 52.63,
"rate": 95.00,
"expiresAt": "2026-03-10T12:00:30Z",
"isBalanceSufficient": true,
"merchantName": "ООО Кофейня"
}| Поле | Тип | Описание |
|---|---|---|
id | uuid | ID котировки (используйте для accept) |
amountRub | number | Сумма в рублях |
amountUsdt | number | Сумма в USDT по текущему курсу |
rate | number | Курс RUB/USDT |
expiresAt | datetime | Время истечения котировки |
isBalanceSufficient | boolean | Достаточно ли средств на балансе |
merchantName | string | Название получателя (если доступно) |
Котировка действует 30 секунд. После истечения:
- Котировка становится недействительной
- Попытка accept вернёт ошибку
400 Quote expired - Необходимо создать новую котировку
Поле isBalanceSufficient показывает, достаточно ли средств для оплаты:
true— можно вызывать acceptfalse— сначала пополните баланс
Поддерживаются оба формата:
URL формат:
https://qr.nspk.ru/AS10003P3RCT8NTGH6LR6D3P815L3SHK?type=02&bank=100000000001&sum=50000&cur=RUB&crc=F4ABPayload формат:
ST00012|Name=ООО Кофейня|PersonalAcc=40702810...| Код | Ошибка | Описание |
|---|---|---|
| 400 | Invalid QR code | Невалидный QR-код |
| 400 | QR code parsing failed | Ошибка парсинга QR |
| 401 | Unauthorized | Неверный API-ключ |
| 503 | NSPK service unavailable | Сервис НСПК недоступен |
После получения котировки с isBalanceSufficient: true, переходите к подтверждению оплаты.