sbp 0.0.1 sbp: ^0.0.1 copied to clipboard
Flutter plugin, with which you can get a list of banks installed on the user's device, as well as launch a link to pay via SBP like https://qr.nspk.ru/.../
sbp #
Flutter плагин, с помощью которого можно получить список банков установленных на устройстве пользователя, а также запустить ссылку на оплату по СБП вида https://qr.nspk.ru/.../
Добавление зависимостей #
Для использования плагина добавьте его в pubspec.yaml файл.
Установка #
IOS #
Добавьте URL schemes в LSApplicationQueriesSchemes
в Info.plist
файл:
Этот список нужен для того, чтобы дать возможность открывать сторонние установленные приложения на
IOS. Список поддерживаемых СБП банков можно получить по ссылке c2bmembers.json.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>bank100000000000</string>
<string>bank100000000001</string>
...
<string>bank100000000999</string>
<string>bank100000001000</string>
</array>
Предупреждение! Начиная с iOS 15 максимальное количество списка scheme не должно быть больше 50.Детальную информацию можно получить по этой ссылке
Описание функций #
Для использования sbp и получения текущей информации по поддерживаемым банкам СБП нужно поднять
собственный сервер, который будет раз в какой-то период подтягивать новую информацию по банкам.
Предупреждение!Если будете пользоваться json, не забудьте поменять ссылки на картинки в файле
/sbp/lib/data/c2bmembers_data.dart так, как они грузятся долго или не грузятся вообще.
Ссылки с текущими банками с оффициального сайта СБП
Либо можно воспользоваться текущим json добавленным мною в проект 11.08.2022:
- Android: /sbp/lib/data/asset_links_data.dart
- IOS: /sbp/lib/data/c2bmembers_data.dart
Sbp.getAndroidInstalledByAssetLinksJsonBanks(List<Map<String, dynamic>> assetLinks): Android
Передается переменная(json /sbp/lib/data/asset_links_data.dart), которая парсится и возвращает List
- name - имя приложения
- packageName - packageName приложения
- bitmap - bitmap иконки приложения
Sbp.getIOSInstalledByC2bmembersJsonBanks(Map<String, dynamic> c2bmembersData): IOS
Передается переменная(json /sbp/lib/data/c2bmembers_data.dart), которая парсится и возвращает
List.
C2bmembersModel содержит в себе поля такие как:
- version - версия json
- c2bmembersModel - List установленных приложений
- C2bmemberModel содержит в себе поля такие как:
- bankName - имя банка
- logoURL - ссылка на картинку
- schema - schema приложения
- packageName - packageName приложения
- C2bmemberModel содержит в себе поля такие как:
Также я предусмотрел то, что json может поменяться(если поднимать свой сервер с подкачкой данных)
Sbp.getAndroidInstalledByPackageNameBanks(List
Передаем список packageNames поддерживаемых СБП банков. Возвращается List
Sbp.getIOSInstalledBySchemesBanks(List
Передаем список schemas поддерживаемых СБП банков. List
Sbp.openAndroidBank(String url, String packageName)
Передаем url вида https://qr.nspk.ru/.../ и packageName приложения, в котором нужно открыть СБП
Sbp.openIOSBank(String url, String packageName)
Передаем url вида https://qr.nspk.ru/.../ и schema приложения, в котором нужно открыть СБП