JSON структуры ============== DeviceSettingsObject -------------------- Содержит в себе все настройки драйвера. .. sourcecode:: json { "deviceConnection": "DeviceConnectionObject (определено ниже)", "bankProfile": "Название профиля банка", "bankProfiles": "BankProfilesObject (определено ниже)" } DeviceConnectionObject ---------------------- Содержит в себе всю информацию, необходимую для подключения к терминалу оплаты. **Serial port:** .. sourcecode:: json { "connectionType": "Serial", "portName": "Название порта" } **Bluetooth:** .. sourcecode:: json { "connectionType": "BLE", "deviceName": "Название bluetooth девайса", "deviceAddress": "Адрес bluetooth девайса" } BankProfilesObject ------------------ Представляет из себя набор пар "название профиля": ``:ref:`BankProfileObject``` .. sourcecode:: json { "Название профиля банка 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 банков. Также есть возможность узнать статус оплаты. **Альфабанк:** .. sourcecode:: json { "bankName": "Alfa Bank", "userName": "USERNAME", "password": "PASSWORD" } **Газпромбанк:** .. sourcecode:: json { "bankName": "Gazprombank", "account": "ACCOUNT", "merchantId": "MERCHANT_ID" } **Райффейзенбанк:** .. sourcecode:: json { "bankName": "Raiffeisen Bank", "publicID": "PUBLIC_ID", "secretKey": "SECRET_KEY" } **Тинькофф банк:** .. sourcecode:: json { "bankName": "Tinkoff Bank", "terminalKey": "TERMINAL_KEY", "password": "PASSWORD" } **ЦФТ:** .. sourcecode:: json { "bankName": "CFT", "merchantId": "MERCHANT_ID", "accAlias": "ACC_ALIAS", "extEntityId": "EXT_ENTITY_ID", "password": "PASSWORD" } **ЮKassa:** .. sourcecode:: json { "bankName": "YooKassa", "login": "LOGIN", "password": "PASSWORD" } **Static:** Статический QR код регистрируется один раз и является многоразовым. Можно использовать любой банк для приема платежей, но без возможности узнать статус оплаты. Драйвер добавляет сумму и валюту платежа к платежной ссылке(https://sbp.nspk.ru/api/#section/Format-Funkcionalnoj-ssylki-SBP) .. sourcecode:: json { "bankName": "Static", "staticQR": "https://qr.nspk.ru/QR_ID" } .. warning:: Некоторые банки могут игнорировать сумму в платежной ссылке статического QR кода.