Both are possible translations.
If you say this phrase without a context, without a specific dialogue, it sounds like an idiom: За всё надо платить! (Everything has to be payed for, one has to pay for everything)
If you say it as an answer to a specific question if could mean your first version, one person has to pay.
Customer: "За что здесь надо платить?" (What do I have to pay for here?)
Clerk: За всё надо платить, конечно. (For everything, of course)
Customer: И за воду тоже? (And for the water, too?)
Clerk: И за воду! (And for the water!)
для is almost exclusively for situations when someone does something for the benefit of someone else—or when some object is intended for some particular use ("a bowl for sweets"). It is also used to judge something in relation to the norm ("pretty smart for a kid").
За translated as "for" expresses the following meanings:
- exchange/price (which includes thanking someone for what they did)
- supporting a person or a cause
- responsibility for something
The grammar is strange to English-speakers, perhaps a little less so to European Romance language-speakers, especially the word-order, so having difficulty with this sentence is readily understandable.
Katzner's Russian-English dictionary defines надо as an "adverb" meaning "must" - but each example uses the phrase "(one) must" - which means there's an unstated subject "one" (or "you" in colloquial English, where "you" = "one" and not a person you're talking to).
One linguistic device I use to figure this things out is to translate the words one by one, then try to re-arrange them so that they make more sense - then transliterate them into good idiomatic English:
"За - всё - надо - платить"
"For - everything - (one) must/has to - (to) pay"
Re-arranged, that's "(One) must pay for everything"
You could restate that in passive voice as "Everything must/has to be paid for", though I don't know it Duo accepts that.
Or, "It is necessary to pay for everything".
Note: as an adverb, надо is invariable - it doesn't change form.
Is that native English speaker or native Russian speaker? As a native speaker of American English, I would think that you/one must/need to/have to all express a greater level of obligation than you/one should/ought to. I would expect "one should pay for everything" is most likely to show up with a following condition appended, such as "one should pay for everything, but most people don't". I don't really know enough Russian at this point to be sure where надо shows up on this spectrum, but I would guess from earlier comments in this thread that it would fall in the need to or have to range, not should. Others may well correct me!
No. "Everything has to be paid for".
There are some limited contexts under which you can omit "for", such as:
1. I paid him for the meal 2. I paid the check (but I paid for dinner by paying the check :-} )
In English, "to pay" has some idiomatic constructions which are difficult to put into rules.
Надо/нужно as adverbs or нужнен/нужна/нужно/нужны as adjectives seem to take a grammatical role which in Western languages is occupied by "modal verbs" (to be able to (to "can") / to have to (to "must") / to want to) which are "helper" verbs associated with a verb. They're not auxiliary verbs (to have, to be) which are used to create various tense (e.g., "I have gone"), but are still regard as part of the verb structure. They are almost fully conjugated.
That's a big difference in the way that the languages are conceived. Westerners are used to modal verbs, not adverbs or adjectives, performing tasks like saying that "one has to [do something]".
It probably gets even more complicated and removed when the tenses vary from present tense.