Прежде всего, вы выполняете один и тот же оператор IF два раза подряд.
if (data.payment_type === 'VISA') {
handleVisaPayment
}
if (data.payment_type === 'VISA') {
handleMastercardPayment
}
Я думаю, было бы более логично, если бы ваш второй оператор IF был таким:
if (data.payment_type === 'Mastercard') {
handleMastercardPayment
}
Это похоже на простую ошибку копирования-вставки, но, думаю, на это стоит обратить внимание.
Во-вторых, вы можете реорганизовать свой код с помощью оператора switch. Пример:
switch (data.payment_type) {
case 'VISA':
handleVisaPayment
break;
case 'Mastercard':
handleMastercardPayment
break;
case 'PayPal':
handlePayPalPayment
break;
}
switch (data.shipping) {
case 'Express':
handleExpressShipping
break;
case 'Standard':
handleStandardShipping
break;
}
Это должно сделать ваш код легче читать / поддерживать / добавлять новые функции в будущем. Опять же, я знаю, что он был указан, чтобы избежать использования switch, но это выглядит как самое простое решение здесь.