sbp 0.0.1 copy "sbp: ^0.0.1" to clipboard
sbp: ^0.0.1 copied to clipboard

outdated

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 приложения

Также я предусмотрел то, что 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 приложения, в котором нужно открыть СБП

25
likes
0
pub points
82%
popularity

Publisher

verified publishersmena.space

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/.../

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on sbp