TP-53401 | Shaurya | purposeCode in SendMoney flow (#9237)
This commit is contained in:
@@ -545,9 +545,11 @@ class NaviPayAnalytics private constructor() {
|
||||
}
|
||||
|
||||
fun onCheckBalanceAccountSelectLand(countOfAccount: Int) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_CheckBalance_Account_select_Landed", mapOf(
|
||||
Pair("no_of_accounts_linked :", countOfAccount.toString())
|
||||
))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_CheckBalance_Account_select_Landed", mapOf(
|
||||
Pair("no_of_accounts_linked :", countOfAccount.toString())
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
fun onCheckBalanceAccountClicked(account: LinkedAccountEntity, isMpinSet: Boolean) {
|
||||
@@ -1354,47 +1356,63 @@ class NaviPayAnalytics private constructor() {
|
||||
}
|
||||
|
||||
// This class handles all the events for the NaviPayTransactionDetailsScreen and NaviPayPaymentStatusScreen
|
||||
inner class NaviPayTransactionDetailsSectionBase {
|
||||
inner class NaviPayTransactionDetailsSectionBase {
|
||||
|
||||
// Common events starts from here for both screens
|
||||
fun onCheckBalanceClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_CheckBalance_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_CheckBalance_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onShareReceiptClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_ShareReceipt_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_ShareReceipt_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onTransactionHistoryClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_TransactionHistory_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_TransactionHistory_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onPayAgainClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_PayAgain_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_PayAgain_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onUmnIdClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_UmnId_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_UmnId_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onCopyUPITransactionIdClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_UPIRequestId_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_UPIRequestId_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onCopyNaviTransactionIdClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetailSection_NaviTransactionId_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetailSection_NaviTransactionId_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
fun onCopyVpaClicked(source: String) {
|
||||
NaviTrackEvent.trackEventOnClickStream("NaviPay_TransactionDetails_CopyVPA_Clicked",
|
||||
mapOf("source" to source))
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_TransactionDetails_CopyVPA_Clicked",
|
||||
mapOf("source" to source)
|
||||
)
|
||||
}
|
||||
|
||||
// Common events ends here for both screens
|
||||
@@ -1457,7 +1475,8 @@ class NaviPayAnalytics private constructor() {
|
||||
|
||||
fun onPaymentSuccess(
|
||||
source: SendMoneyScreenSource, transactionType: UpiTransactionType,
|
||||
upiRequestId: String
|
||||
upiRequestId: String,
|
||||
purposeCode: String
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_SendMoney_PaymentSuccess",
|
||||
@@ -1465,6 +1484,7 @@ class NaviPayAnalytics private constructor() {
|
||||
"source" to (source::class.simpleName ?: ""),
|
||||
"transactionType" to transactionType.name,
|
||||
"upiRequestId" to upiRequestId,
|
||||
"purposeCode" to purposeCode,
|
||||
"source2" to source.asString()
|
||||
)
|
||||
)
|
||||
@@ -1473,7 +1493,8 @@ class NaviPayAnalytics private constructor() {
|
||||
fun onPaymentDeclined(
|
||||
source: SendMoneyScreenSource,
|
||||
transactionType: UpiTransactionType,
|
||||
upiRequestId: String
|
||||
upiRequestId: String,
|
||||
purposeCode: String
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_SendMoney_PaymentDeclined",
|
||||
@@ -1481,7 +1502,8 @@ class NaviPayAnalytics private constructor() {
|
||||
Pair("source", source::class.simpleName ?: ""),
|
||||
Pair("transactionType", transactionType.name),
|
||||
"upiRequestId" to upiRequestId,
|
||||
"source2" to source.asString()
|
||||
"source2" to source.asString(),
|
||||
"purposeCode" to purposeCode
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -1489,7 +1511,8 @@ class NaviPayAnalytics private constructor() {
|
||||
fun onPaymentPending(
|
||||
source: SendMoneyScreenSource,
|
||||
transactionType: UpiTransactionType,
|
||||
upiRequestId: String
|
||||
upiRequestId: String,
|
||||
purposeCode: String
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_SendMoney_PaymentPending",
|
||||
@@ -1497,6 +1520,7 @@ class NaviPayAnalytics private constructor() {
|
||||
Pair("source", source::class.simpleName ?: ""),
|
||||
Pair("transactionType", transactionType.name),
|
||||
"upiRequestId" to upiRequestId,
|
||||
"purposeCode" to purposeCode,
|
||||
"source2" to source.asString()
|
||||
)
|
||||
)
|
||||
@@ -1538,6 +1562,7 @@ class NaviPayAnalytics private constructor() {
|
||||
transactionType: UpiTransactionType,
|
||||
upiRequestId: String,
|
||||
payButtonSource: String,
|
||||
purposeCode: String
|
||||
) {
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
"NaviPay_SendMoney_PayClicked",
|
||||
@@ -1546,6 +1571,7 @@ class NaviPayAnalytics private constructor() {
|
||||
Pair("transactionType", transactionType.name),
|
||||
Pair("upiRequestId", upiRequestId),
|
||||
Pair("payButtonSource", payButtonSource),
|
||||
Pair("purposeCode", purposeCode),
|
||||
"source2" to source.asString()
|
||||
)
|
||||
)
|
||||
|
||||
@@ -64,10 +64,12 @@ import com.navi.pay.management.common.sendmoney.model.view.UpiTransactionType
|
||||
import com.navi.pay.management.common.sendmoney.util.SendMoneyBottomSheetType
|
||||
import com.navi.pay.management.common.sendmoney.util.SendMoneyUtils.bottomSheetScrimColor
|
||||
import com.navi.pay.management.common.sendmoney.viewmodel.SendMoneyViewModel
|
||||
import com.navi.pay.management.lite.util.UPILitePurposeCodes
|
||||
import com.navi.pay.management.transactionhistory.model.view.TransactionEntity
|
||||
import com.navi.pay.onboarding.account.detail.model.view.LinkedAccountEntity
|
||||
import com.navi.pay.utils.ACTION_PIN_SET
|
||||
import com.navi.pay.utils.COLLECT_REQUEST_ERROR
|
||||
import com.navi.pay.utils.DEFAULT_UPI_PURPOSE
|
||||
import com.navi.pay.utils.INTENT_OR_SCAN_PAY_TRANSACTION_ERROR
|
||||
import com.navi.pay.utils.INVALID_VPA
|
||||
import com.navi.pay.utils.NAVI_PAY_PAYMENT_PENDING_LOTTIE
|
||||
@@ -424,7 +426,8 @@ private fun LoadingStates(
|
||||
naviPayAnalytics.onPaymentSuccess(
|
||||
source = sendMoneyScreenSource,
|
||||
transactionType = transactionType,
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId,
|
||||
purposeCode = screenState.transactionEntity.transactionDetailEntity.metaData.purposeCode
|
||||
)
|
||||
|
||||
val mediaPlayer = remember {
|
||||
@@ -456,7 +459,8 @@ private fun LoadingStates(
|
||||
naviPayAnalytics.onPaymentPending(
|
||||
source = sendMoneyScreenSource,
|
||||
transactionType = transactionType,
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId,
|
||||
purposeCode = screenState.transactionEntity.transactionDetailEntity.metaData.purposeCode
|
||||
)
|
||||
val transactionEntity = screenState.transactionEntity
|
||||
goToPaymentSummaryScreen(
|
||||
@@ -473,7 +477,8 @@ private fun LoadingStates(
|
||||
naviPayAnalytics.onPaymentDeclined(
|
||||
source = sendMoneyScreenSource,
|
||||
transactionType = transactionType,
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId
|
||||
upiRequestId = screenState.transactionEntity.transactionDetailEntity.metaData.upiReqId,
|
||||
purposeCode = screenState.transactionEntity.transactionDetailEntity.metaData.purposeCode
|
||||
)
|
||||
resultNavigator.navigateBack(result = SendMoneyUserAction.PaymentDeclined)
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ import com.navi.pay.utils.BANK_ACCOUNT_UNIQUE_ID
|
||||
import com.navi.pay.utils.COLLECT_REQUEST_ERROR
|
||||
import com.navi.pay.utils.ConfigKey
|
||||
import com.navi.pay.utils.DEFAULT_UPI_CURRENCY
|
||||
import com.navi.pay.utils.DEFAULT_UPI_PURPOSE
|
||||
import com.navi.pay.utils.INTENT_OR_SCAN_PAY_TRANSACTION_ERROR
|
||||
import com.navi.pay.utils.INVALID_VPA
|
||||
import com.navi.pay.utils.KEY_IS_FIRST_TRANSACTION_SUCCESSFUL
|
||||
@@ -922,7 +923,8 @@ class SendMoneyViewModel @Inject constructor(
|
||||
source = source,
|
||||
transactionType = transactionType,
|
||||
upiRequestId = upiRequestId,
|
||||
payButtonSource = payButtonSource
|
||||
payButtonSource = payButtonSource,
|
||||
purposeCode = if (isPaymentFromLiteAccount) UPILitePurposeCodes.SEND_MONEY.purposeCode else DEFAULT_UPI_PURPOSE
|
||||
)
|
||||
|
||||
// TODO: Try directly updating payeeEntity & check the flow
|
||||
|
||||
Reference in New Issue
Block a user