NTP-70581 | Account not found in collect request approve decline issue fix (#16439)

This commit is contained in:
Aditya Narayan Malik
2025-06-17 16:38:29 +05:30
committed by GitHub
parent a24a4f2cc6
commit c792b22013
4 changed files with 36 additions and 0 deletions

View File

@@ -94,6 +94,7 @@ import com.navi.pay.management.common.sendmoney.ui.transaction.ledger.TxnLedgerS
import com.navi.pay.management.common.sendmoney.util.SendMoneyBottomSheetType
import com.navi.pay.management.common.sendmoney.viewmodel.SendMoneyViewModel
import com.navi.pay.management.transactionhistory.model.view.TransactionEntity
import com.navi.pay.utils.BANK_ACCOUNT_NOT_PRESENT
import com.navi.pay.utils.COLLECT_REQUEST_ERROR
import com.navi.pay.utils.INTENT_OR_SCAN_PAY_TRANSACTION_ERROR
import com.navi.pay.utils.INVALID_VPA
@@ -290,6 +291,7 @@ fun SendMoneyScreen(
}
}
BANK_ACCOUNT_NOT_PRESENT,
INTENT_OR_SCAN_PAY_TRANSACTION_ERROR,
INVALID_VPA,
PSP_DOWN -> {

View File

@@ -204,6 +204,7 @@ import com.navi.pay.utils.AMOUNT_MAX_LENGTH_BEFORE_DECIMAL
import com.navi.pay.utils.AMOUNT_MAX_LENGTH_BEFORE_DECIMAL_RCC
import com.navi.pay.utils.AMOUNT_MAX_LENGTH_RCC
import com.navi.pay.utils.AT_THE_RATE_CHAR
import com.navi.pay.utils.BANK_ACCOUNT_NOT_PRESENT
import com.navi.pay.utils.COLLECT_REQUEST_ERROR
import com.navi.pay.utils.CREDIT_CARD_AND_SAVINGS_ONLY_ENABLED_ACCOUNTS
import com.navi.pay.utils.CREDIT_LINE_AND_SAVINGS_ONLY_ENABLED_ACCOUNTS
@@ -1850,6 +1851,36 @@ constructor(
// 2nd preference is for eligible account as per source VPA
val bankAccountForSourceVpa = getEligibleBankAccountAsPerSourceVpa()
if (bankAccountForSourceVpa == null && source is SendMoneyScreenSource.CollectRequest) {
notifyError(
errorConfig =
NaviPayErrorConfig(
iconResId = CommonR.drawable.ic_exclamation_red_border,
title =
resourceProvider.getString(
resId = R.string.np_bank_acc_not_present_title
),
description =
resourceProvider.getString(
resId = R.string.np_bank_acc_not_present_desc
),
buttonConfigs =
listOf(
NaviPayErrorButtonConfig(
text =
resourceProvider.getString(resId = R.string.np_okay_got_it),
type = NaviPayButtonTheme.Primary,
action = NaviPayButtonAction.Dismiss,
)
),
cancelable = false,
code = BANK_ACCOUNT_NOT_PRESENT,
tag = BANK_ACCOUNT_NOT_PRESENT,
)
)
return
}
if (bankAccountForSourceVpa != null) {
updateSelectedBankAccountAndHandleConfee(selectedBankAccount = bankAccountForSourceVpa)
return

View File

@@ -362,6 +362,7 @@ const val COLLECT_REQUEST_ERROR = "collectRequestError"
const val INTENT_OR_SCAN_PAY_TRANSACTION_ERROR = "intentOrScanPayTransactionError"
const val QR_ERROR = "invalidQrError"
const val PSP_DOWN = "pspDown"
const val BANK_ACCOUNT_NOT_PRESENT = "bankAccountNotPresent"
const val REDIRECT_TO_HOME = "REDIRECT_TO_HOME"
const val EXTERNAL_VPA_FETCH_ERROR = "externalVpaFetchError"
const val PSP_TYPE = "pspType"

View File

@@ -1164,4 +1164,6 @@
<string name="np_forgot_reset_upi_pin">Forgot? Reset UPI PIN</string>
<string name="np_statement_open_failure_title">No app available to open PDF</string>
<string name="np_statement_open_failure_description">Theres no app on your device that can open PDF files right now. You can still view the file by going to your phones Download folder.</string>
<string name="np_bank_acc_not_present_title">Account used for this payment is no longer linked to Navi UPI</string>
<string name="np_bank_acc_not_present_desc">The account was removed from the Navi UPI and cannot be used to make payment.</string>
</resources>