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

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