"I do not pay for my friends" in English means I, in general, i.e. never, do not pay for my friends. This a case where present tense (am) plus gerund (paying) is used in English to signify "right now" or "this time" and does not exactly equate to an Italian gerund something like "sono pagando". But of course Duolingo is only a poor little algorithm and may not have sufficient artificial intelligence available to factor in this sort of subtlety.
But I agree, the translation "I am not paying for my friends" should definitely be accepted.
It's not always required, but would be necessary in this case to avoid confusion. Just typing "non pago I miei amici" could be understood as "I do not pay my friends". The 'per' helps avoid that confusion. If you were just saying "I do not pay for them", instead of "for my friends", you could use an indirect object pronoun and drop the per. "Non gli pago." [Pronouns were never my strong point, but I believe that is correct]
Very good, you get the point! I just specify: "non gli pago" is not wrong, but unusual: the indirect object pronoun is better used for longer phrases, like "non gli pago la cena", because you want to focus on what you don't pay for them, so the pronoun is good. We usually say "Non pago per loro" when we want to focus on who we don't want to pay for. "Non gli pago" doesn't focus on anything... Italian people would think is useless phrase and would wait you finish it with something more.
People have been reporting for a number of years their dismay that "I am not paying for my friends" is deemed incorrect, I am surprised that whoever monitors the discussion page has not either corrected the provided translation to include "I am not paying for my friends" or stated why this is unacceptable.