         if let payerCost = paymentData.payerCost {
             return payerCost.totalAmount
         }
-        if let couponAmount = paymentData.discount?.couponAmount {
-            return preferenceAmount - couponAmount + chargeRuleAmount
-        } else {
-            return preferenceAmount + chargeRuleAmount
-        }
+        return amountToPayWithoutPayerCost
     }
 
     var isSplitPayment: Bool {

    }

    var preferenceAmountWithCharges: Double {
        return preferenceAmount + chargeRuleAmount
    }
    
    var amount: Double? {


    private var amountToPayWithoutPayerCost: Double {
        if let couponAmount = paymentData.discount?.couponAmount {
            // preferenceAmount - couponAmount + chargeRuleAmount
            let decimalPreferenceAmount = PXAmountHelper.getRoundedAmountAsNsDecimalNumber(amount: preferenceAmount)
            let decimalCouponAmount = PXAmountHelper.getRoundedAmountAsNsDecimalNumber(amount: couponAmount)
            let decimalChargeRuleAmount = PXAmountHelper.getRoundedAmountAsNsDecimalNumber(amount: chargeRuleAmount)
            
            let sum = (decimalPreferenceAmount.subtracting(decimalCouponAmount)).adding(decimalChargeRuleAmount)
            
            guard let doubleSum = Double(sum.stringValue) else { return preferenceAmount + chargeRuleAmount }
            
            return doubleSum
        } else {
            // preferenceAmount + chargeRuleAmount
            return preferenceAmountWithCharges
        }
    }

