public string DoPayment(decimal value) { var antiFraudService = new AntiFraudService(); var bankService = new BankService(); _creditCardService.RequestAuthorize(); _paymentMachineService.ReceiveRequest(); var antiFraudIsValid = antiFraudService.isValid(value); if (!antiFraudIsValid) { return(string.Empty); } var bankBalanceValid = bankService.CheckBalance(); if (bankBalanceValid) { Console.WriteLine("Bank balance Ok"); } else { Console.WriteLine("Bank balance Not Ok"); } _creditCardService.DoPayment(antiFraudIsValid, bankBalanceValid); _paymentMachineService.ReturnRequest(); return($"${value} - Payment OK"); }