What should I do to make my shoot-em-up game a little more challenging?

This is my shoot-em-up game.

At the moment it feels too easy and like players are getting too many coins.

The thing is what should I increase or decrease to balance the game? For example should players earn less coins per kill of a zombie? Should the gun do less damage?

What should increase as the wave increases?

Decreasing the damage of the gun/increasing HP of zombies is a great way to change the difficulty, but it makes stuff more boring usually. When I play a game and enemies get more HP over time or just have a lot of HP to begin with it is just tedious to kill them.

If you instead change the speed of the zombies/player or maybe the fire-rate/reload-time it could also make the game a bit more difficult without making it feel tedious. Changing the reward is also an option, but it shouldn’t feel daunting to earn coins. (Take GTA for an example, you earn 2-5k from robbing a store while a regular car cost >800k)

Add recoil to your guns, zombies have higher health but lower speed, and some zombies have low health but higher speed, make zombies have some aspect where they can poison a person. Add high price. Use power ups like in Black-Ops Zombies. Make them come around the base, add a task or thing to protect.

the HP of the zombies increases with waves.
The damage of the gun stays the same.

I’m looking for a way to make the game feel challenging, it’ll be difficult to balance but if i pull it off I’ll be good.

making more types of zombies spawn every wave
examples: fast zombie, slow but alot of health zombie, ninja zombie, knight zombie (attacks with a sword) and maybe a big boss at a certain wave

Is there anything else I should add?

Here are some suggestions:

Add obstacles/barriers/cover
Add a powerup/perk system (E.g. one power up that makes the player invisible for a short period of time)
Add different zombie types (E.g. Fast zombies, boss zombies, zombies that explode, etc)
Add a shop that requires the player to spend their coins to buy ammo/items
Add a health system (E.g. A health bar that gets depleted when the player gets hit by a zombie)
Add enemy spawners (E.g. Enemies could spawn from different locations)
Increase the difficulty of the waves (E.g. More zombies spawn and they have more health)
Add special zombies (E.g. Zombies that can’t be killed with regular shots)
Add different weapons (E.g. Shotgun, Assault Rifle, Sniper Rifle, Machine Gun, etc)
Add a life system (E.g. If the player loses all their health they have to start over at wave 1)
Add a save system (E.g. A system that saves the players wave and score when they exit the game and loads it when they come back)
Add a level system (E.g. The more waves the player completes the higher their level and the more perks they can get)
Add a wave counter (E.g. A UI element that tells the player what wave they’re on)
Add a score counter (E.g. A UI element that tells the player what their score is)