JSON структуры
DeviceSettingsObject
Содержит в себе все настройки драйвера.
{
"deviceConnection": "DeviceConnectionObject (определено ниже)",
"bankProfile": "Название профиля банка",
"bankProfiles": "BankProfilesObject (определено ниже)"
}
DeviceConnectionObject
Содержит в себе всю информацию, необходимую для подключения к терминалу оплаты.
Serial port:
{
"connectionType": "Serial",
"portName": "Название порта"
}
Bluetooth:
{
"connectionType": "BLE",
"deviceName": "Название bluetooth девайса",
"deviceAddress": "Адрес bluetooth девайса"
}
BankProfilesObject
Представляет из себя набор пар «название профиля»: :ref:`BankProfileObject`
{
"Название профиля банка 1": "BankProfileObject (определено ниже)",
"Название профиля банка 2": "BankProfileObject (определено ниже)",
"Название профиля банка N": "BankProfileObject (определено ниже)"
}
BankProfileObject
Профиль банка содержит в себе информацию, необходимую для формирования QR кода на оплату. Поддерживается Static и Dynamic типы QR кодов(https://sbp.nspk.ru/api/#section/Opisanie-polzovatelskih-scenariev/Registraciya-i-poluchenie-Platezhnyh-i-Informacionnyh-ssylok-SBP).
Dynamic: Динамический QR код является одноразовым и регистрируется с помощью API банков. Также есть возможность узнать статус оплаты.
Альфабанк:
{
"bankName": "Alfa Bank",
"userName": "USERNAME",
"password": "PASSWORD"
}
Газпромбанк:
{
"bankName": "Gazprombank",
"account": "ACCOUNT",
"merchantId": "MERCHANT_ID"
}
Райффейзенбанк:
{
"bankName": "Raiffeisen Bank",
"publicID": "PUBLIC_ID",
"secretKey": "SECRET_KEY"
}
Тинькофф банк:
{
"bankName": "Tinkoff Bank",
"terminalKey": "TERMINAL_KEY",
"password": "PASSWORD"
}
ЦФТ:
{
"bankName": "CFT",
"merchantId": "MERCHANT_ID",
"accAlias": "ACC_ALIAS",
"extEntityId": "EXT_ENTITY_ID",
"password": "PASSWORD"
}
ЮKassa:
{
"bankName": "YooKassa",
"login": "LOGIN",
"password": "PASSWORD"
}
Static: Статический QR код регистрируется один раз и является многоразовым. Можно использовать любой банк для приема платежей, но без возможности узнать статус оплаты. Драйвер добавляет сумму и валюту платежа к платежной ссылке(https://sbp.nspk.ru/api/#section/Format-Funkcionalnoj-ssylki-SBP)
{
"bankName": "Static",
"staticQR": "https://qr.nspk.ru/QR_ID"
}
Предупреждение
Некоторые банки могут игнорировать сумму в платежной ссылке статического QR кода.