framepayments-react-native 1.0.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/README.md +434 -71
  2. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  5. package/android/.gradle/8.9/gc.properties +0 -0
  6. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  8. package/android/.gradle/vcs-1/gc.properties +0 -0
  9. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  10. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/results.bin +1 -0
  11. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/BuildConfig.dex +0 -0
  12. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.dex +0 -0
  13. package/android/build/.transforms/{3db830673120be833016e77c88c53305/transformed/debug → 5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex}/com/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.dex +0 -0
  14. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameCheckoutActivity.dex +0 -0
  15. package/android/build/.transforms/{3db830673120be833016e77c88c53305/transformed/debug → 5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex}/com/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.dex +0 -0
  16. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.dex +0 -0
  17. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.dex +0 -0
  18. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameFlowActivity.dex +0 -0
  19. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameGooglePayActivity$Companion.dex +0 -0
  20. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameGooglePayActivity.dex +0 -0
  21. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameOnboardingActivity$Companion.dex +0 -0
  22. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameOnboardingActivity$parseCapabilities$type$1.dex +0 -0
  23. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameOnboardingActivity.dex +0 -0
  24. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameSDKModule$Companion.dex +0 -0
  25. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameSDKModule.dex +0 -0
  26. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/FrameSDKPackage.dex +0 -0
  27. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/framepayments/reactnativeframe/JsonConvertersKt.dex +0 -0
  28. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameCheckoutActivity$$InternalSyntheticLambda$2$28045340ca5b91151bb937065eeb5817c0f8f911bb460e6e7ed8bb228b67ee83$0.globals +0 -0
  29. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameFlowActivity$$InternalSyntheticLambda$2$467cdf1dabffeaa07b76e313efb66791f50d3ff264e427e91d1358ac5865a7a9$0.globals +0 -0
  30. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameFlowActivity$$InternalSyntheticLambda$2$d15cc37cc08a853958a9c0baad49f7fce1ef84e92db9baa5103646939a0fe3e5$0.globals +0 -0
  31. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameFlowActivity$$InternalSyntheticLambda$2$ee6ef8e6758d1b8e67a54e3fecfb200ac5e867541a69809ec1db49f74ffcada1$0.globals +0 -0
  32. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameGooglePayActivity$$InternalSyntheticLambda$2$46cecf303f126f7c9f20b615fc49b2714ec2eb4f046ae009cfdbce53a1759f18$0.globals +0 -0
  33. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameGooglePayActivity$$InternalSyntheticLambda$2$46cecf303f126f7c9f20b615fc49b2714ec2eb4f046ae009cfdbce53a1759f18$1.globals +0 -0
  34. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameGooglePayActivity$$InternalSyntheticLambda$2$46cecf303f126f7c9f20b615fc49b2714ec2eb4f046ae009cfdbce53a1759f18$2.globals +0 -0
  35. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameGooglePayActivity$$InternalSyntheticLambda$2$cdad629ad452b3c7f7de1310d225629dafa75285ad515d55f056371066170154$0.globals +0 -0
  36. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameOnboardingActivity$$InternalSyntheticLambda$2$5d91d018c63f48735ba5e2a00b14bd815f4ce248aa924e4a58bf6addce311837$0.globals +0 -0
  37. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameOnboardingActivity$$InternalSyntheticLambda$2$c9ac604bc80e3afcbfad7417717ae97568874f4e33246863c0d688abb3e89865$0.globals +0 -0
  38. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameSDKModule$$InternalSyntheticLambda$2$1f479ca48bf3a1c66ff65b38aaaef67a97119b29ddce703f8104188682007f0d$0.globals +0 -0
  39. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameSDKModule$$InternalSyntheticLambda$2$984ab30558bc904ed37602fa6e3ebf28f1ed69df6712b31b00c4f26fc26d3b70$0.globals +0 -0
  40. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameSDKModule$$InternalSyntheticLambda$2$f4a55b70e496f422e1e03998843d62c7208f0229c2d5d080706056e98810c892$0.globals +0 -0
  41. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameSDKModule$$InternalSyntheticLambda$2$f8d46f7169c404d37a1d505f19439b83090fbed62b5bdaf1e86717fdddebf622$0.globals +0 -0
  42. package/android/build/.transforms/5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_global-synthetics/com/framepayments/reactnativeframe/FrameSDKModule$$InternalSyntheticLambda$2$f8d46f7169c404d37a1d505f19439b83090fbed62b5bdaf1e86717fdddebf622$1.globals +0 -0
  43. package/android/build/generated/source/buildConfig/debug/com/framepayments/reactnativeframe/BuildConfig.java +10 -0
  44. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +26 -0
  45. package/android/build/intermediates/aar_metadata/debug/{aar-metadata.properties → writeDebugAarMetadata/aar-metadata.properties} +2 -1
  46. package/android/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt +10 -0
  47. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  48. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  49. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +2 -0
  50. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  51. package/android/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +10 -0
  52. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +6 -1
  53. package/android/build/intermediates/incremental/{packageDebugAssets → mergeDebugAssets}/merger.xml +1 -1
  54. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  55. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/framepayments/reactnativeframe/BuildConfig.class +0 -0
  56. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +4 -0
  57. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +45 -0
  58. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +26 -0
  59. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  60. package/android/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +10 -0
  61. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  62. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/BuildConfig.class +0 -0
  63. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.class +0 -0
  64. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.class +0 -0
  65. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameCheckoutActivity.class +0 -0
  66. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.class +0 -0
  67. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameFlowActivity$Companion.class +0 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.class +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameFlowActivity.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameGooglePayActivity$Companion.class +0 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameGooglePayActivity.class +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameOnboardingActivity$Companion.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameOnboardingActivity$parseCapabilities$type$1.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameOnboardingActivity.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameSDKModule$Companion.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/FrameSDKModule.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/{com → bundleLibRuntimeToDirDebug/com}/framepayments/reactnativeframe/FrameSDKPackage.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/framepayments/reactnativeframe/JsonConvertersKt.class +0 -0
  79. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +3 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  162. package/android/build/outputs/logs/manifest-merger-debug-report.txt +21 -5
  163. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  164. package/android/build/tmp/kotlin-classes/debug/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  165. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.class +0 -0
  166. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.class +0 -0
  167. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity.class +0 -0
  168. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.class +0 -0
  169. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.class +0 -0
  170. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.class +0 -0
  171. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity.class +0 -0
  172. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameGooglePayActivity$Companion.class +0 -0
  173. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameGooglePayActivity.class +0 -0
  174. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameOnboardingActivity$Companion.class +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameOnboardingActivity$parseCapabilities$type$1.class +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameOnboardingActivity.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameSDKModule$Companion.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameSDKModule.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameSDKPackage.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/JsonConvertersKt.class +0 -0
  181. package/android/build.gradle +22 -24
  182. package/android/src/main/AndroidManifest.xml +10 -2
  183. package/android/src/main/java/com/framepayments/reactnativeframe/FrameFlowActivity.kt +2 -2
  184. package/android/src/main/java/com/framepayments/reactnativeframe/FrameGooglePayActivity.kt +148 -0
  185. package/android/src/main/java/com/framepayments/reactnativeframe/FrameOnboardingActivity.kt +68 -0
  186. package/android/src/main/java/com/framepayments/reactnativeframe/FrameSDKModule.kt +115 -33
  187. package/android/src/main/java/com/framepayments/reactnativeframe/JsonConverters.kt +39 -0
  188. package/android/src/main/res/values/frame_styles.xml +15 -0
  189. package/ios/ApplePayPresenter.swift +155 -0
  190. package/ios/FrameReactNative.podspec +10 -4
  191. package/ios/FrameSDKBridge.m +33 -4
  192. package/ios/FrameSDKBridge.swift +160 -26
  193. package/lib/components/FrameApplePayButton.d.ts +30 -0
  194. package/lib/components/FrameApplePayButton.d.ts.map +1 -0
  195. package/lib/components/FrameApplePayButton.js +42 -0
  196. package/lib/components/FrameGooglePayButton.d.ts +28 -0
  197. package/lib/components/FrameGooglePayButton.d.ts.map +1 -0
  198. package/lib/components/FrameGooglePayButton.js +24 -0
  199. package/lib/components/index.d.ts +5 -0
  200. package/lib/components/index.d.ts.map +1 -0
  201. package/lib/components/index.js +2 -0
  202. package/lib/index.d.ts +9 -4
  203. package/lib/index.d.ts.map +1 -1
  204. package/lib/index.js +13 -4
  205. package/lib/native.d.ts +9 -2
  206. package/lib/native.d.ts.map +1 -1
  207. package/lib/native.js +28 -4
  208. package/lib/types.d.ts +102 -7
  209. package/lib/types.d.ts.map +1 -1
  210. package/package.json +10 -15
  211. package/src/__tests__/native.test.ts +51 -14
  212. package/src/index.ts +44 -5
  213. package/src/native.ts +71 -6
  214. package/src/types.ts +133 -7
  215. package/android/build/.transforms/3db830673120be833016e77c88c53305/results.bin +0 -1
  216. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.dex +0 -0
  217. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity.dex +0 -0
  218. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.dex +0 -0
  219. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.dex +0 -0
  220. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity.dex +0 -0
  221. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameSDKModule.dex +0 -0
  222. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameSDKPackage.dex +0 -0
  223. package/android/build/.transforms/e32bd1e24a69eac3ebaf0c3a5e659207/results.bin +0 -1
  224. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -18
  225. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  226. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  227. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  228. package/android/build/intermediates/java_res/debug/out/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  229. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -2
  230. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -27
  231. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -18
  232. package/android/build/intermediates/runtime_library_classes_dir/debug/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  233. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameSDKModule.class +0 -0
  234. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  235. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1
  236. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  237. /package/android/{build/intermediates/compile_symbol_list/debug/R.txt → .gradle/8.9/dependencies-accessors/gc.properties} +0 -0
  238. /package/android/build/.transforms/{3db830673120be833016e77c88c53305/transformed/debug → 5a2061641b1fc5518a336681809507bc/transformed/bundleLibRuntimeToDirDebug}/desugar_graph.bin +0 -0
  239. /package/android/build/intermediates/aapt_friendly_merged_manifests/debug/{aapt → processDebugManifest/aapt}/output-metadata.json +0 -0
  240. /package/android/build/intermediates/annotation_processor_list/debug/{annotationProcessors.json → javaPreCompileDebug/annotationProcessors.json} +0 -0
  241. /package/android/build/intermediates/navigation_json/debug/{navigation.json → extractDeepLinksDebug/navigation.json} +0 -0
