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
@@ -0,0 +1,1081 @@
1
+ import {
2
+ View,
3
+ Text,
4
+ Image,
5
+ BackHandler,
6
+ Pressable,
7
+ StatusBar,
8
+ } from 'react-native';
9
+ import { useEffect, useRef, useState } from 'react';
10
+ import Header from '../components/header';
11
+ import type { RouteProp, NavigationProp } from '@react-navigation/native';
12
+ import { Checkbox, TextInput } from 'react-native-paper';
13
+ import LottieView from 'lottie-react-native';
14
+ import fetchCardDetails from '../postRequest/fetchCardDetails';
15
+ import { checkoutDetailsHandler } from '../sharedContext/checkoutDetailsHandler';
16
+ import cardPostRequest from '../postRequest/cardPostRequest';
17
+ import PaymentFailed from '../components/paymentFailed';
18
+ import PaymentSuccess from '../components/paymentSuccess';
19
+ import SessionExpire from '../components/sessionExpire';
20
+ import { APIStatus, type PaymentResultObject , type CardScreenParams} from '../interface';
21
+ import { paymentHandler } from '../sharedContext/paymentStatusHandler';
22
+ import CvvInfoBottomSheet from '../components/cvvInfoBottomSheet';
23
+ import WebViewScreen from './webViewScreen';
24
+ import fetchStatus from '../postRequest/fetchStatus';
25
+ import { SvgUri } from 'react-native-svg';
26
+ import ShimmerPlaceHolder from 'react-native-shimmer-placeholder';
27
+ import emiPostRequest from '../postRequest/emiPostRequest';
28
+ import { SafeAreaView } from 'react-native-safe-area-context';
29
+ import KnowMoreBottomSheet from '../components/knowMoreBottomSheet';
30
+ import styles from '../styles/screens/cardScreenStyles';
31
+ import Toast from 'react-native-toast-message'
32
+ import { handleFetchStatusResponseHandler, handlePaymentResponse } from '../sharedContext/handlePaymentResponseHandler';
33
+ import type { CheckoutStackParamList } from '../navigation';
34
+
35
+ type CardScreenRouteProp = RouteProp<CheckoutStackParamList, 'CardScreen'>;
36
+
37
+ // Define the screen's navigation properties
38
+ type CardScreenNavigationProp = NavigationProp<CheckoutStackParamList, 'CardScreen'>;
39
+
40
+ interface Props {
41
+ route: CardScreenRouteProp;
42
+ navigation: CardScreenNavigationProp;
43
+ }
44
+
45
+ const CardScreen = ({ route, navigation }: Props) => {
46
+ const {
47
+ duration,
48
+ bankName,
49
+ bankUrl,
50
+ offerCode,
51
+ amount,
52
+ percent,
53
+ cardType,
54
+ issuerBrand,
55
+ } = route.params as CardScreenParams || {};
56
+ const durationNumber = Array.isArray(duration) ? duration[0] : duration;
57
+ const bankNameStr = Array.isArray(bankName) ? bankName[0] : bankName;
58
+ const bankUrlStr = Array.isArray(bankUrl) ? bankUrl[0] : bankUrl;
59
+ const offerCodeStr = Array.isArray(offerCode) ? offerCode[0] : offerCode;
60
+ const amountStr = Array.isArray(amount) ? amount[0] : amount;
61
+ const percentNumber = Array.isArray(percent) ? percent[0] : percent;
62
+ const cardTypeStr = Array.isArray(cardType) ? cardType[0] : cardType;
63
+
64
+ const { checkoutDetails } = checkoutDetailsHandler;
65
+
66
+ const [cardNumberText, setCardNumberText] = useState<string | null>(null);
67
+ const [cardExpiryText, setCardExpiryText] = useState<string | null>(null);
68
+ const [cardCvvText, setCardCvvText] = useState<string | null>(null);
69
+ const [cardHolderNameText, setCardHolderNameText] = useState<string | null>(
70
+ null
71
+ );
72
+ const [cardNickNameText, setCardNickNameText] = useState<string | null>(null);
73
+
74
+ const [cardSelectedIcon, setCardSelectedIcon] = useState(
75
+ require('../../assets/images/ic_default_card.png')
76
+ );
77
+ const [maxCvvLength, setMaxCvvLength] = useState(4);
78
+ const [maxCardNumberLength, setMaxCardNumberLength] = useState(19);
79
+ const [loading, setLoading] = useState(false);
80
+
81
+ const [cardNumberError, setCardNumberError] = useState(false);
82
+ const [cardExpiryError, setCardExpiryError] = useState(false);
83
+ const [cardCvvError, setCardCvvError] = useState(false);
84
+ const [cardHolderNameError, setCardHolderNameError] = useState(false);
85
+
86
+ const [cardNumberErrorText, setCardNumberErrorText] = useState<string>(
87
+ 'This card number is invalid'
88
+ );
89
+ const [cardExpiryErrorText, setCardExpiryErrorText] =
90
+ useState<string>('Expiry is invalid');
91
+ const [cardCvvErrorText, setCardCvvErrorText] =
92
+ useState<string>('CVV is invalid');
93
+ const [cardHolderNameErrorText, setCardHolderNameErrorText] =
94
+ useState<string>('This card name is invalid');
95
+
96
+ const [cardNumberValid, setCardNumberValid] = useState(true);
97
+ const [cardExpiryValid, setCardExpiryValid] = useState(true);
98
+ const [methodEnabled, setMethodEnabled] = useState(true);
99
+
100
+ const [cardNumberFocused, setCardNumberFocused] = useState(false);
101
+ const [cardExpiryFocused, setCardExpiryFocused] = useState(false);
102
+ const [cardCvvFocused, setCardCvvFocused] = useState(false);
103
+ const [cardHolderNameFocused, setCardHolderNameFocused] = useState(false);
104
+ const [cardNickNameFocused, setCardNickNameFocused] = useState(false);
105
+
106
+ const [cardValid, setCardValid] = useState(false);
107
+ const [showCvvInfo, setShowCvvInfo] = useState(false);
108
+ const [showKnowMoreDialog, setKnowMoreDialog] = useState(false);
109
+ const [isSavedCardCheckBoxClicked, setIsSavedCardCheckBoxClicked] =
110
+ useState(false);
111
+ const [paymentUrl, setPaymentUrl] = useState<string | null>(null);
112
+ const [paymentHtml, setPaymentHtml] = useState<string | null>(null);
113
+ const [showWebView, setShowWebView] = useState(false);
114
+
115
+ const [failedModalOpen, setFailedModalState] = useState(false);
116
+ const [successModalOpen, setSuccessModalState] = useState(false);
117
+ const paymentFailedMessage = useRef<string>(
118
+ 'You may have cancelled the payment or there was a delay in response. Please retry.'
119
+ );
120
+ const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
121
+ const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
122
+
123
+ const [status, setStatus] = useState<string | null>(null);
124
+ const [transactionId, setTransactionId] = useState<string | null>(null);
125
+
126
+ const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
127
+
128
+ const [imageLoad, setImageLoad] = useState(true);
129
+ const [imageError, setImageError] = useState(false);
130
+
131
+ const [emiIssuerExist, setEmiIssuerExist] = useState(true);
132
+ const [emiIssuer, setEmiIssuer] = useState('');
133
+ const [shopperToken, setShopperToken] = useState<string | null>(null);
134
+
135
+ const handleCardNumberTextChange = async (text: string) => {
136
+ if (text == '') {
137
+ setCardNumberText(text);
138
+ } else {
139
+ const cleaned = text.replace(/[^\d]/g, '');
140
+
141
+ // Add space every 4 digits
142
+ const formatted = cleaned.match(/.{1,4}/g)?.join(' ') || '';
143
+
144
+ setCardNumberText(formatted);
145
+ if (formatted.length > 10) {
146
+ if (
147
+ (formatted.length == 18 && maxCardNumberLength == 18) ||
148
+ formatted.length == 19
149
+ ) {
150
+ if (!isValidCardNumberByLuhn(formatted.replace(/ /g, ''))) {
151
+ setCardNumberValid(false);
152
+ } else {
153
+ setCardNumberValid(true);
154
+ }
155
+ }
156
+ await fetchCardDetails(
157
+ formatted.replace(/ /g, '')
158
+ ).then((response) => {
159
+ switch (response.apiStatus) {
160
+ case APIStatus.Success : {
161
+ const data = response.data
162
+ if('paymentMethod' in data) {
163
+ if (durationNumber != undefined && durationNumber != '') {
164
+ setEmiIssuerExist(data.issuerName != '' && data.issuerName != null);
165
+ setEmiIssuer(data.issuerName ?? "");
166
+ }
167
+ setMethodEnabled(data.methodEnabled);
168
+ if (data.paymentMethod.brand == 'VISA') {
169
+ setCardSelectedIcon(require('../../assets/images/ic_visa.png'));
170
+ setMaxCvvLength(3);
171
+ setMaxCardNumberLength(19);
172
+ } else if (data.paymentMethod.brand == 'Mastercard') {
173
+ setCardSelectedIcon(require('../../assets/images/ic_masterCard.png'));
174
+ setMaxCvvLength(3);
175
+ setMaxCardNumberLength(19);
176
+ } else if (data.paymentMethod.brand == 'RUPAY') {
177
+ setCardSelectedIcon(require('../../assets/images/ic_rupay.png'));
178
+ setMaxCvvLength(3);
179
+ setMaxCardNumberLength(19);
180
+ } else if (data.paymentMethod.brand == 'AmericanExpress') {
181
+ setCardSelectedIcon(require('../../assets/images/ic_amex.png'));
182
+ setMaxCvvLength(4);
183
+ setMaxCardNumberLength(18);
184
+ } else if (data.paymentMethod.brand == 'Maestro') {
185
+ setCardSelectedIcon(require('../../assets/images/ic_maestro.png'));
186
+ setMaxCvvLength(3);
187
+ setMaxCardNumberLength(19);
188
+ } else {
189
+ setCardSelectedIcon(
190
+ require('../../assets/images/ic_default_card.png')
191
+ );
192
+ setMaxCvvLength(3);
193
+ setMaxCardNumberLength(19);
194
+ }
195
+ }
196
+ break
197
+ }
198
+ case APIStatus.Failed : {
199
+ Toast.show({
200
+ type: 'error',
201
+ text1: 'Oops!',
202
+ text2: 'Something went wrong. Please try again.',
203
+ });
204
+ break
205
+ }
206
+ default : {
207
+ break
208
+ }
209
+ }
210
+ });
211
+ } else {
212
+ setCardSelectedIcon(require('../../assets/images/ic_default_card.png'));
213
+ setMaxCvvLength(3);
214
+ setMaxCardNumberLength(19);
215
+ }
216
+ }
217
+ };
218
+
219
+ const isValidCardNumberByLuhn = (stringInputCardNumber: string): boolean => {
220
+ const minCardLength = 13;
221
+
222
+ if (stringInputCardNumber.length < minCardLength) {
223
+ return false;
224
+ }
225
+
226
+ let sum = 0;
227
+ let isSecondDigit = false;
228
+
229
+ for (let i = stringInputCardNumber.length - 1; i >= 0; i--) {
230
+ let d = parseInt(stringInputCardNumber[i] as string, 10);
231
+
232
+ if (isSecondDigit) {
233
+ d *= 2;
234
+ }
235
+
236
+ sum += Math.floor(d / 10);
237
+ sum += d % 10;
238
+
239
+ isSecondDigit = !isSecondDigit;
240
+ }
241
+
242
+ const result = sum % 10 === 0;
243
+
244
+ return result;
245
+ };
246
+
247
+ const handleCardNumberBlur = () => {
248
+ const cleaned = cardNumberText?.replace(/ /g, '') || '';
249
+ const cleanedLength = maxCardNumberLength == 19 ? 16 : 15;
250
+ setCardNumberErrorText(
251
+ cleaned.length < 1
252
+ ? 'Required'
253
+ : cleaned.length < cleanedLength && methodEnabled
254
+ ? 'This card number is invalid'
255
+ : !methodEnabled
256
+ ? 'This card is not supported for the payment'
257
+ : !cardNumberValid
258
+ ? 'This card number is invalid'
259
+ : !emiIssuerExist
260
+ ? "We couldn't find any EMI plans for this card. Please try using a different card number"
261
+ : emiIssuer != issuerBrand
262
+ ? `The card is ${emiIssuer} ${cardType}. Please enter a card number that belongs to ${issuerBrand} ${cardType}`
263
+ : ''
264
+ );
265
+ setCardNumberError(
266
+ cleaned.length < cleanedLength ||
267
+ !methodEnabled ||
268
+ !cardNumberValid ||
269
+ !emiIssuerExist ||
270
+ (emiIssuer != issuerBrand &&
271
+ durationNumber != undefined &&
272
+ durationNumber != '')
273
+ );
274
+ setCardNumberFocused(false);
275
+ };
276
+
277
+ const startBackgroundApiTask = () => {
278
+ backgroundApiInterval.current = setInterval(() => {
279
+ callFetchStatusApi();
280
+ }, 4000);
281
+ };
282
+
283
+ const stopBackgroundApiTask = () => {
284
+ if (backgroundApiInterval.current) {
285
+ clearInterval(backgroundApiInterval.current);
286
+ }
287
+ };
288
+
289
+ useEffect(() => {
290
+ if (paymentUrl) {
291
+ setShowWebView(true);
292
+ }
293
+ }, [paymentUrl]);
294
+
295
+ useEffect(() => {
296
+ setShopperToken(checkoutDetails.shopperToken);
297
+ }, []);
298
+
299
+ const handleCardExpiryTextChange = (text: string) => {
300
+ setCardExpiryText(text);
301
+
302
+ if (text === '') {
303
+ return;
304
+ }
305
+
306
+ const isDeleting = text.length < (cardExpiryText?.length || 0);
307
+
308
+ // Remove all non-digits
309
+ let cleaned = text.replace(/\D/g, '');
310
+
311
+ // Handle backspace on slash
312
+ if (isDeleting && text.endsWith('/')) {
313
+ cleaned = cleaned.slice(0, -1);
314
+ }
315
+
316
+ // Limit to 4 digits (MMYY)
317
+ cleaned = cleaned.slice(0, 4);
318
+
319
+ // Add leading zero for single-digit month
320
+ if (cleaned.length === 1 && parseInt(cleaned, 10) > 1) {
321
+ cleaned = `0${cleaned}`;
322
+ }
323
+
324
+ // Format as MM/YY
325
+ let formatted = cleaned;
326
+ if (cleaned.length > 2) {
327
+ formatted = `${cleaned.slice(0, 2)}/${cleaned.slice(2)}`;
328
+ } else if (cleaned.length === 2 && !isDeleting) {
329
+ formatted = `${cleaned}/`;
330
+ }
331
+
332
+ // Set formatted text
333
+ setCardExpiryText(formatted);
334
+
335
+ // Validate month
336
+ let monthError = false;
337
+ if (cleaned.length >= 2) {
338
+ const month = parseInt(cleaned.slice(0, 2), 10);
339
+ monthError = month < 1 || month > 12;
340
+ }
341
+
342
+ // Validate year
343
+ let yearError = false;
344
+ if (cleaned.length === 4) {
345
+ const currentYear = new Date().getFullYear() % 100; // Get last two digits of current year
346
+ const currentMonth = new Date().getMonth() + 1;
347
+
348
+ const enteredMonth = parseInt(cleaned.slice(0, 2), 10);
349
+ const enteredYear = parseInt(cleaned.slice(2), 10);
350
+
351
+ if (enteredYear < currentYear) {
352
+ yearError = true; // Prevent past years
353
+ } else if (enteredYear === currentYear && enteredMonth < currentMonth) {
354
+ yearError = true; // Prevent past months in the current year
355
+ }
356
+ }
357
+
358
+ // If invalid month or year, show error
359
+ if (monthError || yearError) {
360
+ setCardExpiryValid(false);
361
+ return;
362
+ }
363
+
364
+ setCardExpiryValid(true);
365
+ };
366
+
367
+ const handleCardExpiryBlur = () => {
368
+ const cleaned = cardExpiryText?.replace(/ /g, '') || '';
369
+ setCardExpiryErrorText(
370
+ cleaned.length < 1
371
+ ? 'Required'
372
+ : cleaned.length < 5 || !cardExpiryValid
373
+ ? 'Expiry is invalid'
374
+ : ''
375
+ );
376
+ setCardExpiryError(cleaned.length < 5 || !cardExpiryValid);
377
+ setCardExpiryFocused(false);
378
+ };
379
+
380
+ const handleCardCvvBlur = () => {
381
+ const cleaned = cardCvvText?.replace(/ /g, '') || '';
382
+ setCardCvvErrorText(
383
+ cleaned.length < 1
384
+ ? 'Required'
385
+ : cleaned.length < maxCvvLength
386
+ ? 'CVV is invalid'
387
+ : ''
388
+ );
389
+ setCardCvvError(cleaned.length < maxCvvLength);
390
+ setCardCvvFocused(false);
391
+ };
392
+
393
+ const handleCardHolderNameBlur = () => {
394
+ const cleaned = cardHolderNameText?.replace(/ /g, '') || '';
395
+ setCardHolderNameErrorText(cleaned.length < 1 ? 'Required' : '');
396
+ setCardHolderNameFocused(false);
397
+ setCardHolderNameError(cleaned.length < 1);
398
+ };
399
+
400
+ const handleCardCvvTextChange = (text: string) => {
401
+ setCardCvvText(text);
402
+ if (text == '') {
403
+ setCardCvvErrorText('Required');
404
+ setCardCvvError(true);
405
+ } else {
406
+ setCardCvvError(false);
407
+ }
408
+ };
409
+
410
+ const handleCardHolderNameTextChange = (text: string) => {
411
+ setCardHolderNameText(text);
412
+ if (text != '') {
413
+ setCardHolderNameError(false);
414
+ }
415
+ };
416
+ const checkCardValid = () => {
417
+ if (durationNumber != undefined && durationNumber != '') {
418
+ if (
419
+ cardNumberError ||
420
+ cardExpiryError ||
421
+ cardCvvError ||
422
+ cardHolderNameError ||
423
+ cardNumberText?.length != maxCardNumberLength ||
424
+ cardExpiryText?.length != 5 ||
425
+ cardCvvText?.length != maxCvvLength ||
426
+ (cardHolderNameText?.length ?? 0) < 1 ||
427
+ !cardNumberValid ||
428
+ !emiIssuerExist
429
+ ) {
430
+ setCardValid(false);
431
+ } else {
432
+ setCardValid(true);
433
+ }
434
+ } else {
435
+ if (
436
+ cardNumberError ||
437
+ cardExpiryError ||
438
+ cardCvvError ||
439
+ cardHolderNameError ||
440
+ cardNumberText?.length != maxCardNumberLength ||
441
+ cardExpiryText?.length != 5 ||
442
+ cardCvvText?.length != maxCvvLength ||
443
+ (cardHolderNameText?.length ?? 0) < 1 ||
444
+ !cardNumberValid
445
+ ) {
446
+ setCardValid(false);
447
+ } else {
448
+ setCardValid(true);
449
+ }
450
+ }
451
+ };
452
+
453
+ const onProceedBack = () => {
454
+ navigation.goBack()
455
+ return true;
456
+ };
457
+
458
+ const callFetchStatusApi = async () => {
459
+ const response = await fetchStatus();
460
+ handleFetchStatusResponseHandler({
461
+ response: response,
462
+ checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
463
+ onSetStatus: setStatus,
464
+ onSetTransactionId: setTransactionId,
465
+ onSetFailedMessage: (msg) => {
466
+ paymentFailedMessage.current = msg
467
+ },
468
+ onShowFailedModal: () => {
469
+ setFailedModalState(true)
470
+ },
471
+ onShowSuccessModal: (ts) => {
472
+ setSuccessfulTimeStamp(ts);
473
+ setSuccessModalState(true);
474
+ },
475
+ onShowSessionExpiredModal: () => {
476
+ setSessionExppireModalState(true)
477
+ },
478
+ setLoading: setLoading,
479
+ stopBackgroundApiTask: stopBackgroundApiTask
480
+ });
481
+ };
482
+
483
+ const onProceedForward = async () => {
484
+ let response;
485
+ setLoading(true);
486
+ if (durationNumber !== undefined && durationNumber !== '') {
487
+ response = await emiPostRequest({
488
+ cardNumber:cardNumberText || '',
489
+ expiryDate:cardExpiryText || '',
490
+ cvv:cardCvvText || '',
491
+ holderName:cardHolderNameText || '',
492
+ cardType:cardTypeStr || '',
493
+ offerCode:offerCodeStr || '',
494
+ duration:durationNumber
495
+ });
496
+ } else {
497
+ response = await cardPostRequest(
498
+ cardNumberText || '',
499
+ cardExpiryText || '',
500
+ cardCvvText || '',
501
+ cardHolderNameText || '',
502
+ cardNickNameText || '',
503
+ isSavedCardCheckBoxClicked
504
+ );
505
+ }
506
+ handlePaymentResponse({
507
+ response: response,
508
+ checkoutDetailsErrorMessage: checkoutDetails.errorMessage,
509
+ onSetStatus: setStatus,
510
+ onSetTransactionId: setTransactionId,
511
+ onSetPaymentHtml: setPaymentHtml,
512
+ onSetPaymentUrl: setPaymentUrl,
513
+ onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
514
+ onShowFailedModal: () => setFailedModalState(true),
515
+ onShowSuccessModal: (ts) => {
516
+ setSuccessfulTimeStamp(ts);
517
+ setSuccessModalState(true);
518
+ },
519
+ onShowSessionExpiredModal: () => setSessionExppireModalState(true),
520
+ setLoading: setLoading
521
+ });
522
+ };
523
+
524
+ useEffect(() => {
525
+ const backHandler = BackHandler.addEventListener(
526
+ 'hardwareBackPress',
527
+ () => {
528
+ if (showWebView) {
529
+ setShowWebView(false);
530
+ paymentFailedMessage.current = checkoutDetails.errorMessage;
531
+ setStatus('Failed');
532
+ setFailedModalState(true);
533
+ setLoading(false);
534
+ return true;
535
+ } else if (loading) {
536
+ return true; // Prevent default back action
537
+ }
538
+ return onProceedBack(); // Allow back navigation if not loading
539
+ }
540
+ );
541
+
542
+ return () => backHandler.remove();
543
+ });
544
+
545
+ useEffect(() => {
546
+ checkCardValid();
547
+ }, [cardNumberText, cardExpiryText, cardCvvText, cardHolderNameText]);
548
+
549
+ const onExitCheckout = () => {
550
+ const mockPaymentResult: PaymentResultObject = {
551
+ status: status || '',
552
+ transactionId: transactionId || '',
553
+ };
554
+ paymentHandler.onPaymentResult(mockPaymentResult);
555
+ };
556
+
557
+ useEffect(() => {
558
+ if (paymentHtml) {
559
+ setShowWebView(true);
560
+ }
561
+ }, [paymentHtml]);
562
+
563
+ return (
564
+ <SafeAreaView style={styles.screenView}>
565
+ <StatusBar barStyle="dark-content" />
566
+ {loading ? (
567
+ <View
568
+ style={styles.loadingContainer}
569
+ >
570
+ <LottieView
571
+ source={require('../../assets/animations/boxpayLogo.json')}
572
+ autoPlay
573
+ loop
574
+ style={styles.lottieStyle}
575
+ />
576
+ <Text>Loading...</Text>
577
+ </View>
578
+ ) : (
579
+ <View style={styles.screenView}>
580
+ <Header
581
+ onBackPress={onProceedBack}
582
+ showDesc={true}
583
+ showSecure={true}
584
+ text="Pay via Card"
585
+ />
586
+ <View
587
+ style={styles.divider}
588
+ />
589
+ {bankNameStr != '' && bankName != undefined && (
590
+ <View
591
+ style={styles.container}
592
+ >
593
+ <View style={{ flexDirection: 'row', alignItems: 'center' }}>
594
+ <View
595
+ style={styles.imageContainer}
596
+ >
597
+ {imageLoad && !imageError && (
598
+ <ShimmerPlaceHolder
599
+ visible={false} // Keep shimmer until loading is done
600
+ style={{ width: 32, height: 32, borderRadius: 8 }}
601
+ />
602
+ )}
603
+ {!imageError ? (
604
+ <SvgUri
605
+ uri={bankUrlStr || ''}
606
+ width={100} // Keep original size
607
+ height={100}
608
+ style={{ transform: [{ scale: 0.4 }] }}
609
+ onLoad={() => setImageLoad(false)}
610
+ onError={() => {
611
+ setImageError(true);
612
+ setImageLoad(false);
613
+ }}
614
+ />
615
+ ) : (
616
+ <Image
617
+ source={require('../../assets/images/ic_netbanking_semi_bold.png')}
618
+ style={{ transform: [{ scale: 0.4 }] }}
619
+ />
620
+ )}
621
+ </View>
622
+ <Text
623
+ style={styles.nameText}
624
+ >
625
+ {bankNameStr}
626
+ </Text>
627
+ </View>
628
+ <View
629
+ style={styles.thickBorder}
630
+ >
631
+ <Text
632
+ style={styles.durationText}
633
+ >
634
+ {duration} months x
635
+ <Text
636
+ style={styles.currencyText}
637
+ >
638
+ {' '}
639
+ {checkoutDetails.currencySymbol}
640
+ </Text>
641
+ {amountStr}
642
+ </Text>
643
+ <Text
644
+ style={styles.percentText}
645
+ >
646
+ @{percentNumber}% p.a.
647
+ </Text>
648
+ </View>
649
+ </View>
650
+ )}
651
+ <TextInput
652
+ mode="outlined"
653
+ label={
654
+ <Text
655
+ style={[styles.textFieldLabel,{
656
+ color: cardNumberFocused
657
+ ? '#2D2B32'
658
+ : cardNumberText != '' && cardNumberText != null
659
+ ? '#2D2B32'
660
+ : '#ADACB0',
661
+ }]}
662
+ >
663
+ Card Number
664
+ </Text>
665
+ }
666
+ value={cardNumberText || ''}
667
+ onChangeText={(it) => {
668
+ handleCardNumberTextChange(it);
669
+ }}
670
+ theme={{
671
+ colors: {
672
+ primary: '#2D2B32',
673
+ outline: '#E6E6E6',
674
+ },
675
+ }}
676
+ style={[styles.textInput, { marginTop: 28, marginHorizontal: 16 }]}
677
+ error={cardNumberError}
678
+ right={
679
+ cardNumberError ? (
680
+ <TextInput.Icon
681
+ icon={() => (
682
+ <Image
683
+ source={require('../../assets/images/ic_upi_error.png')}
684
+ style={{ width: 24, height: 24 }}
685
+ />
686
+ )}
687
+ />
688
+ ) : (
689
+ <TextInput.Icon
690
+ icon={() => (
691
+ <Image
692
+ source={cardSelectedIcon}
693
+ style={{ width: 35, height: 20 }}
694
+ />
695
+ )}
696
+ />
697
+ )
698
+ }
699
+ outlineStyle={{
700
+ borderRadius: 8, // Add this
701
+ borderWidth: 1.5,
702
+ }}
703
+ keyboardType="number-pad"
704
+ maxLength={maxCardNumberLength}
705
+ onFocus={() => {
706
+ setCardNumberFocused(true);
707
+ setCardNumberError(false);
708
+ }}
709
+ onBlur={handleCardNumberBlur}
710
+ />
711
+ {cardNumberError && (
712
+ <Text
713
+ style={styles.errorText}
714
+ >
715
+ {cardNumberErrorText}
716
+ </Text>
717
+ )}
718
+ <View
719
+ style={styles.expiryCvvContainer}
720
+ >
721
+ <View style={{ flex: 1, flexDirection: 'column' }}>
722
+ <TextInput
723
+ mode="outlined"
724
+ label={
725
+ <Text
726
+ style={[styles.textFieldLabel,{
727
+ color: cardExpiryFocused
728
+ ? '#2D2B32'
729
+ : cardExpiryText != '' && cardExpiryText != null
730
+ ? '#2D2B32'
731
+ : '#ADACB0',
732
+ }]}
733
+ >
734
+ Expiry (MM/YY)
735
+ </Text>
736
+ }
737
+ value={cardExpiryText || ''}
738
+ onChangeText={(it) => {
739
+ handleCardExpiryTextChange(it);
740
+ }}
741
+ theme={{
742
+ colors: {
743
+ primary: '#2D2B32',
744
+ outline: '#E6E6E6',
745
+ },
746
+ }}
747
+ style={styles.textInput}
748
+ error={cardExpiryError}
749
+ right={
750
+ cardExpiryError ? (
751
+ <TextInput.Icon
752
+ icon={() => (
753
+ <Image
754
+ source={require('../../assets/images/ic_upi_error.png')}
755
+ style={{ width: 24, height: 24 }}
756
+ />
757
+ )}
758
+ />
759
+ ) : null
760
+ }
761
+ outlineStyle={{
762
+ borderRadius: 8, // Add this
763
+ borderWidth: 1.5,
764
+ }}
765
+ keyboardType="number-pad"
766
+ maxLength={5}
767
+ onFocus={() => {
768
+ setCardExpiryFocused(true);
769
+ setCardExpiryError(false);
770
+ }}
771
+ onBlur={handleCardExpiryBlur}
772
+ />
773
+ {cardExpiryError && (
774
+ <Text
775
+ style={styles.errorText}
776
+ >
777
+ {cardExpiryErrorText}
778
+ </Text>
779
+ )}
780
+ </View>
781
+ <View style={{ flex: 1, flexDirection: 'column', marginStart: 16 }}>
782
+ <TextInput
783
+ mode="outlined"
784
+ label={
785
+ <Text
786
+ style={[styles.textFieldLabel,{
787
+ color: cardCvvFocused
788
+ ? '#2D2B32'
789
+ : cardCvvText != '' && cardCvvText != null
790
+ ? '#2D2B32'
791
+ : '#ADACB0',
792
+ }]}
793
+ >
794
+ CVV
795
+ </Text>
796
+ }
797
+ value={cardCvvText || ''}
798
+ onChangeText={(it) => {
799
+ handleCardCvvTextChange(it);
800
+ }}
801
+ theme={{
802
+ colors: {
803
+ primary: '#2D2B32',
804
+ outline: '#E6E6E6',
805
+ },
806
+ }}
807
+ style={styles.textInput}
808
+ error={cardCvvError}
809
+ right={
810
+ cardCvvError ? (
811
+ <TextInput.Icon
812
+ icon={() => (
813
+ <Image
814
+ source={require('../../assets/images/ic_upi_error.png')}
815
+ style={{ width: 24, height: 24 }}
816
+ />
817
+ )}
818
+ />
819
+ ) : (
820
+ <TextInput.Icon
821
+ icon={() => (
822
+ <Image
823
+ source={require('../../assets/images/ic_cvv_info.png')}
824
+ style={{ width: 24, height: 24 }}
825
+ />
826
+ )}
827
+ onPress={() => {
828
+ setShowCvvInfo(true);
829
+ }}
830
+ />
831
+ )
832
+ }
833
+ outlineStyle={{
834
+ borderRadius: 8, // Add this
835
+ borderWidth: 1.5,
836
+ }}
837
+ keyboardType="number-pad"
838
+ maxLength={maxCvvLength}
839
+ secureTextEntry={true}
840
+ onBlur={handleCardCvvBlur}
841
+ onFocus={() => {
842
+ setCardCvvFocused(true);
843
+ setCardCvvError(false);
844
+ }}
845
+ />
846
+ {cardCvvError && (
847
+ <Text
848
+ style={styles.errorText}
849
+ >
850
+ {cardCvvErrorText}
851
+ </Text>
852
+ )}
853
+ </View>
854
+ </View>
855
+ <TextInput
856
+ mode="outlined"
857
+ label={
858
+ <Text
859
+ style={[styles.textFieldLabel,{
860
+ color: cardHolderNameFocused
861
+ ? '#2D2B32'
862
+ : cardHolderNameText != '' && cardHolderNameText != null
863
+ ? '#2D2B32'
864
+ : '#ADACB0',
865
+ }]}
866
+ >
867
+ Name on the Card
868
+ </Text>
869
+ }
870
+ value={cardHolderNameText || ''}
871
+ onChangeText={(it) => {
872
+ handleCardHolderNameTextChange(it);
873
+ }}
874
+ theme={{
875
+ colors: {
876
+ primary: '#2D2B32',
877
+ outline: '#E6E6E6',
878
+ },
879
+ }}
880
+ style={[styles.textInput, { marginHorizontal: 16, marginTop: 16 }]}
881
+ error={cardHolderNameError}
882
+ right={
883
+ cardHolderNameError ? (
884
+ <TextInput.Icon
885
+ icon={() => (
886
+ <Image
887
+ source={require('../../assets/images/ic_upi_error.png')}
888
+ style={{ width: 24, height: 24 }}
889
+ />
890
+ )}
891
+ />
892
+ ) : null
893
+ }
894
+ outlineStyle={{
895
+ borderRadius: 8, // Add this
896
+ borderWidth: 1.5,
897
+ }}
898
+ onBlur={handleCardHolderNameBlur}
899
+ onFocus={() => {
900
+ setCardHolderNameFocused(true);
901
+ setCardHolderNameError(false);
902
+ }}
903
+ />
904
+ {cardHolderNameError && (
905
+ <Text
906
+ style={styles.errorText}
907
+ >
908
+ {cardHolderNameErrorText}
909
+ </Text>
910
+ )}
911
+ {shopperToken != null && shopperToken != '' && (
912
+ <TextInput
913
+ mode="outlined"
914
+ label={
915
+ <Text
916
+ style={[styles.textFieldLabel,{
917
+ color: cardNickNameFocused
918
+ ? '#2D2B32'
919
+ : cardNickNameText != '' && cardNickNameText != null
920
+ ? '#2D2B32'
921
+ : '#ADACB0',
922
+ }]}
923
+ >
924
+ Card NickName (for easy identification)
925
+ </Text>
926
+ }
927
+ value={cardNickNameText || ''}
928
+ onChangeText={(it) => {
929
+ setCardNickNameText(it);
930
+ }}
931
+ theme={{
932
+ colors: {
933
+ primary: '#2D2B32',
934
+ outline: '#E6E6E6',
935
+ },
936
+ }}
937
+ style={[
938
+ styles.textInput,
939
+ { marginHorizontal: 16, marginTop: 16 },
940
+ ]}
941
+ outlineStyle={{
942
+ borderRadius: 8, // Add this
943
+ borderWidth: 1.5,
944
+ }}
945
+ onBlur={() => {
946
+ setCardNickNameFocused(false);
947
+ }}
948
+ onFocus={() => {
949
+ setCardNickNameFocused(true);
950
+ }}
951
+ />
952
+ )}
953
+ {
954
+ <View
955
+ style={styles.infoContainer}
956
+ >
957
+ <Image
958
+ source={require('../../assets/images/ic_info.png')}
959
+ style={styles.infoIcon}
960
+ />
961
+ <Text
962
+ style={styles.infoText}
963
+ >
964
+ CVV will not be stored
965
+ </Text>
966
+ </View>
967
+ }
968
+ {shopperToken != null && shopperToken != '' && (
969
+ <View
970
+ style={styles.checkBoxContainer}
971
+ >
972
+ <Checkbox
973
+ status={isSavedCardCheckBoxClicked ? 'checked' : 'unchecked'}
974
+ onPress={() => {
975
+ setIsSavedCardCheckBoxClicked(!isSavedCardCheckBoxClicked);
976
+ }}
977
+ color={checkoutDetails.brandColor}
978
+ />
979
+ <Text
980
+ style={styles.checkBoxText}
981
+ >
982
+ Save this card as per RBI guidelines.
983
+ </Text>
984
+ <Pressable
985
+ onPress={() => {
986
+ setKnowMoreDialog(true);
987
+ }}
988
+ style={{ marginLeft: 4 }}
989
+ >
990
+ <Text
991
+ style={[styles.clickableText,{
992
+ color: checkoutDetails.brandColor,
993
+ }]}
994
+ >
995
+ Know more
996
+ </Text>
997
+ </Pressable>
998
+ </View>
999
+ )}
1000
+ <View
1001
+ style={styles.pressableContainer}
1002
+ >
1003
+ {cardValid ? (
1004
+ <Pressable
1005
+ style={[
1006
+ styles.buttonContainer,
1007
+ { backgroundColor: checkoutDetails.brandColor },
1008
+ ]}
1009
+ onPress={() => {
1010
+ onProceedForward();
1011
+ }}
1012
+ >
1013
+ <Text style={styles.buttonText}>Make Payment</Text>
1014
+ </Pressable>
1015
+ ) : (
1016
+ <Pressable
1017
+ style={[styles.buttonContainer, { backgroundColor: '#E6E6E6' }]}
1018
+ >
1019
+ <Text style={[styles.buttonText, { color: '#ADACB0' }]}>
1020
+ Make Payment
1021
+ </Text>
1022
+ </Pressable>
1023
+ )}
1024
+ </View>
1025
+ </View>
1026
+ )}
1027
+ {failedModalOpen && (
1028
+ <PaymentFailed
1029
+ onClick={() => setFailedModalState(false)}
1030
+ errorMessage={paymentFailedMessage.current}
1031
+ />
1032
+ )}
1033
+
1034
+ {successModalOpen && (
1035
+ <PaymentSuccess
1036
+ onClick={onExitCheckout}
1037
+ transactionId={transactionId || ''}
1038
+ method="Card"
1039
+ localDateTime={successfulTimeStamp}
1040
+ />
1041
+ )}
1042
+
1043
+ {sessionExpireModalOpen && <SessionExpire onClick={onExitCheckout} />}
1044
+
1045
+ {showCvvInfo && (
1046
+ <CvvInfoBottomSheet
1047
+ onClick={() => {
1048
+ setShowCvvInfo(false);
1049
+ }}
1050
+ />
1051
+ )}
1052
+
1053
+ {showKnowMoreDialog && (
1054
+ <KnowMoreBottomSheet
1055
+ onClick={() => {
1056
+ setKnowMoreDialog(false);
1057
+ }}
1058
+ />
1059
+ )}
1060
+
1061
+ {showWebView && (
1062
+ <View
1063
+ style={styles.pressableContainer}
1064
+ >
1065
+ <WebViewScreen
1066
+ url={paymentUrl}
1067
+ html={paymentHtml}
1068
+ onBackPress={() => {
1069
+ startBackgroundApiTask();
1070
+ setLoading(true);
1071
+ setLoading(true);
1072
+ setShowWebView(false);
1073
+ }}
1074
+ />
1075
+ </View>
1076
+ )}
1077
+ </SafeAreaView>
1078
+ );
1079
+ };
1080
+
1081
+ export default CardScreen;