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