@@ -1,20 +1,20 @@
1
1
  -- Merging decision tree log ---
2
2
  manifest
3
- ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-13:12
4
- INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-13:12
3
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-21:12
4
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-21:12
5
5
  package
6
6
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:2:5-49
7
7
  INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
8
8
  xmlns:android
9
9
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:11-69
10
10
  application
11
- ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:3:3-12:17
11
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:3:3-20:17
12
12
  activity#com.framepayments.reactnativeframe.FrameCheckoutActivity
13
13
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:4:5-7:34
14
14
  android:exported
15
15
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:7:7-31
16
16
  android:theme
17
- ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:6:7-63
17
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:6:7-53
18
18
  android:name
19
19
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:5:7-78
20
20
  activity#com.framepayments.reactnativeframe.FrameFlowActivity
@@ -22,9 +22,25 @@ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_
22
22
  android:exported
23
23
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:11:7-31
24
24
  android:theme
25
- ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:10:7-63
25
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:10:7-53
26
26
  android:name
27
27
  ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:9:7-74
28
+ activity#com.framepayments.reactnativeframe.FrameOnboardingActivity
29
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:12:5-15:34
30
+ android:exported
31
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:15:7-31
32
+ android:theme
33
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:14:7-53
34
+ android:name
35
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:13:7-80
36
+ activity#com.framepayments.reactnativeframe.FrameGooglePayActivity
37
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:16:5-19:34
38
+ android:exported
39
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:19:7-31
40
+ android:theme
41
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:18:7-63
42
+ android:name
43
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:17:7-79
28
44
  uses-sdk
