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 кода.