Untitled
unknown
plain_text
7 months ago
2.7 kB
5
Indexable
fun completeWithMasterPass(
masterPassInfoPurchase: MasterPassInfoPurchase? = null,
threeDSecure: Boolean = false
) = viewModelScope.launch {
_loadingFlow.emit(true)
launch pay@{
masterPassInfoPurchase?.let {
val placeOrder = PlaceOrder(
cartId = LoginConstant.CART_CODE,
paymentDetails = PaymentDetails(
installmentCount = selectedInstallments?.count.toString(),
masterPassInfo = masterPassInfoPurchase,
paymentModeOption = PaymentModeOption(code = PaymentType.MASTERPASS_GLOBAL.code),
appliedGiftCard = cart?.appliedGiftCard,
appliedGiftCardTotalPrice = if ((cart?.appliedGiftCardTotalPrice?.value
?: 0.0) > 0
) cart?.appliedGiftCardTotalPrice?.value else null
),
threeDSecure = threeDSecure
)
completeWithPlaceOrder(placeOrder)
return@pay
}
sendPaymentInfoEvent(paymentMethod = "masterpass")
masterPassInitPurchaseFromService().onSuccess { masterPassAccount ->
MasterPassInfo.setMacroMerchantId(masterPassAccount?.macroMerchantId)
purchaseFromMasterPassService(masterPassAccount).onSuccess {
if (it == null) return@pay
val newMasterPassInfoPurchase = MasterPassInfoPurchase(
msisdn = LoginConstant.USER_ID, transactionId = it.refNo,
token = it.token, cardUniqueId = ""
)
val placeOrder = PlaceOrder(
cartId = LoginConstant.CART_CODE,
paymentDetails = PaymentDetails(
installmentCount = selectedInstallments?.count.toString(),
masterPassInfo = newMasterPassInfoPurchase,
paymentModeOption = PaymentModeOption(code = PaymentType.MASTERPASS_GLOBAL.code),
appliedGiftCard = cart?.appliedGiftCard,
appliedGiftCardTotalPrice = if ((cart?.appliedGiftCardTotalPrice?.value
?: 0.0) > 0
) cart?.appliedGiftCardTotalPrice?.value else null
),
threeDSecure = threeDSecure
)
completeWithPlaceOrder(placeOrder)
}
}
}.join()
}Editor is loading...
Leave a Comment