29
45
  INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
30
46
  INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
@@ -1,16 +1,6 @@
1
- buildscript {
2
- repositories {
3
- google()
4
- mavenCentral()
5
- }
6
- dependencies {
7
- classpath 'com.android.tools.build:gradle:8.1.0'
8
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0"
9
- }
10
- }
11
-
12
1
  apply plugin: 'com.android.library'
13
2
  apply plugin: 'kotlin-android'
3
+ apply plugin: 'org.jetbrains.kotlin.plugin.compose'
14
4
 
15
5
  def safeExtGet(prop, fallback) {
16
6
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
@@ -18,33 +8,41 @@ def safeExtGet(prop, fallback) {
18
8
 
19
9
  android {
20
10
  namespace "com.framepayments.reactnativeframe"
21
- compileSdk safeExtGet('compileSdkVersion', 34)
11
+ compileSdk safeExtGet('compileSdkVersion', 36)
22
12
  defaultConfig {
23
13
  minSdk safeExtGet('minSdkVersion', 26)
24
- targetSdk safeExtGet('targetSdkVersion', 34)
14
+ targetSdk safeExtGet('targetSdkVersion', 36)
25
15
  }
26
16
  compileOptions {
27
- sourceCompatibility JavaVersion.VERSION_11
28
- targetCompatibility JavaVersion.VERSION_11
17
+ sourceCompatibility JavaVersion.VERSION_17
18
+ targetCompatibility JavaVersion.VERSION_17
29
19
  }
30
20
  kotlinOptions {
31
- jvmTarget = '11'
21
+ jvmTarget = '17'
22
+ }
23
+ buildFeatures {
24
+ compose true
25
+ }
26
+ composeOptions {
27
+ kotlinCompilerExtensionVersion = "1.5.14"
32
28
  }
33
- }
34
-
35
- repositories {
36
- google()
37
- mavenCentral()
38
- maven { url "https://jitpack.io" }
39
29
  }
40
30
 
41
31
  dependencies {
42
32
  implementation 'com.facebook.react:react-native:+'
43
33
  implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.0"
44
- implementation 'com.framepayments:framesdk:1.2.0'
45
- implementation 'com.framepayments:framesdk_ui:1.2.0'
34
+ implementation 'com.framepayments:framesdk:2.0.2'
35
+ implementation 'com.framepayments:framesdk_ui:2.0.2'
36
+ implementation 'com.framepayments:framesdk_onboarding:2.0.2'
37
+ // Required by FrameGooglePayButton (PaymentsClient, WalletConstants).
38
+ // framesdk_ui declares this as `implementation`, so it is not exposed transitively.
39
+ implementation 'com.google.android.gms:play-services-wallet:19.4.0'
40
+ // AppCompat is needed because FrameGooglePayButton casts its host to AppCompatActivity.
41
+ implementation 'androidx.appcompat:appcompat:1.7.0'
46
42
  implementation 'com.google.code.gson:gson:2.10.1'
47
43
  implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
48
44
  // Frame SDK UI uses Compose; LocalLifecycleOwner requires lifecycle-runtime-compose 2.8+
49
45
  implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.8.2'
46
+ // Compose support for FrameOnboardingActivity
47
+ implementation 'androidx.activity:activity-compose:1.12.2'
50
48
  }
@@ -3,11 +3,19 @@
3
3
  <application>
4
4
  <activity
5
5
  android:name="com.framepayments.reactnativeframe.FrameCheckoutActivity"
6
- android:theme="@style/Theme.AppCompat.Light.NoActionBar"
6
+ android:theme="@style/Theme.Frame.NoActionBar"
7
7
  android:exported="false" />
8
8
  <activity
9
9
  android:name="com.framepayments.reactnativeframe.FrameFlowActivity"
10
- android:theme="@style/Theme.AppCompat.Light.NoActionBar"
10
+ android:theme="@style/Theme.Frame.NoActionBar"
11
+ android:exported="false" />
12
+ <activity
13
+ android:name="com.framepayments.reactnativeframe.FrameOnboardingActivity"
14
+ android:theme="@style/Theme.Frame.NoActionBar"
15
+ android:exported="false" />
16
+ <activity
17
+ android:name="com.framepayments.reactnativeframe.FrameGooglePayActivity"
18
+ android:theme="@style/Theme.Frame.GooglePay.Translucent"
11
19
  android:exported="false" />
12
20
  </application>
13
21
  </manifest>
@@ -55,9 +55,9 @@ class FrameFlowActivity : AppCompatActivity() {
55
55
  private fun showCart(customerId: String?, items: List<FrameCartItem>, shippingCents: Int) {
56
56
  container.removeAllViews()
57
57
  cartView = FrameCartView(this).apply {
58
- configure(customerId, items, shippingCents) { totalCents ->
58
+ configure(customerId, items, shippingCents, { totalCents ->
59
59
  showCheckout(customerId, totalCents)
60
- }
60
+ }, null)
61
61
  }
62
62
  container.addView(cartView)
63
63
  }
@@ -0,0 +1,148 @@
1
+ package com.framepayments.reactnativeframe
2
+
3
+ import android.content.Intent
4
+ import android.os.Bundle
5
+ import android.os.Handler
6
+ import android.os.Looper
7
+ import android.view.View
8
+ import android.widget.FrameLayout
9
+ import androidx.appcompat.app.AppCompatActivity
10
+ import com.framepayments.framesdk_ui.buttons.FrameGooglePayButton
11
+ import com.google.gson.Gson
12
+
13
+ /**
14
+ * Hidden host activity for Frame.presentGooglePay(). The Frame Android SDK only
15
+ * exposes Google Pay through FrameGooglePayButton (a View). This activity
16
+ * instantiates that View off-screen, waits for readiness, then programmatically
17
+ * clicks the inner Google Pay button so the wallet sheet appears. The result
18
+ * is forwarded back via setResult / FrameSDKModule.onActivityResult.
19
+ *
20
+ * The Activity finishes after the result arrives or after a 5s readiness timeout.
21
+ */
22
+ class FrameGooglePayActivity : AppCompatActivity() {
23
+
24
+ private val handler = Handler(Looper.getMainLooper())
25
+ private var googlePayButton: FrameGooglePayButton? = null
26
+ private var didTriggerClick = false
27
+ private var didDeliverResult = false
28
+ private var readinessTimeout: Runnable? = null
29
+
30
+ override fun onCreate(savedInstanceState: Bundle?) {
31
+ super.onCreate(savedInstanceState)
32
+
33
+ val container = FrameLayout(this).apply {
34
+ layoutParams = FrameLayout.LayoutParams(
35
+ FrameLayout.LayoutParams.MATCH_PARENT,
36
+ FrameLayout.LayoutParams.MATCH_PARENT
37
+ )
38
+ }
39
+ setContentView(container)
40
+
41
+ val amountCents = intent.getIntExtra(EXTRA_AMOUNT_CENTS, 0)
42
+ val customerId = intent.getStringExtra(EXTRA_CUSTOMER_ID)
43
+ val currencyCode = intent.getStringExtra(EXTRA_CURRENCY) ?: "USD"
44
+ val googlePayMerchantId = intent.getStringExtra(EXTRA_MERCHANT_ID)
45
+
46
+ if (amountCents <= 0) {
47
+ deliverFailure("Invalid amountCents")
48
+ return
49
+ }
50
+
51
+ val button = FrameGooglePayButton(this)
52
+ button.layoutParams = FrameLayout.LayoutParams(1, 1) // tiny but measurable so click can fire
53
+ container.addView(button)
54
+ googlePayButton = button
55
+
56
+ button.configure(
57
+ amountCents = amountCents,
58
+ customerId = customerId,
59
+ currencyCode = currencyCode,
60
+ googlePayMerchantId = googlePayMerchantId,
61
+ onResult = { result -> handleResult(result) },
62
+ onReadinessChanged = { isReady -> handleReadiness(isReady) }
63
+ )
64
+
65
+ // Bail out if Google Pay isn't ready within 5s.
66
+ readinessTimeout = Runnable {
67
+ if (!didTriggerClick && !didDeliverResult) {
68
+ deliverUnavailable()
69
+ }
70
+ }
71
+ handler.postDelayed(readinessTimeout!!, 5000)
72
+ }
73
+
74
+ private fun handleReadiness(isReady: Boolean) {
75
+ if (didTriggerClick || didDeliverResult) return
76
+ if (!isReady) return
77
+ didTriggerClick = true
78
+ val button = googlePayButton ?: return
79
+ // The inner Google Pay button (child 0 of FrameGooglePayButton) carries the
80
+ // OnClickListener that calls requestGooglePay(). Click on the outer
81
+ // FrameLayout does not propagate.
82
+ val inner = if (button.childCount > 0) button.getChildAt(0) else null
83
+ handler.post {
84
+ if (inner != null) {
85
+ inner.performClick()
86
+ } else {
87
+ deliverFailure("Could not find inner Google Pay button")
88
+ }
89
+ }
90
+ }
91
+
92
+ private fun handleResult(result: FrameGooglePayButton.Result) {
93
+ if (didDeliverResult) return
94
+ didDeliverResult = true
95
+ when (result) {
96
+ is FrameGooglePayButton.Result.Success -> {
97
+ val json = Gson().toJson(result.chargeIntent)
98
+ deliverViaCallback(android.app.Activity.RESULT_OK, Intent().putExtra(EXTRA_CHARGE_INTENT_JSON, json))
99
+ }
100
+ is FrameGooglePayButton.Result.Failure -> {
101
+ deliverViaCallback(RESULT_FAILURE, Intent().putExtra(EXTRA_FAILURE_MESSAGE, result.message))
102
+ }
103
+ is FrameGooglePayButton.Result.Cancelled -> {
104
+ deliverViaCallback(android.app.Activity.RESULT_CANCELED, null)
105
+ }
106
+ }
107
+ }
108
+
109
+ private fun deliverUnavailable() {
110
+ if (didDeliverResult) return
111
+ didDeliverResult = true
112
+ deliverViaCallback(RESULT_UNAVAILABLE, null)
113
+ }
114
+
115
+ private fun deliverFailure(message: String) {
116
+ if (didDeliverResult) return
117
+ didDeliverResult = true
118
+ deliverViaCallback(RESULT_FAILURE, Intent().putExtra(EXTRA_FAILURE_MESSAGE, message))
119
+ }
120
+
121
+ private fun deliverViaCallback(resultCode: Int, data: Intent?) {
122
+ val callback = FrameSDKModule.pendingGooglePayCallback
123
+ FrameSDKModule.pendingGooglePayCallback = null
124
+ callback?.invoke(resultCode, data)
125
+ finish()
126
+ }
127
+
128
+ override fun onDestroy() {
129
+ readinessTimeout?.let { handler.removeCallbacks(it) }
130
+ readinessTimeout = null
131
+ super.onDestroy()
132
+ }
133
+
134
+ companion object {
135
+ const val EXTRA_AMOUNT_CENTS = "amount_cents"
136
+ const val EXTRA_CUSTOMER_ID = "customer_id"
137
+ const val EXTRA_CURRENCY = "currency"
138
+ const val EXTRA_MERCHANT_ID = "merchant_id"
139
+ const val EXTRA_CHARGE_INTENT_JSON = "charge_intent_json"
140
+ const val EXTRA_FAILURE_MESSAGE = "failure_message"
141
+
142
+ const val REQUEST_CODE = 9003
143
+
144
+ // RESULT_FIRST_USER == 1; we use that to distinguish payment failure from cancel.
145
+ const val RESULT_FAILURE = android.app.Activity.RESULT_FIRST_USER
146
+ const val RESULT_UNAVAILABLE = android.app.Activity.RESULT_FIRST_USER + 1
147
+ }
148
+ }
@@ -0,0 +1,68 @@
1
+ package com.framepayments.reactnativeframe
2
+
3
+ import android.content.Intent
4
+ import android.os.Bundle
5
+ import androidx.activity.ComponentActivity
6
+ import androidx.activity.compose.setContent
7
+ import com.framepayments.frameonboarding.classes.Capabilities
8
+ import com.framepayments.frameonboarding.classes.OnboardingConfig
9
+ import com.framepayments.frameonboarding.classes.OnboardingResult
10
+ import com.framepayments.frameonboarding.views.OnboardingContainerView
11
+ import com.google.gson.Gson
12
+ import com.google.gson.reflect.TypeToken
13
+
14
+ class FrameOnboardingActivity : ComponentActivity() {
15
+
16
+ override fun onCreate(savedInstanceState: Bundle?) {
17
+ super.onCreate(savedInstanceState)
18
+ val accountId = intent.getStringExtra(EXTRA_ACCOUNT_ID)
19
+ val capabilitiesJson = intent.getStringExtra(EXTRA_CAPABILITIES_JSON) ?: "[]"
20
+ val capabilities = parseCapabilities(capabilitiesJson)
21
+
22
+ val config = OnboardingConfig(
23
+ accountId = accountId,
24
+ requiredCapabilities = capabilities
25
+ )
26
+
27
+ setContent {
28
+ OnboardingContainerView(config = config) { result ->
29
+ when (result) {
30
+ is OnboardingResult.Completed -> {
31
+ val data = Intent().apply {
32
+ putExtra(EXTRA_PAYMENT_METHOD_ID, result.paymentMethodId)
33
+ }
34
+ setResult(RESULT_OK, data)
35
+ finish()
36
+ }
37
+ is OnboardingResult.Cancelled -> {
38
+ setResult(RESULT_CANCELED)
39
+ finish()
40
+ }
41
+ is OnboardingResult.Error -> {
42
+ setResult(RESULT_CANCELED)
43
+ finish()
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+
50
+ private fun parseCapabilities(json: String): List<Capabilities> {
51
+ return try {
52
+ val type = object : TypeToken<List<String>>() {}.type
53
+ val rawList: List<String> = Gson().fromJson(json, type)
54
+ rawList.mapNotNull { raw ->
55
+ Capabilities.entries.find { it.apiValue == raw }
56
+ }
57
+ } catch (e: Exception) {
58
+ emptyList()
59
+ }
60
+ }
61
+
62
+ companion object {
63
+ const val EXTRA_ACCOUNT_ID = "account_id"
64
+ const val EXTRA_CAPABILITIES_JSON = "capabilities_json"
65
+ const val EXTRA_PAYMENT_METHOD_ID = "payment_method_id"
66
+ const val REQUEST_CODE = 9003
67
+ }
68
+ }
@@ -7,9 +7,7 @@ import com.facebook.react.bridge.Promise
7
7
  import com.facebook.react.bridge.ReactApplicationContext
8
8
  import com.facebook.react.bridge.ReactContextBaseJavaModule
9
9
  import com.facebook.react.bridge.ReactMethod
10
- import com.facebook.react.bridge.WritableNativeArray
11
10
  import com.facebook.react.bridge.WritableNativeMap
12
- import org.json.JSONArray
13
11
  import com.framepayments.framesdk.FrameNetworking
14
12
  import org.json.JSONObject
15
13
 
@@ -22,14 +20,21 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
22
20
 
23
21
  private var checkoutPromise: Promise? = null
24
22
  private var cartPromise: Promise? = null
23
+ private var onboardingPromise: Promise? = null
24
+ private var googlePayPromise: Promise? = null
25
25
 
26
26
  override fun getName(): String = "FrameSDK"
27
27
 
28
+ companion object {
29
+ @JvmStatic
30
+ var pendingGooglePayCallback: ((Int, Intent?) -> Unit)? = null
31
+ }
32
+
28
33
  @ReactMethod
29
- fun initialize(apiKey: String, debugMode: Boolean, promise: Promise) {
34
+ fun initialize(secretKey: String, publishableKey: String, debugMode: Boolean, promise: Promise) {
30
35
  try {
31
36
  val ctx = reactApplicationContext.applicationContext
32
- FrameNetworking.initializeWithAPIKey(ctx, apiKey, debugMode)
37
+ FrameNetworking.initializeWithAPIKey(ctx, secretKey, publishableKey, debugMode)
33
38
  promise.resolve(null)
34
39
  } catch (e: Exception) {
35
40
  promise.reject("INIT_FAILED", e.message, e)
@@ -38,7 +43,7 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
38
43
 
39
44
  @ReactMethod
40
45
  fun presentCheckout(customerId: String?, amount: Double, promise: Promise) {
41
- val activity = currentActivity ?: run {
46
+ val activity = reactApplicationContext.currentActivity ?: run {
42
47
  promise.reject("NO_ACTIVITY", "No current activity", null)
43
48
  return
44
49
  }
@@ -59,7 +64,7 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
59
64
  shippingAmountInCents: Double,
60
65
  promise: Promise
61
66
  ) {
62
- val activity = currentActivity ?: run {
67
+ val activity = reactApplicationContext.currentActivity ?: run {
63
68
  promise.reject("NO_ACTIVITY", "No current activity", null)
64
69
  return
65
70
  }
@@ -78,6 +83,59 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
78
83
  }
79
84
  }
80
85
 
86
+ @ReactMethod
87
+ fun presentGooglePay(
88
+ amountCents: Double,
89
+ customerId: String?,
90
+ currencyCode: String?,
91
+ googlePayMerchantId: String?,
92
+ promise: Promise
93
+ ) {
94
+ val activity = reactApplicationContext.currentActivity ?: run {
95
+ promise.reject("NO_ACTIVITY", "No current activity", null)
96
+ return
97
+ }
98
+ val amountInt = amountCents.toInt()
99
+ if (amountInt <= 0) {
100
+ promise.reject("INVALID_AMOUNT", "amountCents must be positive", null)
101
+ return
102
+ }
103
+ googlePayPromise = promise
104
+ pendingGooglePayCallback = { resultCode, data ->
105
+ handleGooglePayResult(resultCode, data)
106
+ }
107
+ activity.runOnUiThread {
108
+ val intent = Intent(activity, FrameGooglePayActivity::class.java).apply {
109
+ putExtra(FrameGooglePayActivity.EXTRA_AMOUNT_CENTS, amountInt)
110
+ putExtra(FrameGooglePayActivity.EXTRA_CUSTOMER_ID, customerId)
111
+ putExtra(FrameGooglePayActivity.EXTRA_CURRENCY, currencyCode ?: "USD")
112
+ putExtra(FrameGooglePayActivity.EXTRA_MERCHANT_ID, googlePayMerchantId)
113
+ }
114
+ activity.startActivity(intent)
115
+ }
116
+ }
117
+
118
+ @ReactMethod
119
+ fun presentOnboarding(
120
+ accountId: String?,
121
+ capabilities: com.facebook.react.bridge.ReadableArray,
122
+ promise: Promise
123
+ ) {
124
+ val activity = reactApplicationContext.currentActivity ?: run {
125
+ promise.reject("NO_ACTIVITY", "No current activity", null)
126
+ return
127
+ }
128
+ val capabilitiesJson = readableArrayToJsonArray(capabilities)
129
+ onboardingPromise = promise
130
+ activity.runOnUiThread {
131
+ val intent = Intent(activity, FrameOnboardingActivity::class.java).apply {
132
+ putExtra(FrameOnboardingActivity.EXTRA_ACCOUNT_ID, accountId)
133
+ putExtra(FrameOnboardingActivity.EXTRA_CAPABILITIES_JSON, capabilitiesJson)
134
+ }
135
+ activity.startActivityForResult(intent, FrameOnboardingActivity.REQUEST_CODE)
136
+ }
137
+ }
138
+
81
139
  private fun readableArrayToJson(items: com.facebook.react.bridge.ReadableArray): String? {
82
140
  val arr = org.json.JSONArray()
83
141
  for (i in 0 until items.size()) {
@@ -92,10 +150,20 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
92
150
  return arr.toString()
93
151
  }
94
152
 
95
- override fun onActivityResult(activity: Activity?, requestCode: Int, resultCode: Int, data: Intent?) {
153
+ private fun readableArrayToJsonArray(arr: com.facebook.react.bridge.ReadableArray): String {
154
+ val jsonArr = org.json.JSONArray()
155
+ for (i in 0 until arr.size()) {
156
+ arr.getString(i)?.let { jsonArr.put(it) }
157
+ }
158
+ return jsonArr.toString()
159
+ }
160
+
161
+ override fun onActivityResult(activity: Activity, requestCode: Int, resultCode: Int, data: Intent?) {
96
162
  when (requestCode) {
97
163
  FrameCheckoutActivity.REQUEST_CODE -> handleCheckoutResult(resultCode, data)
98
164
  FrameFlowActivity.REQUEST_CODE -> handleCartResult(resultCode, data)
165
+ FrameOnboardingActivity.REQUEST_CODE -> handleOnboardingResult(resultCode, data)
166
+ FrameGooglePayActivity.REQUEST_CODE -> handleGooglePayResult(resultCode, data)
99
167
  else -> return
100
168
  }
101
169
  }
@@ -142,38 +210,52 @@ class FrameSDKModule(reactContext: ReactApplicationContext) :
142
210
  }
143
211
  }
144
212
 
145
- private fun jsonObjectToWritableMap(obj: JSONObject): WritableNativeMap {
146
- val map = WritableNativeMap()
147
- for (key in obj.keys()) {
148
- if (obj.isNull(key)) continue
149
- when (val v = obj.get(key)) {
150
- is String -> map.putString(key, v)
151
- is Int -> map.putInt(key, v)
152
- is Long -> map.putDouble(key, v.toDouble())
153
- is Double -> map.putDouble(key, v)
154
- is Boolean -> map.putBoolean(key, v)
155
- is JSONObject -> map.putMap(key, jsonObjectToWritableMap(v))
156
- is JSONArray -> map.putArray(key, jsonArrayToWritableArray(v))
213
+ private fun handleGooglePayResult(resultCode: Int, data: Intent?) {
214
+ val promise = googlePayPromise ?: return
215
+ googlePayPromise = null
216
+ when (resultCode) {
217
+ Activity.RESULT_OK -> {
218
+ val json = data?.getStringExtra(FrameGooglePayActivity.EXTRA_CHARGE_INTENT_JSON)
219
+ if (json != null) {
220
+ try {
221
+ val map = jsonObjectToWritableMap(JSONObject(json))
222
+ promise.resolve(map)
223
+ } catch (e: Exception) {
224
+ promise.reject("PARSE_ERROR", e.message, e)
225
+ }
226
+ } else {
227
+ promise.reject("NO_RESULT", "No charge intent in result", null)
228
+ }
229
+ }
230
+ FrameGooglePayActivity.RESULT_FAILURE -> {
231
+ val message = data?.getStringExtra(FrameGooglePayActivity.EXTRA_FAILURE_MESSAGE) ?: "Google Pay failed"
232
+ promise.reject("PAYMENT_FAILED", message, null)
233
+ }
234
+ FrameGooglePayActivity.RESULT_UNAVAILABLE -> {
235
+ promise.reject("GOOGLE_PAY_UNAVAILABLE", "Google Pay is not available on this device", null)
236
+ }
237
+ else -> {
238
+ promise.reject("USER_CANCELED", "User cancelled Google Pay", null)
157
239
  }
158
240
  }
159
- return map
160
241
  }
161
242
 
162
- private fun jsonArrayToWritableArray(arr: JSONArray): WritableNativeArray {
163
- val list = WritableNativeArray()
164
- for (i in 0 until arr.length()) {
165
- when (val v = arr.get(i)) {
166
- is String -> list.pushString(v)
167
- is Int -> list.pushInt(v)
168
- is Long -> list.pushDouble(v.toDouble())
169
- is Double -> list.pushDouble(v)
170
- is Boolean -> list.pushBoolean(v)
171
- is JSONObject -> list.pushMap(jsonObjectToWritableMap(v))
172
- is JSONArray -> list.pushArray(jsonArrayToWritableArray(v))
243
+ private fun handleOnboardingResult(resultCode: Int, data: Intent?) {
244
+ val promise = onboardingPromise ?: return
245
+ onboardingPromise = null
246
+ val map = WritableNativeMap()
247
+ if (resultCode == Activity.RESULT_OK) {
248
+ map.putString("status", "completed")
249
+ val paymentMethodId = data?.getStringExtra(FrameOnboardingActivity.EXTRA_PAYMENT_METHOD_ID)
250
+ if (paymentMethodId != null) {
251
+ map.putString("paymentMethodId", paymentMethodId)
173
252
  }
253
+ promise.resolve(map)
254
+ } else {
255
+ map.putString("status", "cancelled")
256
+ promise.resolve(map)
174
257
  }
175
- return list
176
258
  }
177
259
 
178
- override fun onNewIntent(intent: Intent?) {}
260
+ override fun onNewIntent(intent: Intent) {}
179
261
  }