WooCommerce Order Status Change to 'Completed' based on Product Name and/or Elapsed time

Trying to add a simple condition for WooCommerce Orders, where their status is automatically changed based on Product Names and/or Elapsed time from purchase. I guess it's a simple piece of PHP into functions.php.

We are selling a virtual product that can be bought immediately or the customer can sign up for a 7-day free trial with their payment method, such that the payment is processed after 7 day should the order not be cancelled.

We've set Stripe to only Authorise payment, resulted in the order showing as 'On Hold'. Should the below conditions be met, we'd like to automatically change the Status of these orders to 'Completed':

Condition 1: Product(s) within Order DOES NOT CONTAIN "Free Trial" in name.

Condition 2: 7 days (168 hours) after the Order Date and Time.

Is this possible? Is anyone able to point us in the right direction?

Thanks!