boxpay-checkout-reactnative-sdk 1.1.7 → 2.0.1

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