boxpay-checkout-reactnative-sdk 1.0.16 → 1.0.17-beta1

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 (624) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/reactnativemodule/BoxPayElementsView.kt +62 -0
  3. package/android/src/main/java/com/reactnativemodule/CrossPlaform.kt +48 -19
  4. package/android/src/main/java/com/reactnativemodule/ReactNativeModulePackage.kt +2 -3
  5. package/cross_platform_react_native_plugin.podspec +1 -1
  6. package/ios/BoxPayElementsView.m +10 -0
  7. package/ios/BoxPayElementsView.swift +63 -0
  8. package/ios/CrossPlatform.m +5 -2
  9. package/ios/CrossPlatform.swift +45 -19
  10. package/lib/module/index.js +108 -13
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/interface.js +1 -43
  13. package/lib/module/interface.js.map +1 -1
  14. package/lib/module/native.js +31 -0
  15. package/lib/module/native.js.map +1 -0
  16. package/lib/typescript/src/index.d.ts +3 -3
  17. package/lib/typescript/src/index.d.ts.map +1 -1
  18. package/lib/typescript/src/interface.d.ts +8 -579
  19. package/lib/typescript/src/interface.d.ts.map +1 -1
  20. package/lib/typescript/src/native.d.ts +23 -0
  21. package/lib/typescript/src/native.d.ts.map +1 -0
  22. package/package.json +14 -20
  23. package/src/index.tsx +106 -13
  24. package/src/interface.ts +14 -672
  25. package/src/native.ts +64 -0
  26. package/assets/animations/boxpayLogo.json +0 -1135
  27. package/assets/animations/payment_failed.json +0 -487
  28. package/assets/animations/payment_status_pending.json +0 -750
  29. package/assets/animations/payment_successful.json +0 -1602
  30. package/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  31. package/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  32. package/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  33. package/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  34. package/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  35. package/assets/fonts/Poppins-Bold.ttf +0 -0
  36. package/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  37. package/assets/fonts/Poppins-Medium.ttf +0 -0
  38. package/assets/fonts/Poppins-Regular.ttf +0 -0
  39. package/assets/fonts/Poppins-SemiBold.ttf +0 -0
  40. package/assets/images/Lock.png +0 -0
  41. package/assets/images/add_icon.png +0 -0
  42. package/assets/images/add_upi_id_background.png +0 -0
  43. package/assets/images/arrow-left.png +0 -0
  44. package/assets/images/chervon-down.png +0 -0
  45. package/assets/images/cvv_info_image.png +0 -0
  46. package/assets/images/cvv_info_image_amex.png +0 -0
  47. package/assets/images/favicon.png +0 -0
  48. package/assets/images/gpay-icon.png +0 -0
  49. package/assets/images/ic_amex.png +0 -0
  50. package/assets/images/ic_bnpl.png +0 -0
  51. package/assets/images/ic_bnpl_semi_bold.png +0 -0
  52. package/assets/images/ic_card.png +0 -0
  53. package/assets/images/ic_card_add.png +0 -0
  54. package/assets/images/ic_card_lock.png +0 -0
  55. package/assets/images/ic_cross.png +0 -0
  56. package/assets/images/ic_cvv_info.png +0 -0
  57. package/assets/images/ic_default_card.png +0 -0
  58. package/assets/images/ic_emi.png +0 -0
  59. package/assets/images/ic_home.png +0 -0
  60. package/assets/images/ic_info.png +0 -0
  61. package/assets/images/ic_location.png +0 -0
  62. package/assets/images/ic_maestro.png +0 -0
  63. package/assets/images/ic_masterCard.png +0 -0
  64. package/assets/images/ic_more.png +0 -0
  65. package/assets/images/ic_netbanking.png +0 -0
  66. package/assets/images/ic_netbanking_semi_bold.png +0 -0
  67. package/assets/images/ic_offer_tag.png +0 -0
  68. package/assets/images/ic_other.png +0 -0
  69. package/assets/images/ic_qr.png +0 -0
  70. package/assets/images/ic_rupay.png +0 -0
  71. package/assets/images/ic_search.png +0 -0
  72. package/assets/images/ic_trash.png +0 -0
  73. package/assets/images/ic_upi.png +0 -0
  74. package/assets/images/ic_upi_error.png +0 -0
  75. package/assets/images/ic_user.png +0 -0
  76. package/assets/images/ic_visa.png +0 -0
  77. package/assets/images/ic_wallet.png +0 -0
  78. package/assets/images/ic_wallet_semi_bold.png +0 -0
  79. package/assets/images/ic_work.png +0 -0
  80. package/assets/images/no_results_found.png +0 -0
  81. package/assets/images/other-intent-icon.png +0 -0
  82. package/assets/images/paytm-icon.png +0 -0
  83. package/assets/images/phonepe-icon.png +0 -0
  84. package/assets/images/splash-icon.png +0 -0
  85. package/assets/images/upi-icon.png +0 -0
  86. package/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  87. package/assets/json/countryCodes.json +0 -1490
  88. package/ios/Framework/CrossPlatformSDK.xcframework/Info.plist +0 -48
  89. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64/CrossPlatformSDK.framework/CrossPlatformSDK +0 -0
  90. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64/CrossPlatformSDK.framework/Headers/CrossPlatformSDK.h +0 -168
  91. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64/CrossPlatformSDK.framework/Info.plist +0 -35
  92. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64/CrossPlatformSDK.framework/Modules/module.modulemap +0 -8
  93. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64/dSYMs/CrossPlatformSDK.framework.dSYM/Contents/Info.plist +0 -20
  94. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64_x86_64-simulator/CrossPlatformSDK.framework/CrossPlatformSDK +0 -0
  95. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64_x86_64-simulator/CrossPlatformSDK.framework/Headers/CrossPlatformSDK.h +0 -168
  96. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64_x86_64-simulator/CrossPlatformSDK.framework/Info.plist +0 -31
  97. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64_x86_64-simulator/CrossPlatformSDK.framework/Modules/module.modulemap +0 -5
  98. package/ios/Framework/CrossPlatformSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/CrossPlatformSDK.framework.dSYM/Contents/Info.plist +0 -20
  99. package/lib/assets/animations/boxpayLogo.json +0 -1135
  100. package/lib/assets/animations/payment_failed.json +0 -487
  101. package/lib/assets/animations/payment_status_pending.json +0 -750
  102. package/lib/assets/animations/payment_successful.json +0 -1602
  103. package/lib/assets/assets/animations/boxpayLogo.json +0 -1135
  104. package/lib/assets/assets/animations/payment_failed.json +0 -487
  105. package/lib/assets/assets/animations/payment_status_pending.json +0 -750
  106. package/lib/assets/assets/animations/payment_successful.json +0 -1602
  107. package/lib/assets/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  108. package/lib/assets/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  109. package/lib/assets/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  110. package/lib/assets/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  111. package/lib/assets/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  112. package/lib/assets/assets/fonts/Poppins-Bold.ttf +0 -0
  113. package/lib/assets/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  114. package/lib/assets/assets/fonts/Poppins-Medium.ttf +0 -0
  115. package/lib/assets/assets/fonts/Poppins-Regular.ttf +0 -0
  116. package/lib/assets/assets/fonts/Poppins-SemiBold.ttf +0 -0
  117. package/lib/assets/assets/images/Lock.png +0 -0
  118. package/lib/assets/assets/images/add_icon.png +0 -0
  119. package/lib/assets/assets/images/add_upi_id_background.png +0 -0
  120. package/lib/assets/assets/images/arrow-left.png +0 -0
  121. package/lib/assets/assets/images/chervon-down.png +0 -0
  122. package/lib/assets/assets/images/cvv_info_image.png +0 -0
  123. package/lib/assets/assets/images/cvv_info_image_amex.png +0 -0
  124. package/lib/assets/assets/images/favicon.png +0 -0
  125. package/lib/assets/assets/images/gpay-icon.png +0 -0
  126. package/lib/assets/assets/images/ic_amex.png +0 -0
  127. package/lib/assets/assets/images/ic_bnpl.png +0 -0
  128. package/lib/assets/assets/images/ic_bnpl_semi_bold.png +0 -0
  129. package/lib/assets/assets/images/ic_card.png +0 -0
  130. package/lib/assets/assets/images/ic_card_add.png +0 -0
  131. package/lib/assets/assets/images/ic_card_lock.png +0 -0
  132. package/lib/assets/assets/images/ic_cross.png +0 -0
  133. package/lib/assets/assets/images/ic_cvv_info.png +0 -0
  134. package/lib/assets/assets/images/ic_default_card.png +0 -0
  135. package/lib/assets/assets/images/ic_emi.png +0 -0
  136. package/lib/assets/assets/images/ic_home.png +0 -0
  137. package/lib/assets/assets/images/ic_info.png +0 -0
  138. package/lib/assets/assets/images/ic_location.png +0 -0
  139. package/lib/assets/assets/images/ic_maestro.png +0 -0
  140. package/lib/assets/assets/images/ic_masterCard.png +0 -0
  141. package/lib/assets/assets/images/ic_more.png +0 -0
  142. package/lib/assets/assets/images/ic_netbanking.png +0 -0
  143. package/lib/assets/assets/images/ic_netbanking_semi_bold.png +0 -0
  144. package/lib/assets/assets/images/ic_offer_tag.png +0 -0
  145. package/lib/assets/assets/images/ic_other.png +0 -0
  146. package/lib/assets/assets/images/ic_qr.png +0 -0
  147. package/lib/assets/assets/images/ic_rupay.png +0 -0
  148. package/lib/assets/assets/images/ic_search.png +0 -0
  149. package/lib/assets/assets/images/ic_trash.png +0 -0
  150. package/lib/assets/assets/images/ic_upi.png +0 -0
  151. package/lib/assets/assets/images/ic_upi_error.png +0 -0
  152. package/lib/assets/assets/images/ic_user.png +0 -0
  153. package/lib/assets/assets/images/ic_visa.png +0 -0
  154. package/lib/assets/assets/images/ic_wallet.png +0 -0
  155. package/lib/assets/assets/images/ic_wallet_semi_bold.png +0 -0
  156. package/lib/assets/assets/images/ic_work.png +0 -0
  157. package/lib/assets/assets/images/no_results_found.png +0 -0
  158. package/lib/assets/assets/images/other-intent-icon.png +0 -0
  159. package/lib/assets/assets/images/paytm-icon.png +0 -0
  160. package/lib/assets/assets/images/phonepe-icon.png +0 -0
  161. package/lib/assets/assets/images/splash-icon.png +0 -0
  162. package/lib/assets/assets/images/upi-icon.png +0 -0
  163. package/lib/assets/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  164. package/lib/assets/assets/json/countryCodes.json +0 -1490
  165. package/lib/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  166. package/lib/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  167. package/lib/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  168. package/lib/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  169. package/lib/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  170. package/lib/assets/fonts/Poppins-Bold.ttf +0 -0
  171. package/lib/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  172. package/lib/assets/fonts/Poppins-Medium.ttf +0 -0
  173. package/lib/assets/fonts/Poppins-Regular.ttf +0 -0
  174. package/lib/assets/fonts/Poppins-SemiBold.ttf +0 -0
  175. package/lib/assets/images/Lock.png +0 -0
  176. package/lib/assets/images/add_icon.png +0 -0
  177. package/lib/assets/images/add_upi_id_background.png +0 -0
  178. package/lib/assets/images/arrow-left.png +0 -0
  179. package/lib/assets/images/chervon-down.png +0 -0
  180. package/lib/assets/images/cvv_info_image.png +0 -0
  181. package/lib/assets/images/cvv_info_image_amex.png +0 -0
  182. package/lib/assets/images/favicon.png +0 -0
  183. package/lib/assets/images/gpay-icon.png +0 -0
  184. package/lib/assets/images/ic_amex.png +0 -0
  185. package/lib/assets/images/ic_bnpl.png +0 -0
  186. package/lib/assets/images/ic_bnpl_semi_bold.png +0 -0
  187. package/lib/assets/images/ic_card.png +0 -0
  188. package/lib/assets/images/ic_card_add.png +0 -0
  189. package/lib/assets/images/ic_card_lock.png +0 -0
  190. package/lib/assets/images/ic_cross.png +0 -0
  191. package/lib/assets/images/ic_cvv_info.png +0 -0
  192. package/lib/assets/images/ic_default_card.png +0 -0
  193. package/lib/assets/images/ic_emi.png +0 -0
  194. package/lib/assets/images/ic_home.png +0 -0
  195. package/lib/assets/images/ic_info.png +0 -0
  196. package/lib/assets/images/ic_location.png +0 -0
  197. package/lib/assets/images/ic_maestro.png +0 -0
  198. package/lib/assets/images/ic_masterCard.png +0 -0
  199. package/lib/assets/images/ic_more.png +0 -0
  200. package/lib/assets/images/ic_netbanking.png +0 -0
  201. package/lib/assets/images/ic_netbanking_semi_bold.png +0 -0
  202. package/lib/assets/images/ic_offer_tag.png +0 -0
  203. package/lib/assets/images/ic_other.png +0 -0
  204. package/lib/assets/images/ic_qr.png +0 -0
  205. package/lib/assets/images/ic_rupay.png +0 -0
  206. package/lib/assets/images/ic_search.png +0 -0
  207. package/lib/assets/images/ic_trash.png +0 -0
  208. package/lib/assets/images/ic_upi.png +0 -0
  209. package/lib/assets/images/ic_upi_error.png +0 -0
  210. package/lib/assets/images/ic_user.png +0 -0
  211. package/lib/assets/images/ic_visa.png +0 -0
  212. package/lib/assets/images/ic_wallet.png +0 -0
  213. package/lib/assets/images/ic_wallet_semi_bold.png +0 -0
  214. package/lib/assets/images/ic_work.png +0 -0
  215. package/lib/assets/images/no_results_found.png +0 -0
  216. package/lib/assets/images/other-intent-icon.png +0 -0
  217. package/lib/assets/images/paytm-icon.png +0 -0
  218. package/lib/assets/images/phonepe-icon.png +0 -0
  219. package/lib/assets/images/splash-icon.png +0 -0
  220. package/lib/assets/images/upi-icon.png +0 -0
  221. package/lib/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  222. package/lib/assets/json/countryCodes.json +0 -1490
  223. package/lib/module/components/addressCard.js +0 -186
  224. package/lib/module/components/addressCard.js.map +0 -1
  225. package/lib/module/components/applyCouponCard.js +0 -145
  226. package/lib/module/components/applyCouponCard.js.map +0 -1
  227. package/lib/module/components/bankCard.js +0 -59
  228. package/lib/module/components/bankCard.js.map +0 -1
  229. package/lib/module/components/cancelPaymentModal.js +0 -74
  230. package/lib/module/components/cancelPaymentModal.js.map +0 -1
  231. package/lib/module/components/checkboxContainer.js +0 -75
  232. package/lib/module/components/checkboxContainer.js.map +0 -1
  233. package/lib/module/components/circularProgress.js +0 -75
  234. package/lib/module/components/circularProgress.js.map +0 -1
  235. package/lib/module/components/cvvInfoBottomSheet.js +0 -73
  236. package/lib/module/components/cvvInfoBottomSheet.js.map +0 -1
  237. package/lib/module/components/deleteAddressModal.js +0 -120
  238. package/lib/module/components/deleteAddressModal.js.map +0 -1
  239. package/lib/module/components/fontFamily.js +0 -30
  240. package/lib/module/components/fontFamily.js.map +0 -1
  241. package/lib/module/components/getInstalledUPI.js +0 -27
  242. package/lib/module/components/getInstalledUPI.js.map +0 -1
  243. package/lib/module/components/header.js +0 -127
  244. package/lib/module/components/header.js.map +0 -1
  245. package/lib/module/components/imageLoader.js +0 -93
  246. package/lib/module/components/imageLoader.js.map +0 -1
  247. package/lib/module/components/knowMoreBottomSheet.js +0 -113
  248. package/lib/module/components/knowMoreBottomSheet.js.map +0 -1
  249. package/lib/module/components/morePaymentContainer.js +0 -66
  250. package/lib/module/components/morePaymentContainer.js.map +0 -1
  251. package/lib/module/components/morePaymentMethods.js +0 -177
  252. package/lib/module/components/morePaymentMethods.js.map +0 -1
  253. package/lib/module/components/offerCard.js +0 -148
  254. package/lib/module/components/offerCard.js.map +0 -1
  255. package/lib/module/components/orderDetails.js +0 -404
  256. package/lib/module/components/orderDetails.js.map +0 -1
  257. package/lib/module/components/paymentFailed.js +0 -105
  258. package/lib/module/components/paymentFailed.js.map +0 -1
  259. package/lib/module/components/paymentSelector.js +0 -158
  260. package/lib/module/components/paymentSelector.js.map +0 -1
  261. package/lib/module/components/paymentSuccess.js +0 -239
  262. package/lib/module/components/paymentSuccess.js.map +0 -1
  263. package/lib/module/components/savedAddressBottomSheet.js +0 -130
  264. package/lib/module/components/savedAddressBottomSheet.js.map +0 -1
  265. package/lib/module/components/savedAddressCard.js +0 -117
  266. package/lib/module/components/savedAddressCard.js.map +0 -1
  267. package/lib/module/components/savedCardComponent.js +0 -238
  268. package/lib/module/components/savedCardComponent.js.map +0 -1
  269. package/lib/module/components/selectTenureCard.js +0 -393
  270. package/lib/module/components/selectTenureCard.js.map +0 -1
  271. package/lib/module/components/sessionExpire.js +0 -96
  272. package/lib/module/components/sessionExpire.js.map +0 -1
  273. package/lib/module/components/shimmerView.js +0 -40
  274. package/lib/module/components/shimmerView.js.map +0 -1
  275. package/lib/module/components/subscriptionRow.js +0 -33
  276. package/lib/module/components/subscriptionRow.js.map +0 -1
  277. package/lib/module/navigation.js +0 -88
  278. package/lib/module/navigation.js.map +0 -1
  279. package/lib/module/postRequest/callUIAnalytics.js +0 -43
  280. package/lib/module/postRequest/callUIAnalytics.js.map +0 -1
  281. package/lib/module/postRequest/cardPostRequest.js +0 -60
  282. package/lib/module/postRequest/cardPostRequest.js.map +0 -1
  283. package/lib/module/postRequest/deleteSavedAddress.js +0 -33
  284. package/lib/module/postRequest/deleteSavedAddress.js.map +0 -1
  285. package/lib/module/postRequest/emiPostRequest.js +0 -68
  286. package/lib/module/postRequest/emiPostRequest.js.map +0 -1
  287. package/lib/module/postRequest/fetchCardDetails.js +0 -26
  288. package/lib/module/postRequest/fetchCardDetails.js.map +0 -1
  289. package/lib/module/postRequest/fetchInstantOffer.js +0 -29
  290. package/lib/module/postRequest/fetchInstantOffer.js.map +0 -1
  291. package/lib/module/postRequest/fetchPaymentMethods.js +0 -30
  292. package/lib/module/postRequest/fetchPaymentMethods.js.map +0 -1
  293. package/lib/module/postRequest/fetchRecommendedInstruments.js +0 -30
  294. package/lib/module/postRequest/fetchRecommendedInstruments.js.map +0 -1
  295. package/lib/module/postRequest/fetchSavedAddress.js +0 -30
  296. package/lib/module/postRequest/fetchSavedAddress.js.map +0 -1
  297. package/lib/module/postRequest/fetchSessionDetails.js +0 -25
  298. package/lib/module/postRequest/fetchSessionDetails.js.map +0 -1
  299. package/lib/module/postRequest/fetchStatus.js +0 -25
  300. package/lib/module/postRequest/fetchStatus.js.map +0 -1
  301. package/lib/module/postRequest/fetchSurcharge.js +0 -36
  302. package/lib/module/postRequest/fetchSurcharge.js.map +0 -1
  303. package/lib/module/postRequest/methodsPostRequest.js +0 -48
  304. package/lib/module/postRequest/methodsPostRequest.js.map +0 -1
  305. package/lib/module/postRequest/upiPostRequest.js +0 -46
  306. package/lib/module/postRequest/upiPostRequest.js.map +0 -1
  307. package/lib/module/screens/addressScreen.js +0 -726
  308. package/lib/module/screens/addressScreen.js.map +0 -1
  309. package/lib/module/screens/bnplScreen.js +0 -262
  310. package/lib/module/screens/bnplScreen.js.map +0 -1
  311. package/lib/module/screens/cardScreen.js +0 -952
  312. package/lib/module/screens/cardScreen.js.map +0 -1
  313. package/lib/module/screens/emiScreen.js +0 -648
  314. package/lib/module/screens/emiScreen.js.map +0 -1
  315. package/lib/module/screens/instantOfferList.js +0 -113
  316. package/lib/module/screens/instantOfferList.js.map +0 -1
  317. package/lib/module/screens/mainScreen.js +0 -949
  318. package/lib/module/screens/mainScreen.js.map +0 -1
  319. package/lib/module/screens/netBankingScreen.js +0 -369
  320. package/lib/module/screens/netBankingScreen.js.map +0 -1
  321. package/lib/module/screens/savedAddressScreen.js +0 -274
  322. package/lib/module/screens/savedAddressScreen.js.map +0 -1
  323. package/lib/module/screens/selectTenureScreen.js +0 -105
  324. package/lib/module/screens/selectTenureScreen.js.map +0 -1
  325. package/lib/module/screens/upiScreen.js +0 -553
  326. package/lib/module/screens/upiScreen.js.map +0 -1
  327. package/lib/module/screens/upiTimerScreen.js +0 -215
  328. package/lib/module/screens/upiTimerScreen.js.map +0 -1
  329. package/lib/module/screens/walletScreen.js +0 -336
  330. package/lib/module/screens/walletScreen.js.map +0 -1
  331. package/lib/module/screens/webViewScreen.js +0 -89
  332. package/lib/module/screens/webViewScreen.js.map +0 -1
  333. package/lib/module/sdk-version.json +0 -1
  334. package/lib/module/serviceRequest.js +0 -27
  335. package/lib/module/serviceRequest.js.map +0 -1
  336. package/lib/module/sharedContext/checkoutDetailsHandler.js +0 -108
  337. package/lib/module/sharedContext/checkoutDetailsHandler.js.map +0 -1
  338. package/lib/module/sharedContext/getTextInputTheme.js +0 -15
  339. package/lib/module/sharedContext/getTextInputTheme.js.map +0 -1
  340. package/lib/module/sharedContext/handleAutoNavigation.js +0 -34
  341. package/lib/module/sharedContext/handleAutoNavigation.js.map +0 -1
  342. package/lib/module/sharedContext/handlePaymentResponseHandler.js +0 -280
  343. package/lib/module/sharedContext/handlePaymentResponseHandler.js.map +0 -1
  344. package/lib/module/sharedContext/paymentStatusHandler.js +0 -9
  345. package/lib/module/sharedContext/paymentStatusHandler.js.map +0 -1
  346. package/lib/module/sharedContext/userdataHandler.js +0 -50
  347. package/lib/module/sharedContext/userdataHandler.js.map +0 -1
  348. package/lib/module/styles/components/addressCardStyles.js +0 -55
  349. package/lib/module/styles/components/addressCardStyles.js.map +0 -1
  350. package/lib/module/styles/components/bankCardStyles.js +0 -61
  351. package/lib/module/styles/components/bankCardStyles.js.map +0 -1
  352. package/lib/module/styles/components/cancelPaymentModalStyles.js +0 -83
  353. package/lib/module/styles/components/cancelPaymentModalStyles.js.map +0 -1
  354. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js +0 -52
  355. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js.map +0 -1
  356. package/lib/module/styles/components/savedAddressCardStyles.js +0 -64
  357. package/lib/module/styles/components/savedAddressCardStyles.js.map +0 -1
  358. package/lib/module/styles/indexStyles.js +0 -70
  359. package/lib/module/styles/indexStyles.js.map +0 -1
  360. package/lib/module/styles/screens/addressScreenStyles..js +0 -61
  361. package/lib/module/styles/screens/addressScreenStyles..js.map +0 -1
  362. package/lib/module/styles/screens/bnplScreenStyles.js +0 -80
  363. package/lib/module/styles/screens/bnplScreenStyles.js.map +0 -1
  364. package/lib/module/styles/screens/cardScreenStyles.js +0 -178
  365. package/lib/module/styles/screens/cardScreenStyles.js.map +0 -1
  366. package/lib/module/styles/screens/emiScreenStyles.js +0 -130
  367. package/lib/module/styles/screens/emiScreenStyles.js.map +0 -1
  368. package/lib/module/styles/screens/instantOfferScreenStyles.js +0 -45
  369. package/lib/module/styles/screens/instantOfferScreenStyles.js.map +0 -1
  370. package/lib/module/styles/screens/netBankingScreenStyles.js +0 -101
  371. package/lib/module/styles/screens/netBankingScreenStyles.js.map +0 -1
  372. package/lib/module/styles/screens/savedAddressScreenStyles.js +0 -52
  373. package/lib/module/styles/screens/savedAddressScreenStyles.js.map +0 -1
  374. package/lib/module/styles/screens/selectTenureScreenStyles.js +0 -45
  375. package/lib/module/styles/screens/selectTenureScreenStyles.js.map +0 -1
  376. package/lib/module/styles/screens/upiScreenStyles.js +0 -172
  377. package/lib/module/styles/screens/upiScreenStyles.js.map +0 -1
  378. package/lib/module/styles/screens/upiTimerScreenStyle.js +0 -97
  379. package/lib/module/styles/screens/upiTimerScreenStyle.js.map +0 -1
  380. package/lib/module/styles/screens/walletScreenStyles.js +0 -98
  381. package/lib/module/styles/screens/walletScreenStyles.js.map +0 -1
  382. package/lib/module/utility.js +0 -195
  383. package/lib/module/utility.js.map +0 -1
  384. package/lib/typescript/src/components/addressCard.d.ts +0 -7
  385. package/lib/typescript/src/components/addressCard.d.ts.map +0 -1
  386. package/lib/typescript/src/components/applyCouponCard.d.ts +0 -15
  387. package/lib/typescript/src/components/applyCouponCard.d.ts.map +0 -1
  388. package/lib/typescript/src/components/bankCard.d.ts +0 -11
  389. package/lib/typescript/src/components/bankCard.d.ts.map +0 -1
  390. package/lib/typescript/src/components/cancelPaymentModal.d.ts +0 -8
  391. package/lib/typescript/src/components/cancelPaymentModal.d.ts.map +0 -1
  392. package/lib/typescript/src/components/checkboxContainer.d.ts +0 -8
  393. package/lib/typescript/src/components/checkboxContainer.d.ts.map +0 -1
  394. package/lib/typescript/src/components/circularProgress.d.ts +0 -10
  395. package/lib/typescript/src/components/circularProgress.d.ts.map +0 -1
  396. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts +0 -7
  397. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts.map +0 -1
  398. package/lib/typescript/src/components/deleteAddressModal.d.ts +0 -9
  399. package/lib/typescript/src/components/deleteAddressModal.d.ts.map +0 -1
  400. package/lib/typescript/src/components/fontFamily.d.ts +0 -14
  401. package/lib/typescript/src/components/fontFamily.d.ts.map +0 -1
  402. package/lib/typescript/src/components/getInstalledUPI.d.ts +0 -2
  403. package/lib/typescript/src/components/getInstalledUPI.d.ts.map +0 -1
  404. package/lib/typescript/src/components/header.d.ts +0 -10
  405. package/lib/typescript/src/components/header.d.ts.map +0 -1
  406. package/lib/typescript/src/components/imageLoader.d.ts +0 -8
  407. package/lib/typescript/src/components/imageLoader.d.ts.map +0 -1
  408. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts +0 -6
  409. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts.map +0 -1
  410. package/lib/typescript/src/components/morePaymentContainer.d.ts +0 -10
  411. package/lib/typescript/src/components/morePaymentContainer.d.ts.map +0 -1
  412. package/lib/typescript/src/components/morePaymentMethods.d.ts +0 -11
  413. package/lib/typescript/src/components/morePaymentMethods.d.ts.map +0 -1
  414. package/lib/typescript/src/components/offerCard.d.ts +0 -15
  415. package/lib/typescript/src/components/offerCard.d.ts.map +0 -1
  416. package/lib/typescript/src/components/orderDetails.d.ts +0 -23
  417. package/lib/typescript/src/components/orderDetails.d.ts.map +0 -1
  418. package/lib/typescript/src/components/paymentFailed.d.ts +0 -9
  419. package/lib/typescript/src/components/paymentFailed.d.ts.map +0 -1
  420. package/lib/typescript/src/components/paymentSelector.d.ts +0 -12
  421. package/lib/typescript/src/components/paymentSelector.d.ts.map +0 -1
  422. package/lib/typescript/src/components/paymentSuccess.d.ts +0 -10
  423. package/lib/typescript/src/components/paymentSuccess.d.ts.map +0 -1
  424. package/lib/typescript/src/components/savedAddressBottomSheet.d.ts +0 -14
  425. package/lib/typescript/src/components/savedAddressBottomSheet.d.ts.map +0 -1
  426. package/lib/typescript/src/components/savedAddressCard.d.ts +0 -9
  427. package/lib/typescript/src/components/savedAddressCard.d.ts.map +0 -1
  428. package/lib/typescript/src/components/savedCardComponent.d.ts +0 -12
  429. package/lib/typescript/src/components/savedCardComponent.d.ts.map +0 -1
  430. package/lib/typescript/src/components/selectTenureCard.d.ts +0 -21
  431. package/lib/typescript/src/components/selectTenureCard.d.ts.map +0 -1
  432. package/lib/typescript/src/components/sessionExpire.d.ts +0 -7
  433. package/lib/typescript/src/components/sessionExpire.d.ts.map +0 -1
  434. package/lib/typescript/src/components/shimmerView.d.ts +0 -3
  435. package/lib/typescript/src/components/shimmerView.d.ts.map +0 -1
  436. package/lib/typescript/src/components/subscriptionRow.d.ts +0 -9
  437. package/lib/typescript/src/components/subscriptionRow.d.ts.map +0 -1
  438. package/lib/typescript/src/navigation.d.ts +0 -17
  439. package/lib/typescript/src/navigation.d.ts.map +0 -1
  440. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts +0 -4
  441. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts.map +0 -1
  442. package/lib/typescript/src/postRequest/cardPostRequest.d.ts +0 -4
  443. package/lib/typescript/src/postRequest/cardPostRequest.d.ts.map +0 -1
  444. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts +0 -4
  445. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts.map +0 -1
  446. package/lib/typescript/src/postRequest/emiPostRequest.d.ts +0 -13
  447. package/lib/typescript/src/postRequest/emiPostRequest.d.ts.map +0 -1
  448. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts +0 -4
  449. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts.map +0 -1
  450. package/lib/typescript/src/postRequest/fetchInstantOffer.d.ts +0 -4
  451. package/lib/typescript/src/postRequest/fetchInstantOffer.d.ts.map +0 -1
  452. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts +0 -4
  453. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts.map +0 -1
  454. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts +0 -4
  455. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts.map +0 -1
  456. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts +0 -4
  457. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts.map +0 -1
  458. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts +0 -4
  459. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts.map +0 -1
  460. package/lib/typescript/src/postRequest/fetchStatus.d.ts +0 -4
  461. package/lib/typescript/src/postRequest/fetchStatus.d.ts.map +0 -1
  462. package/lib/typescript/src/postRequest/fetchSurcharge.d.ts +0 -4
  463. package/lib/typescript/src/postRequest/fetchSurcharge.d.ts.map +0 -1
  464. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts +0 -4
  465. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts.map +0 -1
  466. package/lib/typescript/src/postRequest/upiPostRequest.d.ts +0 -4
  467. package/lib/typescript/src/postRequest/upiPostRequest.d.ts.map +0 -1
  468. package/lib/typescript/src/screens/addressScreen.d.ts +0 -11
  469. package/lib/typescript/src/screens/addressScreen.d.ts.map +0 -1
  470. package/lib/typescript/src/screens/bnplScreen.d.ts +0 -11
  471. package/lib/typescript/src/screens/bnplScreen.d.ts.map +0 -1
  472. package/lib/typescript/src/screens/cardScreen.d.ts +0 -11
  473. package/lib/typescript/src/screens/cardScreen.d.ts.map +0 -1
  474. package/lib/typescript/src/screens/emiScreen.d.ts +0 -11
  475. package/lib/typescript/src/screens/emiScreen.d.ts.map +0 -1
  476. package/lib/typescript/src/screens/instantOfferList.d.ts +0 -19
  477. package/lib/typescript/src/screens/instantOfferList.d.ts.map +0 -1
  478. package/lib/typescript/src/screens/mainScreen.d.ts +0 -11
  479. package/lib/typescript/src/screens/mainScreen.d.ts.map +0 -1
  480. package/lib/typescript/src/screens/netBankingScreen.d.ts +0 -11
  481. package/lib/typescript/src/screens/netBankingScreen.d.ts.map +0 -1
  482. package/lib/typescript/src/screens/savedAddressScreen.d.ts +0 -9
  483. package/lib/typescript/src/screens/savedAddressScreen.d.ts.map +0 -1
  484. package/lib/typescript/src/screens/selectTenureScreen.d.ts +0 -12
  485. package/lib/typescript/src/screens/selectTenureScreen.d.ts.map +0 -1
  486. package/lib/typescript/src/screens/upiScreen.d.ts +0 -20
  487. package/lib/typescript/src/screens/upiScreen.d.ts.map +0 -1
  488. package/lib/typescript/src/screens/upiTimerScreen.d.ts +0 -11
  489. package/lib/typescript/src/screens/upiTimerScreen.d.ts.map +0 -1
  490. package/lib/typescript/src/screens/walletScreen.d.ts +0 -11
  491. package/lib/typescript/src/screens/walletScreen.d.ts.map +0 -1
  492. package/lib/typescript/src/screens/webViewScreen.d.ts +0 -9
  493. package/lib/typescript/src/screens/webViewScreen.d.ts.map +0 -1
  494. package/lib/typescript/src/serviceRequest.d.ts +0 -3
  495. package/lib/typescript/src/serviceRequest.d.ts.map +0 -1
  496. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts +0 -8
  497. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts.map +0 -1
  498. package/lib/typescript/src/sharedContext/getTextInputTheme.d.ts +0 -7
  499. package/lib/typescript/src/sharedContext/getTextInputTheme.d.ts.map +0 -1
  500. package/lib/typescript/src/sharedContext/handleAutoNavigation.d.ts +0 -3
  501. package/lib/typescript/src/sharedContext/handleAutoNavigation.d.ts.map +0 -1
  502. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts +0 -16
  503. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts.map +0 -1
  504. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts +0 -7
  505. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts.map +0 -1
  506. package/lib/typescript/src/sharedContext/userdataHandler.d.ts +0 -8
  507. package/lib/typescript/src/sharedContext/userdataHandler.d.ts.map +0 -1
  508. package/lib/typescript/src/styles/components/addressCardStyles.d.ts +0 -52
  509. package/lib/typescript/src/styles/components/addressCardStyles.d.ts.map +0 -1
  510. package/lib/typescript/src/styles/components/bankCardStyles.d.ts +0 -58
  511. package/lib/typescript/src/styles/components/bankCardStyles.d.ts.map +0 -1
  512. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts +0 -80
  513. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts.map +0 -1
  514. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts +0 -49
  515. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts.map +0 -1
  516. package/lib/typescript/src/styles/components/savedAddressCardStyles.d.ts +0 -61
  517. package/lib/typescript/src/styles/components/savedAddressCardStyles.d.ts.map +0 -1
  518. package/lib/typescript/src/styles/indexStyles.d.ts +0 -67
  519. package/lib/typescript/src/styles/indexStyles.d.ts.map +0 -1
  520. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts +0 -58
  521. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts.map +0 -1
  522. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts +0 -77
  523. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts.map +0 -1
  524. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts +0 -175
  525. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts.map +0 -1
  526. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts +0 -127
  527. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts.map +0 -1
  528. package/lib/typescript/src/styles/screens/instantOfferScreenStyles.d.ts +0 -42
  529. package/lib/typescript/src/styles/screens/instantOfferScreenStyles.d.ts.map +0 -1
  530. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts +0 -98
  531. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts.map +0 -1
  532. package/lib/typescript/src/styles/screens/savedAddressScreenStyles.d.ts +0 -49
  533. package/lib/typescript/src/styles/screens/savedAddressScreenStyles.d.ts.map +0 -1
  534. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts +0 -42
  535. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts.map +0 -1
  536. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts +0 -168
  537. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts.map +0 -1
  538. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts +0 -94
  539. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts.map +0 -1
  540. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts +0 -95
  541. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts.map +0 -1
  542. package/lib/typescript/src/utility.d.ts +0 -66
  543. package/lib/typescript/src/utility.d.ts.map +0 -1
  544. package/src/components/addressCard.tsx +0 -219
  545. package/src/components/applyCouponCard.tsx +0 -197
  546. package/src/components/bankCard.tsx +0 -50
  547. package/src/components/cancelPaymentModal.tsx +0 -68
  548. package/src/components/checkboxContainer.tsx +0 -75
  549. package/src/components/circularProgress.tsx +0 -74
  550. package/src/components/cvvInfoBottomSheet.tsx +0 -58
  551. package/src/components/deleteAddressModal.tsx +0 -105
  552. package/src/components/fontFamily.tsx +0 -33
  553. package/src/components/getInstalledUPI.ts +0 -32
  554. package/src/components/header.tsx +0 -112
  555. package/src/components/imageLoader.tsx +0 -110
  556. package/src/components/knowMoreBottomSheet.tsx +0 -111
  557. package/src/components/morePaymentContainer.tsx +0 -66
  558. package/src/components/morePaymentMethods.tsx +0 -236
  559. package/src/components/offerCard.tsx +0 -173
  560. package/src/components/orderDetails.tsx +0 -503
  561. package/src/components/paymentFailed.tsx +0 -103
  562. package/src/components/paymentSelector.tsx +0 -186
  563. package/src/components/paymentSuccess.tsx +0 -264
  564. package/src/components/savedAddressBottomSheet.tsx +0 -123
  565. package/src/components/savedAddressCard.tsx +0 -113
  566. package/src/components/savedCardComponent.tsx +0 -271
  567. package/src/components/selectTenureCard.tsx +0 -475
  568. package/src/components/sessionExpire.tsx +0 -89
  569. package/src/components/shimmerView.tsx +0 -31
  570. package/src/components/subscriptionRow.tsx +0 -19
  571. package/src/navigation.tsx +0 -82
  572. package/src/postRequest/callUIAnalytics.ts +0 -36
  573. package/src/postRequest/cardPostRequest.ts +0 -57
  574. package/src/postRequest/deleteSavedAddress.ts +0 -20
  575. package/src/postRequest/emiPostRequest.ts +0 -77
  576. package/src/postRequest/fetchCardDetails.ts +0 -16
  577. package/src/postRequest/fetchInstantOffer.ts +0 -19
  578. package/src/postRequest/fetchPaymentMethods.ts +0 -25
  579. package/src/postRequest/fetchRecommendedInstruments.tsx +0 -17
  580. package/src/postRequest/fetchSavedAddress.ts +0 -16
  581. package/src/postRequest/fetchSessionDetails.tsx +0 -13
  582. package/src/postRequest/fetchStatus.tsx +0 -14
  583. package/src/postRequest/fetchSurcharge.ts +0 -23
  584. package/src/postRequest/methodsPostRequest.tsx +0 -41
  585. package/src/postRequest/upiPostRequest.tsx +0 -37
  586. package/src/screens/addressScreen.tsx +0 -843
  587. package/src/screens/bnplScreen.tsx +0 -321
  588. package/src/screens/cardScreen.tsx +0 -1166
  589. package/src/screens/emiScreen.tsx +0 -868
  590. package/src/screens/instantOfferList.tsx +0 -176
  591. package/src/screens/mainScreen.tsx +0 -1101
  592. package/src/screens/netBankingScreen.tsx +0 -468
  593. package/src/screens/savedAddressScreen.tsx +0 -294
  594. package/src/screens/selectTenureScreen.tsx +0 -137
  595. package/src/screens/upiScreen.tsx +0 -654
  596. package/src/screens/upiTimerScreen.tsx +0 -266
  597. package/src/screens/walletScreen.tsx +0 -408
  598. package/src/screens/webViewScreen.tsx +0 -92
  599. package/src/sdk-version.json +0 -1
  600. package/src/serviceRequest.ts +0 -27
  601. package/src/sharedContext/checkoutDetailsHandler.ts +0 -114
  602. package/src/sharedContext/getTextInputTheme.ts +0 -12
  603. package/src/sharedContext/handleAutoNavigation.ts +0 -53
  604. package/src/sharedContext/handlePaymentResponseHandler.ts +0 -304
  605. package/src/sharedContext/paymentStatusHandler.ts +0 -12
  606. package/src/sharedContext/userdataHandler.ts +0 -55
  607. package/src/styles/components/addressCardStyles.ts +0 -55
  608. package/src/styles/components/bankCardStyles.ts +0 -58
  609. package/src/styles/components/cancelPaymentModalStyles.ts +0 -82
  610. package/src/styles/components/cvvInfoBottomSheetStyles.ts +0 -49
  611. package/src/styles/components/savedAddressCardStyles.ts +0 -60
  612. package/src/styles/indexStyles.ts +0 -60
  613. package/src/styles/screens/addressScreenStyles..ts +0 -60
  614. package/src/styles/screens/bnplScreenStyles.ts +0 -77
  615. package/src/styles/screens/cardScreenStyles.ts +0 -157
  616. package/src/styles/screens/emiScreenStyles.ts +0 -112
  617. package/src/styles/screens/instantOfferScreenStyles.ts +0 -43
  618. package/src/styles/screens/netBankingScreenStyles.ts +0 -83
  619. package/src/styles/screens/savedAddressScreenStyles.ts +0 -49
  620. package/src/styles/screens/selectTenureScreenStyles.ts +0 -37
  621. package/src/styles/screens/upiScreenStyles.ts +0 -167
  622. package/src/styles/screens/upiTimerScreenStyle.ts +0 -91
  623. package/src/styles/screens/walletScreenStyles.ts +0 -95
  624. package/src/utility.ts +0 -238
