NTP-58677 | Shiv Natani | added clickstream events in one cc for eli… (#15927)

This commit is contained in:
Shiv Natani
2025-04-28 16:51:28 +05:30
committed by GitHub
parent c54c2c0f89
commit a13d15a1e4
3 changed files with 38 additions and 4 deletions

View File

@@ -1726,6 +1726,22 @@ class NaviPaymentAnalytics private constructor() {
eventValues = eventAttributes,
)
}
fun onBankAccountsEligibilityStateUpdate(
tenantFlow: String,
blackListedMethods: List<String>,
eligibilityStateMap: Map<String, String>,
) {
val eventAttributes = buildMap {
put("tenant_flow", tenantFlow)
put("blacklisted_methods", blackListedMethods.toString())
put("eligibility_state_map", eligibilityStateMap.toString())
}
NaviTrackEvent.trackEventOnClickStream(
eventName = "NaviPMT_OneClickCheckoutScreen_BankAccountStateUpdate",
eventValues = eventAttributes,
)
}
}
inner class WebPaymentScreen {

View File

@@ -211,7 +211,7 @@ constructor(
paymentAmountChangeListener()
}
suspend fun setUpOneClickCheckout(
fun setUpOneClickCheckout(
source: PaymentSource,
category: String,
tenantFlowName: String,
@@ -221,6 +221,7 @@ constructor(
this.category = category
this.tenantFlowName = tenantFlowName
this.blacklistedMethodList = blacklistedMethodList
pmsLinkedAccountUseCase.clear()
viewModelScope.safeLaunch {
if (isOneClickCheckoutExperienceEnabled()) {
linkedAccountChangeObserver()
@@ -543,6 +544,12 @@ constructor(
linkedAccounts.associate { it.accountId to it.eligibilityState }
)
}
naviPaymentAnalytics.onBankAccountsEligibilityStateUpdate(
tenantFlow = tenantFlowName,
blackListedMethods = blacklistedMethodList,
eligibilityStateMap =
state.value.accountEligibilityMap.mapValues { it.value.inEligibilityReason },
)
postProcessLinkedAccounts(linkedAccounts)
}
@@ -1117,6 +1124,12 @@ constructor(
linkedAccounts.associate { it.accountId to it.eligibilityState }
)
}
naviPaymentAnalytics.onBankAccountsEligibilityStateUpdate(
tenantFlow = tenantFlowName,
blackListedMethods = blacklistedMethodList,
eligibilityStateMap =
state.value.accountEligibilityMap.mapValues { it.value.inEligibilityReason },
)
postProcessLinkedAccounts(linkedAccounts)
updateSelectedAccount()
updatePaymentCtaState()

View File

@@ -311,6 +311,12 @@ constructor(
onInitialChecksFailure(errorConfig)
return
}
val customerOnboardingEntity =
naviPayCustomerStatusHandler.getCustomerOnboardingEntity(PspType.JUSPAY_AXIS)
if (customerOnboardingEntity == null) {
onInitialChecksFailure(getGenericErrorConfig())
return
}
naviUpiTransactionInfo.selectedBankAccount?.isArcProtected =
naviUpiTransactionInfo.isArcProtected
sendMoneyUseCase.executeSendMoney(
@@ -334,9 +340,8 @@ constructor(
},
onPaymentFailure = { sendMoneyResponse, _ -> onPaymentFailure(sendMoneyResponse) },
customerOnboardingEntity =
naviPayCustomerStatusHandler.getCustomerOnboardingEntity(PspType.JUSPAY_AXIS)
?: return, // TODO: Multibank - Remove hardcoding here after PMS Multi bank
// changes are picked
customerOnboardingEntity, // TODO: Multibank - Remove hardcoding here after PMS Multi
// bank changes are picked
)
}
}