Vous avez déjà trouvé une solution ?
Le code ci-dessous fonctionne pour marquer une commande comme terminée, mais n'exécute pas d'autres actions comme vous le décrivez dans l'administrateur
// create a new checkout instance and order id
$checkout = new WC_Checkout();
$this_order_id = $checkout->create_order();
$order = new WC_Order($this_order_id);
$order->update_status('completed');