Cálculo de CFT

Cálculo de CFT

ℹ️

Este proceso es obligatorio

En esta fase, se calcula el monto de la operación junto con el CFT correspondiente.

Requisitos

  • Monto de la operación
  • Monto del CFT
  • Código de moneda

Resultado

Después de realizar la consulta, se obtendrá el monto total incluido el CFT.

Paso a paso

  1. Instanciar el objeto FinancialCost.
  2. Invocar el método getAmountWithCft.
  3. Recuperar el resultado

Ejemplo de implementación

val financialCostCore = FinancialCost(
    acquirer = Acquirer.GPS.name,
    brand = financialCost?.brand,
    installment = financialCost?.installment,
    financialCost = financialCost?.financialCost!!
)
val totalAmountWithCft =
    getAmountWithCft(amountTransaction, financialCostCore, currency)

Para facilitar la integración, Menta provee de una función que permite recuperar un listado que contiene el número de cuota y el monto total incluido el CFT.

private fun calculateTotalAmountWithCft(
        amountTransaction: String,
        financialCosts: List<FinancialCostDTO?>,
        currency: String
    ): List<InstallmentWithTotal> {
        return financialCosts.map { financialCost ->
            val financialCostCore = FinancialCost(
                acquirer = Acquirer.GPS.name,
                brand = financialCost?.brand,
                installment = financialCost?.installment,
                financialCost = financialCost?.financialCost!!
            )
            val totalAmountWithCft =
                getAmountWithCft(amountTransaction, financialCostCore, currency)
            InstallmentWithTotal(
                installment = financialCost.installment!!,
                totalAmountWithCft = totalAmountWithCft
            )
        }
    }
  • Cuando el usuario seleccione la cuota que desea, se debe setear este valor y el nuevo monto total (incluido CFT) en el objeto OperationFlow:
private val operationFlow: OperationFlow?
        get() = OperationFlowHolder.operationFlow
 
operationFlow?.installments =
    installmentWithTotal.installment.toString().padStart(2, '0')
operationFlow?.amount?.total = installmentWithTotal.totalAmountWithCft