boxpay-checkout-reactnative-sdk 1.0.0-beta03

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 (634) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +34 -0
  3. package/android/build/.transforms/516dc569503728180fa99c1ae0c9eece/results.bin +1 -0
  4. package/android/build/.transforms/516dc569503728180fa99c1ae0c9eece/transformed/classes/classes_dex/classes.dex +0 -0
  5. package/android/build/generated/source/buildConfig/debug/com/reactnativemodule/BuildConfig.java +10 -0
  6. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +13 -0
  7. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  8. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  9. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  10. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  11. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  12. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  13. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  14. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  15. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  16. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  17. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  18. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/cross_platform_sdk_react_native_plugin_debug.kotlin_module +0 -0
  19. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactnativemodule/BuildConfig.class +0 -0
  20. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  21. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +20 -0
  22. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +13 -0
  23. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  24. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  25. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  26. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  27. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  28. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  29. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  30. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  31. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  32. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  33. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  34. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  35. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  36. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  65. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  107. package/android/build/outputs/logs/manifest-merger-debug-report.txt +30 -0
  108. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  109. package/android/build/tmp/kotlin-classes/debug/META-INF/cross_platform_sdk_react_native_plugin_debug.kotlin_module +0 -0
  110. package/android/build/tmp/kotlin-classes/debug/com/reactnativemodule/CrossPlatform.class +0 -0
  111. package/android/build/tmp/kotlin-classes/debug/com/reactnativemodule/ReactNativeModulePackage.class +0 -0
  112. package/android/build.gradle +45 -0
  113. package/android/gradle.properties +7 -0
  114. package/android/local.properties +1 -0
  115. package/android/settings.gradle +22 -0
  116. package/android/src/main/AndroidManifest.xml +9 -0
  117. package/android/src/main/java/com/reactnativemodule/CrossPlaform.kt +39 -0
  118. package/android/src/main/java/com/reactnativemodule/ReactNativeModulePackage.kt +17 -0
  119. package/assets/animations/boxpayLogo.json +1135 -0
  120. package/assets/animations/payment_failed.json +487 -0
  121. package/assets/animations/payment_status_pending.json +750 -0
  122. package/assets/animations/payment_successful.json +1602 -0
  123. package/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  124. package/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  125. package/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  126. package/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  127. package/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  128. package/assets/fonts/Poppins-Bold.ttf +0 -0
  129. package/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  130. package/assets/fonts/Poppins-Medium.ttf +0 -0
  131. package/assets/fonts/Poppins-Regular.ttf +0 -0
  132. package/assets/fonts/Poppins-SemiBold.ttf +0 -0
  133. package/assets/images/Lock.png +0 -0
  134. package/assets/images/add_icon.png +0 -0
  135. package/assets/images/add_upi_id_background.png +0 -0
  136. package/assets/images/arrow-left.png +0 -0
  137. package/assets/images/chervon-down.png +0 -0
  138. package/assets/images/cvv_info_image.png +0 -0
  139. package/assets/images/cvv_info_image_amex.png +0 -0
  140. package/assets/images/favicon.png +0 -0
  141. package/assets/images/gpay-icon.png +0 -0
  142. package/assets/images/ic_amex.png +0 -0
  143. package/assets/images/ic_bnpl.png +0 -0
  144. package/assets/images/ic_bnpl_semi_bold.png +0 -0
  145. package/assets/images/ic_card.png +0 -0
  146. package/assets/images/ic_card_add.png +0 -0
  147. package/assets/images/ic_card_lock.png +0 -0
  148. package/assets/images/ic_cross.png +0 -0
  149. package/assets/images/ic_cvv_info.png +0 -0
  150. package/assets/images/ic_default_card.png +0 -0
  151. package/assets/images/ic_emi.png +0 -0
  152. package/assets/images/ic_home.png +0 -0
  153. package/assets/images/ic_info.png +0 -0
  154. package/assets/images/ic_location.png +0 -0
  155. package/assets/images/ic_maestro.png +0 -0
  156. package/assets/images/ic_masterCard.png +0 -0
  157. package/assets/images/ic_netbanking.png +0 -0
  158. package/assets/images/ic_netbanking_semi_bold.png +0 -0
  159. package/assets/images/ic_other.png +0 -0
  160. package/assets/images/ic_rupay.png +0 -0
  161. package/assets/images/ic_search.png +0 -0
  162. package/assets/images/ic_upi.png +0 -0
  163. package/assets/images/ic_upi_error.png +0 -0
  164. package/assets/images/ic_user.png +0 -0
  165. package/assets/images/ic_visa.png +0 -0
  166. package/assets/images/ic_wallet.png +0 -0
  167. package/assets/images/ic_wallet_semi_bold.png +0 -0
  168. package/assets/images/ic_work.png +0 -0
  169. package/assets/images/no_results_found.png +0 -0
  170. package/assets/images/other-intent-icon.png +0 -0
  171. package/assets/images/paytm-icon.png +0 -0
  172. package/assets/images/phonepe-icon.png +0 -0
  173. package/assets/images/splash-icon.png +0 -0
  174. package/assets/images/upi-icon.png +0 -0
  175. package/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  176. package/assets/json/countryCodes.json +1490 -0
  177. package/ios/CrossPlatform.m +10 -0
  178. package/ios/CrossPlatform.swift +39 -0
  179. package/ios/cross_platform_react_native_plugin.podspec +22 -0
  180. package/lib/assets/animations/boxpayLogo.json +1135 -0
  181. package/lib/assets/animations/payment_failed.json +487 -0
  182. package/lib/assets/animations/payment_status_pending.json +750 -0
  183. package/lib/assets/animations/payment_successful.json +1602 -0
  184. package/lib/assets/assets/animations/boxpayLogo.json +1135 -0
  185. package/lib/assets/assets/animations/payment_failed.json +487 -0
  186. package/lib/assets/assets/animations/payment_status_pending.json +750 -0
  187. package/lib/assets/assets/animations/payment_successful.json +1602 -0
  188. package/lib/assets/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  189. package/lib/assets/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  190. package/lib/assets/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  191. package/lib/assets/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  192. package/lib/assets/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  193. package/lib/assets/assets/fonts/Poppins-Bold.ttf +0 -0
  194. package/lib/assets/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  195. package/lib/assets/assets/fonts/Poppins-Medium.ttf +0 -0
  196. package/lib/assets/assets/fonts/Poppins-Regular.ttf +0 -0
  197. package/lib/assets/assets/fonts/Poppins-SemiBold.ttf +0 -0
  198. package/lib/assets/assets/images/Lock.png +0 -0
  199. package/lib/assets/assets/images/add_icon.png +0 -0
  200. package/lib/assets/assets/images/add_upi_id_background.png +0 -0
  201. package/lib/assets/assets/images/arrow-left.png +0 -0
  202. package/lib/assets/assets/images/chervon-down.png +0 -0
  203. package/lib/assets/assets/images/cvv_info_image.png +0 -0
  204. package/lib/assets/assets/images/cvv_info_image_amex.png +0 -0
  205. package/lib/assets/assets/images/favicon.png +0 -0
  206. package/lib/assets/assets/images/gpay-icon.png +0 -0
  207. package/lib/assets/assets/images/ic_amex.png +0 -0
  208. package/lib/assets/assets/images/ic_bnpl.png +0 -0
  209. package/lib/assets/assets/images/ic_bnpl_semi_bold.png +0 -0
  210. package/lib/assets/assets/images/ic_card.png +0 -0
  211. package/lib/assets/assets/images/ic_card_add.png +0 -0
  212. package/lib/assets/assets/images/ic_card_lock.png +0 -0
  213. package/lib/assets/assets/images/ic_cross.png +0 -0
  214. package/lib/assets/assets/images/ic_cvv_info.png +0 -0
  215. package/lib/assets/assets/images/ic_default_card.png +0 -0
  216. package/lib/assets/assets/images/ic_emi.png +0 -0
  217. package/lib/assets/assets/images/ic_home.png +0 -0
  218. package/lib/assets/assets/images/ic_info.png +0 -0
  219. package/lib/assets/assets/images/ic_location.png +0 -0
  220. package/lib/assets/assets/images/ic_maestro.png +0 -0
  221. package/lib/assets/assets/images/ic_masterCard.png +0 -0
  222. package/lib/assets/assets/images/ic_netbanking.png +0 -0
  223. package/lib/assets/assets/images/ic_netbanking_semi_bold.png +0 -0
  224. package/lib/assets/assets/images/ic_other.png +0 -0
  225. package/lib/assets/assets/images/ic_rupay.png +0 -0
  226. package/lib/assets/assets/images/ic_search.png +0 -0
  227. package/lib/assets/assets/images/ic_upi.png +0 -0
  228. package/lib/assets/assets/images/ic_upi_error.png +0 -0
  229. package/lib/assets/assets/images/ic_user.png +0 -0
  230. package/lib/assets/assets/images/ic_visa.png +0 -0
  231. package/lib/assets/assets/images/ic_wallet.png +0 -0
  232. package/lib/assets/assets/images/ic_wallet_semi_bold.png +0 -0
  233. package/lib/assets/assets/images/ic_work.png +0 -0
  234. package/lib/assets/assets/images/no_results_found.png +0 -0
  235. package/lib/assets/assets/images/other-intent-icon.png +0 -0
  236. package/lib/assets/assets/images/paytm-icon.png +0 -0
  237. package/lib/assets/assets/images/phonepe-icon.png +0 -0
  238. package/lib/assets/assets/images/splash-icon.png +0 -0
  239. package/lib/assets/assets/images/upi-icon.png +0 -0
  240. package/lib/assets/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  241. package/lib/assets/assets/json/countryCodes.json +1490 -0
  242. package/lib/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  243. package/lib/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  244. package/lib/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  245. package/lib/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  246. package/lib/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  247. package/lib/assets/fonts/Poppins-Bold.ttf +0 -0
  248. package/lib/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  249. package/lib/assets/fonts/Poppins-Medium.ttf +0 -0
  250. package/lib/assets/fonts/Poppins-Regular.ttf +0 -0
  251. package/lib/assets/fonts/Poppins-SemiBold.ttf +0 -0
  252. package/lib/assets/images/Lock.png +0 -0
  253. package/lib/assets/images/add_icon.png +0 -0
  254. package/lib/assets/images/add_upi_id_background.png +0 -0
  255. package/lib/assets/images/arrow-left.png +0 -0
  256. package/lib/assets/images/chervon-down.png +0 -0
  257. package/lib/assets/images/cvv_info_image.png +0 -0
  258. package/lib/assets/images/cvv_info_image_amex.png +0 -0
  259. package/lib/assets/images/favicon.png +0 -0
  260. package/lib/assets/images/gpay-icon.png +0 -0
  261. package/lib/assets/images/ic_amex.png +0 -0
  262. package/lib/assets/images/ic_bnpl.png +0 -0
  263. package/lib/assets/images/ic_bnpl_semi_bold.png +0 -0
  264. package/lib/assets/images/ic_card.png +0 -0
  265. package/lib/assets/images/ic_card_add.png +0 -0
  266. package/lib/assets/images/ic_card_lock.png +0 -0
  267. package/lib/assets/images/ic_cross.png +0 -0
  268. package/lib/assets/images/ic_cvv_info.png +0 -0
  269. package/lib/assets/images/ic_default_card.png +0 -0
  270. package/lib/assets/images/ic_emi.png +0 -0
  271. package/lib/assets/images/ic_home.png +0 -0
  272. package/lib/assets/images/ic_info.png +0 -0
  273. package/lib/assets/images/ic_location.png +0 -0
  274. package/lib/assets/images/ic_maestro.png +0 -0
  275. package/lib/assets/images/ic_masterCard.png +0 -0
  276. package/lib/assets/images/ic_netbanking.png +0 -0
  277. package/lib/assets/images/ic_netbanking_semi_bold.png +0 -0
  278. package/lib/assets/images/ic_other.png +0 -0
  279. package/lib/assets/images/ic_rupay.png +0 -0
  280. package/lib/assets/images/ic_search.png +0 -0
  281. package/lib/assets/images/ic_upi.png +0 -0
  282. package/lib/assets/images/ic_upi_error.png +0 -0
  283. package/lib/assets/images/ic_user.png +0 -0
  284. package/lib/assets/images/ic_visa.png +0 -0
  285. package/lib/assets/images/ic_wallet.png +0 -0
  286. package/lib/assets/images/ic_wallet_semi_bold.png +0 -0
  287. package/lib/assets/images/ic_work.png +0 -0
  288. package/lib/assets/images/no_results_found.png +0 -0
  289. package/lib/assets/images/other-intent-icon.png +0 -0
  290. package/lib/assets/images/paytm-icon.png +0 -0
  291. package/lib/assets/images/phonepe-icon.png +0 -0
  292. package/lib/assets/images/splash-icon.png +0 -0
  293. package/lib/assets/images/upi-icon.png +0 -0
  294. package/lib/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  295. package/lib/assets/json/countryCodes.json +1490 -0
  296. package/lib/module/components/addressCard.js +116 -0
  297. package/lib/module/components/addressCard.js.map +1 -0
  298. package/lib/module/components/bankCard.js +74 -0
  299. package/lib/module/components/bankCard.js.map +1 -0
  300. package/lib/module/components/cancelPaymentModal.js +65 -0
  301. package/lib/module/components/cancelPaymentModal.js.map +1 -0
  302. package/lib/module/components/circularProgress.js +71 -0
  303. package/lib/module/components/circularProgress.js.map +1 -0
  304. package/lib/module/components/cvvInfoBottomSheet.js +60 -0
  305. package/lib/module/components/cvvInfoBottomSheet.js.map +1 -0
  306. package/lib/module/components/fontFamily.js +23 -0
  307. package/lib/module/components/fontFamily.js.map +1 -0
  308. package/lib/module/components/getInstalledUPI.js +29 -0
  309. package/lib/module/components/getInstalledUPI.js.map +1 -0
  310. package/lib/module/components/header.js +123 -0
  311. package/lib/module/components/header.js.map +1 -0
  312. package/lib/module/components/knowMoreBottomSheet.js +117 -0
  313. package/lib/module/components/knowMoreBottomSheet.js.map +1 -0
  314. package/lib/module/components/morePaymentContainer.js +44 -0
  315. package/lib/module/components/morePaymentContainer.js.map +1 -0
  316. package/lib/module/components/morePaymentMethods.js +154 -0
  317. package/lib/module/components/morePaymentMethods.js.map +1 -0
  318. package/lib/module/components/orderDetails.js +367 -0
  319. package/lib/module/components/orderDetails.js.map +1 -0
  320. package/lib/module/components/paymentFailed.js +98 -0
  321. package/lib/module/components/paymentFailed.js.map +1 -0
  322. package/lib/module/components/paymentSelector.js +192 -0
  323. package/lib/module/components/paymentSelector.js.map +1 -0
  324. package/lib/module/components/paymentSuccess.js +253 -0
  325. package/lib/module/components/paymentSuccess.js.map +1 -0
  326. package/lib/module/components/savedCardComponent.js +240 -0
  327. package/lib/module/components/savedCardComponent.js.map +1 -0
  328. package/lib/module/components/selectTenureCard.js +382 -0
  329. package/lib/module/components/selectTenureCard.js.map +1 -0
  330. package/lib/module/components/sessionExpire.js +97 -0
  331. package/lib/module/components/sessionExpire.js.map +1 -0
  332. package/lib/module/components/shimmerView.js +40 -0
  333. package/lib/module/components/shimmerView.js.map +1 -0
  334. package/lib/module/index.js +639 -0
  335. package/lib/module/index.js.map +1 -0
  336. package/lib/module/interface.js +38 -0
  337. package/lib/module/interface.js.map +1 -0
  338. package/lib/module/navigation.js +54 -0
  339. package/lib/module/navigation.js.map +1 -0
  340. package/lib/module/package.json +1 -0
  341. package/lib/module/postRequest/callUIAnalytics.js +55 -0
  342. package/lib/module/postRequest/callUIAnalytics.js.map +1 -0
  343. package/lib/module/postRequest/cardPostRequest.js +98 -0
  344. package/lib/module/postRequest/cardPostRequest.js.map +1 -0
  345. package/lib/module/postRequest/deleteSavedAddress.js +33 -0
  346. package/lib/module/postRequest/deleteSavedAddress.js.map +1 -0
  347. package/lib/module/postRequest/emiPostRequest.js +109 -0
  348. package/lib/module/postRequest/emiPostRequest.js.map +1 -0
  349. package/lib/module/postRequest/fetchCardDetails.js +26 -0
  350. package/lib/module/postRequest/fetchCardDetails.js.map +1 -0
  351. package/lib/module/postRequest/fetchPaymentMethods.js +25 -0
  352. package/lib/module/postRequest/fetchPaymentMethods.js.map +1 -0
  353. package/lib/module/postRequest/fetchRecommendedInstruments.js +30 -0
  354. package/lib/module/postRequest/fetchRecommendedInstruments.js.map +1 -0
  355. package/lib/module/postRequest/fetchSavedAddress.js +30 -0
  356. package/lib/module/postRequest/fetchSavedAddress.js.map +1 -0
  357. package/lib/module/postRequest/fetchSessionDetails.js +25 -0
  358. package/lib/module/postRequest/fetchSessionDetails.js.map +1 -0
  359. package/lib/module/postRequest/fetchStatus.js +26 -0
  360. package/lib/module/postRequest/fetchStatus.js.map +1 -0
  361. package/lib/module/postRequest/methodsPostRequest.js +85 -0
  362. package/lib/module/postRequest/methodsPostRequest.js.map +1 -0
  363. package/lib/module/postRequest/upiPostRequest.js +76 -0
  364. package/lib/module/postRequest/upiPostRequest.js.map +1 -0
  365. package/lib/module/screens/addressScreen.js +661 -0
  366. package/lib/module/screens/addressScreen.js.map +1 -0
  367. package/lib/module/screens/bnplScreen.js +238 -0
  368. package/lib/module/screens/bnplScreen.js.map +1 -0
  369. package/lib/module/screens/cardScreen.js +845 -0
  370. package/lib/module/screens/cardScreen.js.map +1 -0
  371. package/lib/module/screens/emiScreen.js +621 -0
  372. package/lib/module/screens/emiScreen.js.map +1 -0
  373. package/lib/module/screens/netBankingScreen.js +342 -0
  374. package/lib/module/screens/netBankingScreen.js.map +1 -0
  375. package/lib/module/screens/savedAddressScreen.js +116 -0
  376. package/lib/module/screens/savedAddressScreen.js.map +1 -0
  377. package/lib/module/screens/selectTenureScreen.js +103 -0
  378. package/lib/module/screens/selectTenureScreen.js.map +1 -0
  379. package/lib/module/screens/upiScreen.js +374 -0
  380. package/lib/module/screens/upiScreen.js.map +1 -0
  381. package/lib/module/screens/upiTimerScreen.js +229 -0
  382. package/lib/module/screens/upiTimerScreen.js.map +1 -0
  383. package/lib/module/screens/walletScreen.js +311 -0
  384. package/lib/module/screens/walletScreen.js.map +1 -0
  385. package/lib/module/screens/webViewScreen.js +34 -0
  386. package/lib/module/screens/webViewScreen.js.map +1 -0
  387. package/lib/module/serviceRequest.js +30 -0
  388. package/lib/module/serviceRequest.js.map +1 -0
  389. package/lib/module/sharedContext/checkoutDetailsHandler.js +38 -0
  390. package/lib/module/sharedContext/checkoutDetailsHandler.js.map +1 -0
  391. package/lib/module/sharedContext/handlePaymentResponseHandler.js +258 -0
  392. package/lib/module/sharedContext/handlePaymentResponseHandler.js.map +1 -0
  393. package/lib/module/sharedContext/paymentStatusHandler.js +9 -0
  394. package/lib/module/sharedContext/paymentStatusHandler.js.map +1 -0
  395. package/lib/module/sharedContext/userdataHandler.js +25 -0
  396. package/lib/module/sharedContext/userdataHandler.js.map +1 -0
  397. package/lib/module/styles/components/addressCardStyles.js +65 -0
  398. package/lib/module/styles/components/addressCardStyles.js.map +1 -0
  399. package/lib/module/styles/components/bankCardStyles.js +63 -0
  400. package/lib/module/styles/components/bankCardStyles.js.map +1 -0
  401. package/lib/module/styles/components/cancelPaymentModalStyles.js +89 -0
  402. package/lib/module/styles/components/cancelPaymentModalStyles.js.map +1 -0
  403. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js +57 -0
  404. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js.map +1 -0
  405. package/lib/module/styles/indexStyles.js +66 -0
  406. package/lib/module/styles/indexStyles.js.map +1 -0
  407. package/lib/module/styles/savedAddressScreenStyles.js +25 -0
  408. package/lib/module/styles/savedAddressScreenStyles.js.map +1 -0
  409. package/lib/module/styles/screens/addressScreenStyles..js +66 -0
  410. package/lib/module/styles/screens/addressScreenStyles..js.map +1 -0
  411. package/lib/module/styles/screens/bnplScreenStyles.js +84 -0
  412. package/lib/module/styles/screens/bnplScreenStyles.js.map +1 -0
  413. package/lib/module/styles/screens/cardScreenStyles.js +152 -0
  414. package/lib/module/styles/screens/cardScreenStyles.js.map +1 -0
  415. package/lib/module/styles/screens/emiScreenStyles.js +137 -0
  416. package/lib/module/styles/screens/emiScreenStyles.js.map +1 -0
  417. package/lib/module/styles/screens/netBankingScreenStyles.js +108 -0
  418. package/lib/module/styles/screens/netBankingScreenStyles.js.map +1 -0
  419. package/lib/module/styles/screens/selectTenureScreenStyles.js +46 -0
  420. package/lib/module/styles/screens/selectTenureScreenStyles.js.map +1 -0
  421. package/lib/module/styles/screens/upiScreenStyles.js +115 -0
  422. package/lib/module/styles/screens/upiScreenStyles.js.map +1 -0
  423. package/lib/module/styles/screens/upiTimerScreenStyle.js +103 -0
  424. package/lib/module/styles/screens/upiTimerScreenStyle.js.map +1 -0
  425. package/lib/module/styles/screens/walletScreenStyles.js +105 -0
  426. package/lib/module/styles/screens/walletScreenStyles.js.map +1 -0
  427. package/lib/module/utils/listAndObjectUtils.js +25 -0
  428. package/lib/module/utils/listAndObjectUtils.js.map +1 -0
  429. package/lib/module/utils/stringUtils.js +23 -0
  430. package/lib/module/utils/stringUtils.js.map +1 -0
  431. package/lib/typescript/package.json +1 -0
  432. package/lib/typescript/src/components/addressCard.d.ts +7 -0
  433. package/lib/typescript/src/components/addressCard.d.ts.map +1 -0
  434. package/lib/typescript/src/components/bankCard.d.ts +11 -0
  435. package/lib/typescript/src/components/bankCard.d.ts.map +1 -0
  436. package/lib/typescript/src/components/cancelPaymentModal.d.ts +8 -0
  437. package/lib/typescript/src/components/cancelPaymentModal.d.ts.map +1 -0
  438. package/lib/typescript/src/components/circularProgress.d.ts +10 -0
  439. package/lib/typescript/src/components/circularProgress.d.ts.map +1 -0
  440. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts +7 -0
  441. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts.map +1 -0
  442. package/lib/typescript/src/components/fontFamily.d.ts +3 -0
  443. package/lib/typescript/src/components/fontFamily.d.ts.map +1 -0
  444. package/lib/typescript/src/components/getInstalledUPI.d.ts +2 -0
  445. package/lib/typescript/src/components/getInstalledUPI.d.ts.map +1 -0
  446. package/lib/typescript/src/components/header.d.ts +10 -0
  447. package/lib/typescript/src/components/header.d.ts.map +1 -0
  448. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts +6 -0
  449. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts.map +1 -0
  450. package/lib/typescript/src/components/morePaymentContainer.d.ts +8 -0
  451. package/lib/typescript/src/components/morePaymentContainer.d.ts.map +1 -0
  452. package/lib/typescript/src/components/morePaymentMethods.d.ts +7 -0
  453. package/lib/typescript/src/components/morePaymentMethods.d.ts.map +1 -0
  454. package/lib/typescript/src/components/orderDetails.d.ts +16 -0
  455. package/lib/typescript/src/components/orderDetails.d.ts.map +1 -0
  456. package/lib/typescript/src/components/paymentFailed.d.ts +8 -0
  457. package/lib/typescript/src/components/paymentFailed.d.ts.map +1 -0
  458. package/lib/typescript/src/components/paymentSelector.d.ts +12 -0
  459. package/lib/typescript/src/components/paymentSelector.d.ts.map +1 -0
  460. package/lib/typescript/src/components/paymentSuccess.d.ts +10 -0
  461. package/lib/typescript/src/components/paymentSuccess.d.ts.map +1 -0
  462. package/lib/typescript/src/components/savedCardComponent.d.ts +12 -0
  463. package/lib/typescript/src/components/savedCardComponent.d.ts.map +1 -0
  464. package/lib/typescript/src/components/selectTenureCard.d.ts +21 -0
  465. package/lib/typescript/src/components/selectTenureCard.d.ts.map +1 -0
  466. package/lib/typescript/src/components/sessionExpire.d.ts +7 -0
  467. package/lib/typescript/src/components/sessionExpire.d.ts.map +1 -0
  468. package/lib/typescript/src/components/shimmerView.d.ts +3 -0
  469. package/lib/typescript/src/components/shimmerView.d.ts.map +1 -0
  470. package/lib/typescript/src/index.d.ts +4 -0
  471. package/lib/typescript/src/index.d.ts.map +1 -0
  472. package/lib/typescript/src/interface.d.ts +422 -0
  473. package/lib/typescript/src/interface.d.ts.map +1 -0
  474. package/lib/typescript/src/navigation.d.ts +14 -0
  475. package/lib/typescript/src/navigation.d.ts.map +1 -0
  476. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts +4 -0
  477. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts.map +1 -0
  478. package/lib/typescript/src/postRequest/cardPostRequest.d.ts +4 -0
  479. package/lib/typescript/src/postRequest/cardPostRequest.d.ts.map +1 -0
  480. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts +4 -0
  481. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts.map +1 -0
  482. package/lib/typescript/src/postRequest/emiPostRequest.d.ts +13 -0
  483. package/lib/typescript/src/postRequest/emiPostRequest.d.ts.map +1 -0
  484. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts +4 -0
  485. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts.map +1 -0
  486. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts +4 -0
  487. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts.map +1 -0
  488. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts +4 -0
  489. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts.map +1 -0
  490. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts +4 -0
  491. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts.map +1 -0
  492. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts +4 -0
  493. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts.map +1 -0
  494. package/lib/typescript/src/postRequest/fetchStatus.d.ts +4 -0
  495. package/lib/typescript/src/postRequest/fetchStatus.d.ts.map +1 -0
  496. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts +4 -0
  497. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts.map +1 -0
  498. package/lib/typescript/src/postRequest/upiPostRequest.d.ts +4 -0
  499. package/lib/typescript/src/postRequest/upiPostRequest.d.ts.map +1 -0
  500. package/lib/typescript/src/screens/addressScreen.d.ts +9 -0
  501. package/lib/typescript/src/screens/addressScreen.d.ts.map +1 -0
  502. package/lib/typescript/src/screens/bnplScreen.d.ts +9 -0
  503. package/lib/typescript/src/screens/bnplScreen.d.ts.map +1 -0
  504. package/lib/typescript/src/screens/cardScreen.d.ts +11 -0
  505. package/lib/typescript/src/screens/cardScreen.d.ts.map +1 -0
  506. package/lib/typescript/src/screens/emiScreen.d.ts +9 -0
  507. package/lib/typescript/src/screens/emiScreen.d.ts.map +1 -0
  508. package/lib/typescript/src/screens/netBankingScreen.d.ts +9 -0
  509. package/lib/typescript/src/screens/netBankingScreen.d.ts.map +1 -0
  510. package/lib/typescript/src/screens/savedAddressScreen.d.ts +3 -0
  511. package/lib/typescript/src/screens/savedAddressScreen.d.ts.map +1 -0
  512. package/lib/typescript/src/screens/selectTenureScreen.d.ts +12 -0
  513. package/lib/typescript/src/screens/selectTenureScreen.d.ts.map +1 -0
  514. package/lib/typescript/src/screens/upiScreen.d.ts +11 -0
  515. package/lib/typescript/src/screens/upiScreen.d.ts.map +1 -0
  516. package/lib/typescript/src/screens/upiTimerScreen.d.ts +11 -0
  517. package/lib/typescript/src/screens/upiTimerScreen.d.ts.map +1 -0
  518. package/lib/typescript/src/screens/walletScreen.d.ts +9 -0
  519. package/lib/typescript/src/screens/walletScreen.d.ts.map +1 -0
  520. package/lib/typescript/src/screens/webViewScreen.d.ts +9 -0
  521. package/lib/typescript/src/screens/webViewScreen.d.ts.map +1 -0
  522. package/lib/typescript/src/serviceRequest.d.ts +3 -0
  523. package/lib/typescript/src/serviceRequest.d.ts.map +1 -0
  524. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts +7 -0
  525. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts.map +1 -0
  526. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts +17 -0
  527. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts.map +1 -0
  528. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts +7 -0
  529. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts.map +1 -0
  530. package/lib/typescript/src/sharedContext/userdataHandler.d.ts +7 -0
  531. package/lib/typescript/src/sharedContext/userdataHandler.d.ts.map +1 -0
  532. package/lib/typescript/src/styles/components/addressCardStyles.d.ts +58 -0
  533. package/lib/typescript/src/styles/components/addressCardStyles.d.ts.map +1 -0
  534. package/lib/typescript/src/styles/components/bankCardStyles.d.ts +60 -0
  535. package/lib/typescript/src/styles/components/bankCardStyles.d.ts.map +1 -0
  536. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts +86 -0
  537. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts.map +1 -0
  538. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts +54 -0
  539. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts.map +1 -0
  540. package/lib/typescript/src/styles/indexStyles.d.ts +63 -0
  541. package/lib/typescript/src/styles/indexStyles.d.ts.map +1 -0
  542. package/lib/typescript/src/styles/savedAddressScreenStyles.d.ts +22 -0
  543. package/lib/typescript/src/styles/savedAddressScreenStyles.d.ts.map +1 -0
  544. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts +63 -0
  545. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts.map +1 -0
  546. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts +81 -0
  547. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts.map +1 -0
  548. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts +149 -0
  549. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts.map +1 -0
  550. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts +134 -0
  551. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts.map +1 -0
  552. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts +105 -0
  553. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts.map +1 -0
  554. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts +43 -0
  555. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts.map +1 -0
  556. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts +111 -0
  557. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts.map +1 -0
  558. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts +100 -0
  559. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts.map +1 -0
  560. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts +102 -0
  561. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts.map +1 -0
  562. package/lib/typescript/src/utils/listAndObjectUtils.d.ts +10 -0
  563. package/lib/typescript/src/utils/listAndObjectUtils.d.ts.map +1 -0
  564. package/lib/typescript/src/utils/stringUtils.d.ts +4 -0
  565. package/lib/typescript/src/utils/stringUtils.d.ts.map +1 -0
  566. package/package.json +152 -0
  567. package/react-native.config.js +15 -0
  568. package/src/components/addressCard.tsx +161 -0
  569. package/src/components/bankCard.tsx +81 -0
  570. package/src/components/cancelPaymentModal.tsx +66 -0
  571. package/src/components/circularProgress.tsx +72 -0
  572. package/src/components/cvvInfoBottomSheet.tsx +58 -0
  573. package/src/components/fontFamily.tsx +22 -0
  574. package/src/components/getInstalledUPI.ts +34 -0
  575. package/src/components/header.tsx +116 -0
  576. package/src/components/knowMoreBottomSheet.tsx +126 -0
  577. package/src/components/morePaymentContainer.tsx +43 -0
  578. package/src/components/morePaymentMethods.tsx +192 -0
  579. package/src/components/orderDetails.tsx +443 -0
  580. package/src/components/paymentFailed.tsx +97 -0
  581. package/src/components/paymentSelector.tsx +224 -0
  582. package/src/components/paymentSuccess.tsx +280 -0
  583. package/src/components/savedCardComponent.tsx +270 -0
  584. package/src/components/selectTenureCard.tsx +474 -0
  585. package/src/components/sessionExpire.tsx +94 -0
  586. package/src/components/shimmerView.tsx +31 -0
  587. package/src/index.tsx +761 -0
  588. package/src/interface.ts +484 -0
  589. package/src/navigation.tsx +50 -0
  590. package/src/postRequest/callUIAnalytics.ts +54 -0
  591. package/src/postRequest/cardPostRequest.ts +103 -0
  592. package/src/postRequest/deleteSavedAddress.ts +20 -0
  593. package/src/postRequest/emiPostRequest.ts +127 -0
  594. package/src/postRequest/fetchCardDetails.ts +16 -0
  595. package/src/postRequest/fetchPaymentMethods.ts +14 -0
  596. package/src/postRequest/fetchRecommendedInstruments.tsx +17 -0
  597. package/src/postRequest/fetchSavedAddress.ts +16 -0
  598. package/src/postRequest/fetchSessionDetails.tsx +13 -0
  599. package/src/postRequest/fetchStatus.tsx +15 -0
  600. package/src/postRequest/methodsPostRequest.tsx +87 -0
  601. package/src/postRequest/upiPostRequest.tsx +78 -0
  602. package/src/screens/addressScreen.tsx +787 -0
  603. package/src/screens/bnplScreen.tsx +304 -0
  604. package/src/screens/cardScreen.tsx +1081 -0
  605. package/src/screens/emiScreen.tsx +848 -0
  606. package/src/screens/netBankingScreen.tsx +454 -0
  607. package/src/screens/savedAddressScreen.tsx +128 -0
  608. package/src/screens/selectTenureScreen.tsx +137 -0
  609. package/src/screens/upiScreen.tsx +465 -0
  610. package/src/screens/upiTimerScreen.tsx +293 -0
  611. package/src/screens/walletScreen.tsx +394 -0
  612. package/src/screens/webViewScreen.tsx +37 -0
  613. package/src/serviceRequest.ts +32 -0
  614. package/src/sharedContext/checkoutDetailsHandler.ts +42 -0
  615. package/src/sharedContext/handlePaymentResponseHandler.ts +270 -0
  616. package/src/sharedContext/paymentStatusHandler.ts +12 -0
  617. package/src/sharedContext/userdataHandler.ts +29 -0
  618. package/src/styles/components/addressCardStyles.ts +62 -0
  619. package/src/styles/components/bankCardStyles.ts +60 -0
  620. package/src/styles/components/cancelPaymentModalStyles.ts +88 -0
  621. package/src/styles/components/cvvInfoBottomSheetStyles.ts +54 -0
  622. package/src/styles/indexStyles.ts +52 -0
  623. package/src/styles/savedAddressScreenStyles.ts +22 -0
  624. package/src/styles/screens/addressScreenStyles..ts +65 -0
  625. package/src/styles/screens/bnplScreenStyles.ts +81 -0
  626. package/src/styles/screens/cardScreenStyles.ts +141 -0
  627. package/src/styles/screens/emiScreenStyles.ts +119 -0
  628. package/src/styles/screens/netBankingScreenStyles.ts +90 -0
  629. package/src/styles/screens/selectTenureScreenStyles.ts +38 -0
  630. package/src/styles/screens/upiScreenStyles.ts +110 -0
  631. package/src/styles/screens/upiTimerScreenStyle.ts +97 -0
  632. package/src/styles/screens/walletScreenStyles.ts +102 -0
  633. package/src/utils/listAndObjectUtils.ts +33 -0
  634. package/src/utils/stringUtils.ts +30 -0
