What would be the best way of adding an Agree to Terms checkbox during the the checkout process of craft commerce? I'm thinking this would be best in the address section.
We've implemented this using front end JS, simply don't allow submission until it is ticked, but you could (and/or) in theory add a field to your orders and then validate it as set during the onBeforeSaveOrder event I guess? If not set, you'd set
$event->performAction to false to stop the order being saved and show an error in your template.
...but frond end JS is probably going to be the easier route here.