What do you call a person who collects funds for a charity?

That's one definition of a solicitor Merriam has: 'an agent that solicits contributions (as to a charity)'


At least in American English, fundraiser would do it—one who raises funds.

https://www.merriam-webster.com/dictionary/fundraiser


There is also a more jocular term in use in the UK, namely 'charity mugger', sometimes shortened to 'chugger'. 'Charity mugger' would be understood by many (50%, at a guess), whereas 'chugger' is more restricted in use. 'Charity mugger' usually, but not always, goes hand in hand with the image of somebody wearing a hi-vis jacket with the name of their charity printed on the back and carrying a collection 'tin' (often made of plastic nowadays).

While the concept of mugging usually assumes that the mugged person (muggee!) is walking the streets rather than at home, you could certainly extend the use to e.g. "I just got doorstepped by a charity mugger". Along these lines, you could also say "charity doorstepper", which, though not widespread, would be well-understood and is rather accurate. This somewhat derogatory terminology is justified, I believe, given that many of these people specifically target the homes of well-off senior citizens, as I have learned from long observation in West London.