Create ERC 20 token but have a small fee go to a treasury wallet

we are creating an ERC 20 token on Avalanche blockchain that would be used for funding some volunteer projects , charity etc.
How can I set it up that every time someone buys tokens a small fee like 3-5% can be paid to a Treasury wallet which will be used for charity purposes. We want it to be built into automatically.

Or should we go with option to mint some extra token and send to treasury wallet as a %age ?
Example if someone buys 100 tokens, then mint an additional 3 tokens and transfer to the treasury address?