Я бы просто создал функцию, которая изменяет плату в зависимости от выбранного радиовхода, обновляю внутренний html вашего элемента платы, а затем просто применяю это к каждому событию метода оплаты onclick.
Функция :
function selectPayment(type) {
let fee;
if(type === 'Credit Card') {
fee = 5;
}
if(type === 'Qris') {
fee = 10;
}
((REPEAT FOR EACH PAYMENT TYPE))
((CALCULATE TOTAL HERE))
document.getElementById('fee').innerHTML = "Fee: $" + fee;
}
Затем примените эту функцию к onclick каждого радиоэлемента.
<label class="btn bg-payment btn-primary form-check-label full-width-height">
<input name="pay" value="credit_card" class="form-check-input" type="radio" autocomplete="off" onclick="selectPayment('Credit Card')" required> Credit Card </label>
Вот базовая c ручка, которая делает именно это: https://codepen.io/sted6/pen/rNxvRdm
Очевидно, вам нужно настроить его, чтобы отображать плату, как вы хотите, и установить правильные суммы, а какие нет, но эта общая методология должна работать.