├── .gitignore
├── .metadata
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── build.gradle
├── repo
│ └── sbp
│ │ └── payments
│ │ └── sdk
│ │ └── sbp_sdk
│ │ ├── 1.2
│ │ ├── sbp_sdk-1.2.aar
│ │ └── sbp_sdk-1.2.pom
│ │ └── maven-metadata-local.xml
├── settings.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── kotlin
│ └── sbp
│ └── plugin
│ └── sbp_pay
│ └── SbpPayPlugin.kt
├── example
├── .gitignore
├── README.md
├── analysis_options.yaml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── sbp
│ │ │ │ │ └── plugin
│ │ │ │ │ └── sbp_pay_example
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable-v21
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-night
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ └── main.dart
├── pubspec.lock
├── pubspec.yaml
└── test
│ └── widget_test.dart
├── ios
├── .gitignore
├── Assets
│ └── .gitkeep
├── Classes
│ └── SbpPayPlugin.swift
├── SBPWidget.xcframework
│ ├── Info.plist
│ ├── ios-arm64
│ │ └── SBPWidget.framework
│ │ │ ├── Assets.car
│ │ │ ├── Headers
│ │ │ ├── SBPWidget-Swift.h
│ │ │ └── SBPWidget.h
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ ├── SBPWidget.swiftmodule
│ │ │ │ ├── arm64-apple-ios.swiftdoc
│ │ │ │ └── arm64-apple-ios.swiftinterface
│ │ │ └── module.modulemap
│ │ │ ├── SBPWidget
│ │ │ └── en.lproj
│ │ │ └── Localizable.strings
│ └── ios-arm64_x86_64-simulator
│ │ └── SBPWidget.framework
│ │ ├── Assets.car
│ │ ├── Headers
│ │ ├── SBPWidget-Swift.h
│ │ └── SBPWidget.h
│ │ ├── Info.plist
│ │ ├── Modules
│ │ ├── SBPWidget.swiftmodule
│ │ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ │ ├── arm64-apple-ios-simulator.swiftinterface
│ │ │ ├── x86_64-apple-ios-simulator.swiftdoc
│ │ │ └── x86_64-apple-ios-simulator.swiftinterface
│ │ └── module.modulemap
│ │ ├── SBPWidget
│ │ ├── _CodeSignature
│ │ └── CodeResources
│ │ └── en.lproj
│ │ └── Localizable.strings
└── sbp_pay.podspec
├── lib
└── sbp_pay.dart
├── pubspec.yaml
└── test
└── sbp_pay_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 | migrate_working_dir/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # The .vscode folder contains launch configuration and tasks you configure in
20 | # VS Code which you may wish to be included in version control, so this line
21 | # is commented out by default.
22 | #.vscode/
23 |
24 | # Flutter/Dart/Pub related
25 | # Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
26 | /pubspec.lock
27 | **/doc/api/
28 | .dart_tool/
29 | .packages
30 | build/
31 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled.
5 |
6 | version:
7 | revision: 9944297138845a94256f1cf37beb88ff9a8e811a
8 | channel: stable
9 |
10 | project_type: plugin
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
17 | base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
18 | - platform: android
19 | create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
20 | base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
21 | - platform: ios
22 | create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
23 | base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a
24 |
25 | # User provided section
26 |
27 | # List of Local paths (relative to this file) that should be
28 | # ignored by the migrate tool.
29 | #
30 | # Files that are not part of the templates will be ignored by default.
31 | unmanaged_files:
32 | - 'lib/main.dart'
33 | - 'ios/Runner.xcodeproj/project.pbxproj'
34 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## 0.0.1
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | TODO: Add your license here.
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # sbp_pay
2 |
3 | Плагин для удобного использования виджета [СБП](https://sbp.nspk.ru/).
4 |
5 | 
6 |
7 | [Статья](https://habr.com/ru/companies/friflex/articles/768610/) о том как использовать плагин.
8 |
9 | Авторы: [@mozerrr](https://github.com/mozerrr), [@pogrammist](https://github.com/pogrammist),
10 | [@RonFall](https://github.com/RonFall)
11 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | include: package:flutter_lints/flutter.yaml
2 |
3 | # Additional information about this file can be found at
4 | # https://dart.dev/guides/language/analysis-options
5 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .cxx
10 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | group 'sbp.plugin.sbp_pay'
2 | version '1.0-SNAPSHOT'
3 |
4 | buildscript {
5 | ext.kotlin_version = '1.7.10'
6 | repositories {
7 | google()
8 | mavenCentral()
9 | }
10 |
11 | dependencies {
12 | classpath 'com.android.tools.build:gradle:7.2.0'
13 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
14 | }
15 | }
16 |
17 | allprojects {
18 | repositories {
19 | google()
20 | mavenCentral()
21 | }
22 | }
23 |
24 | apply plugin: 'com.android.library'
25 | apply plugin: 'kotlin-android'
26 |
27 | android {
28 | compileSdkVersion 33
29 |
30 | compileOptions {
31 | sourceCompatibility JavaVersion.VERSION_1_8
32 | targetCompatibility JavaVersion.VERSION_1_8
33 | }
34 |
35 | kotlinOptions {
36 | jvmTarget = '1.8'
37 | }
38 |
39 | sourceSets {
40 | main.java.srcDirs += 'src/main/kotlin'
41 | }
42 |
43 | defaultConfig {
44 | minSdkVersion 21
45 | }
46 | }
47 |
48 | // Ищем в папке android папку repo
49 | String path = project.mkdir("repo").absolutePath
50 | rootProject.allprojects {
51 | repositories {
52 | maven {
53 | url "$path" // Добавляем бандл с SDK как maven источник
54 | }
55 | }
56 | }
57 |
58 | dependencies {
59 | // Добавляем зависимость как тразитивную
60 | implementation('sbp.payments.sdk:sbp_sdk:1.2@aar') { transitive = true }
61 | }
62 |
--------------------------------------------------------------------------------
/android/repo/sbp/payments/sdk/sbp_sdk/1.2/sbp_sdk-1.2.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/android/repo/sbp/payments/sdk/sbp_sdk/1.2/sbp_sdk-1.2.aar
--------------------------------------------------------------------------------
/android/repo/sbp/payments/sdk/sbp_sdk/1.2/sbp_sdk-1.2.pom:
--------------------------------------------------------------------------------
1 |
2 |
3 | 4.0.0
4 | sbp.payments.sdk
5 | sbp_sdk
6 | 1.2
7 | aar
8 |
9 |
10 | androidx.core
11 | core-ktx
12 | 1.9.0
13 |
14 |
15 | androidx.appcompat
16 | appcompat
17 | 1.6.0
18 |
19 |
20 | org.jetbrains.kotlinx
21 | kotlinx-coroutines-android
22 | 1.6.4
23 |
24 |
25 | com.google.android.material
26 | material
27 | 1.7.0
28 |
29 |
30 | io.insert-koin
31 | koin-android
32 | 3.3.2
33 |
34 |
35 | com.google.code.gson
36 | gson
37 | 2.10
38 |
39 |
40 | com.squareup.okhttp3
41 | okhttp-bom
42 | 4.10.0
43 |
44 |
45 | com.squareup.okhttp3
46 | okhttp
47 |
48 |
49 |
50 | com.squareup.okhttp3
51 | logging-interceptor
52 |
53 |
54 |
55 | com.squareup.retrofit2
56 | retrofit
57 | 2.9.0
58 |
59 |
60 | com.squareup.retrofit2
61 | converter-scalars
62 | 2.9.0
63 |
64 |
65 | androidx.lifecycle
66 | lifecycle-viewmodel-ktx
67 | 2.5.1
68 |
69 |
70 | androidx.lifecycle
71 | lifecycle-runtime-ktx
72 | 2.5.1
73 |
74 |
75 | com.github.bumptech.glide
76 | glide
77 | 4.14.2
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/android/repo/sbp/payments/sdk/sbp_sdk/maven-metadata-local.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | sbp.payments.sdk
4 | sbp_sdk
5 |
6 | 1.2
7 | 1.2
8 |
9 | 1.2
10 |
11 | 20230115181623
12 |
13 |
14 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'sbp_pay'
2 |
--------------------------------------------------------------------------------
/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/android/src/main/kotlin/sbp/plugin/sbp_pay/SbpPayPlugin.kt:
--------------------------------------------------------------------------------
1 | package sbp.plugin.sbp_pay
2 |
3 | import androidx.annotation.NonNull
4 | import android.app.Activity
5 | import android.content.Context
6 | import io.flutter.embedding.android.FlutterFragmentActivity
7 |
8 | import io.flutter.embedding.engine.plugins.FlutterPlugin
9 | import io.flutter.embedding.engine.plugins.activity.ActivityAware
10 | import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
11 | import io.flutter.plugin.common.MethodCall
12 | import io.flutter.plugin.common.MethodChannel
13 | import io.flutter.plugin.common.MethodChannel.MethodCallHandler
14 | import io.flutter.plugin.common.MethodChannel.Result
15 | import io.flutter.plugin.common.PluginRegistry
16 | import org.koin.core.component.getScopeId
17 | import sbp.payments.sdk.SBP
18 |
19 | /** SbpPayPlugin */
20 | class SbpPayPlugin : FlutterPlugin, MethodCallHandler, ActivityAware {
21 |
22 | private lateinit var channel: MethodChannel
23 | private lateinit var context: Context
24 | private var activity: Activity? = null
25 |
26 | companion object {
27 | @JvmStatic
28 | fun registerWith(registrar: PluginRegistry.Registrar) {
29 | val channel = MethodChannel(registrar.messenger(), "sbp_pay")
30 | channel.setMethodCallHandler(SbpPayPlugin())
31 | }
32 | }
33 |
34 | override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
35 | channel = MethodChannel(flutterPluginBinding.binaryMessenger, "sbp_pay")
36 | channel.setMethodCallHandler(this)
37 | context = flutterPluginBinding.applicationContext
38 | }
39 |
40 | override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
41 | when (call.method) {
42 | "init" -> {
43 | // Инициализация SDK
44 | SBP.init(context)
45 | result.success(true)
46 | }
47 |
48 | "showPaymentModal" -> {
49 | // СБП с версии 1.2 использует не Activity, а FragmentManager
50 | val fragmentManager = (activity as FlutterFragmentActivity).supportFragmentManager
51 | try {
52 | SBP.showBankSelectorBottomSheetDialog(fragmentManager, call.arguments as String?)
53 | result.success(true)
54 | } catch (e: Exception) {
55 | // Перехват ошибок плагина
56 | result.error(e.getScopeId(), e.localizedMessage, e.message)
57 | }
58 | }
59 |
60 | else -> result.notImplemented()
61 | }
62 | }
63 |
64 | override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
65 | channel.setMethodCallHandler(null)
66 | }
67 |
68 | override fun onAttachedToActivity(binding: ActivityPluginBinding) {
69 | activity = binding.activity
70 | }
71 |
72 | override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
73 | activity = binding.activity
74 | }
75 |
76 | override fun onDetachedFromActivityForConfigChanges() {
77 | activity = null
78 | }
79 |
80 | override fun onDetachedFromActivity() {
81 | activity = null
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 | migrate_working_dir/
12 |
13 | # IntelliJ related
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # The .vscode folder contains launch configuration and tasks you configure in
20 | # VS Code which you may wish to be included in version control, so this line
21 | # is commented out by default.
22 | #.vscode/
23 |
24 | # Flutter/Dart/Pub related
25 | **/doc/api/
26 | **/ios/Flutter/.last_build_id
27 | .dart_tool/
28 | .flutter-plugins
29 | .flutter-plugins-dependencies
30 | .packages
31 | .pub-cache/
32 | .pub/
33 | /build/
34 |
35 | # Symbolication related
36 | app.*.symbols
37 |
38 | # Obfuscation related
39 | app.*.map.json
40 |
41 | # Android Studio will place build artifacts here
42 | /android/app/debug
43 | /android/app/profile
44 | /android/app/release
45 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # sbp_pay_example
2 |
3 | Demonstrates how to use the sbp_pay plugin.
4 |
5 | ## Getting Started
6 |
7 | This project is a starting point for a Flutter application.
8 |
9 | A few resources to get you started if this is your first Flutter project:
10 |
11 | - [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
12 | - [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
13 |
14 | For help getting started with Flutter development, view the
15 | [online documentation](https://docs.flutter.dev/), which offers tutorials,
16 | samples, guidance on mobile development, and a full API reference.
17 |
--------------------------------------------------------------------------------
/example/analysis_options.yaml:
--------------------------------------------------------------------------------
1 | # This file configures the analyzer, which statically analyzes Dart code to
2 | # check for errors, warnings, and lints.
3 | #
4 | # The issues identified by the analyzer are surfaced in the UI of Dart-enabled
5 | # IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
6 | # invoked from the command line by running `flutter analyze`.
7 |
8 | # The following line activates a set of recommended lints for Flutter apps,
9 | # packages, and plugins designed to encourage good coding practices.
10 | include: package:flutter_lints/flutter.yaml
11 |
12 | linter:
13 | # The lint rules applied to this project can be customized in the
14 | # section below to disable rules from the `package:flutter_lints/flutter.yaml`
15 | # included above or to enable additional rules. A list of all available lints
16 | # and their documentation is published at
17 | # https://dart-lang.github.io/linter/lints/index.html.
18 | #
19 | # Instead of disabling a lint rule for the entire project in the
20 | # section below, it can also be suppressed for a single line of code
21 | # or a specific dart file by using the `// ignore: name_of_lint` and
22 | # `// ignore_for_file: name_of_lint` syntax on the line or in the file
23 | # producing the lint.
24 | rules:
25 | # avoid_print: false # Uncomment to disable the `avoid_print` rule
26 | # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
27 |
28 | # Additional information about this file can be found at
29 | # https://dart.dev/guides/language/analysis-options
30 |
--------------------------------------------------------------------------------
/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/example/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 33
30 | ndkVersion flutter.ndkVersion
31 |
32 | compileOptions {
33 | sourceCompatibility JavaVersion.VERSION_1_8
34 | targetCompatibility JavaVersion.VERSION_1_8
35 | }
36 |
37 | kotlinOptions {
38 | jvmTarget = '1.8'
39 | }
40 |
41 | sourceSets {
42 | main.java.srcDirs += 'src/main/kotlin'
43 | }
44 |
45 | defaultConfig {
46 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47 | applicationId "sbp.plugin.sbp_pay_example"
48 | // You can update the following values to match your application needs.
49 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
50 | minSdkVersion 21
51 | targetSdkVersion 33
52 | versionCode flutterVersionCode.toInteger()
53 | versionName flutterVersionName
54 | }
55 |
56 | buildTypes {
57 | release {
58 | // TODO: Add your own signing config for the release build.
59 | // Signing with the debug keys for now, so `flutter run --release` works.
60 | signingConfig signingConfigs.debug
61 | }
62 | }
63 | }
64 |
65 | flutter {
66 | source '../..'
67 | }
68 |
69 | dependencies {
70 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
71 | }
72 |
--------------------------------------------------------------------------------
/example/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
16 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
31 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/example/android/app/src/main/kotlin/sbp/plugin/sbp_pay_example/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package sbp.plugin.sbp_pay_example
2 |
3 | import io.flutter.embedding.android.FlutterFragmentActivity
4 |
5 | class MainActivity: FlutterFragmentActivity()
6 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/example/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.7.10'
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:7.2.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | mavenCentral()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
6 |
--------------------------------------------------------------------------------
/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/example/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/example/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 11.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/example/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '11.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 54;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
12 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
13 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
14 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
15 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXCopyFilesBuildPhase section */
19 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
20 | isa = PBXCopyFilesBuildPhase;
21 | buildActionMask = 2147483647;
22 | dstPath = "";
23 | dstSubfolderSpec = 10;
24 | files = (
25 | );
26 | name = "Embed Frameworks";
27 | runOnlyForDeploymentPostprocessing = 0;
28 | };
29 | /* End PBXCopyFilesBuildPhase section */
30 |
31 | /* Begin PBXFileReference section */
32 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
33 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
34 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
35 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
36 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
37 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
38 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
39 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
40 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
41 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
42 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
43 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
44 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
45 | /* End PBXFileReference section */
46 |
47 | /* Begin PBXFrameworksBuildPhase section */
48 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
49 | isa = PBXFrameworksBuildPhase;
50 | buildActionMask = 2147483647;
51 | files = (
52 | );
53 | runOnlyForDeploymentPostprocessing = 0;
54 | };
55 | /* End PBXFrameworksBuildPhase section */
56 |
57 | /* Begin PBXGroup section */
58 | 9740EEB11CF90186004384FC /* Flutter */ = {
59 | isa = PBXGroup;
60 | children = (
61 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
62 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
63 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
64 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
65 | );
66 | name = Flutter;
67 | sourceTree = "";
68 | };
69 | 97C146E51CF9000F007C117D = {
70 | isa = PBXGroup;
71 | children = (
72 | 9740EEB11CF90186004384FC /* Flutter */,
73 | 97C146F01CF9000F007C117D /* Runner */,
74 | 97C146EF1CF9000F007C117D /* Products */,
75 | );
76 | sourceTree = "";
77 | };
78 | 97C146EF1CF9000F007C117D /* Products */ = {
79 | isa = PBXGroup;
80 | children = (
81 | 97C146EE1CF9000F007C117D /* Runner.app */,
82 | );
83 | name = Products;
84 | sourceTree = "";
85 | };
86 | 97C146F01CF9000F007C117D /* Runner */ = {
87 | isa = PBXGroup;
88 | children = (
89 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
90 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
91 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
92 | 97C147021CF9000F007C117D /* Info.plist */,
93 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
94 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
95 | 74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
96 | 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
97 | );
98 | path = Runner;
99 | sourceTree = "";
100 | };
101 | /* End PBXGroup section */
102 |
103 | /* Begin PBXNativeTarget section */
104 | 97C146ED1CF9000F007C117D /* Runner */ = {
105 | isa = PBXNativeTarget;
106 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
107 | buildPhases = (
108 | 9740EEB61CF901F6004384FC /* Run Script */,
109 | 97C146EA1CF9000F007C117D /* Sources */,
110 | 97C146EB1CF9000F007C117D /* Frameworks */,
111 | 97C146EC1CF9000F007C117D /* Resources */,
112 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
113 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
114 | );
115 | buildRules = (
116 | );
117 | dependencies = (
118 | );
119 | name = Runner;
120 | productName = Runner;
121 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
122 | productType = "com.apple.product-type.application";
123 | };
124 | /* End PBXNativeTarget section */
125 |
126 | /* Begin PBXProject section */
127 | 97C146E61CF9000F007C117D /* Project object */ = {
128 | isa = PBXProject;
129 | attributes = {
130 | LastUpgradeCheck = 1300;
131 | ORGANIZATIONNAME = "";
132 | TargetAttributes = {
133 | 97C146ED1CF9000F007C117D = {
134 | CreatedOnToolsVersion = 7.3.1;
135 | LastSwiftMigration = 1100;
136 | };
137 | };
138 | };
139 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
140 | compatibilityVersion = "Xcode 9.3";
141 | developmentRegion = en;
142 | hasScannedForEncodings = 0;
143 | knownRegions = (
144 | en,
145 | Base,
146 | );
147 | mainGroup = 97C146E51CF9000F007C117D;
148 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
149 | projectDirPath = "";
150 | projectRoot = "";
151 | targets = (
152 | 97C146ED1CF9000F007C117D /* Runner */,
153 | );
154 | };
155 | /* End PBXProject section */
156 |
157 | /* Begin PBXResourcesBuildPhase section */
158 | 97C146EC1CF9000F007C117D /* Resources */ = {
159 | isa = PBXResourcesBuildPhase;
160 | buildActionMask = 2147483647;
161 | files = (
162 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
163 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
164 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
165 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
166 | );
167 | runOnlyForDeploymentPostprocessing = 0;
168 | };
169 | /* End PBXResourcesBuildPhase section */
170 |
171 | /* Begin PBXShellScriptBuildPhase section */
172 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
173 | isa = PBXShellScriptBuildPhase;
174 | alwaysOutOfDate = 1;
175 | buildActionMask = 2147483647;
176 | files = (
177 | );
178 | inputPaths = (
179 | );
180 | name = "Thin Binary";
181 | outputPaths = (
182 | );
183 | runOnlyForDeploymentPostprocessing = 0;
184 | shellPath = /bin/sh;
185 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
186 | };
187 | 9740EEB61CF901F6004384FC /* Run Script */ = {
188 | isa = PBXShellScriptBuildPhase;
189 | alwaysOutOfDate = 1;
190 | buildActionMask = 2147483647;
191 | files = (
192 | );
193 | inputPaths = (
194 | );
195 | name = "Run Script";
196 | outputPaths = (
197 | );
198 | runOnlyForDeploymentPostprocessing = 0;
199 | shellPath = /bin/sh;
200 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
201 | };
202 | /* End PBXShellScriptBuildPhase section */
203 |
204 | /* Begin PBXSourcesBuildPhase section */
205 | 97C146EA1CF9000F007C117D /* Sources */ = {
206 | isa = PBXSourcesBuildPhase;
207 | buildActionMask = 2147483647;
208 | files = (
209 | 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
210 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
211 | );
212 | runOnlyForDeploymentPostprocessing = 0;
213 | };
214 | /* End PBXSourcesBuildPhase section */
215 |
216 | /* Begin PBXVariantGroup section */
217 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
218 | isa = PBXVariantGroup;
219 | children = (
220 | 97C146FB1CF9000F007C117D /* Base */,
221 | );
222 | name = Main.storyboard;
223 | sourceTree = "";
224 | };
225 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
226 | isa = PBXVariantGroup;
227 | children = (
228 | 97C147001CF9000F007C117D /* Base */,
229 | );
230 | name = LaunchScreen.storyboard;
231 | sourceTree = "";
232 | };
233 | /* End PBXVariantGroup section */
234 |
235 | /* Begin XCBuildConfiguration section */
236 | 249021D3217E4FDB00AE95B9 /* Profile */ = {
237 | isa = XCBuildConfiguration;
238 | buildSettings = {
239 | ALWAYS_SEARCH_USER_PATHS = NO;
240 | CLANG_ANALYZER_NONNULL = YES;
241 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
242 | CLANG_CXX_LIBRARY = "libc++";
243 | CLANG_ENABLE_MODULES = YES;
244 | CLANG_ENABLE_OBJC_ARC = YES;
245 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
246 | CLANG_WARN_BOOL_CONVERSION = YES;
247 | CLANG_WARN_COMMA = YES;
248 | CLANG_WARN_CONSTANT_CONVERSION = YES;
249 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
250 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
251 | CLANG_WARN_EMPTY_BODY = YES;
252 | CLANG_WARN_ENUM_CONVERSION = YES;
253 | CLANG_WARN_INFINITE_RECURSION = YES;
254 | CLANG_WARN_INT_CONVERSION = YES;
255 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
256 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
257 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
258 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
259 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
260 | CLANG_WARN_STRICT_PROTOTYPES = YES;
261 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
262 | CLANG_WARN_UNREACHABLE_CODE = YES;
263 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
264 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
265 | COPY_PHASE_STRIP = NO;
266 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
267 | ENABLE_NS_ASSERTIONS = NO;
268 | ENABLE_STRICT_OBJC_MSGSEND = YES;
269 | GCC_C_LANGUAGE_STANDARD = gnu99;
270 | GCC_NO_COMMON_BLOCKS = YES;
271 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
272 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
273 | GCC_WARN_UNDECLARED_SELECTOR = YES;
274 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
275 | GCC_WARN_UNUSED_FUNCTION = YES;
276 | GCC_WARN_UNUSED_VARIABLE = YES;
277 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
278 | MTL_ENABLE_DEBUG_INFO = NO;
279 | SDKROOT = iphoneos;
280 | SUPPORTED_PLATFORMS = iphoneos;
281 | TARGETED_DEVICE_FAMILY = "1,2";
282 | VALIDATE_PRODUCT = YES;
283 | };
284 | name = Profile;
285 | };
286 | 249021D4217E4FDB00AE95B9 /* Profile */ = {
287 | isa = XCBuildConfiguration;
288 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
289 | buildSettings = {
290 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
291 | CLANG_ENABLE_MODULES = YES;
292 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
293 | ENABLE_BITCODE = NO;
294 | INFOPLIST_FILE = Runner/Info.plist;
295 | LD_RUNPATH_SEARCH_PATHS = (
296 | "$(inherited)",
297 | "@executable_path/Frameworks",
298 | );
299 | PRODUCT_BUNDLE_IDENTIFIER = sbp.plugin.sbpPayExample;
300 | PRODUCT_NAME = "$(TARGET_NAME)";
301 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
302 | SWIFT_VERSION = 5.0;
303 | VERSIONING_SYSTEM = "apple-generic";
304 | };
305 | name = Profile;
306 | };
307 | 97C147031CF9000F007C117D /* Debug */ = {
308 | isa = XCBuildConfiguration;
309 | buildSettings = {
310 | ALWAYS_SEARCH_USER_PATHS = NO;
311 | CLANG_ANALYZER_NONNULL = YES;
312 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
313 | CLANG_CXX_LIBRARY = "libc++";
314 | CLANG_ENABLE_MODULES = YES;
315 | CLANG_ENABLE_OBJC_ARC = YES;
316 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
317 | CLANG_WARN_BOOL_CONVERSION = YES;
318 | CLANG_WARN_COMMA = YES;
319 | CLANG_WARN_CONSTANT_CONVERSION = YES;
320 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
321 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
322 | CLANG_WARN_EMPTY_BODY = YES;
323 | CLANG_WARN_ENUM_CONVERSION = YES;
324 | CLANG_WARN_INFINITE_RECURSION = YES;
325 | CLANG_WARN_INT_CONVERSION = YES;
326 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
327 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
328 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
329 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
330 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
331 | CLANG_WARN_STRICT_PROTOTYPES = YES;
332 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
333 | CLANG_WARN_UNREACHABLE_CODE = YES;
334 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
335 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
336 | COPY_PHASE_STRIP = NO;
337 | DEBUG_INFORMATION_FORMAT = dwarf;
338 | ENABLE_STRICT_OBJC_MSGSEND = YES;
339 | ENABLE_TESTABILITY = YES;
340 | GCC_C_LANGUAGE_STANDARD = gnu99;
341 | GCC_DYNAMIC_NO_PIC = NO;
342 | GCC_NO_COMMON_BLOCKS = YES;
343 | GCC_OPTIMIZATION_LEVEL = 0;
344 | GCC_PREPROCESSOR_DEFINITIONS = (
345 | "DEBUG=1",
346 | "$(inherited)",
347 | );
348 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
349 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
350 | GCC_WARN_UNDECLARED_SELECTOR = YES;
351 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
352 | GCC_WARN_UNUSED_FUNCTION = YES;
353 | GCC_WARN_UNUSED_VARIABLE = YES;
354 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
355 | MTL_ENABLE_DEBUG_INFO = YES;
356 | ONLY_ACTIVE_ARCH = YES;
357 | SDKROOT = iphoneos;
358 | TARGETED_DEVICE_FAMILY = "1,2";
359 | };
360 | name = Debug;
361 | };
362 | 97C147041CF9000F007C117D /* Release */ = {
363 | isa = XCBuildConfiguration;
364 | buildSettings = {
365 | ALWAYS_SEARCH_USER_PATHS = NO;
366 | CLANG_ANALYZER_NONNULL = YES;
367 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
368 | CLANG_CXX_LIBRARY = "libc++";
369 | CLANG_ENABLE_MODULES = YES;
370 | CLANG_ENABLE_OBJC_ARC = YES;
371 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
372 | CLANG_WARN_BOOL_CONVERSION = YES;
373 | CLANG_WARN_COMMA = YES;
374 | CLANG_WARN_CONSTANT_CONVERSION = YES;
375 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
376 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
377 | CLANG_WARN_EMPTY_BODY = YES;
378 | CLANG_WARN_ENUM_CONVERSION = YES;
379 | CLANG_WARN_INFINITE_RECURSION = YES;
380 | CLANG_WARN_INT_CONVERSION = YES;
381 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
382 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
383 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
384 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
385 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
386 | CLANG_WARN_STRICT_PROTOTYPES = YES;
387 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
388 | CLANG_WARN_UNREACHABLE_CODE = YES;
389 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
390 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
391 | COPY_PHASE_STRIP = NO;
392 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
393 | ENABLE_NS_ASSERTIONS = NO;
394 | ENABLE_STRICT_OBJC_MSGSEND = YES;
395 | GCC_C_LANGUAGE_STANDARD = gnu99;
396 | GCC_NO_COMMON_BLOCKS = YES;
397 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
398 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
399 | GCC_WARN_UNDECLARED_SELECTOR = YES;
400 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
401 | GCC_WARN_UNUSED_FUNCTION = YES;
402 | GCC_WARN_UNUSED_VARIABLE = YES;
403 | IPHONEOS_DEPLOYMENT_TARGET = 11.0;
404 | MTL_ENABLE_DEBUG_INFO = NO;
405 | SDKROOT = iphoneos;
406 | SUPPORTED_PLATFORMS = iphoneos;
407 | SWIFT_COMPILATION_MODE = wholemodule;
408 | SWIFT_OPTIMIZATION_LEVEL = "-O";
409 | TARGETED_DEVICE_FAMILY = "1,2";
410 | VALIDATE_PRODUCT = YES;
411 | };
412 | name = Release;
413 | };
414 | 97C147061CF9000F007C117D /* Debug */ = {
415 | isa = XCBuildConfiguration;
416 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
417 | buildSettings = {
418 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
419 | CLANG_ENABLE_MODULES = YES;
420 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
421 | ENABLE_BITCODE = NO;
422 | INFOPLIST_FILE = Runner/Info.plist;
423 | LD_RUNPATH_SEARCH_PATHS = (
424 | "$(inherited)",
425 | "@executable_path/Frameworks",
426 | );
427 | PRODUCT_BUNDLE_IDENTIFIER = sbp.plugin.sbpPayExample;
428 | PRODUCT_NAME = "$(TARGET_NAME)";
429 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
430 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
431 | SWIFT_VERSION = 5.0;
432 | VERSIONING_SYSTEM = "apple-generic";
433 | };
434 | name = Debug;
435 | };
436 | 97C147071CF9000F007C117D /* Release */ = {
437 | isa = XCBuildConfiguration;
438 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
439 | buildSettings = {
440 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
441 | CLANG_ENABLE_MODULES = YES;
442 | CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
443 | ENABLE_BITCODE = NO;
444 | INFOPLIST_FILE = Runner/Info.plist;
445 | LD_RUNPATH_SEARCH_PATHS = (
446 | "$(inherited)",
447 | "@executable_path/Frameworks",
448 | );
449 | PRODUCT_BUNDLE_IDENTIFIER = sbp.plugin.sbpPayExample;
450 | PRODUCT_NAME = "$(TARGET_NAME)";
451 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
452 | SWIFT_VERSION = 5.0;
453 | VERSIONING_SYSTEM = "apple-generic";
454 | };
455 | name = Release;
456 | };
457 | /* End XCBuildConfiguration section */
458 |
459 | /* Begin XCConfigurationList section */
460 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
461 | isa = XCConfigurationList;
462 | buildConfigurations = (
463 | 97C147031CF9000F007C117D /* Debug */,
464 | 97C147041CF9000F007C117D /* Release */,
465 | 249021D3217E4FDB00AE95B9 /* Profile */,
466 | );
467 | defaultConfigurationIsVisible = 0;
468 | defaultConfigurationName = Release;
469 | };
470 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
471 | isa = XCConfigurationList;
472 | buildConfigurations = (
473 | 97C147061CF9000F007C117D /* Debug */,
474 | 97C147071CF9000F007C117D /* Release */,
475 | 249021D4217E4FDB00AE95B9 /* Profile */,
476 | );
477 | defaultConfigurationIsVisible = 0;
478 | defaultConfigurationName = Release;
479 | };
480 | /* End XCConfigurationList section */
481 | };
482 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
483 | }
484 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
69 |
71 |
77 |
78 |
79 |
80 |
82 |
83 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | Sbp Pay
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | sbp_pay_example
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(FLUTTER_BUILD_NAME)
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | $(FLUTTER_BUILD_NUMBER)
25 | LSRequiresIPhoneOS
26 |
27 | UILaunchStoryboardName
28 | LaunchScreen
29 | UIMainStoryboardFile
30 | Main
31 | UISupportedInterfaceOrientations
32 |
33 | UIInterfaceOrientationPortrait
34 | UIInterfaceOrientationLandscapeLeft
35 | UIInterfaceOrientationLandscapeRight
36 |
37 | UISupportedInterfaceOrientations~ipad
38 |
39 | UIInterfaceOrientationPortrait
40 | UIInterfaceOrientationPortraitUpsideDown
41 | UIInterfaceOrientationLandscapeLeft
42 | UIInterfaceOrientationLandscapeRight
43 |
44 | UIViewControllerBasedStatusBarAppearance
45 |
46 | CADisableMinimumFrameDurationOnPhone
47 |
48 | UIApplicationSupportsIndirectInputEvents
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/example/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/example/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:sbp_pay/sbp_pay.dart';
3 |
4 | void main() => runApp(const MyApp());
5 |
6 | class MyApp extends StatelessWidget {
7 | const MyApp({super.key});
8 |
9 | // Только ссылки такого формата позволяют открыть модалку, иначе падает исключение
10 | static const _paymentLink =
11 | 'https://qr.nspk.ru/AS100001ORTF4GAF80KPJ53K186D9A3G?type=01&bank=100000000007&crc=0C8A';
12 |
13 | @override
14 | Widget build(BuildContext context) {
15 | return MaterialApp(
16 | home: Scaffold(
17 | appBar: AppBar(
18 | title: const Text('Plugin example app'),
19 | ),
20 | body: Builder(
21 | builder: (context) {
22 | return Center(
23 | child: TextButton(
24 | onPressed: () async {
25 | final messenger = ScaffoldMessenger.of(context);
26 | if (await SbpPay.init()) {
27 | await SbpPay.showPaymentModal(_paymentLink);
28 | } else {
29 | messenger.showSnackBar(
30 | const SnackBar(content: Text('Not supported')),
31 | );
32 | }
33 | },
34 | child: const Text('Running on'),
35 | ),
36 | );
37 | }
38 | ),
39 | ),
40 | );
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/example/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | async:
5 | dependency: transitive
6 | description:
7 | name: async
8 | sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
9 | url: "https://pub.dev"
10 | source: hosted
11 | version: "2.10.0"
12 | boolean_selector:
13 | dependency: transitive
14 | description:
15 | name: boolean_selector
16 | sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
17 | url: "https://pub.dev"
18 | source: hosted
19 | version: "2.1.1"
20 | characters:
21 | dependency: transitive
22 | description:
23 | name: characters
24 | sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c
25 | url: "https://pub.dev"
26 | source: hosted
27 | version: "1.2.1"
28 | clock:
29 | dependency: transitive
30 | description:
31 | name: clock
32 | sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
33 | url: "https://pub.dev"
34 | source: hosted
35 | version: "1.1.1"
36 | collection:
37 | dependency: transitive
38 | description:
39 | name: collection
40 | sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
41 | url: "https://pub.dev"
42 | source: hosted
43 | version: "1.17.0"
44 | cupertino_icons:
45 | dependency: "direct main"
46 | description:
47 | name: cupertino_icons
48 | sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
49 | url: "https://pub.dev"
50 | source: hosted
51 | version: "1.0.5"
52 | fake_async:
53 | dependency: transitive
54 | description:
55 | name: fake_async
56 | sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
57 | url: "https://pub.dev"
58 | source: hosted
59 | version: "1.3.1"
60 | flutter:
61 | dependency: "direct main"
62 | description: flutter
63 | source: sdk
64 | version: "0.0.0"
65 | flutter_lints:
66 | dependency: "direct dev"
67 | description:
68 | name: flutter_lints
69 | sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
70 | url: "https://pub.dev"
71 | source: hosted
72 | version: "2.0.1"
73 | flutter_test:
74 | dependency: "direct dev"
75 | description: flutter
76 | source: sdk
77 | version: "0.0.0"
78 | js:
79 | dependency: transitive
80 | description:
81 | name: js
82 | sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
83 | url: "https://pub.dev"
84 | source: hosted
85 | version: "0.6.5"
86 | lints:
87 | dependency: transitive
88 | description:
89 | name: lints
90 | sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593"
91 | url: "https://pub.dev"
92 | source: hosted
93 | version: "2.0.1"
94 | matcher:
95 | dependency: transitive
96 | description:
97 | name: matcher
98 | sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
99 | url: "https://pub.dev"
100 | source: hosted
101 | version: "0.12.13"
102 | material_color_utilities:
103 | dependency: transitive
104 | description:
105 | name: material_color_utilities
106 | sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
107 | url: "https://pub.dev"
108 | source: hosted
109 | version: "0.2.0"
110 | meta:
111 | dependency: transitive
112 | description:
113 | name: meta
114 | sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42"
115 | url: "https://pub.dev"
116 | source: hosted
117 | version: "1.8.0"
118 | path:
119 | dependency: transitive
120 | description:
121 | name: path
122 | sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b
123 | url: "https://pub.dev"
124 | source: hosted
125 | version: "1.8.2"
126 | plugin_platform_interface:
127 | dependency: transitive
128 | description:
129 | name: plugin_platform_interface
130 | sha256: dbf0f707c78beedc9200146ad3cb0ab4d5da13c246336987be6940f026500d3a
131 | url: "https://pub.dev"
132 | source: hosted
133 | version: "2.1.3"
134 | sbp_pay:
135 | dependency: "direct main"
136 | description:
137 | path: ".."
138 | relative: true
139 | source: path
140 | version: "0.1.0"
141 | sky_engine:
142 | dependency: transitive
143 | description: flutter
144 | source: sdk
145 | version: "0.0.99"
146 | source_span:
147 | dependency: transitive
148 | description:
149 | name: source_span
150 | sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
151 | url: "https://pub.dev"
152 | source: hosted
153 | version: "1.9.1"
154 | stack_trace:
155 | dependency: transitive
156 | description:
157 | name: stack_trace
158 | sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
159 | url: "https://pub.dev"
160 | source: hosted
161 | version: "1.11.0"
162 | stream_channel:
163 | dependency: transitive
164 | description:
165 | name: stream_channel
166 | sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
167 | url: "https://pub.dev"
168 | source: hosted
169 | version: "2.1.1"
170 | string_scanner:
171 | dependency: transitive
172 | description:
173 | name: string_scanner
174 | sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
175 | url: "https://pub.dev"
176 | source: hosted
177 | version: "1.2.0"
178 | term_glyph:
179 | dependency: transitive
180 | description:
181 | name: term_glyph
182 | sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
183 | url: "https://pub.dev"
184 | source: hosted
185 | version: "1.2.1"
186 | test_api:
187 | dependency: transitive
188 | description:
189 | name: test_api
190 | sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206
191 | url: "https://pub.dev"
192 | source: hosted
193 | version: "0.4.16"
194 | vector_math:
195 | dependency: transitive
196 | description:
197 | name: vector_math
198 | sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
199 | url: "https://pub.dev"
200 | source: hosted
201 | version: "2.1.4"
202 | sdks:
203 | dart: ">=2.19.6 <3.0.0"
204 | flutter: ">=2.5.0"
205 |
--------------------------------------------------------------------------------
/example/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: sbp_pay_example
2 | description: Demonstrates how to use the sbp_pay plugin.
3 | # The following line prevents the package from being accidentally published to
4 | # pub.dev using `flutter pub publish`. This is preferred for private packages.
5 | publish_to: 'none' # Remove this line if you wish to publish to pub.dev
6 |
7 | environment:
8 | sdk: '>=2.19.6 <3.0.0'
9 |
10 | # Dependencies specify other packages that your package needs in order to work.
11 | # To automatically upgrade your package dependencies to the latest versions
12 | # consider running `flutter pub upgrade --major-versions`. Alternatively,
13 | # dependencies can be manually updated by changing the version numbers below to
14 | # the latest version available on pub.dev. To see which dependencies have newer
15 | # versions available, run `flutter pub outdated`.
16 | dependencies:
17 | flutter:
18 | sdk: flutter
19 |
20 | sbp_pay:
21 | # When depending on this package from a real application you should use:
22 | # sbp_pay: ^x.y.z
23 | # See https://dart.dev/tools/pub/dependencies#version-constraints
24 | # The example app is bundled with the plugin so we use a path dependency on
25 | # the parent directory to use the current plugin's version.
26 | path: ../
27 |
28 | # The following adds the Cupertino Icons font to your application.
29 | # Use with the CupertinoIcons class for iOS style icons.
30 | cupertino_icons: ^1.0.2
31 |
32 | dev_dependencies:
33 | flutter_test:
34 | sdk: flutter
35 |
36 | # The "flutter_lints" package below contains a set of recommended lints to
37 | # encourage good coding practices. The lint set provided by the package is
38 | # activated in the `analysis_options.yaml` file located at the root of your
39 | # package. See that file for information about deactivating specific lint
40 | # rules and activating additional ones.
41 | flutter_lints: ^2.0.0
42 |
43 | # For information on the generic Dart part of this file, see the
44 | # following page: https://dart.dev/tools/pub/pubspec
45 |
46 | # The following section is specific to Flutter packages.
47 | flutter:
48 |
49 | # The following line ensures that the Material Icons font is
50 | # included with your application, so that you can use the icons in
51 | # the material Icons class.
52 | uses-material-design: true
53 |
54 | # To add assets to your application, add an assets section, like this:
55 | # assets:
56 | # - images/a_dot_burr.jpeg
57 | # - images/a_dot_ham.jpeg
58 |
59 | # An image asset can refer to one or more resolution-specific "variants", see
60 | # https://flutter.dev/assets-and-images/#resolution-aware
61 |
62 | # For details regarding adding assets from package dependencies, see
63 | # https://flutter.dev/assets-and-images/#from-packages
64 |
65 | # To add custom fonts to your application, add a fonts section here,
66 | # in this "flutter" section. Each entry in this list should have a
67 | # "family" key with the font family name, and a "fonts" key with a
68 | # list giving the asset and other descriptors for the font. For
69 | # example:
70 | # fonts:
71 | # - family: Schyler
72 | # fonts:
73 | # - asset: fonts/Schyler-Regular.ttf
74 | # - asset: fonts/Schyler-Italic.ttf
75 | # style: italic
76 | # - family: Trajan Pro
77 | # fonts:
78 | # - asset: fonts/TrajanPro.ttf
79 | # - asset: fonts/TrajanPro_Bold.ttf
80 | # weight: 700
81 | #
82 | # For details regarding fonts from package dependencies,
83 | # see https://flutter.dev/custom-fonts/#from-packages
84 |
--------------------------------------------------------------------------------
/example/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility in the flutter_test package. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 | import 'package:sbp_pay_example/main.dart';
11 |
12 | void main() {
13 | testWidgets('Verify Platform version', (WidgetTester tester) async {
14 | // Build our app and trigger a frame.
15 | await tester.pumpWidget(const MyApp());
16 |
17 | // Verify that platform version is retrieved.
18 | expect(
19 | find.byWidgetPredicate(
20 | (Widget widget) => widget is Text &&
21 | widget.data!.startsWith('Running on:'),
22 | ),
23 | findsOneWidget,
24 | );
25 | });
26 | }
27 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vagrant/
3 | .sconsign.dblite
4 | .svn/
5 |
6 | .DS_Store
7 | *.swp
8 | profile
9 |
10 | DerivedData/
11 | build/
12 | GeneratedPluginRegistrant.h
13 | GeneratedPluginRegistrant.m
14 |
15 | .generated/
16 |
17 | *.pbxuser
18 | *.mode1v3
19 | *.mode2v3
20 | *.perspectivev3
21 |
22 | !default.pbxuser
23 | !default.mode1v3
24 | !default.mode2v3
25 | !default.perspectivev3
26 |
27 | xcuserdata
28 |
29 | *.moved-aside
30 |
31 | *.pyc
32 | *sync/
33 | Icon?
34 | .tags*
35 |
36 | /Flutter/Generated.xcconfig
37 | /Flutter/ephemeral/
38 | /Flutter/flutter_export_environment.sh
--------------------------------------------------------------------------------
/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/Assets/.gitkeep
--------------------------------------------------------------------------------
/ios/Classes/SbpPayPlugin.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import SBPWidget
4 |
5 | public class SbpPayPlugin: NSObject, FlutterPlugin {
6 | public static func register(with registrar: FlutterPluginRegistrar) {
7 | let channel = FlutterMethodChannel(name: "sbp_pay", binaryMessenger: registrar.messenger())
8 | let instance = SbpPayPlugin()
9 | registrar.addMethodCallDelegate(instance, channel: channel)
10 | }
11 |
12 | public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
13 | switch call.method {
14 | // Запрашиваем при инициализации доступность SDK на iOS
15 | case "init":
16 | // Заглушка, инициализация для iOS не требуется.
17 | if #available(iOS 13.0, *) {
18 | result(true)
19 | } else {
20 | result(false)
21 | }
22 | case "showPaymentModal":
23 | if #available(iOS 13.0, *) {
24 | if let topController = getTopViewController() {
25 | do {
26 | try SBPWidgetSDK.shared.presentBankListViewController(paymentURL: call.arguments as! String, parentViewController: topController)
27 | result(true)
28 | } catch {
29 | result(FlutterError(code: "PluginError", message: error.localizedDescription, details: nil)) // Перехват ошибок плагина
30 | }
31 | } else {
32 | result(FlutterError(code: "PluginError", message: "SBP: Failed to implement controller", details: nil))
33 | }
34 | } else {
35 | result(false)
36 | }
37 |
38 | default:
39 | result(FlutterMethodNotImplemented)
40 | }
41 | }
42 |
43 | @available(iOS 13.0, *)
44 | private func getTopViewController() -> UIViewController? {
45 | if var topController = UIApplication.shared.keyWindow?.rootViewController {
46 | while let presentedViewController = topController.presentedViewController {
47 | topController = presentedViewController
48 | }
49 |
50 | return topController
51 | }
52 |
53 | return nil
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AvailableLibraries
6 |
7 |
8 | LibraryIdentifier
9 | ios-arm64_x86_64-simulator
10 | LibraryPath
11 | SBPWidget.framework
12 | SupportedArchitectures
13 |
14 | arm64
15 | x86_64
16 |
17 | SupportedPlatform
18 | ios
19 | SupportedPlatformVariant
20 | simulator
21 |
22 |
23 | LibraryIdentifier
24 | ios-arm64
25 | LibraryPath
26 | SBPWidget.framework
27 | SupportedArchitectures
28 |
29 | arm64
30 |
31 | SupportedPlatform
32 | ios
33 |
34 |
35 | CFBundlePackageType
36 | XFWK
37 | XCFrameworkFormatVersion
38 | 1.0
39 |
40 |
41 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Assets.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Assets.car
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Headers/SBPWidget-Swift.h:
--------------------------------------------------------------------------------
1 | // Generated by Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
2 | #ifndef SBPWIDGET_SWIFT_H
3 | #define SBPWIDGET_SWIFT_H
4 | #pragma clang diagnostic push
5 | #pragma clang diagnostic ignored "-Wgcc-compat"
6 |
7 | #if !defined(__has_include)
8 | # define __has_include(x) 0
9 | #endif
10 | #if !defined(__has_attribute)
11 | # define __has_attribute(x) 0
12 | #endif
13 | #if !defined(__has_feature)
14 | # define __has_feature(x) 0
15 | #endif
16 | #if !defined(__has_warning)
17 | # define __has_warning(x) 0
18 | #endif
19 |
20 | #if __has_include()
21 | # include
22 | #endif
23 |
24 | #pragma clang diagnostic ignored "-Wauto-import"
25 | #include
26 | #include
27 | #include
28 | #include
29 |
30 | #if !defined(SWIFT_TYPEDEFS)
31 | # define SWIFT_TYPEDEFS 1
32 | # if __has_include()
33 | # include
34 | # elif !defined(__cplusplus)
35 | typedef uint_least16_t char16_t;
36 | typedef uint_least32_t char32_t;
37 | # endif
38 | typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
39 | typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
40 | typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
41 | typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
42 | typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
43 | typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
44 | typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
45 | typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
46 | typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
47 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
48 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
49 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
50 | #endif
51 |
52 | #if !defined(SWIFT_PASTE)
53 | # define SWIFT_PASTE_HELPER(x, y) x##y
54 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
55 | #endif
56 | #if !defined(SWIFT_METATYPE)
57 | # define SWIFT_METATYPE(X) Class
58 | #endif
59 | #if !defined(SWIFT_CLASS_PROPERTY)
60 | # if __has_feature(objc_class_property)
61 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
62 | # else
63 | # define SWIFT_CLASS_PROPERTY(...)
64 | # endif
65 | #endif
66 |
67 | #if __has_attribute(objc_runtime_name)
68 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
69 | #else
70 | # define SWIFT_RUNTIME_NAME(X)
71 | #endif
72 | #if __has_attribute(swift_name)
73 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
74 | #else
75 | # define SWIFT_COMPILE_NAME(X)
76 | #endif
77 | #if __has_attribute(objc_method_family)
78 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
79 | #else
80 | # define SWIFT_METHOD_FAMILY(X)
81 | #endif
82 | #if __has_attribute(noescape)
83 | # define SWIFT_NOESCAPE __attribute__((noescape))
84 | #else
85 | # define SWIFT_NOESCAPE
86 | #endif
87 | #if __has_attribute(ns_consumed)
88 | # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
89 | #else
90 | # define SWIFT_RELEASES_ARGUMENT
91 | #endif
92 | #if __has_attribute(warn_unused_result)
93 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
94 | #else
95 | # define SWIFT_WARN_UNUSED_RESULT
96 | #endif
97 | #if __has_attribute(noreturn)
98 | # define SWIFT_NORETURN __attribute__((noreturn))
99 | #else
100 | # define SWIFT_NORETURN
101 | #endif
102 | #if !defined(SWIFT_CLASS_EXTRA)
103 | # define SWIFT_CLASS_EXTRA
104 | #endif
105 | #if !defined(SWIFT_PROTOCOL_EXTRA)
106 | # define SWIFT_PROTOCOL_EXTRA
107 | #endif
108 | #if !defined(SWIFT_ENUM_EXTRA)
109 | # define SWIFT_ENUM_EXTRA
110 | #endif
111 | #if !defined(SWIFT_CLASS)
112 | # if __has_attribute(objc_subclassing_restricted)
113 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
114 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
115 | # else
116 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
117 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
118 | # endif
119 | #endif
120 | #if !defined(SWIFT_RESILIENT_CLASS)
121 | # if __has_attribute(objc_class_stub)
122 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
123 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
124 | # else
125 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
126 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
127 | # endif
128 | #endif
129 |
130 | #if !defined(SWIFT_PROTOCOL)
131 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
132 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
133 | #endif
134 |
135 | #if !defined(SWIFT_EXTENSION)
136 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
137 | #endif
138 |
139 | #if !defined(OBJC_DESIGNATED_INITIALIZER)
140 | # if __has_attribute(objc_designated_initializer)
141 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
142 | # else
143 | # define OBJC_DESIGNATED_INITIALIZER
144 | # endif
145 | #endif
146 | #if !defined(SWIFT_ENUM_ATTR)
147 | # if defined(__has_attribute) && __has_attribute(enum_extensibility)
148 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
149 | # else
150 | # define SWIFT_ENUM_ATTR(_extensibility)
151 | # endif
152 | #endif
153 | #if !defined(SWIFT_ENUM)
154 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
155 | # if __has_feature(generalized_swift_name)
156 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
157 | # else
158 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
159 | # endif
160 | #endif
161 | #if !defined(SWIFT_UNAVAILABLE)
162 | # define SWIFT_UNAVAILABLE __attribute__((unavailable))
163 | #endif
164 | #if !defined(SWIFT_UNAVAILABLE_MSG)
165 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
166 | #endif
167 | #if !defined(SWIFT_AVAILABILITY)
168 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
169 | #endif
170 | #if !defined(SWIFT_WEAK_IMPORT)
171 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
172 | #endif
173 | #if !defined(SWIFT_DEPRECATED)
174 | # define SWIFT_DEPRECATED __attribute__((deprecated))
175 | #endif
176 | #if !defined(SWIFT_DEPRECATED_MSG)
177 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
178 | #endif
179 | #if __has_feature(attribute_diagnose_if_objc)
180 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
181 | #else
182 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
183 | #endif
184 | #if !defined(IBSegueAction)
185 | # define IBSegueAction
186 | #endif
187 | #if !defined(SWIFT_EXTERN)
188 | # if defined(__cplusplus)
189 | # define SWIFT_EXTERN extern "C"
190 | # else
191 | # define SWIFT_EXTERN extern
192 | # endif
193 | #endif
194 | #if __has_feature(modules)
195 | #if __has_warning("-Watimport-in-framework-header")
196 | #pragma clang diagnostic ignored "-Watimport-in-framework-header"
197 | #endif
198 | #endif
199 |
200 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
201 | #pragma clang diagnostic ignored "-Wduplicate-method-arg"
202 | #if __has_warning("-Wpragma-clang-attribute")
203 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
204 | #endif
205 | #pragma clang diagnostic ignored "-Wunknown-pragmas"
206 | #pragma clang diagnostic ignored "-Wnullability"
207 |
208 | #if __has_attribute(external_source_symbol)
209 | # pragma push_macro("any")
210 | # undef any
211 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SBPWidget",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
212 | # pragma pop_macro("any")
213 | #endif
214 |
215 |
216 | #if __has_attribute(external_source_symbol)
217 | # pragma clang attribute pop
218 | #endif
219 | #pragma clang diagnostic pop
220 | #endif
221 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Headers/SBPWidget.h:
--------------------------------------------------------------------------------
1 | //
2 | // SBPWidget.h
3 | // SBPWidget
4 | //
5 | // Created by Artem Krotov on 10.12.2022.
6 | //
7 |
8 | #import
9 |
10 | //! Project version number for SBPWidget.
11 | FOUNDATION_EXPORT double SBPWidgetVersionNumber;
12 |
13 | //! Project version string for SBPWidget.
14 | FOUNDATION_EXPORT const unsigned char SBPWidgetVersionString[];
15 |
16 | // In this header, you should import all the public headers of your framework using statements like #import
17 |
18 |
19 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Info.plist
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios.swiftdoc
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name SBPWidget
4 | import Combine
5 | import Foundation
6 | @_exported import SBPWidget
7 | import Swift
8 | import SwiftUI
9 | import UIKit
10 | import _Concurrency
11 | @_hasMissingDesignatedInitializers @available(iOS 13.0, *)
12 | final public class SBPWidgetSDK {
13 | public static let shared: SBPWidget.SBPWidgetSDK
14 | @objc deinit
15 | }
16 | @available(iOS 13.0, *)
17 | extension SBPWidget.SBPWidgetSDK {
18 | final public func bankListViewController(paymentURL: Swift.String) throws -> UIKit.UIViewController
19 | final public func presentBankListViewController(paymentURL: Swift.String, parentViewController: UIKit.UIViewController) throws
20 | }
21 | public enum SBPWidgetError : Swift.Error {
22 | case invalidURLString
23 | case loadingFaild
24 | case presentationFailed
25 | public static func == (a: SBPWidget.SBPWidgetError, b: SBPWidget.SBPWidgetError) -> Swift.Bool
26 | public func hash(into hasher: inout Swift.Hasher)
27 | public var hashValue: Swift.Int {
28 | get
29 | }
30 | }
31 | @_hasMissingDesignatedInitializers final public class SBPWidgetBank {
32 | final public let name: Swift.String
33 | final public let logoURL: Foundation.URL?
34 | final public let dboLink: Foundation.URL
35 | @objc deinit
36 | }
37 | extension SBPWidget.SBPWidgetBank {
38 | public static func fetchAll(paymentURL: Swift.String, receivOn queue: Dispatch.DispatchQueue, completion: @escaping (Swift.Result<[SBPWidget.SBPWidgetBank], SBPWidget.SBPWidgetError>) -> Swift.Void) throws
39 | }
40 | extension SBPWidget.SBPWidgetError : Swift.Equatable {}
41 | extension SBPWidget.SBPWidgetError : Swift.Hashable {}
42 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module SBPWidget {
2 | umbrella header "SBPWidget.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module SBPWidget.Swift {
9 | header "SBPWidget-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/SBPWidget:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/SBPWidget
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64/SBPWidget.framework/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Assets.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Assets.car
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Headers/SBPWidget-Swift.h:
--------------------------------------------------------------------------------
1 | #if 0
2 | #elif defined(__arm64__) && __arm64__
3 | // Generated by Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
4 | #ifndef SBPWIDGET_SWIFT_H
5 | #define SBPWIDGET_SWIFT_H
6 | #pragma clang diagnostic push
7 | #pragma clang diagnostic ignored "-Wgcc-compat"
8 |
9 | #if !defined(__has_include)
10 | # define __has_include(x) 0
11 | #endif
12 | #if !defined(__has_attribute)
13 | # define __has_attribute(x) 0
14 | #endif
15 | #if !defined(__has_feature)
16 | # define __has_feature(x) 0
17 | #endif
18 | #if !defined(__has_warning)
19 | # define __has_warning(x) 0
20 | #endif
21 |
22 | #if __has_include()
23 | # include
24 | #endif
25 |
26 | #pragma clang diagnostic ignored "-Wauto-import"
27 | #include
28 | #include
29 | #include
30 | #include
31 |
32 | #if !defined(SWIFT_TYPEDEFS)
33 | # define SWIFT_TYPEDEFS 1
34 | # if __has_include()
35 | # include
36 | # elif !defined(__cplusplus)
37 | typedef uint_least16_t char16_t;
38 | typedef uint_least32_t char32_t;
39 | # endif
40 | typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
41 | typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
42 | typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
43 | typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
44 | typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
45 | typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
46 | typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
47 | typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
48 | typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
49 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
50 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
51 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
52 | #endif
53 |
54 | #if !defined(SWIFT_PASTE)
55 | # define SWIFT_PASTE_HELPER(x, y) x##y
56 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
57 | #endif
58 | #if !defined(SWIFT_METATYPE)
59 | # define SWIFT_METATYPE(X) Class
60 | #endif
61 | #if !defined(SWIFT_CLASS_PROPERTY)
62 | # if __has_feature(objc_class_property)
63 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
64 | # else
65 | # define SWIFT_CLASS_PROPERTY(...)
66 | # endif
67 | #endif
68 |
69 | #if __has_attribute(objc_runtime_name)
70 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
71 | #else
72 | # define SWIFT_RUNTIME_NAME(X)
73 | #endif
74 | #if __has_attribute(swift_name)
75 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
76 | #else
77 | # define SWIFT_COMPILE_NAME(X)
78 | #endif
79 | #if __has_attribute(objc_method_family)
80 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
81 | #else
82 | # define SWIFT_METHOD_FAMILY(X)
83 | #endif
84 | #if __has_attribute(noescape)
85 | # define SWIFT_NOESCAPE __attribute__((noescape))
86 | #else
87 | # define SWIFT_NOESCAPE
88 | #endif
89 | #if __has_attribute(ns_consumed)
90 | # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
91 | #else
92 | # define SWIFT_RELEASES_ARGUMENT
93 | #endif
94 | #if __has_attribute(warn_unused_result)
95 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
96 | #else
97 | # define SWIFT_WARN_UNUSED_RESULT
98 | #endif
99 | #if __has_attribute(noreturn)
100 | # define SWIFT_NORETURN __attribute__((noreturn))
101 | #else
102 | # define SWIFT_NORETURN
103 | #endif
104 | #if !defined(SWIFT_CLASS_EXTRA)
105 | # define SWIFT_CLASS_EXTRA
106 | #endif
107 | #if !defined(SWIFT_PROTOCOL_EXTRA)
108 | # define SWIFT_PROTOCOL_EXTRA
109 | #endif
110 | #if !defined(SWIFT_ENUM_EXTRA)
111 | # define SWIFT_ENUM_EXTRA
112 | #endif
113 | #if !defined(SWIFT_CLASS)
114 | # if __has_attribute(objc_subclassing_restricted)
115 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
116 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
117 | # else
118 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
119 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
120 | # endif
121 | #endif
122 | #if !defined(SWIFT_RESILIENT_CLASS)
123 | # if __has_attribute(objc_class_stub)
124 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
125 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
126 | # else
127 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
128 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
129 | # endif
130 | #endif
131 |
132 | #if !defined(SWIFT_PROTOCOL)
133 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
134 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
135 | #endif
136 |
137 | #if !defined(SWIFT_EXTENSION)
138 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
139 | #endif
140 |
141 | #if !defined(OBJC_DESIGNATED_INITIALIZER)
142 | # if __has_attribute(objc_designated_initializer)
143 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
144 | # else
145 | # define OBJC_DESIGNATED_INITIALIZER
146 | # endif
147 | #endif
148 | #if !defined(SWIFT_ENUM_ATTR)
149 | # if defined(__has_attribute) && __has_attribute(enum_extensibility)
150 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
151 | # else
152 | # define SWIFT_ENUM_ATTR(_extensibility)
153 | # endif
154 | #endif
155 | #if !defined(SWIFT_ENUM)
156 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
157 | # if __has_feature(generalized_swift_name)
158 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
159 | # else
160 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
161 | # endif
162 | #endif
163 | #if !defined(SWIFT_UNAVAILABLE)
164 | # define SWIFT_UNAVAILABLE __attribute__((unavailable))
165 | #endif
166 | #if !defined(SWIFT_UNAVAILABLE_MSG)
167 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
168 | #endif
169 | #if !defined(SWIFT_AVAILABILITY)
170 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
171 | #endif
172 | #if !defined(SWIFT_WEAK_IMPORT)
173 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
174 | #endif
175 | #if !defined(SWIFT_DEPRECATED)
176 | # define SWIFT_DEPRECATED __attribute__((deprecated))
177 | #endif
178 | #if !defined(SWIFT_DEPRECATED_MSG)
179 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
180 | #endif
181 | #if __has_feature(attribute_diagnose_if_objc)
182 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
183 | #else
184 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
185 | #endif
186 | #if !defined(IBSegueAction)
187 | # define IBSegueAction
188 | #endif
189 | #if !defined(SWIFT_EXTERN)
190 | # if defined(__cplusplus)
191 | # define SWIFT_EXTERN extern "C"
192 | # else
193 | # define SWIFT_EXTERN extern
194 | # endif
195 | #endif
196 | #if __has_feature(modules)
197 | #if __has_warning("-Watimport-in-framework-header")
198 | #pragma clang diagnostic ignored "-Watimport-in-framework-header"
199 | #endif
200 | #endif
201 |
202 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
203 | #pragma clang diagnostic ignored "-Wduplicate-method-arg"
204 | #if __has_warning("-Wpragma-clang-attribute")
205 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
206 | #endif
207 | #pragma clang diagnostic ignored "-Wunknown-pragmas"
208 | #pragma clang diagnostic ignored "-Wnullability"
209 |
210 | #if __has_attribute(external_source_symbol)
211 | # pragma push_macro("any")
212 | # undef any
213 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SBPWidget",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
214 | # pragma pop_macro("any")
215 | #endif
216 |
217 |
218 | #if __has_attribute(external_source_symbol)
219 | # pragma clang attribute pop
220 | #endif
221 | #pragma clang diagnostic pop
222 | #endif
223 |
224 | #elif defined(__x86_64__) && __x86_64__
225 | // Generated by Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
226 | #ifndef SBPWIDGET_SWIFT_H
227 | #define SBPWIDGET_SWIFT_H
228 | #pragma clang diagnostic push
229 | #pragma clang diagnostic ignored "-Wgcc-compat"
230 |
231 | #if !defined(__has_include)
232 | # define __has_include(x) 0
233 | #endif
234 | #if !defined(__has_attribute)
235 | # define __has_attribute(x) 0
236 | #endif
237 | #if !defined(__has_feature)
238 | # define __has_feature(x) 0
239 | #endif
240 | #if !defined(__has_warning)
241 | # define __has_warning(x) 0
242 | #endif
243 |
244 | #if __has_include()
245 | # include
246 | #endif
247 |
248 | #pragma clang diagnostic ignored "-Wauto-import"
249 | #include
250 | #include
251 | #include
252 | #include
253 |
254 | #if !defined(SWIFT_TYPEDEFS)
255 | # define SWIFT_TYPEDEFS 1
256 | # if __has_include()
257 | # include
258 | # elif !defined(__cplusplus)
259 | typedef uint_least16_t char16_t;
260 | typedef uint_least32_t char32_t;
261 | # endif
262 | typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
263 | typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
264 | typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
265 | typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
266 | typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
267 | typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
268 | typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
269 | typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
270 | typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
271 | typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
272 | typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
273 | typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
274 | #endif
275 |
276 | #if !defined(SWIFT_PASTE)
277 | # define SWIFT_PASTE_HELPER(x, y) x##y
278 | # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
279 | #endif
280 | #if !defined(SWIFT_METATYPE)
281 | # define SWIFT_METATYPE(X) Class
282 | #endif
283 | #if !defined(SWIFT_CLASS_PROPERTY)
284 | # if __has_feature(objc_class_property)
285 | # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
286 | # else
287 | # define SWIFT_CLASS_PROPERTY(...)
288 | # endif
289 | #endif
290 |
291 | #if __has_attribute(objc_runtime_name)
292 | # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
293 | #else
294 | # define SWIFT_RUNTIME_NAME(X)
295 | #endif
296 | #if __has_attribute(swift_name)
297 | # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
298 | #else
299 | # define SWIFT_COMPILE_NAME(X)
300 | #endif
301 | #if __has_attribute(objc_method_family)
302 | # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
303 | #else
304 | # define SWIFT_METHOD_FAMILY(X)
305 | #endif
306 | #if __has_attribute(noescape)
307 | # define SWIFT_NOESCAPE __attribute__((noescape))
308 | #else
309 | # define SWIFT_NOESCAPE
310 | #endif
311 | #if __has_attribute(ns_consumed)
312 | # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
313 | #else
314 | # define SWIFT_RELEASES_ARGUMENT
315 | #endif
316 | #if __has_attribute(warn_unused_result)
317 | # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
318 | #else
319 | # define SWIFT_WARN_UNUSED_RESULT
320 | #endif
321 | #if __has_attribute(noreturn)
322 | # define SWIFT_NORETURN __attribute__((noreturn))
323 | #else
324 | # define SWIFT_NORETURN
325 | #endif
326 | #if !defined(SWIFT_CLASS_EXTRA)
327 | # define SWIFT_CLASS_EXTRA
328 | #endif
329 | #if !defined(SWIFT_PROTOCOL_EXTRA)
330 | # define SWIFT_PROTOCOL_EXTRA
331 | #endif
332 | #if !defined(SWIFT_ENUM_EXTRA)
333 | # define SWIFT_ENUM_EXTRA
334 | #endif
335 | #if !defined(SWIFT_CLASS)
336 | # if __has_attribute(objc_subclassing_restricted)
337 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
338 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
339 | # else
340 | # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
341 | # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
342 | # endif
343 | #endif
344 | #if !defined(SWIFT_RESILIENT_CLASS)
345 | # if __has_attribute(objc_class_stub)
346 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
347 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
348 | # else
349 | # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
350 | # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
351 | # endif
352 | #endif
353 |
354 | #if !defined(SWIFT_PROTOCOL)
355 | # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
356 | # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
357 | #endif
358 |
359 | #if !defined(SWIFT_EXTENSION)
360 | # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
361 | #endif
362 |
363 | #if !defined(OBJC_DESIGNATED_INITIALIZER)
364 | # if __has_attribute(objc_designated_initializer)
365 | # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
366 | # else
367 | # define OBJC_DESIGNATED_INITIALIZER
368 | # endif
369 | #endif
370 | #if !defined(SWIFT_ENUM_ATTR)
371 | # if defined(__has_attribute) && __has_attribute(enum_extensibility)
372 | # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
373 | # else
374 | # define SWIFT_ENUM_ATTR(_extensibility)
375 | # endif
376 | #endif
377 | #if !defined(SWIFT_ENUM)
378 | # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
379 | # if __has_feature(generalized_swift_name)
380 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
381 | # else
382 | # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
383 | # endif
384 | #endif
385 | #if !defined(SWIFT_UNAVAILABLE)
386 | # define SWIFT_UNAVAILABLE __attribute__((unavailable))
387 | #endif
388 | #if !defined(SWIFT_UNAVAILABLE_MSG)
389 | # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
390 | #endif
391 | #if !defined(SWIFT_AVAILABILITY)
392 | # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
393 | #endif
394 | #if !defined(SWIFT_WEAK_IMPORT)
395 | # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
396 | #endif
397 | #if !defined(SWIFT_DEPRECATED)
398 | # define SWIFT_DEPRECATED __attribute__((deprecated))
399 | #endif
400 | #if !defined(SWIFT_DEPRECATED_MSG)
401 | # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
402 | #endif
403 | #if __has_feature(attribute_diagnose_if_objc)
404 | # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
405 | #else
406 | # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
407 | #endif
408 | #if !defined(IBSegueAction)
409 | # define IBSegueAction
410 | #endif
411 | #if !defined(SWIFT_EXTERN)
412 | # if defined(__cplusplus)
413 | # define SWIFT_EXTERN extern "C"
414 | # else
415 | # define SWIFT_EXTERN extern
416 | # endif
417 | #endif
418 | #if __has_feature(modules)
419 | #if __has_warning("-Watimport-in-framework-header")
420 | #pragma clang diagnostic ignored "-Watimport-in-framework-header"
421 | #endif
422 | #endif
423 |
424 | #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
425 | #pragma clang diagnostic ignored "-Wduplicate-method-arg"
426 | #if __has_warning("-Wpragma-clang-attribute")
427 | # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
428 | #endif
429 | #pragma clang diagnostic ignored "-Wunknown-pragmas"
430 | #pragma clang diagnostic ignored "-Wnullability"
431 |
432 | #if __has_attribute(external_source_symbol)
433 | # pragma push_macro("any")
434 | # undef any
435 | # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SBPWidget",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
436 | # pragma pop_macro("any")
437 | #endif
438 |
439 |
440 | #if __has_attribute(external_source_symbol)
441 | # pragma clang attribute pop
442 | #endif
443 | #pragma clang diagnostic pop
444 | #endif
445 |
446 | #endif
447 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Headers/SBPWidget.h:
--------------------------------------------------------------------------------
1 | //
2 | // SBPWidget.h
3 | // SBPWidget
4 | //
5 | // Created by Artem Krotov on 10.12.2022.
6 | //
7 |
8 | #import
9 |
10 | //! Project version number for SBPWidget.
11 | FOUNDATION_EXPORT double SBPWidgetVersionNumber;
12 |
13 | //! Project version string for SBPWidget.
14 | FOUNDATION_EXPORT const unsigned char SBPWidgetVersionString[];
15 |
16 | // In this header, you should import all the public headers of your framework using statements like #import
17 |
18 |
19 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Info.plist
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name SBPWidget
4 | import Combine
5 | import Foundation
6 | @_exported import SBPWidget
7 | import Swift
8 | import SwiftUI
9 | import UIKit
10 | import _Concurrency
11 | @_hasMissingDesignatedInitializers @available(iOS 13.0, *)
12 | final public class SBPWidgetSDK {
13 | public static let shared: SBPWidget.SBPWidgetSDK
14 | @objc deinit
15 | }
16 | @available(iOS 13.0, *)
17 | extension SBPWidget.SBPWidgetSDK {
18 | final public func bankListViewController(paymentURL: Swift.String) throws -> UIKit.UIViewController
19 | final public func presentBankListViewController(paymentURL: Swift.String, parentViewController: UIKit.UIViewController) throws
20 | }
21 | public enum SBPWidgetError : Swift.Error {
22 | case invalidURLString
23 | case loadingFaild
24 | case presentationFailed
25 | public static func == (a: SBPWidget.SBPWidgetError, b: SBPWidget.SBPWidgetError) -> Swift.Bool
26 | public func hash(into hasher: inout Swift.Hasher)
27 | public var hashValue: Swift.Int {
28 | get
29 | }
30 | }
31 | @_hasMissingDesignatedInitializers final public class SBPWidgetBank {
32 | final public let name: Swift.String
33 | final public let logoURL: Foundation.URL?
34 | final public let dboLink: Foundation.URL
35 | @objc deinit
36 | }
37 | extension SBPWidget.SBPWidgetBank {
38 | public static func fetchAll(paymentURL: Swift.String, receivOn queue: Dispatch.DispatchQueue, completion: @escaping (Swift.Result<[SBPWidget.SBPWidgetBank], SBPWidget.SBPWidgetError>) -> Swift.Void) throws
39 | }
40 | extension SBPWidget.SBPWidgetError : Swift.Equatable {}
41 | extension SBPWidget.SBPWidgetError : Swift.Hashable {}
42 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target x86_64-apple-ios12.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name SBPWidget
4 | import Combine
5 | import Foundation
6 | @_exported import SBPWidget
7 | import Swift
8 | import SwiftUI
9 | import UIKit
10 | import _Concurrency
11 | @_hasMissingDesignatedInitializers @available(iOS 13.0, *)
12 | final public class SBPWidgetSDK {
13 | public static let shared: SBPWidget.SBPWidgetSDK
14 | @objc deinit
15 | }
16 | @available(iOS 13.0, *)
17 | extension SBPWidget.SBPWidgetSDK {
18 | final public func bankListViewController(paymentURL: Swift.String) throws -> UIKit.UIViewController
19 | final public func presentBankListViewController(paymentURL: Swift.String, parentViewController: UIKit.UIViewController) throws
20 | }
21 | public enum SBPWidgetError : Swift.Error {
22 | case invalidURLString
23 | case loadingFaild
24 | case presentationFailed
25 | public static func == (a: SBPWidget.SBPWidgetError, b: SBPWidget.SBPWidgetError) -> Swift.Bool
26 | public func hash(into hasher: inout Swift.Hasher)
27 | public var hashValue: Swift.Int {
28 | get
29 | }
30 | }
31 | @_hasMissingDesignatedInitializers final public class SBPWidgetBank {
32 | final public let name: Swift.String
33 | final public let logoURL: Foundation.URL?
34 | final public let dboLink: Foundation.URL
35 | @objc deinit
36 | }
37 | extension SBPWidget.SBPWidgetBank {
38 | public static func fetchAll(paymentURL: Swift.String, receivOn queue: Dispatch.DispatchQueue, completion: @escaping (Swift.Result<[SBPWidget.SBPWidgetBank], SBPWidget.SBPWidgetError>) -> Swift.Void) throws
39 | }
40 | extension SBPWidget.SBPWidgetError : Swift.Equatable {}
41 | extension SBPWidget.SBPWidgetError : Swift.Hashable {}
42 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module SBPWidget {
2 | umbrella header "SBPWidget.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module SBPWidget.Swift {
9 | header "SBPWidget-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/SBPWidget:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/SBPWidget
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/_CodeSignature/CodeResources:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | files
6 |
7 | Assets.car
8 |
9 | qAddjqCeTLoci5kX2pQl//XXY8I=
10 |
11 | Headers/SBPWidget-Swift.h
12 |
13 | KN/8aR3TaDBHEZSUvC2hfb7flPI=
14 |
15 | Headers/SBPWidget.h
16 |
17 | PWXN7KzcXuH5l1rxKFoUJgjJsBk=
18 |
19 | Info.plist
20 |
21 | S2ardOvaCmuj/YhtPlfeLccB+j0=
22 |
23 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftdoc
24 |
25 | BdIf1NqqMOA1Y0ptkJI/JXYQIHc=
26 |
27 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftinterface
28 |
29 | HXB2Pi0P3C9a+GBtKmnyfeVX9uY=
30 |
31 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftmodule
32 |
33 | 3sbh5yse9N50N1PEKPPSh+ZTA4c=
34 |
35 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
36 |
37 | a0ExerEJ3toodsYjLfPJkAptYfY=
38 |
39 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
40 |
41 | xgoZf5LQFZOQ3v30WXH8rFCTqwQ=
42 |
43 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
44 |
45 | vbPIAOvIxyAor2XRqJlzwjjllI0=
46 |
47 | Modules/module.modulemap
48 |
49 | Swb/iYj5gwGFrD+dAkgxFS5waAw=
50 |
51 | en.lproj/Localizable.strings
52 |
53 | hash
54 |
55 | GJZR7EoS5zZV8MwPPU5BmCz8xBM=
56 |
57 | optional
58 |
59 |
60 |
61 | files2
62 |
63 | Assets.car
64 |
65 | hash2
66 |
67 | YBtyfcjWDrADlhKlDcL4wlLcTyWGXPdiu1w3VTy5YWQ=
68 |
69 |
70 | Headers/SBPWidget-Swift.h
71 |
72 | hash2
73 |
74 | S0MCcz/hIbG/kCuZq4iiMzlQLf8gDwTA3Mow0yoWUt4=
75 |
76 |
77 | Headers/SBPWidget.h
78 |
79 | hash2
80 |
81 | IdIt95WY9N80BzFP/eD/Z5KOCDTJ/LZP91gnmTJiPw4=
82 |
83 |
84 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftdoc
85 |
86 | hash2
87 |
88 | 11Jaq5z5nhB/ytLv9NJYgJNf3ZPfeF/smG7uzTrpF8Y=
89 |
90 |
91 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftinterface
92 |
93 | hash2
94 |
95 | ZcjKm5qXqQ/Bq0mclumAXj72X2geQq377+s5gaJ47iA=
96 |
97 |
98 | Modules/SBPWidget.swiftmodule/arm64-apple-ios-simulator.swiftmodule
99 |
100 | hash2
101 |
102 | VzCU+wqxl9M20jWtEMX+kzxG+goMmNR9ByGKg8SnStI=
103 |
104 |
105 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
106 |
107 | hash2
108 |
109 | JjOYz+7VOzzNMiJHXIhwXmNf7R8htsUFgVCQBnBrgUY=
110 |
111 |
112 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
113 |
114 | hash2
115 |
116 | NrE2Fn/KDYttyhMVNd3cpuT5/lOMpDZN2Wp6E6DbLcc=
117 |
118 |
119 | Modules/SBPWidget.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
120 |
121 | hash2
122 |
123 | vP7cZ7IDTTr7zpGhWS4z91SXDRf2zSoE/2z5pm0P0yE=
124 |
125 |
126 | Modules/module.modulemap
127 |
128 | hash2
129 |
130 | BV/VhEAh5nSEaKPBrD757vMHW9UniEduc5voQktHVtM=
131 |
132 |
133 | en.lproj/Localizable.strings
134 |
135 | hash2
136 |
137 | B7OXgM8Mi0piDjxiIxEr9/f5vqh1BTR4yv31SMwGApM=
138 |
139 | optional
140 |
141 |
142 |
143 | rules
144 |
145 | ^.*
146 |
147 | ^.*\.lproj/
148 |
149 | optional
150 |
151 | weight
152 | 1000
153 |
154 | ^.*\.lproj/locversion.plist$
155 |
156 | omit
157 |
158 | weight
159 | 1100
160 |
161 | ^Base\.lproj/
162 |
163 | weight
164 | 1010
165 |
166 | ^version.plist$
167 |
168 |
169 | rules2
170 |
171 | .*\.dSYM($|/)
172 |
173 | weight
174 | 11
175 |
176 | ^(.*/)?\.DS_Store$
177 |
178 | omit
179 |
180 | weight
181 | 2000
182 |
183 | ^.*
184 |
185 | ^.*\.lproj/
186 |
187 | optional
188 |
189 | weight
190 | 1000
191 |
192 | ^.*\.lproj/locversion.plist$
193 |
194 | omit
195 |
196 | weight
197 | 1100
198 |
199 | ^Base\.lproj/
200 |
201 | weight
202 | 1010
203 |
204 | ^Info\.plist$
205 |
206 | omit
207 |
208 | weight
209 | 20
210 |
211 | ^PkgInfo$
212 |
213 | omit
214 |
215 | weight
216 | 20
217 |
218 | ^embedded\.provisionprofile$
219 |
220 | weight
221 | 20
222 |
223 | ^version\.plist$
224 |
225 | weight
226 | 20
227 |
228 |
229 |
230 |
231 |
--------------------------------------------------------------------------------
/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RonFall/sbp_pay/5ba5002de4c77fe96bb7b4d3cb5cc85b98a1a3d5/ios/SBPWidget.xcframework/ios-arm64_x86_64-simulator/SBPWidget.framework/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/sbp_pay.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
3 | # Run `pod lib lint sbp_pay.podspec` to validate before publishing.
4 | #
5 | Pod::Spec.new do |s|
6 | s.name = 'sbp_pay'
7 | s.version = '0.1.0'
8 | s.summary = 'A new Flutter plugin project.'
9 | s.description = <<-DESC
10 | A new Flutter plugin project.
11 | DESC
12 | s.homepage = 'http://example.com'
13 | s.license = { :file => '../LICENSE' }
14 | s.author = { 'Your Company' => 'email@example.com' }
15 | s.source = { :path => '.' }
16 | s.source_files = 'Classes/**/*'
17 | s.dependency 'Flutter'
18 | s.platform = :ios, '9.0'
19 |
20 | # Flutter.framework does not contain a i386 slice.
21 | s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
22 | s.swift_version = '5.0'
23 |
24 | s.preserve_paths = 'SBPWidget.xcframework/**/*'
25 | s.xcconfig = { 'OTHER_LDFLAGS' => '-framework SBPWidget' }
26 | s.vendored_frameworks = 'SBPWidget.xcframework'
27 | end
28 |
--------------------------------------------------------------------------------
/lib/sbp_pay.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/services.dart';
2 |
3 | class SbpPay {
4 | static const MethodChannel _channel = MethodChannel('sbp_pay');
5 |
6 | static bool _wasInitialized = false;
7 |
8 | /// Флаг доступности [SbpPay] на данном устройстве.
9 | ///
10 | /// Доступен только после успешного [init], иначе ошибка.
11 | static bool get isAvailable => _isAvailable;
12 | static late bool _isAvailable;
13 |
14 | /// Инициализация плагина SbpPay.
15 | ///
16 | /// Возвращает false, если сервис не поддерживается устройством.
17 | static Future init() async {
18 | if (!_wasInitialized) {
19 | _isAvailable = await _channel
20 | .invokeMethod('init')
21 | .then((value) => value ?? false);
22 |
23 | _wasInitialized = true;
24 | return _isAvailable;
25 | }
26 |
27 | return _isAvailable;
28 | }
29 |
30 | /// Вызов нативного окна SbpPay выбора банков.
31 | static Future showPaymentModal(String link) {
32 | return _channel.invokeMethod('showPaymentModal', link);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: sbp_pay
2 | description: A new Flutter plugin project.
3 | version: 0.1.0
4 |
5 | environment:
6 | sdk: '>=2.19.6 <3.0.0'
7 | flutter: ">=2.5.0"
8 |
9 | dependencies:
10 | flutter:
11 | sdk: flutter
12 | plugin_platform_interface: ^2.0.2
13 |
14 | dev_dependencies:
15 | flutter_test:
16 | sdk: flutter
17 | flutter_lints: ^2.0.0
18 |
19 | # For information on the generic Dart part of this file, see the
20 | # following page: https://dart.dev/tools/pub/pubspec
21 |
22 | # The following section is specific to Flutter packages.
23 | flutter:
24 | # This section identifies this Flutter project as a plugin project.
25 | # The 'pluginClass' specifies the class (in Java, Kotlin, Swift, Objective-C, etc.)
26 | # which should be registered in the plugin registry. This is required for
27 | # using method channels.
28 | # The Android 'package' specifies package in which the registered class is.
29 | # This is required for using method channels on Android.
30 | # The 'ffiPlugin' specifies that native code should be built and bundled.
31 | # This is required for using `dart:ffi`.
32 | # All these are used by the tooling to maintain consistency when
33 | # adding or updating assets for this project.
34 | plugin:
35 | platforms:
36 | android:
37 | package: sbp.plugin.sbp_pay
38 | pluginClass: SbpPayPlugin
39 | ios:
40 | pluginClass: SbpPayPlugin
41 |
42 | # To add assets to your plugin package, add an assets section, like this:
43 | # assets:
44 | # - images/a_dot_burr.jpeg
45 | # - images/a_dot_ham.jpeg
46 | #
47 | # For details regarding assets in packages, see
48 | # https://flutter.dev/assets-and-images/#from-packages
49 | #
50 | # An image asset can refer to one or more resolution-specific "variants", see
51 | # https://flutter.dev/assets-and-images/#resolution-aware
52 |
53 | # To add custom fonts to your plugin package, add a fonts section here,
54 | # in this "flutter" section. Each entry in this list should have a
55 | # "family" key with the font family name, and a "fonts" key with a
56 | # list giving the asset and other descriptors for the font. For
57 | # example:
58 | # fonts:
59 | # - family: Schyler
60 | # fonts:
61 | # - asset: fonts/Schyler-Regular.ttf
62 | # - asset: fonts/Schyler-Italic.ttf
63 | # style: italic
64 | # - family: Trajan Pro
65 | # fonts:
66 | # - asset: fonts/TrajanPro.ttf
67 | # - asset: fonts/TrajanPro_Bold.ttf
68 | # weight: 700
69 | #
70 | # For details regarding fonts in packages, see
71 | # https://flutter.dev/custom-fonts/#from-packages
72 |
--------------------------------------------------------------------------------
/test/sbp_pay_test.dart:
--------------------------------------------------------------------------------
1 | void main() {}
2 |
--------------------------------------------------------------------------------