insurance_premium_applicable) && $proFormaInvoice->insurance_premium_applicable == 1 && isset($proFormaInvoice->insurance_premium_by_merchant) && $proFormaInvoice->insurance_premium_by_merchant == 2) ? ($proFormaInvoice->insurance_premium_amount ?? 0) : 0; return $approvedAmount + $insuranceInLoan; } /** * Calculates the withheld (liability hold) amount. * Base = approved_amount (+ insurance if added in loan) - upfront_from_customer * * @param float $approvedAmount * @param float $upfrontFromCustomer * @param float $liabilityPercent * @param object|null $proFormaInvoice * @return float */ public static function calculateLiabilityHoldAmount($approvedAmount, $upfrontFromCustomer, $liabilityPercent, $proFormaInvoice) { $base = self::getLiabilityLoanBase($approvedAmount, $proFormaInvoice) - $upfrontFromCustomer; return round($base * $liabilityPercent / 100, 2); } }