@@ -1,1101 +0,0 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- import { View, Text, BackHandler, AppState, Image, ScrollView, Alert, type AppStateStatus } 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 { useIsFocused, type NavigationProp, type RouteProp } from "@react-navigation/native";
14
- import type { CheckoutStackParamList } from '../navigation';
15
- import { paymentHandler, setPaymentHandler } from "../sharedContext/paymentStatusHandler";
16
- import { loadBoxpayFonts } from '../components/fontFamily';
17
- import { setUserDataHandler, setUserDataHandlerToDefault, userDataHandler } from '../sharedContext/userdataHandler';
18
- import { type PaymentResultObject, type PaymentClass, type InstrumentDetails, type PaymentMethod, type OrderItem, APIStatus, AnalyticsEvents, type DeliveryAddress, type BoxpayCheckoutProps, type GetInstantOffersResponse, UIConfigurationOptions, TransactionStatus, type SubscriptionDetails, ConfigurationOptions } from '../interface';
19
- import { checkoutDetailsHandler, setCheckoutDetailsHandler, setCheckOutDetailsHandlerToDefault } 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, SurchargeProp } from '../components/orderDetails';
24
- import OrderDetails from '../components/orderDetails';
25
- import PaymentSelectorView from '../components/paymentSelector';
26
- import SavedCardComponentView from '../components/savedCardComponent';
27
- import ShimmerView from '../components/shimmerView';
28
- import AddressComponent from '../components/addressCard';
29
- import fetchSessionDetails from '../postRequest/fetchSessionDetails';
30
- import MorePaymentMethods from '../components/morePaymentMethods';
31
- import { fetchSavedInstrumentsHandler, handleFetchStatusResponseHandler, handlePaymentResponse } from '../sharedContext/handlePaymentResponseHandler';
32
- import callUIAnalytics from '../postRequest/callUIAnalytics';
33
- import { formatAddress, formatDate, formatWords, getCheckboxProps, getPhoneNumberCodeAndCountryName, isEmpty, useCountdown } from '../utility';
34
- import fetchSurCharge from '../postRequest/fetchSurcharge';
35
- import fetchInstantOffer from '../postRequest/fetchInstantOffer';
36
- import ApplyCouponCard from '../components/applyCouponCard';
37
- import { handleAutoNavigation } from '../sharedContext/handleAutoNavigation';
38
-
39
- type MainScreenRouteProp = RouteProp<CheckoutStackParamList, 'MainScreen'>;
40
-
41
- // Define the screen's navigation properties
42
- type MainScreenNavigationProp = NavigationProp<CheckoutStackParamList, 'MainScreen'>;
43
-
44
- interface MainScreenProps {
45
- route: MainScreenRouteProp;
46
- navigation: MainScreenNavigationProp;
47
- }
48
-
49
-
50
- const MainScreen = ({route, navigation} : MainScreenProps) => {
51
- const {
52
- token,
53
- configurationOptions = null,
54
- onPaymentResult,
55
- shopperToken = null,
56
- uiConfiguration = null
57
- } = route.params as BoxpayCheckoutProps || {};
58
- const [status, setStatus] = useState<string>(TransactionStatus.NoAction);
59
- const statusRef = useRef(TransactionStatus.NoAction);
60
- const [transactionId, setTransactionId] = useState('');
61
- const [redirectionResult, setRedirectionResult] = useState<string | null>(null)
62
- const isScreenFocused = useIsFocused()
63
- const appStateListenerRef = useRef<any>(null);
64
- const [loadingState, setLoadingState] = useState(false);
65
- const [isFirstLoading, setIsFirstLoading] = useState(true);
66
- const [amount, setAmount] = useState(0);
67
- const totalItemsRef = useRef(0);
68
- const [address, setAddress] = useState('');
69
- const [failedModalOpen, setFailedModalState] = useState(false);
70
- const [successModalOpen, setSuccessModalState] = useState(false);
71
- const lastOpenendUrl = useRef<string>('');
72
- const paymentFailedMessage = useRef<string>(
73
- 'You may have cancelled the payment or there was a delay in response. Please retry.'
74
- );
75
- const [sessionExpireModalOpen, setSessionExppireModalState] = useState(false);
76
- const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
77
- const timerRef = useRef<NodeJS.Timeout | null>(null);
78
- const [showWebView, setShowWebView] = useState(false);
79
- const [paymentUrl, setPaymentUrl] = useState<string | null>(null);
80
- const [paymentHtml, setPaymentHtml] = useState<string | null>(null);
81
- const isUpiOpeningRef = useRef(false);
82
- const shippingAmountRef = useRef('');
83
- const taxAmountRef = useRef('');
84
- const [surchargeDetails, setSurchargeDetails] = useState<SurchargeProp[]>([])
85
- const subTotalAmountRef = useRef('');
86
- const orderItemsArrayRef = useRef<ItemsProp[]>([]);
87
- const [recommendedInstrumentsArray, setRecommendedInstruments] = useState<PaymentClass[]>([]);
88
- const [savedCardArray, setSavedCardArray] = useState<PaymentClass[]>([]);
89
- const [savedUpiArray, setSavedUpiArray] = useState<PaymentClass[]>([]);
90
- const {
91
- timeRemaining: qrTimerValue,
92
- start: startQRTimer,
93
- stop: stopQRTimer
94
- } = useCountdown(300)
95
-
96
- let isFirstTimeLoadRef = useRef(true);
97
-
98
- const [appliedOffer, setAppliedOffer] = useState<GetInstantOffersResponse | null>(null)
99
- const [appliedSurchargeAmount, setAppliedSurchargeAmount] = useState<number>(0)
100
- const [instantOfferList , setInstantOfferList] = useState<GetInstantOffersResponse[]>([])
101
- const [isOfferApplied, setIsOfferApplied] = useState(false)
102
-
103
- const [selectedPaymentMethod, setSelectedPaymentMethod] = useState('')
104
- const selectedIntentMethod = useRef("")
105
-
106
- const handlePaymentIntent = async (selectedIntent: string) => {
107
- setLoadingState(true);
108
- selectedIntentMethod.current = selectedIntent
109
- const response = await upiPostRequest({
110
- type: checkoutDetailsHandler.checkoutDetails.isUPIOtmIntentMethodEnabled ? "upiotm/intent" : 'upi/intent',
111
- ...(selectedIntent && { upiAppDetails: { upiApp: selectedIntent } }), // Conditionally add upiAppDetails only if upiIntent is present
112
- }, false);
113
- handlePaymentResponse({
114
- response: response,
115
- checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
116
- onSetStatus: setStatus,
117
- onSetTransactionId: setTransactionId,
118
- onSetPaymentHtml: setPaymentHtml,
119
- onSetPaymentUrl: setPaymentUrl,
120
- onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
121
- onShowFailedModal: () => setFailedModalState(true),
122
- onShowSuccessModal: (ts) => {
123
- setSuccessfulTimeStamp(ts);
124
- setSuccessModalState(true);
125
- },
126
- onShowSessionExpiredModal: () => setSessionExppireModalState(true),
127
- onNavigateToTimer: (id:string)=> navigation.navigate("UpiTimerScreen", {upiId : id}),
128
- onOpenUpiIntent : (url) => {
129
- urlToBase64(url);
130
- },
131
- setLoading: setLoadingState
132
- });
133
- };
134
-
135
- const handleUpiCollectPayment = async (
136
- upiId: string,
137
- instrumentRef: string,
138
- type: string,
139
- isSICheckBoxClicked : boolean
140
- ) => {
141
- const requestPayload: InstrumentDetails =
142
- type === 'Card'
143
- ? {
144
- type: 'card/token',
145
- savedCard: { instrumentRef: instrumentRef },
146
- }
147
- : {
148
- type: checkoutDetailsHandler.checkoutDetails.isUPIOtmCollectMethodEnabled ? "upiotm/collect" : 'upi/collect',
149
- upi: instrumentRef
150
- ? { instrumentRef: instrumentRef }
151
- : { shopperVpa: upiId },
152
- };
153
- setLoadingState(true);
154
- const response = await upiPostRequest(requestPayload, isSICheckBoxClicked);
155
- handlePaymentResponse({
156
- response: response,
157
- upiId: upiId,
158
- checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
159
- onSetStatus: setStatus,
160
- onSetTransactionId: setTransactionId,
161
- onSetPaymentHtml: setPaymentHtml,
162
- onSetPaymentUrl: setPaymentUrl,
163
- onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
164
- onShowFailedModal: () => setFailedModalState(true),
165
- onShowSuccessModal: (ts) => {
166
- setSuccessfulTimeStamp(ts);
167
- setSuccessModalState(true);
168
- },
169
- onShowSessionExpiredModal: () => setSessionExppireModalState(true),
170
- onNavigateToTimer: (id:string)=> navigation.navigate("UpiTimerScreen", {upiId : id}),
171
- onOpenUpiIntent : (url) => {
172
- urlToBase64(url);
173
- },
174
- setLoading: setLoadingState
175
- });
176
- };
177
-
178
- useEffect(() => {
179
- if (isFirstTimeLoadRef.current) {
180
- isFirstTimeLoadRef.current = false;
181
- return;
182
- }
183
- const refreshData = () => {
184
- const deliveryAddress : DeliveryAddress = {
185
- address1 : userDataHandler.userData.address1,
186
- address2 : userDataHandler.userData.address2,
187
- city : userDataHandler.userData.city,
188
- state : userDataHandler.userData.state,
189
- postalCode : userDataHandler.userData.pincode,
190
- countryCode: userDataHandler.userData.countryCode,
191
- labelName : userDataHandler.userData.labelName,
192
- labelType : userDataHandler.userData.labelType
193
- }
194
- setAddress(formatAddress(deliveryAddress))
195
- };
196
-
197
- refreshData();
198
- }, [isScreenFocused]);
199
-
200
- useEffect(() => {
201
- const isQRTimerRunning = qrTimerValue < 300
202
-
203
- if(isQRTimerRunning && qrTimerValue > 0 && qrTimerValue % 4 === 0) {
204
- callFetchStatusApi()
205
- }
206
- }, [qrTimerValue])
207
-
208
- const urlToBase64 = (base64String: string) => {
209
- try {
210
- const decodedString = atob(base64String);
211
- lastOpenendUrl.current = decodedString;
212
- openUPIIntent(decodedString);
213
- } catch (error) {
214
- setFailedModalState(true);
215
- callUIAnalytics(AnalyticsEvents.FAILED_TO_LAUNCH_UPI_INTENT,"Index Screen UrlToBase64 failed",`${error}`)
216
- setLoadingState(false);
217
- }
218
- };
219
-
220
- const getRecommendedInstruments = async () => {
221
- fetchSavedInstrumentsHandler({
222
- setRecommendedList: setRecommendedInstruments,
223
- setUpiInstrumentList : setSavedUpiArray,
224
- setCardInstrumentList : setSavedCardArray
225
- });
226
- };
227
-
228
- useEffect(() => {
229
- if (paymentUrl || paymentHtml) {
230
- setShowWebView(true);
231
- }
232
- }, [paymentUrl, paymentHtml]);
233
-
234
- const openUPIIntent = async (url: string) => {
235
- try {
236
- appStateListenerRef.current?.remove?.();
237
- appStateListenerRef.current = AppState.addEventListener(
238
- "change",
239
- handleAppStateChange
240
- );
241
-
242
- isUpiOpeningRef.current = true;
243
-
244
- await Linking.openURL(url);
245
-
246
- } catch (error) {
247
- isUpiOpeningRef.current = false;
248
- callUIAnalytics(
249
- AnalyticsEvents.FAILED_TO_LAUNCH_UPI_INTENT,
250
- "Index Screen open UPI Intent failed",
251
- `${error}`
252
- );
253
- setFailedModalState(true);
254
- setLoadingState(false);
255
- }
256
- };
257
-
258
- const handleAppStateChange = (nextState: AppStateStatus) => {
259
-
260
- if (nextState === "active" && isUpiOpeningRef.current) {
261
- callFetchStatusApi();
262
- }
263
- };
264
-
265
- const stopExpireTimerCountDown = () => {
266
- if (timerRef.current) {
267
- clearInterval(timerRef.current);
268
- }
269
- };
270
-
271
- const callFetchStatusApi = async () => {
272
- const response = await fetchStatus();
273
- handleFetchStatusResponseHandler({
274
- response: response,
275
- checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
276
- onSetStatus: setStatus,
277
- onSetTransactionId: setTransactionId,
278
- onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
279
- onShowFailedModal: () => setFailedModalState(true),
280
- onShowSuccessModal: (ts) => {
281
- setSuccessfulTimeStamp(ts);
282
- setSuccessModalState(true);
283
- },
284
- onShowSessionExpiredModal: () => setSessionExppireModalState(true),
285
- setLoading: setLoadingState,
286
- isFromUPIIntentFlow : isUpiOpeningRef.current
287
- });
288
- appStateListenerRef.current?.remove();
289
- isUpiOpeningRef.current = false;
290
- };
291
-
292
- const onExitCheckout = () => {
293
- if (!loadingState) {
294
- stopExpireTimerCountDown();
295
- setSessionExppireModalState(false)
296
- setFailedModalState(false)
297
- setSuccessModalState(false)
298
- const mockPaymentResult: PaymentResultObject = {
299
- status: status,
300
- transactionId: transactionId,
301
- inquiryToken : redirectionResult || ''
302
- };
303
- setUserDataHandlerToDefault()
304
- setCheckOutDetailsHandlerToDefault()
305
- paymentHandler.onPaymentResult(mockPaymentResult);
306
- return true;
307
- }
308
- return false;
309
- };
310
-
311
- useEffect(() => {
312
-
313
- const backAction = () => {
314
- if (showWebView) {
315
- setShowWebView(false);
316
- paymentFailedMessage.current =
317
- checkoutDetailsHandler.checkoutDetails.errorMessage;
318
- setStatus(TransactionStatus.Failed);
319
- setFailedModalState(true);
320
- setLoadingState(false);
321
- return true;
322
- } else if (loadingState) {
323
- return true;
324
- }
325
- return onExitCheckout();
326
- }
327
- const backHandler = BackHandler.addEventListener(
328
- 'hardwareBackPress',
329
- backAction,
330
- );
331
-
332
- return () => backHandler.remove();
333
- }, [navigation]);
334
-
335
- useEffect(() => {
336
- async function loadFonts() {
337
- await loadBoxpayFonts()
338
- }
339
- loadFonts()
340
-
341
- async function loadSession() {
342
- if(token != "") {
343
- checkoutDetailsHandler.checkoutDetails.token = token
344
- checkoutDetailsHandler.checkoutDetails.env = configurationOptions?.ENABLE_SANDBOX_ENV ? 'test' : 'prod'
345
- const response = await fetchSessionDetails()
346
- try {
347
- switch(response.apiStatus) {
348
- case APIStatus.Success : {
349
- const paymentMethods = response.data.configs.paymentMethods;
350
- const enabledFields = response.data.configs.enabledFields;
351
- const paymentDetails = response.data.paymentDetails;
352
- const methodFlags = {
353
- isUPIIntentVisible: false,
354
- isUPICollectVisible: false,
355
- isUPIQRVisible : false,
356
- isCardsVisible: false,
357
- isWalletVisible: false,
358
- isNetbankingVisible: false,
359
- isEMIVisible: false,
360
- isBNPLVisible: false,
361
- isUPIOtmIntentVisible : false,
362
- isUPIOtmCollectVisible :false,
363
- isUPIOtmQRVisible : false
364
- };
365
-
366
- paymentMethods.forEach((method: PaymentMethod) => {
367
- switch (method.type) {
368
- case 'Upi':
369
- setSelectedPaymentMethod('upi')
370
- switch (method.brand) {
371
- case 'UpiIntent':
372
- methodFlags.isUPIIntentVisible = true;
373
- break;
374
- case 'UpiCollect':
375
- methodFlags.isUPICollectVisible = true;
376
- break;
377
- case 'UpiQr':
378
- methodFlags.isUPIQRVisible = true;
379
- break;
380
- }
381
- break;
382
-
383
- case 'UpiOneTimeMandate':
384
- switch (method.brand) {
385
- case 'UpiIntentOtm':
386
- methodFlags.isUPIOtmIntentVisible = true;
387
- break;
388
- case 'UpiCollectOtm':
389
- methodFlags.isUPIOtmCollectVisible = true;
390
- break;
391
- case 'UpiQrOtm':
392
- methodFlags.isUPIOtmQRVisible = true;
393
- break;
394
- }
395
- break;
396
-
397
- case 'Card':
398
- methodFlags.isCardsVisible = true;
399
- break;
400
-
401
- case 'Wallet':
402
- methodFlags.isWalletVisible = true;
403
- break;
404
-
405
- case 'NetBanking':
406
- methodFlags.isNetbankingVisible = true;
407
- break;
408
-
409
- case 'Emi':
410
- methodFlags.isEMIVisible = true;
411
- break;
412
-
413
- case 'BuyNowPayLater':
414
- methodFlags.isBNPLVisible = true;
415
- break;
416
- }
417
- });
418
-
419
-
420
- setAmount(paymentDetails.money.amount);
421
- const currencyCode: string | undefined =
422
- paymentDetails?.money?.currencyCode;
423
- const symbol = currencyCode
424
- ? (getSymbolFromCurrency(currencyCode) ?? '₹')
425
- : '₹';
426
- if (
427
- paymentDetails.order != null &&
428
- paymentDetails.order.items != null
429
- ) {
430
- const total = paymentDetails.order.items.reduce(
431
- (sum: number, item: OrderItem) => sum + (item.quantity || 1),
432
- 0
433
- );
434
- totalItemsRef.current = total;
435
- shippingAmountRef.current =
436
- paymentDetails.order.shippingAmountLocaleFull != null
437
- ? paymentDetails.order.shippingAmountLocaleFull
438
- : '';
439
- taxAmountRef.current =
440
- paymentDetails.order.taxAmountLocaleFull != null
441
- ? paymentDetails.order.taxAmountLocaleFull
442
- : '';
443
- subTotalAmountRef.current =
444
- paymentDetails.order.originalAmountLocaleFull != null
445
- ? paymentDetails.order.originalAmountLocaleFull
446
- : '';
447
- const formattedItemsArray: ItemsProp[] =
448
- paymentDetails.order.items.map((item: OrderItem) => ({
449
- imageUrl: item.imageUrl,
450
- imageTitle: item.itemName,
451
- imageOty: item.quantity,
452
- imageAmount: item.amountWithoutTaxLocaleFull,
453
- }));
454
- orderItemsArrayRef.current = formattedItemsArray;
455
- }
456
- const emailRef = paymentDetails.shopper.email;
457
- const firstNameRef = paymentDetails.shopper.firstName;
458
- const lastNameRef = paymentDetails.shopper.lastName;
459
- const phoneRef = paymentDetails.shopper.phoneNumber;
460
- const uniqueIdRef = paymentDetails.shopper.uniqueReference;
461
- const dobRef = paymentDetails.shopper.dateOfBirth;
462
- const panRef = paymentDetails.shopper.panNumber;
463
- startCountdown(response.data.sessionExpiryTimestamp);
464
- let labelTypeRef = null;
465
- let address1Ref = null;
466
- let labelNameRef = null;
467
- let address2Ref = null;
468
- let cityRef = null;
469
- let stateRef = null;
470
- let postalCodeRef = null;
471
- let countryCodeRef = null;
472
- if (paymentDetails.shopper.deliveryAddress != null) {
473
- const deliveryObject = paymentDetails.shopper.deliveryAddress;
474
- labelTypeRef = deliveryObject.labelType;
475
- labelNameRef = deliveryObject.labelName;
476
- address1Ref = deliveryObject.address1;
477
- address2Ref = deliveryObject.address2;
478
- cityRef = deliveryObject.city;
479
- stateRef = deliveryObject.state;
480
- postalCodeRef = deliveryObject.postalCode;
481
- countryCodeRef = deliveryObject.countryCode;
482
- if (address2Ref == null || address2Ref == '') {
483
- setAddress(
484
- `${address1Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
485
- );
486
- } else {
487
- setAddress(
488
- `${address1Ref}, ${address2Ref}, ${cityRef}, ${stateRef}, ${postalCodeRef}`
489
- );
490
- }
491
- }
492
- if (['APPROVED', 'SUCCESS', 'PAID'].includes(response.data.status)) {
493
- setSuccessfulTimeStamp(response.data.lastPaidAtTimestampLocale);
494
- setTransactionId(response.data.lastTransactionId);
495
- statusRef.current = TransactionStatus.Success;
496
- setStatus(TransactionStatus.Success);
497
- setSuccessModalState(true);
498
- } else if (['EXPIRED'].includes(response.data.status)) {
499
- statusRef.current = TransactionStatus.Expired;
500
- setStatus(TransactionStatus.Expired);
501
- setSessionExppireModalState(true);
502
- }
503
-
504
- const selectedCountry = getPhoneNumberCodeAndCountryName(countryCodeRef ?? "IN")
505
- setUserDataHandler({
506
- userData: {
507
- email: emailRef,
508
- firstName: firstNameRef,
509
- lastName: lastNameRef,
510
- completePhoneNumber: phoneRef,
511
- phoneCode : selectedCountry?.isdCode ?? "+91",
512
- uniqueId: uniqueIdRef,
513
- dob: dobRef,
514
- pan: panRef,
515
- address1: address1Ref,
516
- address2: address2Ref,
517
- city: cityRef,
518
- state: stateRef,
519
- pincode: postalCodeRef,
520
- countryCode: countryCodeRef,
521
- countryName : selectedCountry?.fullName ?? "India",
522
- labelType: labelTypeRef,
523
- labelName: labelNameRef,
524
- },
525
- });
526
- const isFieldEnabled = (fieldName: string) => {
527
- return enabledFields.some(
528
- (field: { field: string }) => field.field === fieldName
529
- );
530
- };
531
-
532
- const isFieldEditable = (fieldName: string) => {
533
- const field = enabledFields.find(
534
- (field: { field: string; editable: boolean }) =>
535
- field.field === fieldName
536
- );
537
- return field?.editable === true;
538
- };
539
-
540
- const {checked, enabled} = getCheckboxProps(configurationOptions?.[ConfigurationOptions.SICheckBoxState])
541
-
542
- setCheckoutDetailsHandler({
543
- checkoutDetails: {
544
- currencySymbol: symbol,
545
- currencyCode : currencyCode,
546
- amount: paymentDetails.money.amountLocaleFull,
547
- token: token,
548
- fontFamily: uiConfiguration?.[UIConfigurationOptions.FontFamily]
549
- ? {
550
- regular: uiConfiguration[UIConfigurationOptions.FontFamily]?.regular ?? 'Poppins-Regular',
551
- medium: uiConfiguration[UIConfigurationOptions.FontFamily]?.medium ?? 'Poppins-Medium',
552
- semiBold: uiConfiguration[UIConfigurationOptions.FontFamily]?.semiBold ?? 'Poppins-SemiBold',
553
- bold: uiConfiguration[UIConfigurationOptions.FontFamily]?.bold ?? 'Poppins-Bold',
554
- extraBold : uiConfiguration[UIConfigurationOptions.FontFamily]?.extraBold ?? 'Poppins-ExtraBold'
555
- }
556
- : {
557
- regular: 'Poppins-Regular',
558
- medium: 'Poppins-Medium',
559
- semiBold: 'Poppins-SemiBold',
560
- bold: 'Poppins-Bold',
561
- extraBold: 'Poppins-ExtraBold'
562
- },
563
- ctaBorderRadius : uiConfiguration?.[UIConfigurationOptions.CTABorderRadius] ? uiConfiguration[UIConfigurationOptions.CTABorderRadius] : 12,
564
- buttonColor: response.data.merchantDetails.checkoutTheme.primaryButtonColor,
565
- textInputFieldFocusedOutlineColor: uiConfiguration?.[UIConfigurationOptions.TextInputFields]?.focusedBorderColor ? uiConfiguration[UIConfigurationOptions.TextInputFields].focusedBorderColor : '#2D2B32',
566
- textInputFieldUnFocusedOutlineColor : uiConfiguration?.[UIConfigurationOptions.TextInputFields]?.borderColor ? uiConfiguration[UIConfigurationOptions.TextInputFields].borderColor : '#E6E6E6',
567
- buttonTextColor : response.data.merchantDetails.checkoutTheme.buttonTextColor,
568
- headerColor : response.data.merchantDetails.checkoutTheme.headerColor,
569
- headerTextColor : response.data.merchantDetails.checkoutTheme.headerTextColor,
570
- env: checkoutDetailsHandler.checkoutDetails.env,
571
- itemsLength: totalItemsRef.current,
572
- errorMessage:
573
- 'You may have cancelled the payment or there was a delay in response. Please retry.',
574
- shopperToken: shopperToken,
575
- isSuccessScreenVisible: !!configurationOptions?.SHOW_BOXPAY_SUCCESS_SCREEN,
576
- isFailedScreenVisible: !!configurationOptions?.SHOW_BOXPAY_FAILED_SCREEN,
577
- isShippingAddressEnabled: isFieldEnabled('SHIPPING_ADDRESS'),
578
- isShippingAddressEditable: isFieldEditable('SHIPPING_ADDRESS'),
579
- isFullNameEnabled: isFieldEnabled('SHOPPER_NAME'),
580
- isFullNameEditable: isFieldEditable('SHOPPER_NAME'),
581
- isEmailEnabled: isFieldEnabled('SHOPPER_EMAIL'),
582
- isEmailEditable: isFieldEditable('SHOPPER_EMAIL'),
583
- isPhoneEnabled: isFieldEnabled('SHOPPER_PHONE'),
584
- isPhoneEditable: isFieldEditable('SHOPPER_PHONE'),
585
- isPanEnabled: isFieldEnabled('SHOPPER_PAN'),
586
- isPanEditable: isFieldEditable('SHOPPER_PAN'),
587
- isDOBEnabled: isFieldEnabled('SHOPPER_DOB'),
588
- isDOBEditable: isFieldEditable('SHOPPER_DOB'),
589
- isUpiIntentMethodEnabled : methodFlags.isUPIIntentVisible,
590
- isUpiCollectMethodEnabled : methodFlags.isUPICollectVisible,
591
- isUpiQRMethodEnabled : methodFlags.isUPIQRVisible,
592
- isCardMethodEnabled : methodFlags.isCardsVisible,
593
- isWalletMethodEnabled : methodFlags.isWalletVisible,
594
- isNetBankingMethodEnabled : methodFlags.isNetbankingVisible,
595
- isEmiMethodEnabled : methodFlags.isEMIVisible,
596
- isBnplMethodEnabled : methodFlags.isBNPLVisible,
597
- isUPIOtmCollectMethodEnabled : methodFlags.isUPIOtmCollectVisible,
598
- isUPIOtmIntentMethodEnabled : methodFlags.isUPIOtmIntentVisible,
599
- isUPIOtmQRMethodEnabled : methodFlags.isUPIOtmQRVisible,
600
- isOrderItemDetailsVisible : isFieldEnabled('ORDER_ITEM_DETAILS'),
601
- isSICheckboxChecked : checked,
602
- isSICheckboxEnabled : enabled,
603
- isSubscriptionCheckout : paymentDetails.subscriptionDetails != null ? true : false,
604
- subscriptionDetails : getSubscriptionDetails(paymentDetails.subscriptionDetails, paymentDetails.money.amountLocaleFull, symbol)
605
- },
606
- });
607
- setPaymentHandler({
608
- onPaymentResult: onPaymentResult,
609
- });
610
- handleSurchargeDetails()
611
- callUIAnalytics(AnalyticsEvents.CHECKOUT_LOADED,"Index Screen Session Loaded","")
612
- break;
613
- }
614
- case APIStatus.Failed : {
615
- Alert.alert('Error', response.data.status.reason);
616
- break
617
- }
618
- default : {
619
- break
620
- }
621
- }
622
- } catch(error) {
623
- Alert.alert('Error', `${error}`);
624
- }
625
- } else {
626
- Alert.alert('Error', `Token is empty`);
627
- }
628
- }
629
- loadSession()
630
- }, []);
631
-
632
- const getSubscriptionDetails = (data: SubscriptionDetails | null, amount : string, currencySymbol : string) => {
633
- if (isEmpty(data)) return null;
634
-
635
- const { billingCycle } = data!;
636
-
637
- // Frequency
638
- let frequency: string | null = null;
639
- if (!isEmpty(billingCycle)) {
640
- const { billingCycleValue, count, billingTimeUnit } = billingCycle!;
641
-
642
- if (count === 1) {
643
- frequency = formatWords(billingTimeUnit);
644
- } else {
645
- frequency = `Every ${count} ${formatWords(billingCycleValue)}`;
646
- }
647
- }
648
-
649
- // Validity
650
- let validity: string | null = null;
651
- if (!isEmpty(data!.expiryDateLocale)) {
652
- const date = formatDate(data!.expiryDateLocale!.split(' ')[0] ?? "");
653
- validity = `${date}`;
654
- } else if (!isEmpty(data!.recurringExpiryDateLocale)) {
655
- const date = formatDate(data!.recurringExpiryDateLocale!.split(' ')[0] ?? "");
656
- validity = `${date}`;
657
- }
658
-
659
- const rows = [
660
- {
661
- label: 'To be paid now',
662
- value: !isEmpty(amount) ? `${currencySymbol}${amount}` : null,
663
- },
664
- {
665
- label: 'Recurring Amount',
666
- value: !isEmpty(data!.maxAmountLocaleFull) ? `Up to ${currencySymbol}${data!.maxAmountLocaleFull}` : null,
667
- },
668
- {
669
- label: 'Frequency',
670
- value: frequency,
671
- },
672
- {
673
- label: 'Expiry Date',
674
- value: validity,
675
- },
676
- ];
677
- return rows.filter(row => !isEmpty(row.value));
678
- };
679
-
680
- const handleSurchargeDetails = async() => {
681
- const response = await fetchSurCharge()
682
- switch (response.apiStatus) {
683
- case APIStatus.Success : {
684
- const data = response.data
685
- try {
686
- if(data.appliedSurcharges.length != 0 ) {
687
- const surcharge = data.appliedSurcharges.map(item => ({
688
- title: item.surchargeDetails.title,
689
- amount: item.calculatedSurchargeFee,
690
- applicable : item.surchargeDetails.applicableOn
691
- }))
692
-
693
- let sum = 0
694
- surcharge.map((item) => {
695
- if (item.applicable === 'Upi' || item.applicable === '') {
696
- sum += item.amount;
697
- }
698
- }, 0);
699
- setAppliedSurchargeAmount((sum + amount))
700
- setSurchargeDetails(surcharge)
701
- getInstantOfferDetails((sum + amount).toString())
702
- } else {
703
- getInstantOfferDetails("")
704
- }
705
- }catch(e) {
706
- getInstantOfferDetails("")
707
- }
708
- break
709
- }
710
- case APIStatus.Failed : {
711
- getInstantOfferDetails("")
712
- break
713
- }
714
-
715
- default : {
716
- getInstantOfferDetails("")
717
- break
718
- }
719
- }
720
- }
721
-
722
- const getInstantOfferDetails = async(amount : string) => {
723
- const response = await fetchInstantOffer(amount)
724
- switch (response.apiStatus) {
725
- case APIStatus.Success : {
726
- const data = response.data
727
- try {
728
- const offer =
729
- appliedOffer == null
730
- ? data?.[0] ?? null
731
- : data.find((it: GetInstantOffersResponse) => it.code === appliedOffer.code) ?? null;
732
- setAppliedOffer(offer)
733
- setInstantOfferList(data)
734
- } catch(e) {
735
-
736
- }
737
-
738
- callRecommendedOrStopLoding()
739
- break
740
- }
741
- case APIStatus.Failed : {
742
- callRecommendedOrStopLoding()
743
- break
744
- }
745
-
746
- default : {
747
- callRecommendedOrStopLoding()
748
- break
749
- }
750
- }
751
- }
752
-
753
- const callRecommendedOrStopLoding =async() => {
754
- if(shopperToken != null && shopperToken != "") {
755
- await getRecommendedInstruments()
756
- checkAutoNavigation()
757
- } else {
758
- checkAutoNavigation()
759
- }
760
- }
761
-
762
- const checkAutoNavigation = () => {
763
- const targetScreen = handleAutoNavigation(
764
- statusRef.current,
765
- savedCardArray
766
- )
767
- if (!targetScreen) {
768
- setIsFirstLoading(false)
769
- } else {
770
- navigation.navigate(targetScreen, {isAutoNavigationEnabled : true})
771
- }
772
- }
773
-
774
-
775
- const onClickCoupon = (code : string) => {
776
- console.log(`selected code is ${code}`)
777
- }
778
- const onClickRemoveCoupon = () => {
779
- console.log("onclide removed coipon is clided")
780
- }
781
-
782
- const handleRecommendedSectionClick = (instrumentValue: string) => {
783
- const updatedList = recommendedInstrumentsArray.map((item) => ({
784
- ...item,
785
- isSelected: item.id === instrumentValue,
786
- }));
787
- setRecommendedInstruments(updatedList);
788
- setDefaultSavedUpiList();
789
- setDefaultSavedCardsList();
790
- };
791
-
792
- const handleSavedUpiSectionClick = (instrumentValue: string) => {
793
- const updatedList = savedUpiArray.map((item) => ({
794
- ...item,
795
- isSelected: item.id === instrumentValue,
796
- }));
797
- setSavedUpiArray(updatedList);
798
- setDefaultRecommendedList();
799
- setDefaultSavedCardsList();
800
- };
801
-
802
- const handleSavedCardSectionClick = (instrumentValue: string) => {
803
- const updatedList = savedCardArray.map((item) => ({
804
- ...item,
805
- isSelected: item.id === instrumentValue,
806
- }));
807
- setSavedCardArray(updatedList);
808
- setDefaultRecommendedList();
809
- setDefaultSavedUpiList();
810
- };
811
-
812
- const setDefaultRecommendedList = () => {
813
- const updatedList = recommendedInstrumentsArray.map((item) => ({
814
- ...item,
815
- isSelected: false,
816
- }));
817
- setRecommendedInstruments(updatedList);
818
- };
819
-
820
- const setDefaultSavedCardsList = () => {
821
- const updatedList = savedCardArray.map((item) => ({
822
- ...item,
823
- isSelected: false,
824
- }));
825
- setSavedCardArray(updatedList);
826
- };
827
-
828
- const setDefaultSavedUpiList = () => {
829
- const updatedList = savedUpiArray.map((item) => ({
830
- ...item,
831
- isSelected: false,
832
- }));
833
- setSavedUpiArray(updatedList);
834
- };
835
-
836
- function startCountdown(sessionExpiryTimestamp: string | null) {
837
- if (sessionExpiryTimestamp === '' || sessionExpiryTimestamp === null) {
838
- return;
839
- }
840
- const expiryTime = new Date(sessionExpiryTimestamp);
841
- const expiryTimeIST = new Date(expiryTime.getTime() + 5.5 * 60 * 60 * 1000);
842
-
843
- timerRef.current = setInterval(() => {
844
- const currentTimeIST = new Date(
845
- new Date().getTime() + 5.5 * 60 * 60 * 1000
846
- );
847
- const timeDiff = expiryTimeIST.getTime() - currentTimeIST.getTime();
848
- if (timeDiff <= 0) {
849
- if (timerRef.current) {
850
- clearInterval(timerRef.current);
851
- }
852
- setStatus(TransactionStatus.Expired);
853
- setSessionExppireModalState(true);
854
- }
855
- // const hours = Math.floor((timeDiff / (1000 * 60 * 60)) % 24);
856
- // const minutes = Math.floor((timeDiff / (1000 * 60)) % 60);
857
- // const seconds = Math.floor((timeDiff / 1000) % 60);
858
-
859
- // console.log(`${hours}hr ${minutes}min ${seconds}sec`)
860
- }, 1000);
861
- }
862
-
863
- return (
864
- <View style={styles.screenView}>
865
- {/* <StatusBar barStyle="dark-content" /> */}
866
- {isFirstLoading ? (
867
- <ShimmerView />
868
- ) : (
869
- <ScrollView
870
- contentContainerStyle={{ flexGrow: 1 }}
871
- keyboardShouldPersistTaps="handled"
872
- >
873
- <View style={{ flex: 1 }}>
874
- <Header
875
- onBackPress={onExitCheckout}
876
- showDesc={true}
877
- showSecure={true}
878
- text="Payment Details"
879
- />
880
- <AddressComponent address={address} navigateToAddressScreen= {() => {
881
- if(checkoutDetailsHandler.checkoutDetails.shopperToken != null && checkoutDetailsHandler.checkoutDetails.shopperToken != "") {
882
- navigation.navigate("SavedAddressScreen", {})
883
- } else {
884
- navigation.navigate("AddressScreen", {isNewAddress : address == ""})
885
- }
886
- }}/>
887
-
888
- {recommendedInstrumentsArray.length > 0 && (
889
- <>
890
- <View
891
- style={styles.container}
892
- >
893
- <Text
894
- style={[styles.headingText, {fontFamily: checkoutDetailsHandler.checkoutDetails.fontFamily.semiBold,}]}
895
- >
896
- Recommended
897
- </Text>
898
- </View>
899
- <View
900
- style={styles.paymentContainer}
901
- >
902
- <PaymentSelectorView
903
- providerList={recommendedInstrumentsArray}
904
- onProceedForward={(displayValue, instrumentValue, type) =>
905
- handleUpiCollectPayment(
906
- displayValue,
907
- instrumentValue,
908
- type,
909
- false
910
- )
911
- }
912
- errorImage={require('../../assets/images/ic_upi.png')}
913
- isLastUsed={true}
914
- onClickRadio={(selectedInstrumentRef) => {
915
- handleRecommendedSectionClick(selectedInstrumentRef);
916
- }}
917
- />
918
- </View>
919
- </>
920
- )}
921
-
922
- <UpiScreen
923
- handleUpiPayment={(selectedIntent : string) =>
924
- handlePaymentIntent(selectedIntent)
925
- }
926
- handleCollectPayment={(displayValue : string, instrumentValue : string, type : string) =>
927
- handleUpiCollectPayment(displayValue, instrumentValue, type, false)
928
- }
929
- savedUpiArray={savedUpiArray}
930
- onClickRadio={handleSavedUpiSectionClick}
931
- qrIsExpired = {qrTimerValue === 0}
932
- timeRemaining={qrTimerValue}
933
- stopTimer = {stopQRTimer}
934
- setLoading={setLoadingState}
935
- setStatus={setStatus}
936
- setTransaction={setTransactionId}
937
- onStartQRTimer={startQRTimer}
938
- setFailedModal={setFailedModalState}
939
- setFailedModalMessage={(msg) => (paymentFailedMessage.current = msg)}
940
- />
941
-
942
- {savedCardArray.length != 0 && (
943
- <View>
944
- <Text
945
- style={[styles.headingText, {fontFamily: checkoutDetailsHandler.checkoutDetails.fontFamily.semiBold,}]}
946
- >
947
- Credit & Debit Cards
948
- </Text>
949
- <View
950
- style={styles.paymentContainer}
951
- >
952
- <SavedCardComponentView
953
- savedCards={savedCardArray}
954
- onProceedForward={(instrumentValue : string, isSICheckBoxClicked : boolean) => {
955
- handleUpiCollectPayment('', instrumentValue, 'Card', isSICheckBoxClicked);
956
- }}
957
- errorImage={require('../../assets/images/ic_card.png')}
958
- onClickAddCard={() => navigation.navigate("CardScreen", {})}
959
- onClickRadio={(selectedInstrumentRef : string) =>{
960
- stopQRTimer()
961
- handleSavedCardSectionClick(selectedInstrumentRef)
962
- }
963
- }
964
- />
965
- </View>
966
- </View>
967
- )}
968
- <MorePaymentMethods savedCards={savedCardArray} stopTimer={stopQRTimer} setSelectedPaymentMethod={setSelectedPaymentMethod} surchargeDetails={surchargeDetails}/>
969
- {instantOfferList.length != 0 && (
970
- <View
971
- style={{
972
- marginVertical: 8,
973
- marginHorizontal: 16,
974
- paddingBottom: 16,
975
- }}
976
- >
977
- <Text
978
- style={[styles.headingText, {fontFamily: checkoutDetailsHandler.checkoutDetails.fontFamily.semiBold,}]}
979
- >
980
- Apply Coupon
981
- </Text>
982
- <ApplyCouponCard
983
- selectedColor = {checkoutDetailsHandler.checkoutDetails.buttonColor}
984
- code={appliedOffer?.code ?? ""}
985
- description={appliedOffer?.description ?? ""}
986
- discountAmount={appliedOffer?.discount?.amount?.toString() ?? ""}
987
- currencySymbol={checkoutDetailsHandler.checkoutDetails.currencySymbol}
988
- isCodeApplied = {isOfferApplied}
989
- onClickApply={(code : string) => {
990
- const offer = instantOfferList.find((it: GetInstantOffersResponse) => it.code === code) ?? null
991
- setAppliedOffer(offer)
992
- setIsOfferApplied(true)
993
- }}
994
- onClickRemove={() => {
995
- setAppliedOffer(instantOfferList[0] ?? null)
996
- setIsOfferApplied(false)
997
- }}
998
- onClickViewAll={() => {
999
- navigation.navigate("InstantOfferScreen", {
1000
- couponList : instantOfferList,
1001
- selectedCouponCode : appliedOffer?.code ?? "",
1002
- selectedColor : checkoutDetailsHandler.checkoutDetails.buttonColor,
1003
- onClickCoupon : onClickCoupon,
1004
- onClickRemoveCoupon: onClickRemoveCoupon
1005
- })
1006
- }}
1007
- />
1008
- </View>
1009
- )}
1010
- {checkoutDetailsHandler.checkoutDetails.isOrderItemDetailsVisible && (
1011
- <View>
1012
- <Text
1013
- style={[styles.headingText, {fontFamily: checkoutDetailsHandler.checkoutDetails.fontFamily.semiBold,}]}
1014
- >
1015
- Order Summary
1016
- </Text>
1017
-
1018
- <OrderDetails
1019
- subTotalAmount={subTotalAmountRef.current}
1020
- shippingAmount={shippingAmountRef.current}
1021
- totalAmount={appliedSurchargeAmount != 0 ? appliedSurchargeAmount.toString() : amount.toString()}
1022
- itemsArray={orderItemsArrayRef.current}
1023
- taxAmount={taxAmountRef.current}
1024
- surchargeDetails={surchargeDetails}
1025
- selectedPaymentMethod={selectedPaymentMethod}
1026
- />
1027
- </View>
1028
- )}
1029
-
1030
- {/* Secured by BoxPay - Fixed at Bottom */}
1031
- <View
1032
- style={styles.footerContainer}
1033
- >
1034
- <Text
1035
- style={[styles.footerText, {fontFamily: checkoutDetailsHandler.checkoutDetails.fontFamily.medium,}]}
1036
- >
1037
- Secured by
1038
- </Text>
1039
- <Image
1040
- source={require('../../assets/images/splash-icon.png')}
1041
- style={styles.footerImage}
1042
- />
1043
- </View>
1044
- </View>
1045
- </ScrollView>
1046
- )}
1047
-
1048
- {loadingState && (
1049
- <View
1050
- style={styles.loadingContainer}
1051
- >
1052
- <LottieView
1053
- source={require('../../assets/animations/boxpayLogo.json')}
1054
- autoPlay
1055
- loop
1056
- style={styles.lottieStyle}
1057
- />
1058
- <Text>Loading...</Text>
1059
- </View>
1060
- )}
1061
-
1062
- {/* Modals for Different Payment Statuses */}
1063
- {failedModalOpen && (
1064
- <PaymentFailed
1065
- onClick={() => setFailedModalState(false)}
1066
- errorMessage={paymentFailedMessage.current}
1067
- onExit={onExitCheckout}
1068
- />
1069
- )}
1070
-
1071
- {successModalOpen && (
1072
- <PaymentSuccess
1073
- onClick={onExitCheckout}
1074
- transactionId={transactionId}
1075
- method="UPI"
1076
- localDateTime={successfulTimeStamp}
1077
- />
1078
- )}
1079
-
1080
- {sessionExpireModalOpen && <SessionExpire onClick={onExitCheckout} />}
1081
-
1082
- {showWebView && (
1083
- <View
1084
- style={styles.webViewScreenStyle}
1085
- >
1086
- <WebViewScreen
1087
- url={paymentUrl}
1088
- html={paymentHtml}
1089
- onBackPress={(redirectionResult : string | null) => {
1090
- setRedirectionResult(redirectionResult)
1091
- callFetchStatusApi();
1092
- setShowWebView(false);
1093
- }}
1094
- />
1095
- </View>
1096
- )}
1097
- </View>
1098
- );
1099
- };
1100
-
1101
- export default MainScreen;