package/src/index.tsx ADDED
@@ -0,0 +1,761 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import { View, Text, BackHandler, AppState, Image, ScrollView, StatusBar, Alert } from 'react-native'; // Added ScrollView
3
+ import Header from './components/header';
4
+ import upiPostRequest from './postRequest/upiPostRequest';
5
+ import { decode as atob } from 'base-64';
6
+ import { Linking } from 'react-native';
7
+ import LottieView from 'lottie-react-native';
8
+ import PaymentSuccess from './components/paymentSuccess';
9
+ import SessionExpire from './components/sessionExpire';
10
+ import PaymentFailed from './components/paymentFailed';
11
+ import fetchStatus from './postRequest/fetchStatus';
12
+ import UpiScreen from './screens/upiScreen';
13
+ import { useNavigation, type NavigationProp } from "@react-navigation/native";
14
+ import type { CheckoutStackParamList } from './navigation';
15
+ import { paymentHandler, setPaymentHandler } from "./sharedContext/paymentStatusHandler";
16
+ import { loadCustomFonts, loadInterCustomFonts } from './components/fontFamily';
17
+ import { setUserDataHandler, userDataHandler } from './sharedContext/userdataHandler';
18
+ import { type PaymentResultObject, type PaymentClass, type InstrumentDetails, type PaymentMethod, type OrderItem, type BoxpayCheckoutProps, APIStatus, AnalyticsEvents } from './interface';
19
+ import { checkoutDetailsHandler, setCheckoutDetailsHandler } from './sharedContext/checkoutDetailsHandler';
20
+ import WebViewScreen from './screens/webViewScreen';
21
+ import styles from './styles/indexStyles';
22
+ import getSymbolFromCurrency from 'currency-symbol-map';
23
+ import type { ItemsProp } from './components/orderDetails';
24
+ import OrderDetails from './components/orderDetails';
25
+ import { SafeAreaView } from 'react-native-safe-area-context';
26
+ import PaymentSelectorView from './components/paymentSelector';
27
+ import SavedCardComponentView from './components/savedCardComponent';
28
+ import ShimmerView from './components/shimmerView';
29
+ import AddressComponent from './components/addressCard';
30
+ import fetchSessionDetails from './postRequest/fetchSessionDetails';
31
+ import MorePaymentMethods from './components/morePaymentMethods';
32
+ import { fetchSavedInstrumentsHandler, handleFetchStatusResponseHandler, handlePaymentResponse } from './sharedContext/handlePaymentResponseHandler';
33
+ import callUIAnalytics from './postRequest/callUIAnalytics';
34
+ import CheckoutContainer from './navigation';
35
+
36
+ const BoxpayCheckout = ({
37
+ token,
38
+ configurationOptions,
39
+ onPaymentResult,
40
+ shopperToken = null,
41
+ }: BoxpayCheckoutProps) => {
42
+ const [status, setStatus] = useState('NOACTION');
43
+ const [transactionId, setTransactionId] = useState('');
44
+ const env = configurationOptions?.ENABLE_SANDBOX_ENV ? 'test' : 'prod';
45
+ const appStateListenerRef = useRef<any>(null);
46
+ const [loadingState, setLoadingState] = useState(false);
47
+ const [isFirstLoading, setIsFirstLoading] = useState(true);
48
+ const [amount, setAmount] = useState('');
49
+ const totalItemsRef = useRef(0);
50
+ const [address, setAddress] = useState('');
51
+ const [failedModalOpen, setFailedModalState] = useState(false);
52
+ const [successModalOpen, setSuccessModalState] = useState(false);
53
+ const lastOpenendUrl = useRef<string>('');
54
+ const paymentFailedMessage = useRef<string>(
55
+ 'You may have cancelled the payment or there was a delay in response. Please retry.'
56
+ );
57
+ const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
58
+ const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
59
+ const navigation = useNavigation<NavigationProp<CheckoutStackParamList>>(); // Use correct type
60
+ const timerRef = useRef<NodeJS.Timeout | null>(null);
61
+ const [showWebView, setShowWebView] = useState(false);
62
+ const [paymentUrl, setPaymentUrl] = useState<string | null>(null);
63
+ const [paymentHtml, setPaymentHtml] = useState<string | null>(null);
64
+ const isUpiOpeningRef = useRef(false);
65
+ const shippingAmountRef = useRef('');
66
+ const taxAmountRef = useRef('');
67
+ const subTotalAmountRef = useRef('');
68
+ const orderItemsArrayRef = useRef<ItemsProp[]>([]);
69
+ const [recommendedInstrumentsArray, setRecommendedInstruments] = useState<PaymentClass[]>([]);
70
+ const [savedCardArray, setSavedCardArray] = useState<PaymentClass[]>([]);
71
+ const [savedUpiArray, setSavedUpiArray] = useState<PaymentClass[]>([]);
72
+
73
+ let isFirstTimeLoadRef = true;
74
+
75
+ const handlePaymentIntent = async (selectedIntent: string) => {
76
+ setLoadingState(true);
77
+ const response = await upiPostRequest({
78
+ type: 'upi/intent',
79
+ ...(selectedIntent && { upiAppDetails: { upiApp: selectedIntent } }), // Conditionally add upiAppDetails only if upiIntent is present
80
+ });
81
+ handlePaymentResponse({
82
+ response: response,
83
+ checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
84
+ onSetStatus: setStatus,
85
+ onSetTransactionId: setTransactionId,
86
+ onSetPaymentHtml: setPaymentHtml,
87
+ onSetPaymentUrl: setPaymentUrl,
88
+ onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
89
+ onShowFailedModal: () => setFailedModalState(true),
90
+ onShowSuccessModal: (ts) => {
91
+ setSuccessfulTimeStamp(ts);
92
+ setSuccessModalState(true);
93
+ },
94
+ onShowSessionExpiredModal: () => setSessionExppireModalState(true),
95
+ onNavigateToTimer: (id:string)=> navigation.navigate("UpiTimerScreen", {upiId : id}),
96
+ onOpenUpiIntent : (url) => {
97
+ urlToBase64(url);
98
+ },
99
+ setLoading: setLoadingState
100
+ });
101
+ };
102
+
103
+ const handleUpiCollectPayment = async (
104
+ upiId: string,
105
+ instrumentRef: string,
106
+ type: string
107
+ ) => {
108
+ const requestPayload: InstrumentDetails =
109
+ type === 'Card'
110
+ ? {
111
+ type: 'card/token',
112
+ savedCard: { instrumentRef: instrumentRef },
113
+ }
114
+ : {
115
+ type: 'upi/collect',
116
+ upi: instrumentRef
117
+ ? { instrumentRef: instrumentRef }
118
+ : { shopperVpa: upiId },
119
+ };
120
+ setLoadingState(true);
121
+ const response = await upiPostRequest(requestPayload);
122
+ handlePaymentResponse({
123
+ response: response,
124
+ upiId: upiId,
125
+ checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
126
+ onSetStatus: setStatus,
127
+ onSetTransactionId: setTransactionId,
128
+ onSetPaymentHtml: setPaymentHtml,
129
+ onSetPaymentUrl: setPaymentUrl,
130
+ onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
131
+ onShowFailedModal: () => setFailedModalState(true),
132
+ onShowSuccessModal: (ts) => {
133
+ setSuccessfulTimeStamp(ts);
134
+ setSuccessModalState(true);
135
+ },
136
+ onShowSessionExpiredModal: () => setSessionExppireModalState(true),
137
+ onNavigateToTimer: (id:string)=> navigation.navigate("UpiTimerScreen", {upiId : id}),
138
+ onOpenUpiIntent : (url) => {
139
+ urlToBase64(url);
140
+ },
141
+ setLoading: setLoadingState
142
+ });
143
+ };
144
+
145
+ useEffect(() => {
146
+ if (isFirstTimeLoadRef) {
147
+ isFirstTimeLoadRef = false;
148
+ return;
149
+ }
150
+ const refreshData = () => {
151
+ const address1Ref = userDataHandler.userData.address1;
152
+ const address2Ref = userDataHandler.userData.address2;
153
+ const cityRef = userDataHandler.userData.city;
154
+ const stateRef = userDataHandler.userData.state;
155
+ const postalCodeRef = userDataHandler.userData.pincode;
156
+
157
+ if (address2Ref == null || address2Ref == '') {
158
+ setAddress(
159
+ `${address1Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
160
+ );
161
+ } else {
162
+ setAddress(
163
+ `${address1Ref}, ${address2Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
164
+ );
165
+ }
166
+ };
167
+
168
+ refreshData();
169
+ });
170
+
171
+ const urlToBase64 = (base64String: string) => {
172
+ try {
173
+ const decodedString = atob(base64String);
174
+ lastOpenendUrl.current = decodedString;
175
+ openUPIIntent(decodedString);
176
+ } catch (error) {
177
+ setFailedModalState(true);
178
+ callUIAnalytics(AnalyticsEvents.FAILED_TO_LAUNCH_UPI_INTENT,"Index Screen UrlToBase64 failed",`${error}`)
179
+ setLoadingState(false);
180
+ }
181
+ };
182
+
183
+ const getRecommendedInstruments = async () => {
184
+ fetchSavedInstrumentsHandler({
185
+ setRecommendedList: setRecommendedInstruments,
186
+ setUpiInstrumentList : setSavedUpiArray,
187
+ setCardInstrumentList : setSavedCardArray
188
+ });
189
+ setIsFirstLoading(false)
190
+ };
191
+
192
+ useEffect(() => {
193
+ if (paymentUrl || paymentHtml) {
194
+ setShowWebView(true);
195
+ }
196
+ }, [paymentUrl, paymentHtml]);
197
+
198
+ const openUPIIntent = async (url: string) => {
199
+ try {
200
+ await Linking.openURL(url); // Open the UPI app
201
+ appStateListenerRef.current = AppState.addEventListener(
202
+ 'change',
203
+ handleAppStateChange
204
+ );
205
+ isUpiOpeningRef.current = true;
206
+ } catch (error) {
207
+ isUpiOpeningRef.current = false;
208
+ callUIAnalytics(AnalyticsEvents.FAILED_TO_LAUNCH_UPI_INTENT,"Index Screen open UPI Intent failed",`${error}`)
209
+ setFailedModalState(true);
210
+ setLoadingState(false);
211
+ }
212
+ };
213
+
214
+ const handleAppStateChange = () => {
215
+ if (AppState.currentState === 'active' && isUpiOpeningRef.current) {
216
+ callFetchStatusApi();
217
+ }
218
+ };
219
+
220
+ const stopExpireTimerCountDown = () => {
221
+ if (timerRef.current) {
222
+ clearInterval(timerRef.current);
223
+ }
224
+ };
225
+
226
+ const callFetchStatusApi = async () => {
227
+ const response = await fetchStatus();
228
+ handleFetchStatusResponseHandler({
229
+ response: response,
230
+ checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
231
+ onSetStatus: setStatus,
232
+ onSetTransactionId: setTransactionId,
233
+ onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
234
+ onShowFailedModal: () => setFailedModalState(true),
235
+ onShowSuccessModal: (ts) => {
236
+ setSuccessfulTimeStamp(ts);
237
+ setSuccessModalState(true);
238
+ },
239
+ onShowSessionExpiredModal: () => setSessionExppireModalState(true),
240
+ setLoading: setLoadingState
241
+ });
242
+ appStateListenerRef.current?.remove();
243
+ isUpiOpeningRef.current = false;
244
+ };
245
+
246
+ const onExitCheckout = () => {
247
+ if (!loadingState) {
248
+ stopExpireTimerCountDown();
249
+ const mockPaymentResult: PaymentResultObject = {
250
+ status: status,
251
+ transactionId: transactionId,
252
+ };
253
+ paymentHandler.onPaymentResult(mockPaymentResult);
254
+ return true;
255
+ }
256
+ return false;
257
+ };
258
+
259
+ useEffect(() => {
260
+ const backHandler = BackHandler.addEventListener(
261
+ 'hardwareBackPress',
262
+ () => {
263
+ if (showWebView) {
264
+ setShowWebView(false);
265
+ paymentFailedMessage.current =
266
+ checkoutDetailsHandler.checkoutDetails.errorMessage;
267
+ setStatus('Failed');
268
+ setFailedModalState(true);
269
+ setLoadingState(false);
270
+ return true;
271
+ } else if (loadingState) {
272
+ return true;
273
+ }
274
+ return onExitCheckout(); // Allow back navigation if not loading
275
+ }
276
+ );
277
+
278
+ return () => backHandler.remove();
279
+ });
280
+
281
+ useEffect(() => {
282
+ async function loadFonts() {
283
+ await loadCustomFonts();
284
+ await loadInterCustomFonts();
285
+ }
286
+ loadFonts()
287
+
288
+ async function loadSession() {
289
+ if(token != "") {
290
+ checkoutDetailsHandler.checkoutDetails.env = env
291
+ checkoutDetailsHandler.checkoutDetails.token = token
292
+ const response = await fetchSessionDetails()
293
+ try {
294
+ switch(response.apiStatus) {
295
+ case APIStatus.Success : {
296
+ const paymentMethods = response.data.configs.paymentMethods;
297
+ const enabledFields = response.data.configs.enabledFields;
298
+ const paymentDetails = response.data.paymentDetails;
299
+ const methodFlags = {
300
+ isUPIIntentVisible: false,
301
+ isUPICollectVisible: false,
302
+ isCardsVisible: false,
303
+ isWalletVisible: false,
304
+ isNetbankingVisible: false,
305
+ isEMIVisible: false,
306
+ isBNPLVisible: false,
307
+ };
308
+
309
+ paymentMethods.forEach((method: PaymentMethod) => {
310
+ if (method.type === 'Upi') {
311
+ if (method.brand === 'UpiIntent') {
312
+ methodFlags.isUPIIntentVisible = true;
313
+ } else if (method.brand === 'UpiCollect') {
314
+ methodFlags.isUPICollectVisible = true;
315
+ }
316
+ } else if (method.type === 'Card') {
317
+ methodFlags.isCardsVisible = true;
318
+ } else if (method.type === 'Wallet') {
319
+ methodFlags.isWalletVisible = true;
320
+ } else if (method.type === 'NetBanking') {
321
+ methodFlags.isNetbankingVisible = true;
322
+ } else if (method.type === 'Emi') {
323
+ methodFlags.isEMIVisible = true;
324
+ } else if (method.type === 'BuyNowPayLater') {
325
+ methodFlags.isBNPLVisible = true;
326
+ }
327
+ });
328
+
329
+ setAmount(paymentDetails.money.amountLocaleFull);
330
+ const currencyCode: string | undefined =
331
+ paymentDetails?.money?.currencyCode;
332
+ const symbol = currencyCode
333
+ ? (getSymbolFromCurrency(currencyCode) ?? '₹')
334
+ : '₹';
335
+ if (
336
+ paymentDetails.order != null &&
337
+ paymentDetails.order.items != null
338
+ ) {
339
+ const total = paymentDetails.order.items.reduce(
340
+ (sum: number, item: OrderItem) => sum + (item.quantity || 1),
341
+ 0
342
+ );
343
+ totalItemsRef.current = total;
344
+ shippingAmountRef.current =
345
+ paymentDetails.order.shippingAmountLocaleFull != null
346
+ ? paymentDetails.order.shippingAmountLocaleFull
347
+ : '';
348
+ taxAmountRef.current =
349
+ paymentDetails.order.taxAmountLocaleFull != null
350
+ ? paymentDetails.order.taxAmountLocaleFull
351
+ : '';
352
+ subTotalAmountRef.current =
353
+ paymentDetails.order.originalAmountLocaleFull != null
354
+ ? paymentDetails.order.originalAmountLocaleFull
355
+ : '';
356
+ const formattedItemsArray: ItemsProp[] =
357
+ paymentDetails.order.items.map((item: OrderItem) => ({
358
+ imageUrl: item.imageUrl,
359
+ imageTitle: item.itemName,
360
+ imageOty: item.quantity,
361
+ imageAmount: item.amountWithoutTaxLocaleFull,
362
+ }));
363
+ orderItemsArrayRef.current = formattedItemsArray;
364
+ }
365
+ const emailRef = paymentDetails.shopper.email;
366
+ const firstNameRef = paymentDetails.shopper.firstName;
367
+ const lastNameRef = paymentDetails.shopper.lastName;
368
+ const phoneRef = paymentDetails.shopper.phoneNumber;
369
+ const uniqueIdRef = paymentDetails.shopper.uniqueReference;
370
+ const dobRef = paymentDetails.shopper.dateOfBirth;
371
+ const panRef = paymentDetails.shopper.panNumber;
372
+ startCountdown(response.data.sessionExpiryTimestamp);
373
+ let labelTypeRef = null;
374
+ let address1Ref = null;
375
+ let labelNameRef = null;
376
+ let address2Ref = null;
377
+ let cityRef = null;
378
+ let stateRef = null;
379
+ let postalCodeRef = null;
380
+ let countryCodeRef = null;
381
+ if (paymentDetails.shopper.deliveryAddress != null) {
382
+ const deliveryObject = paymentDetails.shopper.deliveryAddress;
383
+ labelTypeRef = deliveryObject.labelType;
384
+ labelNameRef = deliveryObject.labelName;
385
+ address1Ref = deliveryObject.address1;
386
+ address2Ref = deliveryObject.address2;
387
+ cityRef = deliveryObject.city;
388
+ stateRef = deliveryObject.state;
389
+ postalCodeRef = deliveryObject.postalCode;
390
+ countryCodeRef = deliveryObject.countryCode;
391
+ if (address2Ref == null || address2Ref == '') {
392
+ setAddress(
393
+ `${address1Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
394
+ );
395
+ } else {
396
+ setAddress(
397
+ `${address1Ref}, ${address2Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
398
+ );
399
+ }
400
+ }
401
+ if (['APPROVED', 'SUCCESS', 'PAID'].includes(response.data.status)) {
402
+ setSuccessfulTimeStamp(response.data.lastPaidAtTimestamp);
403
+ setTransactionId(response.data.lastTransactionId);
404
+ setStatus(response.data.status);
405
+ setSuccessModalState(true);
406
+ } else if (['EXPIRED'].includes(response.data.status)) {
407
+ setSessionExppireModalState(true);
408
+ }
409
+ setUserDataHandler({
410
+ userData: {
411
+ email: emailRef,
412
+ firstName: firstNameRef,
413
+ lastName: lastNameRef,
414
+ phone: phoneRef,
415
+ uniqueId: uniqueIdRef,
416
+ dob: dobRef,
417
+ pan: panRef,
418
+ address1: address1Ref,
419
+ address2: address2Ref,
420
+ city: cityRef,
421
+ state: stateRef,
422
+ pincode: postalCodeRef,
423
+ country: countryCodeRef,
424
+ labelType: labelTypeRef,
425
+ labelName: labelNameRef,
426
+ },
427
+ });
428
+ const isFieldEnabled = (fieldName: string) => {
429
+ return enabledFields.some(
430
+ (field: { field: string }) => field.field === fieldName
431
+ );
432
+ };
433
+
434
+ const isFieldEditable = (fieldName: string) => {
435
+ const field = enabledFields.find(
436
+ (field: { field: string; editable: boolean }) =>
437
+ field.field === fieldName
438
+ );
439
+ return field?.editable === true;
440
+ };
441
+
442
+ setCheckoutDetailsHandler({
443
+ checkoutDetails: {
444
+ currencySymbol: symbol,
445
+ amount: paymentDetails.money.amountLocaleFull,
446
+ token: token,
447
+ brandColor:
448
+ response.data.merchantDetails.checkoutTheme.primaryButtonColor,
449
+ env: env,
450
+ itemsLength: totalItemsRef.current,
451
+ errorMessage:
452
+ 'You may have cancelled the payment or there was a delay in response. Please retry.',
453
+ shopperToken: shopperToken,
454
+ isSuccessScreenVisible: configurationOptions?.SHOW_BOXPAY_SUCCESS_SCREEN ? true : false,
455
+ isShippingAddressEnabled: isFieldEnabled('SHIPPING_ADDRESS'),
456
+ isShippingAddressEditable: isFieldEditable('SHIPPING_ADDRESS'),
457
+ isFullNameEnabled: isFieldEnabled('SHOPPER_NAME'),
458
+ isFullNameEditable: isFieldEditable('SHOPPER_NAME'),
459
+ isEmailEnabled: isFieldEnabled('SHOPPER_EMAIL'),
460
+ isEmailEditable: isFieldEditable('SHOPPER_EMAIL'),
461
+ isPhoneEnabled: isFieldEnabled('SHOPPER_PHONE'),
462
+ isPhoneEditable: isFieldEditable('SHOPPER_PHONE'),
463
+ isPanEnabled: isFieldEnabled('SHOPPER_PAN'),
464
+ isPanEditable: isFieldEditable('SHOPPER_PAN'),
465
+ isDOBEnabled: isFieldEnabled('SHOPPER_DOB'),
466
+ isDOBEditable: isFieldEditable('SHOPPER_DOB'),
467
+ isUpiIntentMethodEnabled : methodFlags.isUPIIntentVisible,
468
+ isUpiCollectMethodEnabled : methodFlags.isUPICollectVisible,
469
+ isCardMethodEnabled : methodFlags.isCardsVisible,
470
+ isWalletMethodEnabled : methodFlags.isWalletVisible,
471
+ isNetBankingMethodEnabled : methodFlags.isNetbankingVisible,
472
+ isEmiMethodEnabled : methodFlags.isEMIVisible,
473
+ isBnplMethodEnabled : methodFlags.isBNPLVisible
474
+ },
475
+ });
476
+ setPaymentHandler({
477
+ onPaymentResult: onPaymentResult,
478
+ });
479
+ callUIAnalytics(AnalyticsEvents.CHECKOUT_LOADED,"Index Screen Session Loaded","")
480
+ break;
481
+ }
482
+ case APIStatus.Failed : {
483
+ Alert.alert('Error', response.data.status.reason);
484
+ break
485
+ }
486
+ default : {
487
+ break
488
+ }
489
+ }
490
+ } catch(error) {
491
+ Alert.alert('Error', `${error}`);
492
+ }
493
+ } else {
494
+ Alert.alert('Error', `Token is empty`);
495
+ }
496
+ }
497
+ loadSession()
498
+
499
+ if(shopperToken != null && shopperToken != "") {
500
+ checkoutDetailsHandler.checkoutDetails.shopperToken = shopperToken
501
+ getRecommendedInstruments()
502
+ }
503
+
504
+ }, [token]);
505
+
506
+ const handleRecommendedSectionClick = (instrumentValue: string) => {
507
+ const updatedList = recommendedInstrumentsArray.map((item) => ({
508
+ ...item,
509
+ isSelected: item.id === instrumentValue,
510
+ }));
511
+ setRecommendedInstruments(updatedList);
512
+ setDefaultSavedUpiList();
513
+ setDefaultSavedCardsList();
514
+ };
515
+
516
+ const handleSavedUpiSectionClick = (instrumentValue: string) => {
517
+ const updatedList = savedUpiArray.map((item) => ({
518
+ ...item,
519
+ isSelected: item.id === instrumentValue,
520
+ }));
521
+ setSavedUpiArray(updatedList);
522
+ setDefaultRecommendedList();
523
+ setDefaultSavedCardsList();
524
+ };
525
+
526
+ const handleSavedCardSectionClick = (instrumentValue: string) => {
527
+ const updatedList = savedCardArray.map((item) => ({
528
+ ...item,
529
+ isSelected: item.id === instrumentValue,
530
+ }));
531
+ setSavedCardArray(updatedList);
532
+ setDefaultRecommendedList();
533
+ setDefaultSavedUpiList();
534
+ };
535
+
536
+ const setDefaultRecommendedList = () => {
537
+ const updatedList = recommendedInstrumentsArray.map((item) => ({
538
+ ...item,
539
+ isSelected: false,
540
+ }));
541
+ setRecommendedInstruments(updatedList);
542
+ };
543
+
544
+ const setDefaultSavedCardsList = () => {
545
+ const updatedList = savedCardArray.map((item) => ({
546
+ ...item,
547
+ isSelected: false,
548
+ }));
549
+ setSavedCardArray(updatedList);
550
+ };
551
+
552
+ const setDefaultSavedUpiList = () => {
553
+ const updatedList = savedUpiArray.map((item) => ({
554
+ ...item,
555
+ isSelected: false,
556
+ }));
557
+ setSavedUpiArray(updatedList);
558
+ };
559
+
560
+ function startCountdown(sessionExpiryTimestamp: string) {
561
+ if (sessionExpiryTimestamp === '') {
562
+ return;
563
+ }
564
+ const expiryTime = new Date(sessionExpiryTimestamp);
565
+ const expiryTimeIST = new Date(expiryTime.getTime() + 5.5 * 60 * 60 * 1000);
566
+
567
+ timerRef.current = setInterval(() => {
568
+ const currentTimeIST = new Date(
569
+ new Date().getTime() + 5.5 * 60 * 60 * 1000
570
+ );
571
+ const timeDiff = expiryTimeIST.getTime() - currentTimeIST.getTime();
572
+ if (timeDiff <= 0) {
573
+ if (timerRef.current) {
574
+ clearInterval(timerRef.current);
575
+ }
576
+ setStatus('EXPIRED');
577
+ setSessionExppireModalState(true);
578
+ }
579
+ // const hours = Math.floor((timeDiff / (1000 * 60 * 60)) % 24);
580
+ // const minutes = Math.floor((timeDiff / (1000 * 60)) % 60);
581
+ // const seconds = Math.floor((timeDiff / 1000) % 60);
582
+
583
+ // console.log(`${hours}hr ${minutes}min ${seconds}sec`)
584
+ }, 1000);
585
+ }
586
+
587
+ return (
588
+ <SafeAreaView style={styles.screenView}>
589
+ <StatusBar barStyle="dark-content" />
590
+ {isFirstLoading ? (
591
+ <ShimmerView />
592
+ ) : loadingState ? (
593
+ <View
594
+ style={styles.loadingContainer}
595
+ >
596
+ <LottieView
597
+ source={require('../assets/animations/boxpayLogo.json')}
598
+ autoPlay
599
+ loop
600
+ style={styles.lottieStyle}
601
+ />
602
+ <Text>Loading...</Text>
603
+ </View>
604
+ ) : (
605
+ <View style={styles.screenView}>
606
+ <ScrollView
607
+ contentContainerStyle={{ flexGrow: 1 }}
608
+ keyboardShouldPersistTaps="handled"
609
+ >
610
+ <View style={{ flex: 1 }}>
611
+ <Header
612
+ onBackPress={onExitCheckout}
613
+ showDesc={true}
614
+ showSecure={true}
615
+ text="Payment Details"
616
+ />
617
+ <AddressComponent address={address} navigateToAddressScreen= {() => navigation.navigate("AddressScreen", {})}/>
618
+
619
+ {recommendedInstrumentsArray.length > 0 && (
620
+ <>
621
+ <View
622
+ style={styles.container}
623
+ >
624
+ <Text
625
+ style={styles.headingText}
626
+ >
627
+ Recommended
628
+ </Text>
629
+ </View>
630
+ <View
631
+ style={styles.paymentContainer}
632
+ >
633
+ <PaymentSelectorView
634
+ providerList={recommendedInstrumentsArray}
635
+ onProceedForward={(displayValue, instrumentValue, type) =>
636
+ handleUpiCollectPayment(
637
+ displayValue,
638
+ instrumentValue,
639
+ type
640
+ )
641
+ }
642
+ errorImage={require('../assets/images/ic_upi.png')}
643
+ isLastUsed={true}
644
+ onClickRadio={(selectedInstrumentRef) => {
645
+ handleRecommendedSectionClick(selectedInstrumentRef);
646
+ }}
647
+ />
648
+ </View>
649
+ </>
650
+ )}
651
+
652
+ <UpiScreen
653
+ handleUpiPayment={(selectedIntent) =>
654
+ handlePaymentIntent(selectedIntent)
655
+ }
656
+ handleCollectPayment={(displayValue, instrumentValue, type) =>
657
+ handleUpiCollectPayment(displayValue, instrumentValue, type)
658
+ }
659
+ savedUpiArray={savedUpiArray}
660
+ onClickRadio={handleSavedUpiSectionClick}
661
+ />
662
+
663
+ {savedCardArray.length != 0 && (
664
+ <View>
665
+ <Text
666
+ style={styles.headingText}
667
+ >
668
+ Credit & Debit Cards
669
+ </Text>
670
+ <View
671
+ style={styles.paymentContainer}
672
+ >
673
+ <SavedCardComponentView
674
+ savedCards={savedCardArray}
675
+ onProceedForward={(instrumentValue) => {
676
+ handleUpiCollectPayment('', instrumentValue, 'Card');
677
+ }}
678
+ errorImage={require('../assets/images/ic_card.png')}
679
+ onClickAddCard={() => navigation.navigate("CardScreen", {})}
680
+ onClickRadio={(selectedInstrumentRef) =>
681
+ handleSavedCardSectionClick(selectedInstrumentRef)
682
+ }
683
+ />
684
+ </View>
685
+ </View>
686
+ )}
687
+ <MorePaymentMethods savedCards={savedCardArray}/>
688
+ <View>
689
+ <Text
690
+ style={styles.headingText}
691
+ >
692
+ Order Summary
693
+ </Text>
694
+
695
+ <OrderDetails
696
+ subTotalAmount={subTotalAmountRef.current}
697
+ shippingAmount={shippingAmountRef.current}
698
+ totalAmount={amount}
699
+ itemsArray={orderItemsArrayRef.current}
700
+ taxAmount={taxAmountRef.current}
701
+ />
702
+ </View>
703
+
704
+ {/* Secured by BoxPay - Fixed at Bottom */}
705
+ <View
706
+ style={styles.footerContainer}
707
+ >
708
+ <Text
709
+ style={styles.footerText}
710
+ >
711
+ Secured by
712
+ </Text>
713
+ <Image
714
+ source={require('../assets/images/splash-icon.png')}
715
+ style={styles.footerImage}
716
+ />
717
+ </View>
718
+ </View>
719
+ </ScrollView>
720
+ </View>
721
+ )}
722
+
723
+ {/* Modals for Different Payment Statuses */}
724
+ {failedModalOpen && (
725
+ <PaymentFailed
726
+ onClick={() => setFailedModalState(false)}
727
+ errorMessage={paymentFailedMessage.current}
728
+ />
729
+ )}
730
+
731
+ {successModalOpen && (
732
+ <PaymentSuccess
733
+ onClick={onExitCheckout}
734
+ transactionId={transactionId}
735
+ method="UPI"
736
+ localDateTime={successfulTimeStamp}
737
+ />
738
+ )}
739
+
740
+ {sessionExpireModalOpen && <SessionExpire onClick={onExitCheckout} />}
741
+
742
+ {showWebView && (
743
+ <View
744
+ style={styles.webViewScreenStyle}
745
+ >
746
+ <WebViewScreen
747
+ url={paymentUrl}
748
+ html={paymentHtml}
749
+ onBackPress={() => {
750
+ callFetchStatusApi();
751
+ setShowWebView(false);
752
+ }}
753
+ />
754
+ </View>
755
+ )}
756
+ <CheckoutContainer/>
757
+ </SafeAreaView>
758
+ );
759
+ };
760
+
761
+ export default BoxpayCheckout;