Create and reset a reproducible sandbox

I would like to run my tests against a standardized sandbox that contains the products and prices of my application.

Is there a way to create a sandbox from a template or reset a manually created sandbox to its initial state, ie without customers, payments, etc.?

Is there a way to create such sandboxes automatically when running a test suite?

Thank you for your help.