in src/Feature/Cart/code/Scripts/checkout.js [592:636]
function updatePaymentAllAmount() {
var ccIsAdded = checkoutDataViewModel.creditCardPayment().isAdded();
var gcIsAdded = checkoutDataViewModel.giftCardPayment().isAdded();
var lcIsAdded = checkoutDataViewModel.loyaltyCardPayment().isAdded();
if (!ccIsAdded && !gcIsAdded && !lcIsAdded) {
return;
}
var total = parseFloat(checkoutDataViewModel.cart().totalAmount());
var lcAmount = parseFloat(checkoutDataViewModel.loyaltyCardPayment().loyaltyCardAmount());
var gcAmount = parseFloat(checkoutDataViewModel.giftCardPayment().giftCardAmount());
var ccAmount = parseFloat(checkoutDataViewModel.creditCardPayment().creditCardAmount());
var aTotal = parseFloat(lcAmount + gcAmount + ccAmount);
if (aTotal === total) {
return;
}
var count = 0
if (lcIsAdded) {
++count;
}
if (gcIsAdded) {
++count;
}
if (ccIsAdded) {
++ccount;
}
if (aTotal > total) {
var diff = (aTotal - total) / count;
lcAmount = lcIsAdded ? lcAmount - diff : 0;
gcAmount = gcIsAdded ? gcAmount - diff : 0;
ccAmount = ccIsAdded ? ccAmount - diff : 0;
} else if (aTotal < total) {
var diff = (total - aTotal) / count;
lcAmount = lcIsAdded ? lcAmount + diff : 0;
gcAmount = gcIsAdded ? gcAmount + diff : 0;
ccAmount = ccIsAdded ? ccAmount + diff : 0;
}
checkoutDataViewModel.loyaltyCardPayment().loyaltyCardAmount((lcAmount).toFixed(2));
checkoutDataViewModel.giftCardPayment().giftCardAmount((gcAmount).toFixed(2));
checkoutDataViewModel.creditCardPayment().creditCardAmount((ccAmount).toFixed(2));
}