NTP-13907 | PS | improved analytics logging (#13998)
This commit is contained in:
@@ -15,6 +15,7 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.NAVI_PMT_
|
||||
import com.navi.common.network.models.ErrorMessage
|
||||
import com.navi.common.network.models.GenericErrorResponse
|
||||
import com.navi.payment.nativepayment.db.model.TransactionStatusRequestEntity
|
||||
import com.navi.payment.paymentscreen.model.ErrorReason
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
import com.navi.payment.utils.usecases.CardValidator
|
||||
import com.navi.payment.utils.usecases.ExpiryDateValidator
|
||||
@@ -588,7 +589,7 @@ class NaviPaymentAnalytics private constructor() {
|
||||
fun onSdkPaymentError(provider: String, error: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName =
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.SDK_INTEGRATION_SCREEN.screenName}_error",
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.SDK_INTEGRATION_SCREEN.screenName}_Error",
|
||||
eventValues = mapOf("provider" to provider, "error" to error)
|
||||
)
|
||||
}
|
||||
@@ -636,21 +637,21 @@ class NaviPaymentAnalytics private constructor() {
|
||||
inner class ErrorBottomSheet {
|
||||
fun onPrimaryCtaClick(primaryButtonText: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "${NAVI_PMT}_error_BottomSheetPrimaryCtaClick",
|
||||
eventName = "${NAVI_PMT}_ErrorBottomSheet_PrimaryCtaClick",
|
||||
eventValues = mapOf("cta_text" to primaryButtonText)
|
||||
)
|
||||
}
|
||||
|
||||
fun onSecondaryCtaClick(secondaryButtonText: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "${NAVI_PMT}_error_BottomSheetSecondaryCtaClick",
|
||||
eventName = "${NAVI_PMT}_ErrorBottomSheet_SecondaryCtaClick",
|
||||
eventValues = mapOf("cta_text" to secondaryButtonText)
|
||||
)
|
||||
}
|
||||
|
||||
fun onDismissClick() {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "${NAVI_PMT}_error_BottomSheetDismissClick"
|
||||
eventName = "${NAVI_PMT}_ErrorBottomSheet_DismissClick"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -667,9 +668,11 @@ class NaviPaymentAnalytics private constructor() {
|
||||
additionalDescription: String?,
|
||||
title: String,
|
||||
description: String,
|
||||
errorReason: ErrorReason
|
||||
) {
|
||||
val map =
|
||||
mapOf(
|
||||
Pair("error_reason", errorReason.toString()),
|
||||
Pair("screenName", screenName),
|
||||
Pair("apiUrl", apiUrl.toString()),
|
||||
Pair("statusCode", statusCode.orEmpty()),
|
||||
|
||||
@@ -35,6 +35,7 @@ import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import com.google.gson.Gson
|
||||
import com.navi.alfred.AlfredManager
|
||||
import com.navi.base.utils.isNotNull
|
||||
import com.navi.base.utils.isNotNullAndNotEmpty
|
||||
import com.navi.base.utils.isNull
|
||||
@@ -90,8 +91,8 @@ import com.navi.payment.nativepayment.utils.toGenericError
|
||||
import com.navi.payment.nativepayment.viewmodel.MPSViewModel
|
||||
import com.navi.payment.nativepayment.viewmodel.NaviPaymentViewModel
|
||||
import com.navi.payment.navigator.NaviPaymentDeeplinkNavigator
|
||||
import com.navi.payment.paymentscreen.model.MPSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.NaviPayProcessPayload
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorData
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatus
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
@@ -260,7 +261,7 @@ fun MPSScreen(
|
||||
MPSScreenUtils.MPSScreenType.Error(
|
||||
PaymentErrorData(
|
||||
error = upiError,
|
||||
errorReason = MPSErrorReason.UPIError
|
||||
errorReason = PMSErrorReason.UPIError
|
||||
)
|
||||
),
|
||||
true
|
||||
@@ -641,15 +642,16 @@ fun MPSScreen(
|
||||
.errorData
|
||||
|
||||
paymentViewModel.sendEvent(
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.MINI_PAYMENT_SCREEN.screenName}_error",
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.MINI_PAYMENT_SCREEN.screenName}_Error",
|
||||
mapOf(
|
||||
"error_reason" to errorData?.errorReason.toString(),
|
||||
"error_code" to errorData?.error?.code.orEmpty(),
|
||||
"error_status_code" to errorData?.error?.statusCode.toString(),
|
||||
"error_exception" to errorData?.error?.logMessage.orEmpty(),
|
||||
"error_title" to errorData?.error?.title.orEmpty(),
|
||||
"error_message" to errorData?.error?.message.orEmpty(),
|
||||
"error_data" to errorData?.error.toString(),
|
||||
"apiUrl" to errorData?.error?.apiUrl.orEmpty(),
|
||||
"statusCode" to errorData?.error?.statusCode.toString(),
|
||||
"genericErrorCode" to errorData?.error?.code.orEmpty(),
|
||||
"exception" to errorData?.error?.logMessage.orEmpty(),
|
||||
"title" to errorData?.error?.title.orEmpty(),
|
||||
"additionalDescription" to
|
||||
errorData?.error?.additionalDescription.toString(),
|
||||
"isRetryOnConnectionFaliureEnabled" to
|
||||
FirebaseRemoteConfigHelper.getBoolean(NAVI_PMT_RETRY_POLICY_ENABLED)
|
||||
.toString(),
|
||||
@@ -658,7 +660,10 @@ fun MPSScreen(
|
||||
NAVI_PMT_API_CONNECT_TIMEOUT,
|
||||
20L
|
||||
)
|
||||
.toString()
|
||||
.toString(),
|
||||
"genericErrorData" to errorData?.error.toString(),
|
||||
"description" to errorData?.error?.message.orEmpty(),
|
||||
"alfredSessionId" to AlfredManager.getAlfredSessionId()
|
||||
)
|
||||
)
|
||||
BottomSheetContentWithVerticalPrimarySecondaryButton(
|
||||
|
||||
@@ -148,6 +148,15 @@ fun TransactionPollingScreen(
|
||||
}
|
||||
|
||||
LaunchedEffect(key1 = Unit) {
|
||||
paymentViewModel.sendEvent(
|
||||
eventName =
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.TRANSACTION_POLLING_SCREEN.screenName}_Landed",
|
||||
additionalParams =
|
||||
mapOf(
|
||||
"screenName" to
|
||||
NaviPaymentAnalyticScreenName.TRANSACTION_POLLING_SCREEN.screenName
|
||||
)
|
||||
)
|
||||
paymentViewModel.sendEvent(
|
||||
eventName =
|
||||
"${NAVI_PMT}_${NaviPaymentAnalyticScreenName.TRANSACTION_POLLING_SCREEN.screenName}_PollingLoadInit",
|
||||
|
||||
@@ -34,7 +34,7 @@ import com.navi.payment.nativepayment.utils.getPayloadBasedOnType
|
||||
import com.navi.payment.nativepayment.utils.toGenericErrorResponse
|
||||
import com.navi.payment.nativepayment.viewmodel.NaviPaymentBaseVM
|
||||
import com.navi.payment.network.util.PaymentsSdkRetrofit
|
||||
import com.navi.payment.paymentscreen.model.MPSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorData
|
||||
import com.navi.payment.utils.Constants
|
||||
import com.navi.payment.utils.Constants.DATA
|
||||
@@ -110,7 +110,7 @@ constructor(
|
||||
val error = response.toGenericErrorResponse()
|
||||
paymentDataProvider.add(
|
||||
ERROR_RESPONSE,
|
||||
PaymentErrorData(error = error, errorReason = MPSErrorReason.GetMethodsError)
|
||||
PaymentErrorData(error = error, errorReason = PMSErrorReason.GetMethodsError)
|
||||
)
|
||||
}
|
||||
paymentDataProvider.add(SDK_PARAMS, paymentSdkInitParams)
|
||||
|
||||
@@ -63,6 +63,7 @@ import com.navi.payment.nativepayment.presentation.reducer.ErrorDetails
|
||||
import com.navi.payment.nativepayment.repository.PaymentRepository
|
||||
import com.navi.payment.paymentscreen.model.ExternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.ExternalProcessPayload
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatus
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
@@ -422,7 +423,7 @@ constructor(
|
||||
}
|
||||
} else {
|
||||
isInteractionAllowed = true
|
||||
handleError(response)
|
||||
handleError(response = response, errorReason = PMSErrorReason.PayNowError)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ import com.navi.payment.nativepayment.utils.toGenericErrorResponse
|
||||
import com.navi.payment.nativepayment.utils.updateAccountEligibilityStatus
|
||||
import com.navi.payment.nativepayment.utils.updateUpiAccountsRanking
|
||||
import com.navi.payment.network.util.PaymentsSdkRetrofit
|
||||
import com.navi.payment.paymentscreen.model.MPSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorData
|
||||
import com.navi.payment.paymentscreen.model.PaymentFeedbackConfig
|
||||
import com.navi.payment.paymentscreen.model.PaymentFeedbackRequest
|
||||
@@ -442,7 +442,7 @@ constructor(
|
||||
errorData =
|
||||
PaymentErrorData(
|
||||
error = errorResponse,
|
||||
errorReason = MPSErrorReason.PayNowError
|
||||
errorReason = PMSErrorReason.PayNowError
|
||||
)
|
||||
),
|
||||
bottomSheetStateChange = true
|
||||
@@ -507,7 +507,7 @@ constructor(
|
||||
MPSScreenUtils.MPSScreenType.Error(
|
||||
PaymentErrorData(
|
||||
error = response.toGenericErrorResponse(),
|
||||
errorReason = MPSErrorReason.GetMethodsError
|
||||
errorReason = PMSErrorReason.GetMethodsError
|
||||
)
|
||||
),
|
||||
bottomSheetStateChange = true
|
||||
@@ -517,7 +517,7 @@ constructor(
|
||||
} else {
|
||||
CheckMateManager.logAppErrorEvent(
|
||||
metricInfo = MetricInfo.PMSMetric<Any>(screen = screenName),
|
||||
errorCode = MPSErrorReason.TokenNotFoundError.toString(),
|
||||
errorCode = PMSErrorReason.TokenNotFoundError.toString(),
|
||||
errorTitle = resourceProvider.getString(R.string.something_went_wrong),
|
||||
errorDes = resourceProvider.getString(R.string.technical_issue),
|
||||
)
|
||||
@@ -526,7 +526,7 @@ constructor(
|
||||
bottomSheetUIState =
|
||||
MPSScreenUtils.MPSScreenType.Error(
|
||||
errorData =
|
||||
PaymentErrorData(errorReason = MPSErrorReason.TokenNotFoundError)
|
||||
PaymentErrorData(errorReason = PMSErrorReason.TokenNotFoundError)
|
||||
),
|
||||
bottomSheetStateChange = true
|
||||
)
|
||||
|
||||
@@ -97,6 +97,7 @@ import com.navi.payment.paymentscreen.model.ExternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.IntentUriPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.InternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.NaviPayProcessPayload
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatus
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
@@ -846,7 +847,10 @@ constructor(
|
||||
if (errorConfig.code == CANCEL) {
|
||||
transactionStatus = TransactionStatus.USER_CANCELLED_TRANSACTION.name
|
||||
} else {
|
||||
handleError(errorConfig.toGenericError())
|
||||
handleError(
|
||||
genericErrorResponse = errorConfig.toGenericError(),
|
||||
errorReason = PMSErrorReason.UPIError
|
||||
)
|
||||
}
|
||||
notifyNaviUpiExitWithError(transactionStatus, errorConfig)
|
||||
}
|
||||
@@ -1047,7 +1051,7 @@ constructor(
|
||||
} else {
|
||||
showLoader(false)
|
||||
updateBottomSheetUIState(false)
|
||||
handleError(response)
|
||||
handleError(response = response, errorReason = PMSErrorReason.PayNowError)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1211,7 +1215,7 @@ constructor(
|
||||
if (response.isSuccessWithData()) {
|
||||
paymentDataProvider.updatePaymentMethodResponse(response.data)
|
||||
} else {
|
||||
handleError(response)
|
||||
handleError(response = response, errorReason = PMSErrorReason.GetMethodsError)
|
||||
}
|
||||
_state.update { npsScreenState.copy(isLoading = false) }
|
||||
}
|
||||
|
||||
@@ -21,6 +21,8 @@ import com.navi.payment.nativepayment.utils.NaviPaymentEventHandler
|
||||
import com.navi.payment.nativepayment.utils.getGenericPaymentErrorConfig
|
||||
import com.navi.payment.nativepayment.utils.toGenericErrorResponse
|
||||
import com.navi.payment.nativepayment.utils.toPaymentNaviPaymentErrorConfig
|
||||
import com.navi.payment.paymentscreen.model.ErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import dagger.Lazy
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -39,11 +41,16 @@ abstract class NaviPaymentBaseVM(open val screenName: String) : BaseVM() {
|
||||
* @param shouldNotifyError Flag indicating if the error should be notified.
|
||||
* @param T The type of the API response.
|
||||
*/
|
||||
fun <T> handleError(response: RepoResult<T>, shouldNotifyError: Boolean = true) {
|
||||
fun <T> handleError(
|
||||
response: RepoResult<T>,
|
||||
shouldNotifyError: Boolean = true,
|
||||
errorReason: ErrorReason? = null
|
||||
) {
|
||||
sendFailureEvent(
|
||||
screenName = screenName,
|
||||
genericError = response.errors?.firstOrNull(),
|
||||
localError = response.error
|
||||
localError = response.error,
|
||||
errorReason = errorReason ?: PMSErrorReason.Unknown
|
||||
)
|
||||
if (shouldNotifyError) {
|
||||
val errorConfig = response.toGenericErrorResponse().toPaymentNaviPaymentErrorConfig()
|
||||
@@ -56,11 +63,12 @@ abstract class NaviPaymentBaseVM(open val screenName: String) : BaseVM() {
|
||||
*
|
||||
* @param genericErrorResponse The generic error response.
|
||||
*/
|
||||
fun handleError(genericErrorResponse: GenericErrorResponse?) {
|
||||
fun handleError(genericErrorResponse: GenericErrorResponse?, errorReason: ErrorReason? = null) {
|
||||
sendFailureEvent(
|
||||
screenName = screenName,
|
||||
genericError = genericErrorResponse,
|
||||
localError = null
|
||||
localError = null,
|
||||
errorReason = errorReason ?: PMSErrorReason.Unknown
|
||||
)
|
||||
val naviPaymentErrorConfig =
|
||||
genericErrorResponse?.toPaymentNaviPaymentErrorConfig()
|
||||
@@ -80,9 +88,10 @@ abstract class NaviPaymentBaseVM(open val screenName: String) : BaseVM() {
|
||||
private fun sendFailureEvent(
|
||||
screenName: String,
|
||||
genericError: GenericErrorResponse?,
|
||||
localError: ErrorMessage?
|
||||
localError: ErrorMessage?,
|
||||
errorReason: ErrorReason
|
||||
) {
|
||||
val eventName = "${NAVI_PMT}_${screenName}_error"
|
||||
val eventName = "${NAVI_PMT}_${screenName}_Error"
|
||||
|
||||
naviPaymentAnalytics.onError(
|
||||
eventName = eventName,
|
||||
@@ -96,7 +105,8 @@ abstract class NaviPaymentBaseVM(open val screenName: String) : BaseVM() {
|
||||
localError = localError,
|
||||
title = genericError?.title ?: localError?.message.orEmpty(),
|
||||
description = genericError?.message ?: localError?.description.orEmpty(),
|
||||
moduleName = ModuleNameV2.PG.name
|
||||
moduleName = ModuleNameV2.PG.name,
|
||||
errorReason = errorReason
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.navi.payment.nativepayment.presentation.reducer.NetBankingScreenState
|
||||
import com.navi.payment.nativepayment.repository.PaymentRepository
|
||||
import com.navi.payment.network.util.PaymentsSdkRetrofit
|
||||
import com.navi.payment.paymentscreen.model.ExternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PayNowResponse
|
||||
import com.navi.payment.paymentscreen.utils.PaymentScreenUtil
|
||||
import com.navi.payment.turbocheckout.model.NetBankingPayNowRequest
|
||||
@@ -314,7 +315,7 @@ constructor(
|
||||
}
|
||||
}
|
||||
} else {
|
||||
handleError(response)
|
||||
handleError(response = response, errorReason = PMSErrorReason.PayNowError)
|
||||
_state.update { it.copy(selectedBank = null) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ constructor(
|
||||
val errorData =
|
||||
paymentDataProvider.getAndRemove(PaymentDataProvider.ERROR_RESPONSE)
|
||||
as PaymentErrorData?
|
||||
errorData?.let { handleError(it.error) }
|
||||
errorData?.let { handleError(it.error, it.errorReason) }
|
||||
?: run {
|
||||
paymentDataProvider.paymentMethodResponse.collectLatest {
|
||||
(it as? SdkPaymentMethodResponse?)?.let { paymentMethodResponse ->
|
||||
|
||||
@@ -35,7 +35,7 @@ import com.navi.payment.nativepayment.utils.getGenericPaymentErrorConfig
|
||||
import com.navi.payment.nativepayment.utils.nextPollRequired
|
||||
import com.navi.payment.nativepayment.utils.toGenericErrorResponse
|
||||
import com.navi.payment.nativepayment.utils.toPaymentNaviPaymentErrorConfig
|
||||
import com.navi.payment.paymentscreen.model.MPSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorData
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorDataWrapper
|
||||
import com.navi.payment.paymentscreen.model.TransactionPollingApiState
|
||||
@@ -150,7 +150,7 @@ constructor(
|
||||
errorData?.errorConfig
|
||||
?: transactionStatusData.toGenericErrorResponse(),
|
||||
feedbackConfig = errorData?.feedbackConfig,
|
||||
errorReason = MPSErrorReason.TransactionPollingFailure
|
||||
errorReason = PMSErrorReason.TransactionPollingFailure
|
||||
)
|
||||
)
|
||||
} else {
|
||||
@@ -184,11 +184,14 @@ constructor(
|
||||
ERROR_RESPONSE,
|
||||
PaymentErrorData(
|
||||
error = error,
|
||||
errorReason = MPSErrorReason.TransactionPollingError
|
||||
errorReason = PMSErrorReason.TransactionPollingError
|
||||
)
|
||||
)
|
||||
} else {
|
||||
handleError(error)
|
||||
handleError(
|
||||
genericErrorResponse = error,
|
||||
errorReason = PMSErrorReason.TransactionPollingError
|
||||
)
|
||||
}
|
||||
_paymentTransactionStatusPolling.emit(
|
||||
TransactionPollingApiState.Failure(
|
||||
|
||||
@@ -59,6 +59,7 @@ import com.navi.payment.paymentscreen.model.ExternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.IntentUriPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.InternalPayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.NaviPayProcessPayload
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PayNowResponse
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatus
|
||||
import com.navi.payment.paymentscreen.model.TransactionStatusRequest
|
||||
@@ -383,7 +384,7 @@ constructor(
|
||||
}
|
||||
} else {
|
||||
showLoader(false)
|
||||
handleError(response)
|
||||
handleError(response = response, errorReason = PMSErrorReason.PayNowError)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,7 +398,10 @@ constructor(
|
||||
if (errorConfig.code == CANCEL) {
|
||||
transactionStatus = TransactionStatus.USER_CANCELLED_TRANSACTION.name
|
||||
} else {
|
||||
handleError(errorConfig.toGenericError())
|
||||
handleError(
|
||||
genericErrorResponse = errorConfig.toGenericError(),
|
||||
errorReason = PMSErrorReason.UPIError
|
||||
)
|
||||
}
|
||||
notifyNaviUpiExitWithError(transactionStatus, errorConfig)
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ import com.navi.payment.nativepayment.utils.toGenericErrorResponse
|
||||
import com.navi.payment.nativepayment.utils.updateAccountEligibilityStatus
|
||||
import com.navi.payment.nativepayment.utils.updateUpiAccountsRanking
|
||||
import com.navi.payment.network.util.PaymentsSdkRetrofit
|
||||
import com.navi.payment.paymentscreen.model.MPSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PMSErrorReason
|
||||
import com.navi.payment.paymentscreen.model.PaymentErrorData
|
||||
import com.navi.payment.turbocheckout.model.PayAmountRequest
|
||||
import com.navi.payment.turbocheckout.ui.PayNowState
|
||||
@@ -240,7 +240,7 @@ constructor(
|
||||
} else {
|
||||
CheckMateManager.logAppErrorEvent(
|
||||
metricInfo = MetricInfo.PMSMetric<Any>(screen = screenName),
|
||||
errorCode = MPSErrorReason.TokenNotFoundError.toString(),
|
||||
errorCode = PMSErrorReason.TokenNotFoundError.toString(),
|
||||
errorTitle = resourceProvider.getString(R.string.something_went_wrong),
|
||||
errorDes = resourceProvider.getString(R.string.technical_issue),
|
||||
)
|
||||
|
||||
@@ -13,16 +13,18 @@ import kotlinx.parcelize.Parcelize
|
||||
interface ErrorReason : Parcelable
|
||||
|
||||
@Parcelize
|
||||
sealed class MPSErrorReason : Parcelable, ErrorReason {
|
||||
data object UPIError : MPSErrorReason()
|
||||
sealed class PMSErrorReason : Parcelable, ErrorReason {
|
||||
data object UPIError : PMSErrorReason()
|
||||
|
||||
data object PayNowError : MPSErrorReason()
|
||||
data object PayNowError : PMSErrorReason()
|
||||
|
||||
data object TransactionPollingError : MPSErrorReason()
|
||||
data object TransactionPollingError : PMSErrorReason()
|
||||
|
||||
data object GetMethodsError : MPSErrorReason()
|
||||
data object GetMethodsError : PMSErrorReason()
|
||||
|
||||
data object TransactionPollingFailure : MPSErrorReason()
|
||||
data object TransactionPollingFailure : PMSErrorReason()
|
||||
|
||||
data object TokenNotFoundError : MPSErrorReason()
|
||||
data object TokenNotFoundError : PMSErrorReason()
|
||||
|
||||
data object Unknown : PMSErrorReason()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user