NTP-4075 | Fixed initiation mode for intent pay (#12634)
This commit is contained in:
@@ -10,6 +10,7 @@ package com.navi.pay.onboarding.launcher.viewmodel
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.navi.base.utils.isNotNullAndNotEmpty
|
||||
import com.navi.base.utils.orFalse
|
||||
import com.navi.common.network.models.RepoResult
|
||||
import com.navi.common.network.models.isSuccessWithData
|
||||
@@ -47,6 +48,7 @@ import com.navi.pay.onboarding.launcher.model.view.LauncherScreenToNextScreenNav
|
||||
import com.navi.pay.utils.DEFAULT_INITIATION_MODE_INTENT_MANDATE_AND_TRANSACTION
|
||||
import com.navi.pay.utils.IS_DELAYED_ONBOARDING_ENABLED
|
||||
import com.navi.pay.utils.IS_FROM_IAN
|
||||
import com.navi.pay.utils.NAVI_PAY_DEFAULT_MCC
|
||||
import com.navi.pay.utils.NAVI_PAY_ENCRYPT_SHARED_PREF_DATA_KEYS
|
||||
import com.navi.pay.utils.NAVI_PAY_INTENT_COLLECT_HOST
|
||||
import com.navi.pay.utils.NAVI_PAY_INTENT_MANDATE_HOST
|
||||
@@ -281,12 +283,10 @@ constructor(
|
||||
)
|
||||
}
|
||||
}
|
||||
NAVI_PAY_INTENT_PAY_HOST -> { // For intent pay initiation mode should
|
||||
// always be 04
|
||||
val payeeEntity =
|
||||
upiUriResult.payeeEntity.copy(
|
||||
mode = DEFAULT_INITIATION_MODE_INTENT_MANDATE_AND_TRANSACTION
|
||||
)
|
||||
NAVI_PAY_INTENT_PAY_HOST -> {
|
||||
|
||||
var payeeEntity = upiUriResult.payeeEntity
|
||||
|
||||
val validateVpaAPIResponse =
|
||||
validateVpaUseCase.execute(
|
||||
request =
|
||||
@@ -298,7 +298,7 @@ constructor(
|
||||
)
|
||||
)
|
||||
|
||||
val payeeEntityWithVpaDataAdded =
|
||||
payeeEntity =
|
||||
payeeEntity.copy(
|
||||
isMerchant =
|
||||
validateVpaAPIResponse.data?.isMerchant
|
||||
@@ -309,14 +309,26 @@ constructor(
|
||||
mcc = validateVpaAPIResponse.data?.mcc ?: payeeEntity.mcc,
|
||||
name = validateVpaAPIResponse.data?.name ?: payeeEntity.name,
|
||||
bankCode = validateVpaAPIResponse.data?.bankCode,
|
||||
isNpciData = validateVpaAPIResponse.data?.isNpciData ?: false
|
||||
isNpciData = validateVpaAPIResponse.data?.isNpciData ?: false,
|
||||
)
|
||||
|
||||
// For intent pay, initiation mode should be 04 for non P2P payments
|
||||
if (
|
||||
payeeEntity.mcc.isNotNullAndNotEmpty() &&
|
||||
payeeEntity.mcc != NAVI_PAY_DEFAULT_MCC
|
||||
) {
|
||||
payeeEntity =
|
||||
payeeEntity.copy(
|
||||
mode =
|
||||
DEFAULT_INITIATION_MODE_INTENT_MANDATE_AND_TRANSACTION
|
||||
)
|
||||
}
|
||||
|
||||
updateNaviPaySessionId()
|
||||
updateNavigateToNextScreenValue(
|
||||
value =
|
||||
LauncherScreenToNextScreenNavigate.IntentPay(
|
||||
payeeEntity = payeeEntityWithVpaDataAdded
|
||||
payeeEntity = payeeEntity
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user