public String makePayment(double paymentAmount) throws NegativePaymentAmountException {
        if (paymentAmount < 0) {
            throw new NegativePaymentAmountException();
        } else if (paymentAmount == 0) {
            return "Payment processed";
        } else if (paymentAmount > 0 && paymentMethod == null) {
            return "You have insufficient funds for this transaction";
        } else {
            try {
                paymentMethod.processPayment(paymentAmount);
                return "Payment processed";
            } catch (InsufficientFundsException e) {
                return "You have insufficient funds for this transaction";
            }
        }
    }