I’m a family photographer and this is what I do:
I accept payments through my Pixieset site. Before that I just used Venmo or cash app.
I always always require deposit. They prevent cold feet. I charge 50%
I always get paid before the shoot. I do no take photos without payment in full. Yes editing is work too but, taking the photos is sorta the whole point.
I send my contract also through Pixieset. You could use another method but that’s what works for me.