NTP-49503 | flow type fixes for cart (#15979)

This commit is contained in:
Varun Jain
2025-04-29 15:26:32 +05:30
committed by GitHub
parent 95536eb94e
commit 2c0c85eed5
3 changed files with 27 additions and 13 deletions

View File

@@ -56,6 +56,7 @@ import com.navi.amc.utils.AmcAnalytics.sendTxnFunnelEvent
import com.navi.amc.utils.Constant
import com.navi.amc.utils.Constant.AUTOPAY_TYPE
import com.navi.amc.utils.Constant.AUTO_PAY_CALLBACK_ERROR
import com.navi.amc.utils.Constant.CART_EXPERIMENT_ENABLED
import com.navi.amc.utils.Constant.CHECKER_DATA
import com.navi.amc.utils.Constant.CHECKER_TYPE
import com.navi.amc.utils.Constant.DELETED_SIP_REFERENCE_ID
@@ -82,6 +83,7 @@ import com.navi.amc.utils.toNavigateAmcModule
import com.navi.base.model.ActionData
import com.navi.base.model.CtaData
import com.navi.base.model.LineItem
import com.navi.base.sharedpref.PreferenceManager
import com.navi.base.utils.FAILURE
import com.navi.base.utils.SUCCESS
import com.navi.base.utils.isNotNull
@@ -463,19 +465,25 @@ class CheckerActivity : BasePaymentActivity() {
intent.getStringExtra(FLOW_TYPE).equals(OTP_FLOW_TYPE_SIP_AUTOPAY) &&
response.data?.status == FIREBASE_SUCCESS
) {
val sipDetailsData =
SipDetailsData(
scheme = intent?.getStringExtra(AmcAnalytics.ISIN),
amount = intent?.getStringExtra(Constant.AMOUNT),
frequency = intent?.getStringExtra(Constant.FREQUENCY),
sipDate = intent?.getStringExtra(Constant.SIP_DATE),
paymentMode = intent?.getStringExtra(Constant.PAYMENT_MODE),
orderId = intent?.getStringExtra(ORDER_ID),
autoPayChecked =
intent.getStringExtra(FLOW_TYPE) == OTP_FLOW_TYPE_SIP_AUTOPAY,
deletedSipReferenceId = intent?.getStringExtra(DELETED_SIP_REFERENCE_ID),
)
viewModel.postSipDetails(sipDetailsData)
if (PreferenceManager.getBooleanPreference(CART_EXPERIMENT_ENABLED)) {
val sipRefId = intent?.getStringExtra(SIP_REFERENCE_ID)
viewModel.getSipSuccessPage(sipRefId)
} else {
val sipDetailsData =
SipDetailsData(
scheme = intent?.getStringExtra(AmcAnalytics.ISIN),
amount = intent?.getStringExtra(Constant.AMOUNT),
frequency = intent?.getStringExtra(Constant.FREQUENCY),
sipDate = intent?.getStringExtra(Constant.SIP_DATE),
paymentMode = intent?.getStringExtra(Constant.PAYMENT_MODE),
orderId = intent?.getStringExtra(ORDER_ID),
autoPayChecked =
intent.getStringExtra(FLOW_TYPE) == OTP_FLOW_TYPE_SIP_AUTOPAY,
deletedSipReferenceId =
intent?.getStringExtra(DELETED_SIP_REFERENCE_ID),
)
viewModel.postSipDetails(sipDetailsData)
}
} else if (
intent.getStringExtra(FLOW_TYPE) in
listOf(OTP_FLOW_TYPE_SIP_MANUAL, SETUP_SIP_MANUAL) &&

View File

@@ -46,6 +46,7 @@ import com.navi.amc.utils.Constant.BYPASS_OTP
import com.navi.amc.utils.Constant.FLOW_TYPE
import com.navi.amc.utils.Constant.FLOW_TYPE_SIP_PURCHASE
import com.navi.amc.utils.Constant.LUMPSUM
import com.navi.amc.utils.Constant.NEW_FLOW_TYPE
import com.navi.amc.utils.Constant.ORDER_HEADER_SUBTITLE
import com.navi.amc.utils.Constant.ORDER_HEADER_TITLE
import com.navi.amc.utils.Constant.ORDER_ID
@@ -439,6 +440,8 @@ class PaymentSummaryFragment : AmcBaseFragment() {
footer.nextCta?.parameters?.firstOrNull { it.key == ORDER_TYPE }?.value.orEmpty()
val flowType =
footer.nextCta?.parameters?.firstOrNull { it.key == FLOW_TYPE }?.value.orEmpty()
val newFlowType =
footer.nextCta?.parameters?.firstOrNull { it.key == NEW_FLOW_TYPE }?.value.orEmpty()
buyFlowVM.apply {
fundName = arguments?.getString(ORDER_HEADER_TITLE).orEmpty()
fundId = arguments?.getString(ISIN)
@@ -456,6 +459,7 @@ class PaymentSummaryFragment : AmcBaseFragment() {
putString(ORDER_HEADER_SUBTITLE, orderHeaderSubtitle)
putString(ORDER_TYPE, orderType)
putString(FLOW_TYPE, flowType)
putString(NEW_FLOW_TYPE, newFlowType)
}
updateLoadingState(true)
viewModel.initiateSipPayment(

View File

@@ -61,6 +61,7 @@ import com.navi.amc.utils.Constant.GET_SIP_SUMMARY_BOTTOMSHEET
import com.navi.amc.utils.Constant.MANDATE_OPTED_IN
import com.navi.amc.utils.Constant.MANDATE_OPTED_OUT
import com.navi.amc.utils.Constant.MODIFY_BOTTOM_SHEET
import com.navi.amc.utils.Constant.NEW_FLOW_TYPE
import com.navi.amc.utils.Constant.ORDER_HEADER_SUBTITLE
import com.navi.amc.utils.Constant.PAUSED
import com.navi.amc.utils.Constant.RESUMED
@@ -374,6 +375,7 @@ class SipModifyFragment : AmcBaseFragment(), FooterInteractionListener {
putString(ORDER_TYPE, getParameterValue(ORDER_TYPE))
putString(FLOW_TYPE, getParameterValue(FLOW_TYPE))
putString(ISIN, getParameterValue(ISIN))
putString(NEW_FLOW_TYPE, getParameterValue(NEW_FLOW_TYPE))
}
updateLoadingState(isLoading = true, autoPayCard = false)
viewModel.initiateSipPayment(sipDetailsData, cartRequest = createCartRequest(arguments))