@os1-platform/dispatch-mobile 2.1.23 → 2.1.25
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.
- package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
- package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.8/gc.properties +0 -0
- package/android/.gradle/7.5/checksums/checksums.lock +0 -0
- package/android/.gradle/7.5/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/7.5/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.5/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.5/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.5/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.5/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.5/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.gradle/configuration-cache/gc.properties +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/compiler.xml +6 -0
- package/android/.idea/gradle.xml +18 -0
- package/android/.idea/kotlinc.xml +6 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/other.xml +263 -0
- package/android/.idea/vcs.xml +6 -0
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js +0 -3
- package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +0 -6
- package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js +1 -0
- package/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js +21 -0
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js +17 -1
- package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js +11 -14
- package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js +183 -36
- package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/commonjs/components/widgets/ProgressDialog.js +1 -1
- package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
- package/lib/commonjs/components/widgets/SnackBarCustom.js +44 -21
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/icons/blurQRCode.png +0 -0
- package/lib/commonjs/manager/syncmanager/constants.js +1 -1
- package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +1 -4
- package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -32
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js +6 -2
- package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +1 -1
- package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/commonjs/utils/Logger.js +0 -55
- package/lib/commonjs/utils/Logger.js.map +1 -1
- package/lib/module/analytics/firebase/FirebaseLogging.js +0 -3
- package/lib/module/analytics/firebase/FirebaseLogging.js.map +1 -1
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +0 -6
- package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js +2 -0
- package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js +21 -0
- package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js +14 -0
- package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js +11 -14
- package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -1
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js +187 -38
- package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -1
- package/lib/module/components/widgets/ProgressDialog.js +1 -1
- package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
- package/lib/module/components/widgets/SnackBarCustom.js +43 -21
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/icons/blurQRCode.png +0 -0
- package/lib/module/manager/syncmanager/constants.js +1 -1
- package/lib/module/manager/syncmanager/constants.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentManager.js +1 -4
- package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -32
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/ui/screens/CollectPaymentScreen.js +6 -2
- package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
- package/lib/module/ui/screens/StartWorkFlowScreen.js +1 -1
- package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
- package/lib/module/utils/Logger.js +0 -55
- package/lib/module/utils/Logger.js.map +1 -1
- package/lib/typescript/components/executiontasks/collectPayment/CollectPaymentSchema.d.ts +1 -0
- package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +20 -0
- package/lib/typescript/components/executiontasks/collectPayment/PaymentUtils.d.ts +1 -0
- package/lib/typescript/components/widgets/SnackBarCustom.d.ts +2 -1
- package/lib/typescript/manager/syncmanager/constants.d.ts +1 -1
- package/package.json +3 -3
- package/src/analytics/firebase/FirebaseLogging.ts +2 -11
- package/src/analytics/sentry/SentryAnalyticsUtils.ts +0 -7
- package/src/components/executiontasks/collectPayment/CollectPaymentSchema.ts +2 -0
- package/src/components/executiontasks/collectPayment/PaymentStyles.ts +37 -12
- package/src/components/executiontasks/collectPayment/PaymentUtils.ts +17 -0
- package/src/components/executiontasks/collectPayment/components/CompletePayment.tsx +19 -18
- package/src/components/executiontasks/collectPayment/components/InitPayment.tsx +5 -4
- package/src/components/executiontasks/collectPayment/components/ProcessPayment.tsx +268 -91
- package/src/components/widgets/ProgressDialog.tsx +2 -0
- package/src/components/widgets/SnackBarCustom.tsx +59 -19
- package/src/icons/blurQRCode.png +0 -0
- package/src/manager/syncmanager/constants.ts +1 -1
- package/src/manager/syncmanager/document/DocumentManager.ts +6 -8
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +8 -43
- package/src/ui/screens/CollectPaymentScreen.tsx +6 -3
- package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
- package/src/utils/Logger.ts +1 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","useLayoutEffect","useContext","FlatList","Platform","Text","TouchableOpacity","View","isEmptyOrBlank","PAYMENT_SHARED_PREF_KEY","getPaymentDataMO","getPaymentType","removeSharedPrefPaymentData","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","PaymentStyles","CommonStyles","Fonts","showToast","Button","Provider","RadioButton","Icon","GO_BACK_EVENT_CODE","PAYMENT_NOTIFICATION","hasGoBackConnector","GoBackModal","useFocusEffect","BackHandler","ProgressDialog","EventListener","PAYMENT_SCREEN","STATUS","Storage","PaymentContext","ENDPOINTS","RouteParams","Logger","LOG_TYPE","styles","storage","getInstance","InitPayment","props","_props$route$params$R","_paymentConfigContext8","paymentConfigContext","paymentStatus","setPaymentStatus","paymentMode","setPaymentMode","allowedModes","disableNext","setDisableNext","showBackModal","setShowBackModal","paymentRefId","route","params","ROOT_META_DATA","paymentConfig","handleOnProceedClick","_props$applicableReas","_paymentConfigContext","next","refId","COLLECT_PAYMENT_ET","applicableReasons","success","mergedObjectiveId","screen","PROCESS","CONTACTS","COMPLETE","sourceScreen","INIT","collectedAmount","value","expectedAmount","currencyCode","sdkConfig","etConfig","handleOnCancelClick","_props$applicableReas2","_paymentConfigContext2","onSubmitET","failure","getPaymentStatus","isProceed","_ps$data$transactions","_ps$data$meta","_ps$data$meta2","_ps$data$transactions2","sharedPrefPaymentData","paymentResp","networkInstance","requestGet","PAYMENT_STATUS","requestId","appAbbr","latest","_ps","data","console","log","JSON","stringify","transactions","length","txnType","meta","totalCount","status","SUCCESS","_sharedPrefPaymentDat","_sharedPrefPaymentDat2","_sharedPrefPaymentDat3","_paymentConfigContext3","_props$applicableReas3","amount","money","currency","FAILED","err","_err$response","_err$response2","logEvent","response","SDK_ERROR","error","message","undefined","on","_sharedPrefPaymentDat4","_sharedPrefPaymentDat5","_sharedPrefPaymentDat6","_paymentConfigContext4","_props$applicableReas4","remove","useCallback","onBackPress","_props$taskMeta","sharedPref","getSharedItem","paymentInProgress","taskMeta","enableGoBack","navigation","goBack","addEventListener","removeEventListener","setOptions","headerShown","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","_paymentConfigContext5","onFailure","renderItem","item","_paymentConfigContext6","_paymentConfigContext7","_props$plModes","activeOpacity","reasonItemStyle","marginBottom","paddingVertical","display","flexDirection","reasonTextStyle","fontWeight","fontSize","lineHeight","fontFamily","IBMPlexSans_500Medium","plModes","join","customModalContentStyle","visible","label","labelStyle","OS","IBMPlexSans_400Regular","marginTop","mainContainer","backgroundColor","amountStyle","textStyle1","paddingBottom","margin","toUpperCase","flex","keyExtractor","justifyContent","padding","borderTopWidth","borderTopColor","elevation","cancelButton","marginEnd","cancelButtonLabel","textTransform","mode","disabled","nextButton","marginStart","nextButtonLabel"],"sources":["InitPayment.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useState, useLayoutEffect, useContext } from 'react';\nimport { FlatList, Platform, Text, TouchableOpacity, View } from 'react-native';\nimport { isEmptyOrBlank } from '../../../../utils/utils';\nimport {\n PAYMENT_SHARED_PREF_KEY,\n getPaymentDataMO,\n getPaymentType,\n removeSharedPrefPaymentData,\n} from '../PaymentUtils';\nimport { getBaseETResponse } from '../../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../../manager/dispatchCodes/EventCodeContainer';\nimport { PaymentStyles } from '../PaymentStyles';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../../styles/executionTasks/CommonStyles';\nimport { showToast } from '../../../widgets/Toaster';\nimport { Button, Provider, RadioButton } from 'react-native-paper';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport {\n GO_BACK_EVENT_CODE,\n PAYMENT_NOTIFICATION,\n} from '../../../../constants/constants';\nimport { hasGoBackConnector } from '../../../../components/utils';\nimport GoBackModal from '../../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { BackHandler } from 'react-native';\nimport ProgressDialog from '../../../../components/widgets/ProgressDialog';\nimport EventListener from '../../../../events';\nimport {\n AllowedModes,\n CollectPaymentInput,\n PAYMENT_SCREEN,\n PaymentStatusResponse,\n STATUS,\n SUB_STATUS,\n TRANSACTION_TYPE,\n notificationPaymentStatus,\n sharedPrefPaymentDataInterface,\n} from '../CollectPaymentSchema';\nimport Storage from '../../../../utils/storage';\nimport { PaymentContext } from '../../../../utils/context/paymentContext';\nimport { ENDPOINTS } from '../../../../constants/apiConstants';\nimport { RouteParams } from '../../../../ui/uiConfig/RouteParams';\nimport Logger, { LOG_TYPE } from '../../../../utils/Logger';\n\nconst styles = PaymentStyles;\nlet storage = Storage.getInstance();\n\nconst InitPayment = (props: CollectPaymentInput) => {\n const paymentConfigContext = useContext(PaymentContext);\n const [paymentStatus, setPaymentStatus] = useState<\n PaymentStatusResponse | null | undefined\n >(null);\n const [paymentMode, setPaymentMode] = useState<AllowedModes>(\n props.allowedModes[0]\n );\n const [disableNext, setDisableNext] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const paymentRefId =\n props.route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;\n\n const handleOnProceedClick = async () => {\n if (!isEmptyOrBlank(paymentMode)) {\n setDisableNext(true);\n props.next({\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n screen:\n paymentMode === 'QR_CODE'\n ? PAYMENT_SCREEN.PROCESS\n : paymentMode === 'PAYMENT_LINK'\n ? PAYMENT_SCREEN.CONTACTS\n : PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n });\n } else showToast('No payment mode selected');\n };\n\n const handleOnCancelClick = async () => {\n props.onSubmitET({\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n });\n };\n\n const getPaymentStatus = async (isProceed: boolean | null) => {\n try {\n let sharedPrefPaymentData: sharedPrefPaymentDataInterface | null = null;\n const paymentResp =\n await paymentConfigContext?.networkInstance.requestGet(\n ENDPOINTS.PAYMENT_STATUS + paymentRefId,\n {\n requestId: 'payment:' + paymentRefId,\n },\n {\n appAbbr: paymentConfigContext.sdkConfig.etConfig.appAbbr,\n latest: true,\n }\n );\n // const paymentResp = {\n // data: {\n // data: {\n // meta: { totalCount: 1 },\n // transactions: [\n // {\n // refId: paymentRefId,\n // status: STATUS.FAILED,\n // subStatus: SUB_STATUS.completed,\n // money: {\n // amount: 1000,\n // currency: 'INR',\n // },\n // txnId: '123',\n // txnType: TRANSACTION_TYPE.LINK,\n // appAbbr: 'testApp31',\n // },\n // ],\n // },\n // },\n // };\n const _ps: PaymentStatusResponse = paymentResp?.data;\n console.log('INIT getPaymentStatus _ps: ', JSON.stringify(_ps));\n\n sharedPrefPaymentData = await getPaymentDataMO(\n props.mergedObjectiveId,\n paymentRefId,\n storage\n );\n /**\n * TBD: For first time INIT Screen rendering, no data in shared Pref, meaning the payment was not initiated from mobile.\n * For next time init screen rendering, refId should be associated with a MergedObjectiveId, if not then the payment won't be considered.\n */\n if (\n _ps?.data.transactions?.length &&\n (sharedPrefPaymentData ||\n getPaymentType(_ps?.data.transactions[0].txnType)) &&\n _ps.data.meta?.totalCount &&\n _ps?.data.transactions[0].status === STATUS.SUCCESS\n ) {\n props.next({\n paymentMode:\n sharedPrefPaymentData?.paymentMode ||\n getPaymentType(_ps?.data.transactions[0].txnType) ||\n paymentMode,\n collectedAmount: {\n value:\n sharedPrefPaymentData?.amount.value ||\n _ps?.data.transactions[0].money.amount ||\n props.expectedAmount,\n currencyCode:\n sharedPrefPaymentData?.amount.currencyCode ||\n _ps?.data.transactions[0].money.currency ||\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||\n '',\n },\n refId: _ps.data.transactions[0].refId,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n setPaymentStatus(_ps);\n return;\n } else if (\n sharedPrefPaymentData &&\n _ps.data.meta?.totalCount &&\n _ps?.data.transactions?.length &&\n _ps?.data.transactions[0].status === STATUS.FAILED\n ) {\n /* const _sharedPrefPaymentData = JSON.parse(\n JSON.stringify(sharedPrefPaymentData)\n ); */\n await removeSharedPrefPaymentData(paymentRefId, storage);\n /* await storage.removeSharedItems(\n props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)\n ); */\n }\n\n if (isProceed) await handleOnProceedClick();\n else if (isProceed === false) await handleOnCancelClick();\n setPaymentStatus(_ps);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentStatus triggered ',\n JSON.stringify(err?.response?.data || err),\n LOG_TYPE.SDK_ERROR\n );\n console.error('STATUS: ', err?.response?.data || err.message);\n if (isProceed) await handleOnProceedClick();\n else if (isProceed === false) await handleOnCancelClick();\n setPaymentStatus(undefined);\n }\n };\n\n useEffect(() => {\n (async () => {\n await getPaymentStatus(null);\n // setPaymentStatus(false); // FOR TESTING payment status on click\n })();\n\n EventListener.on(\n PAYMENT_NOTIFICATION,\n async (data: notificationPaymentStatus) => {\n console.log('InitPayment:', JSON.stringify(data));\n let sharedPrefPaymentData: sharedPrefPaymentDataInterface | null = null;\n if (\n data &&\n (data.status === STATUS.SUCCESS || data.status === STATUS.FAILED)\n ) {\n sharedPrefPaymentData = await getPaymentDataMO(\n props.mergedObjectiveId,\n data.refId,\n storage\n );\n }\n if (sharedPrefPaymentData && data && data.status === STATUS.SUCCESS) {\n props.next({\n paymentMode: sharedPrefPaymentData?.paymentMode || paymentMode,\n collectedAmount: {\n value:\n sharedPrefPaymentData?.amount.value || props.expectedAmount,\n currencyCode:\n sharedPrefPaymentData?.amount.currencyCode ||\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||\n '',\n },\n refId: data.refId,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n } else if (\n sharedPrefPaymentData &&\n data &&\n data.status === STATUS.FAILED /* &&\n props.sourceScreen !== 'COMPLETE' */\n ) {\n /* const _sharedPrefPaymentData = JSON.parse(\n JSON.stringify(sharedPrefPaymentData)\n ); */\n /* await storage.removeSharedItems(\n props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)\n ); */\n await removeSharedPrefPaymentData(data.refId, storage);\n /* props.next({\n paymentMode: _sharedPrefPaymentData?.paymentMode || paymentMode,\n collectedAmount: {\n value: data.amount,\n currencyCode:\n _sharedPrefPaymentData?.amount.currencyCode ||\n props.amount.currencyCode,\n minorUnit:\n _sharedPrefPaymentData?.amount.minorUnit ||\n props.amount.minorUnit,\n },\n txnId: data.txnId,\n refId: data.refId,\n transactionSuccess: false,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n }); */\n }\n }\n );\n return () => EventListener.remove(PAYMENT_NOTIFICATION);\n }, []);\n\n // Handle back-button click\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = async () => {\n let sharedPref = null;\n // (async () => {\n sharedPref = await storage.getSharedItem(\n PAYMENT_SHARED_PREF_KEY + paymentRefId\n );\n // })();\n\n const paymentInProgress =\n /* props.mergedObjectiveId.some(\n async (moId) =>\n await storage.getSharedItem(PAYMENT_SHARED_PREF_KEY + moId)\n ) */ sharedPref || false;\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons) &&\n !paymentInProgress\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', () => {\n onBackPress();\n return true;\n });\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', () => {\n onBackPress();\n return true;\n });\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n headerShown: true,\n title: 'Choose Payment Method',\n headerLeft: () => {\n return (\n <Icon\n onPress={async () => {\n const sharedPref = await storage.getSharedItem(\n PAYMENT_SHARED_PREF_KEY + paymentRefId\n );\n const paymentInProgress =\n /* props.mergedObjectiveId.some(\n async (moId) =>\n await storage.getSharedItem(PAYMENT_SHARED_PREF_KEY + moId)\n ) */ sharedPref || false;\n\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons) &&\n !paymentInProgress\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation]);\n\n useEffect(() => {\n if (props.allowedModes && props.allowedModes.length > 0) {\n setPaymentMode(props.allowedModes[0]);\n }\n }, [props.allowedModes]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const renderItem = ({ item }: { item: AllowedModes }) => {\n return (\n <TouchableOpacity activeOpacity={1}\n onPress={() => {\n setPaymentMode(item);\n }}\n style={[\n styles.reasonItemStyle,\n { marginBottom: 4, paddingVertical: 8 },\n ]}\n >\n <RadioButton\n color={'#5B80F7'}\n value={item}\n status={paymentMode === item ? 'checked' : 'unchecked'}\n onPress={() => {\n setPaymentMode(item);\n }}\n />\n <View style={{ display: 'flex', flexDirection: 'column' }}>\n <Text\n style={[\n styles.reasonTextStyle,\n {\n fontWeight: 'bold',\n paddingTop: 6,\n fontSize: 14,\n lineHeight: 20,\n color: '#3D445C',\n },\n ]}\n onPress={() => {\n setPaymentMode(item);\n }}\n >\n {item === 'CASH'\n ? 'Cash'\n : item === 'QR_CODE'\n ? 'QR Code'\n : item === 'PAYMENT_LINK'\n ? 'Payment Link'\n : item}\n </Text>\n {(item === 'QR_CODE' || item === 'PAYMENT_LINK') && (\n <Text\n style={[\n styles.reasonTextStyle,\n {\n fontWeight: '500',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n paddingTop: 2,\n fontSize: 12,\n lineHeight: 16,\n color: '#525B7A',\n },\n ]}\n onPress={() => {\n setPaymentMode(item);\n }}\n >\n {item === 'QR_CODE'\n ? paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ===\n 'INR'\n ? 'UPI'\n : 'Scan to get a payment link'\n : item === 'PAYMENT_LINK'\n ? paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ===\n 'INR'\n ? props.plModes?.join(', ')\n : 'Credit / Debit Cards, Netbanking …'\n : ''}\n </Text>\n )}\n </View>\n </TouchableOpacity>\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n {/* PAYMENT STATUS DIALOG */}\n <ProgressDialog\n customModalContentStyle={{ paddingVertical: 40 }}\n visible={paymentStatus === null ? true : false}\n label=\"Loading\"\n labelStyle={{\n fontWeight: '400',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n marginTop: 16,\n color: '#3D445C',\n }}\n />\n {/* Payment method screen */}\n {paymentStatus === null ? null : (\n <View style={CommonStyles.mainContainer}>\n <View\n style={{\n backgroundColor: 'white',\n marginTop: 30,\n }}\n >\n <Text\n style={[\n styles.amountStyle,\n styles.textStyle1,\n {\n paddingTop: 0,\n paddingBottom: 0,\n color: '#3D445C',\n margin: 0,\n fontSize: 16,\n },\n ]}\n >\n Collect at Delivery\n </Text>\n <Text style={[styles.amountStyle, { paddingTop: 0, fontSize: 24 }]}>\n {paymentConfigContext?.sdkConfig?.etConfig?.currencyCode +\n ' ' +\n props.expectedAmount}\n </Text>\n </View>\n <Text style={[styles.textStyle1, { paddingBottom: 12 }]}>\n {'Select a payment option'.toUpperCase()}\n </Text>\n <View style={{ flex: 1 }}>\n <FlatList\n data={props.allowedModes}\n renderItem={renderItem}\n keyExtractor={(item) => item}\n />\n </View>\n <View\n style={{\n justifyContent: 'flex-end',\n // marginBottom: 10,\n padding: 16,\n // paddingTop: 10,\n borderTopWidth: 1,\n borderTopColor: '#E0E3EB',\n elevation: 0.5,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n // marginStart: 10,\n // marginEnd: 10,\n }}\n >\n <Button\n style={[\n CommonStyles.cancelButton,\n {\n marginEnd: 5,\n flex: 1,\n },\n ]}\n labelStyle={{\n ...CommonStyles.cancelButtonLabel,\n color: '#5B80F7',\n textTransform: 'capitalize',\n }}\n mode={'outlined'}\n onPress={async () => {\n await getPaymentStatus(false);\n }}\n >\n Cancel\n </Button>\n <Button\n disabled={disableNext}\n style={[\n CommonStyles.nextButton,\n {\n flex: 1,\n marginStart: 5,\n },\n ]}\n labelStyle={{\n ...CommonStyles.nextButtonLabel,\n textTransform: 'capitalize',\n }}\n mode={'contained'}\n onPress={async () => {\n // Check payment status every time when moving away from init screen\n await getPaymentStatus(true);\n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </View>\n )}\n </Provider>\n );\n};\nexport default InitPayment;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","useLayoutEffect","useContext","FlatList","Platform","Text","TouchableOpacity","View","isEmptyOrBlank","PAYMENT_SHARED_PREF_KEY","getPaymentDataMO","getPaymentType","removeSharedPrefPaymentData","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","PaymentStyles","CommonStyles","Fonts","showToast","Button","Provider","RadioButton","Icon","GO_BACK_EVENT_CODE","PAYMENT_NOTIFICATION","hasGoBackConnector","GoBackModal","useFocusEffect","BackHandler","ProgressDialog","EventListener","PAYMENT_SCREEN","STATUS","Storage","PaymentContext","ENDPOINTS","RouteParams","Logger","LOG_TYPE","styles","storage","getInstance","InitPayment","props","_props$route$params$R","_paymentConfigContext8","paymentConfigContext","paymentStatus","setPaymentStatus","paymentMode","setPaymentMode","allowedModes","disableNext","setDisableNext","showBackModal","setShowBackModal","paymentRefId","route","params","ROOT_META_DATA","paymentConfig","handleOnProceedClick","_props$applicableReas","_paymentConfigContext","next","refId","COLLECT_PAYMENT_ET","applicableReasons","success","mergedObjectiveId","screen","PROCESS","CONTACTS","COMPLETE","sourceScreen","INIT","collectedAmount","value","expectedAmount","currencyCode","sdkConfig","etConfig","handleOnCancelClick","_props$applicableReas2","_paymentConfigContext2","onSubmitET","failure","getPaymentStatus","isProceed","_ps$data$transactions","_ps$data$meta","_ps$data$meta2","_ps$data$transactions2","sharedPrefPaymentData","paymentResp","networkInstance","requestGet","PAYMENT_STATUS","requestId","appAbbr","latest","_ps","data","console","log","JSON","stringify","transactions","length","txnType","meta","totalCount","status","SUCCESS","_sharedPrefPaymentDat","_sharedPrefPaymentDat2","_sharedPrefPaymentDat3","_paymentConfigContext3","_props$applicableReas3","amount","money","currency","FAILED","err","_err$response","_err$response2","logEvent","response","SDK_ERROR","error","message","undefined","on","_sharedPrefPaymentDat4","_sharedPrefPaymentDat5","_sharedPrefPaymentDat6","_paymentConfigContext4","_props$applicableReas4","remove","useCallback","onBackPress","_props$taskMeta","sharedPref","getSharedItem","paymentInProgress","taskMeta","enableGoBack","navigation","goBack","addEventListener","removeEventListener","setOptions","headerShown","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","_paymentConfigContext5","onFailure","renderItem","item","_paymentConfigContext6","_paymentConfigContext7","_props$plModes","activeOpacity","reasonItemStyle","marginBottom","paddingVertical","display","flexDirection","reasonTextStyle","fontWeight","fontSize","lineHeight","fontFamily","IBMPlexSans_500Medium","plModes","join","customModalContentStyle","visible","label","labelStyle","OS","IBMPlexSans_400Regular","marginTop","mainContainer","backgroundColor","amountStyle","textStyle1","paddingBottom","margin","toUpperCase","flex","keyExtractor","justifyContent","padding","borderTopWidth","borderTopColor","elevation","cancelButton","marginEnd","cancelButtonLabel","textTransform","mode","disabled","nextButton","marginStart","nextButtonLabel"],"sources":["InitPayment.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useState, useLayoutEffect, useContext } from 'react';\nimport { FlatList, Platform, Text, TouchableOpacity, View } from 'react-native';\nimport { isEmptyOrBlank } from '../../../../utils/utils';\nimport {\n PAYMENT_SHARED_PREF_KEY,\n getPaymentDataMO,\n getPaymentType,\n removeSharedPrefPaymentData,\n} from '../PaymentUtils';\nimport { getBaseETResponse } from '../../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../../manager/dispatchCodes/EventCodeContainer';\nimport { PaymentStyles } from '../PaymentStyles';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../../styles/executionTasks/CommonStyles';\nimport { showToast } from '../../../widgets/Toaster';\nimport { Button, Provider, RadioButton } from 'react-native-paper';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport {\n GO_BACK_EVENT_CODE,\n PAYMENT_NOTIFICATION,\n} from '../../../../constants/constants';\nimport { hasGoBackConnector } from '../../../../components/utils';\nimport GoBackModal from '../../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { BackHandler } from 'react-native';\nimport ProgressDialog from '../../../../components/widgets/ProgressDialog';\nimport EventListener from '../../../../events';\nimport {\n AllowedModes,\n CollectPaymentInput,\n PAYMENT_SCREEN,\n PaymentStatusResponse,\n STATUS,\n SUB_STATUS,\n TRANSACTION_TYPE,\n notificationPaymentStatus,\n sharedPrefPaymentDataInterface,\n} from '../CollectPaymentSchema';\nimport Storage from '../../../../utils/storage';\nimport { PaymentContext } from '../../../../utils/context/paymentContext';\nimport { ENDPOINTS } from '../../../../constants/apiConstants';\nimport { RouteParams } from '../../../../ui/uiConfig/RouteParams';\nimport Logger, { LOG_TYPE } from '../../../../utils/Logger';\n\nconst styles = PaymentStyles;\nlet storage = Storage.getInstance();\n\nconst InitPayment = (props: CollectPaymentInput) => {\n const paymentConfigContext = useContext(PaymentContext);\n const [paymentStatus, setPaymentStatus] = useState<\n PaymentStatusResponse | null | undefined\n >(null);\n const [paymentMode, setPaymentMode] = useState<AllowedModes>(\n props.allowedModes[0]\n );\n const [disableNext, setDisableNext] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n const paymentRefId =\n props.route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;\n\n const handleOnProceedClick = async () => {\n if (!isEmptyOrBlank(paymentMode)) {\n setDisableNext(true);\n props.next({\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n screen:\n paymentMode === 'QR_CODE'\n ? PAYMENT_SCREEN.PROCESS\n : paymentMode === 'PAYMENT_LINK'\n ? PAYMENT_SCREEN.CONTACTS\n : PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n });\n } else showToast('No payment mode selected');\n };\n\n const handleOnCancelClick = async () => {\n props.onSubmitET({\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n });\n };\n\n const getPaymentStatus = async (isProceed: boolean | null) => {\n try {\n let sharedPrefPaymentData: sharedPrefPaymentDataInterface | null = null;\n const paymentResp =\n await paymentConfigContext?.networkInstance.requestGet(\n ENDPOINTS.PAYMENT_STATUS + paymentRefId,\n {\n requestId: 'payment:' + paymentRefId,\n },\n {\n appAbbr: paymentConfigContext.sdkConfig.etConfig.appAbbr,\n latest: true,\n }\n );\n // const paymentResp = {\n // data: {\n // data: {\n // meta: { totalCount: 1 },\n // transactions: [\n // {\n // refId: paymentRefId,\n // status: STATUS.FAILED,\n // subStatus: SUB_STATUS.completed,\n // money: {\n // amount: 1000,\n // currency: 'INR',\n // },\n // txnId: '123',\n // txnType: TRANSACTION_TYPE.LINK,\n // appAbbr: 'testApp31',\n // },\n // ],\n // },\n // },\n // };\n const _ps: PaymentStatusResponse = paymentResp?.data;\n console.log('INIT getPaymentStatus _ps: ', JSON.stringify(_ps));\n\n sharedPrefPaymentData = await getPaymentDataMO(\n props.mergedObjectiveId,\n paymentRefId,\n storage\n );\n /**\n * TBD: For first time INIT Screen rendering, no data in shared Pref, meaning the payment was not initiated from mobile.\n * For next time init screen rendering, refId should be associated with a MergedObjectiveId, if not then the payment won't be considered.\n */\n if (\n _ps?.data.transactions?.length &&\n (sharedPrefPaymentData ||\n getPaymentType(_ps?.data.transactions[0].txnType)) &&\n _ps.data.meta?.totalCount &&\n _ps?.data.transactions[0].status === STATUS.SUCCESS\n ) {\n props.next({\n paymentMode:\n sharedPrefPaymentData?.paymentMode ||\n getPaymentType(_ps?.data.transactions[0].txnType) ||\n paymentMode,\n collectedAmount: {\n value:\n sharedPrefPaymentData?.amount.value ||\n _ps?.data.transactions[0].money.amount ||\n props.expectedAmount,\n currencyCode:\n sharedPrefPaymentData?.amount.currencyCode ||\n _ps?.data.transactions[0].money.currency ||\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||\n '',\n },\n refId: _ps.data.transactions[0].refId,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n setPaymentStatus(_ps);\n return;\n } else if (\n sharedPrefPaymentData &&\n _ps.data.meta?.totalCount &&\n _ps?.data.transactions?.length &&\n _ps?.data.transactions[0].status === STATUS.FAILED\n ) {\n /* const _sharedPrefPaymentData = JSON.parse(\n JSON.stringify(sharedPrefPaymentData)\n ); */\n await removeSharedPrefPaymentData(paymentRefId, storage);\n /* await storage.removeSharedItems(\n props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)\n ); */\n }\n\n if (isProceed) await handleOnProceedClick();\n else if (isProceed === false) await handleOnCancelClick();\n setPaymentStatus(_ps);\n } catch (err: any) {\n Logger.getInstance().logEvent(\n '~ getPaymentStatus triggered ',\n JSON.stringify(err?.response?.data || err),\n LOG_TYPE.SDK_ERROR\n );\n console.error('STATUS: ', err?.response?.data || err.message);\n if (isProceed) await handleOnProceedClick();\n else if (isProceed === false) await handleOnCancelClick();\n setPaymentStatus(undefined);\n }\n };\n\n useEffect(() => {\n (async () => {\n await getPaymentStatus(null);\n // setPaymentStatus(false); // FOR TESTING payment status on click\n })();\n\n EventListener.on(\n PAYMENT_NOTIFICATION,\n async (data: notificationPaymentStatus) => {\n console.log('InitPayment:', JSON.stringify(data));\n let sharedPrefPaymentData: sharedPrefPaymentDataInterface | null = null;\n if (\n data &&\n (data.status === STATUS.SUCCESS || data.status === STATUS.FAILED)\n ) {\n sharedPrefPaymentData = await getPaymentDataMO(\n props.mergedObjectiveId,\n data.refId,\n storage\n );\n }\n if (sharedPrefPaymentData && data && data.status === STATUS.SUCCESS) {\n props.next({\n paymentMode: sharedPrefPaymentData?.paymentMode || paymentMode,\n collectedAmount: {\n value:\n sharedPrefPaymentData?.amount.value || props.expectedAmount,\n currencyCode:\n sharedPrefPaymentData?.amount.currencyCode ||\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||\n '',\n },\n refId: data.refId,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n } else if (\n sharedPrefPaymentData &&\n data &&\n data.status === STATUS.FAILED /* &&\n props.sourceScreen !== 'COMPLETE' */\n ) {\n /* const _sharedPrefPaymentData = JSON.parse(\n JSON.stringify(sharedPrefPaymentData)\n ); */\n /* await storage.removeSharedItems(\n props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)\n ); */\n await removeSharedPrefPaymentData(data.refId, storage);\n /* props.next({\n paymentMode: _sharedPrefPaymentData?.paymentMode || paymentMode,\n collectedAmount: {\n value: data.amount,\n currencyCode:\n _sharedPrefPaymentData?.amount.currencyCode ||\n props.amount.currencyCode,\n minorUnit:\n _sharedPrefPaymentData?.amount.minorUnit ||\n props.amount.minorUnit,\n },\n txnId: data.txnId,\n refId: data.refId,\n transactionSuccess: false,\n screen: PAYMENT_SCREEN.COMPLETE,\n sourceScreen: PAYMENT_SCREEN.INIT,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.COLLECT_PAYMENT_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n }); */\n }\n }\n );\n return () => EventListener.remove(PAYMENT_NOTIFICATION);\n }, []);\n\n // Handle back-button click\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = async () => {\n let sharedPref = null;\n // (async () => {\n sharedPref = await storage.getSharedItem(\n PAYMENT_SHARED_PREF_KEY + paymentRefId\n );\n // })();\n\n const paymentInProgress =\n /* props.mergedObjectiveId.some(\n async (moId) =>\n await storage.getSharedItem(PAYMENT_SHARED_PREF_KEY + moId)\n ) */ sharedPref || false;\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons) &&\n !paymentInProgress\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', () => {\n onBackPress();\n return true;\n });\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', () => {\n onBackPress();\n return true;\n });\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n headerShown: true,\n title: 'Choose Payment Method',\n headerLeft: () => {\n return (\n <Icon\n onPress={async () => {\n const sharedPref = await storage.getSharedItem(\n PAYMENT_SHARED_PREF_KEY + paymentRefId\n );\n const paymentInProgress =\n /* props.mergedObjectiveId.some(\n async (moId) =>\n await storage.getSharedItem(PAYMENT_SHARED_PREF_KEY + moId)\n ) */ sharedPref || false;\n\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons) &&\n !paymentInProgress\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation]);\n\n useEffect(() => {\n if (props.allowedModes && props.allowedModes.length > 0) {\n setPaymentMode(props.allowedModes[0]);\n }\n }, [props.allowedModes]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n collectedAmount: {\n value: props.expectedAmount,\n currencyCode:\n paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',\n },\n paymentMode: paymentMode,\n refId: paymentRefId,\n ...(await getBaseETResponse(\n EntityCode.COLLECT_PAYMENT_ET,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.COLLECT_PAYMENT_ET\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const renderItem = ({ item }: { item: AllowedModes }) => {\n return (\n <TouchableOpacity\n activeOpacity={1}\n onPress={() => {\n setPaymentMode(item);\n }}\n style={[\n styles.reasonItemStyle,\n { marginBottom: 4, paddingVertical: 8 },\n ]}\n >\n <RadioButton\n color={'#5B80F7'}\n value={item}\n status={paymentMode === item ? 'checked' : 'unchecked'}\n onPress={() => {\n setPaymentMode(item);\n }}\n />\n <View style={{ display: 'flex', flexDirection: 'column' }}>\n <Text\n style={[\n styles.reasonTextStyle,\n {\n fontWeight: 'bold',\n paddingTop: 6,\n fontSize: 14,\n lineHeight: 20,\n color: '#3D445C',\n },\n ]}\n onPress={() => {\n setPaymentMode(item);\n }}\n >\n {item === 'CASH'\n ? 'Cash'\n : item === 'QR_CODE'\n ? 'QR Code'\n : item === 'PAYMENT_LINK'\n ? 'Payment Link'\n : item}\n </Text>\n {(item === 'QR_CODE' || item === 'PAYMENT_LINK') && (\n <Text\n style={[\n styles.reasonTextStyle,\n {\n fontWeight: '500',\n fontFamily: Fonts.IBMPlexSans_500Medium,\n paddingTop: 2,\n fontSize: 12,\n lineHeight: 16,\n color: '#525B7A',\n },\n ]}\n onPress={() => {\n setPaymentMode(item);\n }}\n >\n {item === 'QR_CODE'\n ? paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ===\n 'INR'\n ? 'UPI'\n : 'Scan to get a payment link'\n : item === 'PAYMENT_LINK'\n ? paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ===\n 'INR'\n ? props.plModes?.join(', ')\n : 'Credit / Debit Cards, Netbanking …'\n : ''}\n </Text>\n )}\n </View>\n </TouchableOpacity>\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n {/* PAYMENT STATUS DIALOG */}\n <ProgressDialog\n customModalContentStyle={{ paddingVertical: 40 }}\n visible={paymentStatus === null ? true : false}\n label=\"Loading\"\n labelStyle={{\n fontWeight: '400',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n marginTop: 16,\n color: '#3D445C',\n }}\n />\n {/* Payment method screen */}\n {paymentStatus === null ? null : (\n <View style={CommonStyles.mainContainer}>\n <View\n style={{\n backgroundColor: 'white',\n marginTop: 30,\n }}\n >\n <Text\n style={[\n styles.amountStyle,\n styles.textStyle1,\n {\n paddingTop: 0,\n paddingBottom: 0,\n color: '#3D445C',\n margin: 0,\n fontSize: 16,\n },\n ]}\n >\n Collect at Delivery\n </Text>\n <Text style={[styles.amountStyle, { paddingTop: 0, fontSize: 24 }]}>\n {paymentConfigContext?.sdkConfig?.etConfig?.currencyCode +\n ' ' +\n props.expectedAmount}\n </Text>\n </View>\n <Text style={[styles.textStyle1, { paddingBottom: 12 }]}>\n {'Select a payment option'.toUpperCase()}\n </Text>\n <View style={{ flex: 1 }}>\n <FlatList\n data={props.allowedModes}\n renderItem={renderItem}\n keyExtractor={(item) => item}\n />\n </View>\n <View\n style={{\n justifyContent: 'flex-end',\n // marginBottom: 10,\n padding: 16,\n // paddingTop: 10,\n borderTopWidth: 1,\n borderTopColor: '#E0E3EB',\n elevation: 0.5,\n }}\n >\n <View\n style={{\n flexDirection: 'row',\n // marginStart: 10,\n // marginEnd: 10,\n }}\n >\n <Button\n style={[\n CommonStyles.cancelButton,\n {\n marginEnd: 5,\n flex: 1,\n },\n ]}\n labelStyle={{\n ...CommonStyles.cancelButtonLabel,\n color: '#5B80F7',\n textTransform: 'capitalize',\n }}\n mode={'outlined'}\n onPress={async () => {\n await getPaymentStatus(false);\n }}\n >\n Cancel\n </Button>\n <Button\n disabled={disableNext}\n style={[\n CommonStyles.nextButton,\n {\n flex: 1,\n marginStart: 5,\n },\n ]}\n labelStyle={{\n ...CommonStyles.nextButtonLabel,\n textTransform: 'capitalize',\n }}\n mode={'contained'}\n onPress={async () => {\n // Check payment status every time when moving away from init screen\n await getPaymentStatus(true);\n }}\n >\n Proceed\n </Button>\n </View>\n </View>\n </View>\n )}\n </Provider>\n );\n};\nexport default InitPayment;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
3
|
/* eslint-disable react-native/no-inline-styles */
|
|
4
|
-
import { BackHandler,
|
|
4
|
+
import { AppState, BackHandler, ImageBackground, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import React, { useState, useLayoutEffect, useEffect, useContext, useCallback, useRef } from 'react';
|
|
6
6
|
import { getBaseETResponse, onClickEvent } from '../../../../utils/ExecTaskUtils';
|
|
7
7
|
import { getEventCodeByET } from '../../../../manager/dispatchCodes/EventCodeContainer';
|
|
8
8
|
import { EntityCode, ExecutionTaskID } from '../../../../models/execTasks/ETConfig';
|
|
9
9
|
import { PaymentStyles } from '../PaymentStyles';
|
|
10
10
|
import { CommonStyles, Fonts } from '../../../../styles/executionTasks/CommonStyles';
|
|
11
|
-
import { getPaymentDataMO, getPaymentLink, getPaymentType, removeSharedPrefPaymentData, setSharedPrefPaymentData, setSharedPrefPaymentSelection
|
|
11
|
+
import { formatExpiryTime, getPaymentDataMO, getPaymentLink, getPaymentType, removeSharedPrefPaymentData, setSharedPrefPaymentData, setSharedPrefPaymentSelection
|
|
12
|
+
// useQRExpiryTimer,
|
|
13
|
+
} from '../PaymentUtils';
|
|
12
14
|
import { ActivityIndicator, Button, Modal, Portal, Provider } from 'react-native-paper';
|
|
13
15
|
import Icon from 'react-native-vector-icons/MaterialIcons';
|
|
14
16
|
import { PAYMENT_NOTIFICATION } from '../../../../constants/constants';
|
|
@@ -30,6 +32,9 @@ import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue
|
|
|
30
32
|
import Logger, { LOG_TYPE } from '../../../../utils/Logger';
|
|
31
33
|
const styles = PaymentStyles;
|
|
32
34
|
let storage = Storage.getInstance();
|
|
35
|
+
const DEFAULT_STATUS_BTN_DEFAULT_TIMER = 5; // Default timer value in seconds
|
|
36
|
+
const DEFAULT_MIN_SEC_TO_SHOW_TIMER = 600; // Default timer value in seconds to show expire time (current is 10min )
|
|
37
|
+
|
|
33
38
|
const ProcessPayment = props => {
|
|
34
39
|
var _props$route$params$R, _paymentConfigContext;
|
|
35
40
|
const paymentConfigContext = useContext(PaymentContext);
|
|
@@ -39,6 +44,7 @@ const ProcessPayment = props => {
|
|
|
39
44
|
const [backDisable, setBackDisable] = useState(true);
|
|
40
45
|
const timerRef = useRef();
|
|
41
46
|
const paymentRefId = (_props$route$params$R = props.route.params[RouteParams.ROOT_META_DATA].paymentConfig) === null || _props$route$params$R === void 0 ? void 0 : _props$route$params$R.paymentRefId;
|
|
47
|
+
// For back button timer
|
|
42
48
|
const useTimer = (timerDuration, onTimerEnd) => {
|
|
43
49
|
const [counter, setCounter] = useState(timerDuration);
|
|
44
50
|
const [hasTimerEnded, setHasTimerEnded] = useState(false);
|
|
@@ -59,14 +65,14 @@ const ProcessPayment = props => {
|
|
|
59
65
|
}, [counter, hasTimerEnded]);
|
|
60
66
|
|
|
61
67
|
// Function to reset the timer
|
|
62
|
-
const
|
|
68
|
+
const resetModalTimer = () => {
|
|
63
69
|
setCounter(timerDuration);
|
|
64
70
|
setHasTimerEnded(false);
|
|
65
71
|
setBackDisable(true);
|
|
66
72
|
};
|
|
67
73
|
return {
|
|
68
74
|
counter,
|
|
69
|
-
|
|
75
|
+
resetModalTimer
|
|
70
76
|
};
|
|
71
77
|
};
|
|
72
78
|
const {
|
|
@@ -319,16 +325,93 @@ const ProcessPayment = props => {
|
|
|
319
325
|
}, props))));
|
|
320
326
|
};
|
|
321
327
|
export default ProcessPayment;
|
|
328
|
+
const useQRExpiryTimer = (initialTimerValue, onTimerEnd) => {
|
|
329
|
+
const [timer, setTimer] = useState(initialTimerValue);
|
|
330
|
+
const timerRef = useRef(null);
|
|
331
|
+
const appState = useRef(AppState.currentState);
|
|
332
|
+
const initialTimeRef = useRef(Date.now());
|
|
333
|
+
const resetTimer = useCallback(() => {
|
|
334
|
+
initialTimeRef.current = Date.now();
|
|
335
|
+
setTimer(initialTimerValue);
|
|
336
|
+
}, [initialTimerValue]);
|
|
337
|
+
const updateTimer = useCallback(() => {
|
|
338
|
+
const currentTime = Date.now();
|
|
339
|
+
const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
|
|
340
|
+
const remainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
|
|
341
|
+
if (remainingTime !== timer) {
|
|
342
|
+
setTimer(remainingTime);
|
|
343
|
+
}
|
|
344
|
+
if (remainingTime === 0 && onTimerEnd) {
|
|
345
|
+
onTimerEnd();
|
|
346
|
+
}
|
|
347
|
+
}, [initialTimerValue, onTimerEnd, timer]);
|
|
348
|
+
useEffect(() => {
|
|
349
|
+
resetTimer();
|
|
350
|
+
}, [initialTimerValue, resetTimer]);
|
|
351
|
+
useEffect(() => {
|
|
352
|
+
// Update the timer immediately on mount
|
|
353
|
+
updateTimer();
|
|
354
|
+
const intervalId = setInterval(updateTimer, 1000);
|
|
355
|
+
return () => clearInterval(intervalId);
|
|
356
|
+
}, [updateTimer]);
|
|
357
|
+
useEffect(() => {
|
|
358
|
+
const handleAppStateChange = nextAppState => {
|
|
359
|
+
if (appState.current.match(/inactive|background/) && nextAppState === 'active') {
|
|
360
|
+
// Calculate elapsed time and adjust the initial time reference
|
|
361
|
+
const currentTime = Date.now();
|
|
362
|
+
const elapsedTimeInSeconds = Math.floor((currentTime - initialTimeRef.current) / 1000);
|
|
363
|
+
const newRemainingTime = Math.max(0, initialTimerValue - elapsedTimeInSeconds);
|
|
364
|
+
|
|
365
|
+
// Update initial time ref based on new remaining time
|
|
366
|
+
initialTimeRef.current = currentTime - (initialTimerValue - newRemainingTime) * 1000;
|
|
367
|
+
|
|
368
|
+
// Update the timer
|
|
369
|
+
setTimer(newRemainingTime);
|
|
370
|
+
updateTimer();
|
|
371
|
+
}
|
|
372
|
+
appState.current = nextAppState;
|
|
373
|
+
};
|
|
374
|
+
const subscription = AppState.addEventListener('change', handleAppStateChange);
|
|
375
|
+
return () => {
|
|
376
|
+
subscription.remove();
|
|
377
|
+
};
|
|
378
|
+
}, [updateTimer, initialTimerValue]);
|
|
379
|
+
return {
|
|
380
|
+
formattedTime: formatExpiryTime(timer),
|
|
381
|
+
timerValue: timer,
|
|
382
|
+
resetTimer
|
|
383
|
+
};
|
|
384
|
+
};
|
|
322
385
|
const RenderQR = props => {
|
|
323
386
|
var _paymentConfigContext11;
|
|
387
|
+
const [initialTimer, setInitialTimer] = useState(0); //initial timer to start qr expiry hook
|
|
388
|
+
const [isQRExpired, setIsQRExpired] = useState(false);
|
|
389
|
+
const {
|
|
390
|
+
timerValue,
|
|
391
|
+
formattedTime,
|
|
392
|
+
resetTimer
|
|
393
|
+
} = useQRExpiryTimer(initialTimer, () => {
|
|
394
|
+
setIsQRExpired(true);
|
|
395
|
+
});
|
|
324
396
|
const paymentConfigContext = useContext(PaymentContext);
|
|
325
397
|
const [qrData, setQrData] = useState(null);
|
|
326
398
|
const [showStatusModal, setStatusModal] = useState(false);
|
|
327
399
|
const [showRetryModal, setRetryModal] = useState(false);
|
|
328
400
|
const [disableStatusBtn, setDisableStatusBtn] = useState(true);
|
|
329
401
|
const [fetchQR, setFetchQR] = useState(true);
|
|
330
|
-
const
|
|
331
|
-
|
|
402
|
+
const [snackBar, setSnackBar] = useState({
|
|
403
|
+
show: false,
|
|
404
|
+
type: SnackBarType.SUCCESS,
|
|
405
|
+
message: ''
|
|
406
|
+
});
|
|
407
|
+
const onDismissSnackBar = () => {
|
|
408
|
+
setSnackBar({
|
|
409
|
+
show: false,
|
|
410
|
+
message: '',
|
|
411
|
+
type: SnackBarType.SUCCESS
|
|
412
|
+
});
|
|
413
|
+
};
|
|
414
|
+
const statusTimerRef = useRef(null);
|
|
332
415
|
const paymentConfig = props.route.params[RouteParams.ROOT_META_DATA].paymentConfig;
|
|
333
416
|
const paymentRefId = paymentConfig === null || paymentConfig === void 0 ? void 0 : paymentConfig.paymentRefId;
|
|
334
417
|
useEffect(() => {
|
|
@@ -347,6 +430,7 @@ const RenderQR = props => {
|
|
|
347
430
|
const fetchQrCode = async () => {
|
|
348
431
|
var _paymentConfigContext6;
|
|
349
432
|
sendClickEvent('QR_CODE');
|
|
433
|
+
setQrData(null);
|
|
350
434
|
setFetchQR(true);
|
|
351
435
|
let qrParams = {
|
|
352
436
|
refId: paymentRefId,
|
|
@@ -373,10 +457,15 @@ const RenderQR = props => {
|
|
|
373
457
|
// };
|
|
374
458
|
setFetchQR(false);
|
|
375
459
|
const _qrData = paymentResp === null || paymentResp === void 0 ? void 0 : paymentResp.data;
|
|
376
|
-
console.log('_qrData
|
|
460
|
+
console.log('_qrData ', _qrData);
|
|
377
461
|
if (_qrData.data.qrCode) {
|
|
378
|
-
var _paymentConfigContext7;
|
|
462
|
+
var _qrData$data, _paymentConfigContext7;
|
|
379
463
|
setQrData(_qrData);
|
|
464
|
+
if (_qrData !== null && _qrData !== void 0 && (_qrData$data = _qrData.data) !== null && _qrData$data !== void 0 && _qrData$data.expiresIn) {
|
|
465
|
+
var _qrData$data2;
|
|
466
|
+
setInitialTimer(_qrData === null || _qrData === void 0 || (_qrData$data2 = _qrData.data) === null || _qrData$data2 === void 0 ? void 0 : _qrData$data2.expiresIn);
|
|
467
|
+
resetTimer();
|
|
468
|
+
}
|
|
380
469
|
setRetryModal(false);
|
|
381
470
|
await setSharedPrefPaymentData(paymentRefId,
|
|
382
471
|
// props.mergedObjectiveId,
|
|
@@ -412,11 +501,38 @@ const RenderQR = props => {
|
|
|
412
501
|
console.error('QR Gen: ', JSON.stringify((err === null || err === void 0 || (_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : _err$response2.data) || err));
|
|
413
502
|
setFetchQR(false);
|
|
414
503
|
setRetryModal(true);
|
|
504
|
+
} finally {
|
|
505
|
+
setIsQRExpired(false);
|
|
415
506
|
}
|
|
416
507
|
};
|
|
417
508
|
useEffect(() => {
|
|
418
509
|
fetchQrCode();
|
|
419
510
|
}, []);
|
|
511
|
+
|
|
512
|
+
// re-enabling check status button once its completed checking status after 3 seconds
|
|
513
|
+
// using this useEffect because now 'Timer' hook in check status button has been removed
|
|
514
|
+
useEffect(() => {
|
|
515
|
+
// Clear any existing timeout before setting a new one
|
|
516
|
+
if (statusTimerRef.current) {
|
|
517
|
+
clearTimeout(statusTimerRef.current);
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
// Only set a new timeout if `disableStatusBtn` is true
|
|
521
|
+
if (disableStatusBtn) {
|
|
522
|
+
statusTimerRef.current = setTimeout(() => {
|
|
523
|
+
onDismissSnackBar();
|
|
524
|
+
setDisableStatusBtn(false);
|
|
525
|
+
statusTimerRef.current = null; // Reset the ref after timeout
|
|
526
|
+
}, DEFAULT_STATUS_BTN_DEFAULT_TIMER * 1000);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// Clean up the timeout on component unmount
|
|
530
|
+
return () => {
|
|
531
|
+
if (statusTimerRef.current) {
|
|
532
|
+
clearTimeout(statusTimerRef.current);
|
|
533
|
+
}
|
|
534
|
+
};
|
|
535
|
+
}, [disableStatusBtn]);
|
|
420
536
|
const checkStatus = async () => {
|
|
421
537
|
sendClickEvent('CHECK_STATUS');
|
|
422
538
|
setStatusModal(true);
|
|
@@ -463,6 +579,11 @@ const RenderQR = props => {
|
|
|
463
579
|
}
|
|
464
580
|
setStatusModal(false);
|
|
465
581
|
setDisableStatusBtn(true);
|
|
582
|
+
setSnackBar({
|
|
583
|
+
show: true,
|
|
584
|
+
message: `Payment not confirmed. Check again in ${DEFAULT_STATUS_BTN_DEFAULT_TIMER} sec.`,
|
|
585
|
+
type: SnackBarType.PAYMENT_WARNING
|
|
586
|
+
});
|
|
466
587
|
} catch (err) {
|
|
467
588
|
var _err$response3, _err$response4;
|
|
468
589
|
Logger.getInstance().logEvent('~ checkStatus triggered ', JSON.stringify((err === null || err === void 0 || (_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : _err$response3.data) || err), LOG_TYPE.SDK_ERROR);
|
|
@@ -470,19 +591,19 @@ const RenderQR = props => {
|
|
|
470
591
|
setStatusModal(false);
|
|
471
592
|
}
|
|
472
593
|
};
|
|
473
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ProgressDialog, {
|
|
594
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, showStatusModal ? /*#__PURE__*/React.createElement(ProgressDialog, {
|
|
474
595
|
customModalContentStyle: {
|
|
475
596
|
paddingVertical: 40
|
|
476
597
|
},
|
|
477
598
|
visible: showStatusModal,
|
|
478
|
-
label: "
|
|
599
|
+
label: "",
|
|
479
600
|
labelStyle: {
|
|
480
601
|
fontWeight: '400',
|
|
481
602
|
marginTop: 16,
|
|
482
603
|
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
483
604
|
color: '#525B7A'
|
|
484
605
|
}
|
|
485
|
-
})
|
|
606
|
+
}) : fetchQR ? /*#__PURE__*/React.createElement(ProgressDialog, {
|
|
486
607
|
visible: qrData ? false : true,
|
|
487
608
|
customModalContentStyle: {
|
|
488
609
|
paddingVertical: 40
|
|
@@ -532,6 +653,12 @@ const RenderQR = props => {
|
|
|
532
653
|
alignItems: 'center',
|
|
533
654
|
paddingTop: 25
|
|
534
655
|
}
|
|
656
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
657
|
+
style: {
|
|
658
|
+
flexDirection: 'column',
|
|
659
|
+
marginBottom: 24,
|
|
660
|
+
alignItems: 'center'
|
|
661
|
+
}
|
|
535
662
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
536
663
|
style: [CommonStyles.titleText, {
|
|
537
664
|
fontSize: 18
|
|
@@ -543,23 +670,44 @@ const RenderQR = props => {
|
|
|
543
670
|
}]
|
|
544
671
|
}, "Total payable amount"), /*#__PURE__*/React.createElement(Text, {
|
|
545
672
|
style: [CommonStyles.titleText, {
|
|
546
|
-
|
|
547
|
-
|
|
673
|
+
fontWeight: 'bold',
|
|
674
|
+
marginTop: 0
|
|
548
675
|
}]
|
|
549
|
-
}, (paymentConfigContext === null || paymentConfigContext === void 0 || (_paymentConfigContext11 = paymentConfigContext.sdkConfig) === null || _paymentConfigContext11 === void 0 || (_paymentConfigContext11 = _paymentConfigContext11.etConfig) === null || _paymentConfigContext11 === void 0 ? void 0 : _paymentConfigContext11.currencyCode) + ' ' + props.expectedAmount), /*#__PURE__*/React.createElement(
|
|
550
|
-
style: {
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
676
|
+
}, (paymentConfigContext === null || paymentConfigContext === void 0 || (_paymentConfigContext11 = paymentConfigContext.sdkConfig) === null || _paymentConfigContext11 === void 0 || (_paymentConfigContext11 = _paymentConfigContext11.etConfig) === null || _paymentConfigContext11 === void 0 ? void 0 : _paymentConfigContext11.currencyCode) + ' ' + props.expectedAmount), /*#__PURE__*/React.createElement(Text, {
|
|
677
|
+
style: [styles.textStyle1, {
|
|
678
|
+
color: isQRExpired ? '#DC2626' : '#D97706',
|
|
679
|
+
// Red color for expired, yellow for active
|
|
680
|
+
marginTop: 12,
|
|
681
|
+
textAlign: 'center',
|
|
682
|
+
fontSize: 16,
|
|
683
|
+
lineHeight: 24
|
|
684
|
+
}]
|
|
685
|
+
}, isQRExpired ? 'QR code expired. Tap to refresh.' : timerValue <= DEFAULT_MIN_SEC_TO_SHOW_TIMER ? `QR code expires in ${formattedTime}` : null)), /*#__PURE__*/React.createElement(ImageBackground, {
|
|
686
|
+
style: styles.qrImage,
|
|
687
|
+
source: isQRExpired ? require('../../../../icons/blurQRCode.png') : {
|
|
688
|
+
uri: qrData === null || qrData === void 0 ? void 0 : qrData.data.qrCode // The actual QR code image
|
|
554
689
|
},
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
}
|
|
690
|
+
resizeMode: "cover" // Ensures the image fills the container
|
|
691
|
+
}, isQRExpired && /*#__PURE__*/React.createElement(View, {
|
|
692
|
+
style: styles.overlay
|
|
693
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
694
|
+
style: [CommonStyles.nextButton, {
|
|
695
|
+
marginEnd: 5,
|
|
696
|
+
marginTop: 5,
|
|
697
|
+
paddingBottom: 3
|
|
698
|
+
}],
|
|
699
|
+
labelStyle: {
|
|
700
|
+
...CommonStyles.nextButtonLabel,
|
|
701
|
+
fontSize: 14,
|
|
702
|
+
textTransform: 'none'
|
|
703
|
+
},
|
|
704
|
+
mode: 'outlined',
|
|
705
|
+
onPress: fetchQrCode
|
|
706
|
+
}, "Refresh QR Code"))), !isQRExpired && /*#__PURE__*/React.createElement(View, {
|
|
559
707
|
style: {
|
|
560
708
|
marginTop: 24
|
|
561
709
|
}
|
|
562
|
-
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
710
|
+
}, !(props !== null && props !== void 0 && props.showGoBackModal || showStatusModal) && /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
563
711
|
size: "small",
|
|
564
712
|
color: "rgba(107, 142, 255, 1)",
|
|
565
713
|
style: {
|
|
@@ -568,27 +716,33 @@ const RenderQR = props => {
|
|
|
568
716
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
569
717
|
style: CommonStyles.subText
|
|
570
718
|
}, "Waiting for the payment confirmation"))))), /*#__PURE__*/React.createElement(View, {
|
|
719
|
+
style: styles.snackBarContainer
|
|
720
|
+
}, /*#__PURE__*/React.createElement(SnackBarCustom, {
|
|
721
|
+
type: snackBar.type,
|
|
722
|
+
message: `${snackBar.message}`,
|
|
723
|
+
visible: snackBar.show,
|
|
724
|
+
onDismiss: onDismissSnackBar
|
|
725
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
571
726
|
style: {
|
|
572
|
-
padding:
|
|
727
|
+
padding: 16,
|
|
573
728
|
borderWidth: 1,
|
|
574
729
|
borderColor: '#E0E3EB'
|
|
575
730
|
}
|
|
576
|
-
}, /*#__PURE__*/React.createElement(
|
|
577
|
-
style: CommonStyles.subText
|
|
578
|
-
}, "Customer payment successful?"), /*#__PURE__*/React.createElement(View, {
|
|
731
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
579
732
|
style: {
|
|
580
733
|
flexDirection: 'row',
|
|
581
734
|
marginStart: 10,
|
|
582
735
|
marginEnd: 10
|
|
583
736
|
}
|
|
584
737
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
585
|
-
style: [CommonStyles.
|
|
738
|
+
style: [CommonStyles.cancelButton, {
|
|
586
739
|
marginEnd: 5,
|
|
587
740
|
flex: 1
|
|
588
741
|
}, disableStatusBtn ? {
|
|
589
|
-
backgroundColor: '#E0E3EB'
|
|
742
|
+
backgroundColor: '#E0E3EB',
|
|
743
|
+
borderColor: '#E0E3EB'
|
|
590
744
|
} : {}],
|
|
591
|
-
labelStyle: [CommonStyles.
|
|
745
|
+
labelStyle: [CommonStyles.cancelButtonLabel, {
|
|
592
746
|
textTransform: 'capitalize'
|
|
593
747
|
}, disableStatusBtn ? {
|
|
594
748
|
color: '#A3AAC2'
|
|
@@ -596,12 +750,7 @@ const RenderQR = props => {
|
|
|
596
750
|
mode: 'outlined',
|
|
597
751
|
onPress: checkStatus,
|
|
598
752
|
disabled: disableStatusBtn
|
|
599
|
-
},
|
|
600
|
-
ref: statusTimerRef,
|
|
601
|
-
singleValue: true,
|
|
602
|
-
timer: 5,
|
|
603
|
-
onTimerEnd: () => setDisableStatusBtn(false)
|
|
604
|
-
}), ' sec)') : 'Check Status')))));
|
|
753
|
+
}, "Check Payment Status")))));
|
|
605
754
|
};
|
|
606
755
|
const PaymentLink = props => {
|
|
607
756
|
var _props$route$params$R2, _paymentConfigContext16;
|
|
@@ -746,7 +895,7 @@ const PaymentLink = props => {
|
|
|
746
895
|
paddingVertical: 40
|
|
747
896
|
},
|
|
748
897
|
visible: showStatusModal,
|
|
749
|
-
label: "Please wait while we are checking the
|
|
898
|
+
label: "Please wait while we are checking the status",
|
|
750
899
|
labelStyle: {
|
|
751
900
|
fontWeight: '400',
|
|
752
901
|
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
@@ -843,7 +992,7 @@ const PaymentLink = props => {
|
|
|
843
992
|
singleValue: true,
|
|
844
993
|
timer: 5,
|
|
845
994
|
onTimerEnd: () => setDisableStatusBtn(false)
|
|
846
|
-
}), ' sec)') : 'Check Status')))));
|
|
995
|
+
}), ' sec)') : 'Check Payment Status')))));
|
|
847
996
|
};
|
|
848
997
|
const modalStyles = StyleSheet.create({
|
|
849
998
|
modalContent: {
|