Hi!
Yes that should be possible. It is indeed set to do this when an order completes by leveraging WooCommerce’s woocommerce_order_status_completed action – but you can change this and use any other action you feel is suitable – so in outline something like:
add_action( 'init', 'change_wootickets_ticket_gen_action' );
function change_wootickets_ticket_gen_action() {
$instance = TribeWooTickets::get_instance();
$callback = array( $instance, 'generate_tickets';
remove_action( 'woocommerce_order_status_completed', $callback, 12 );
add_action( 'target_action', $callback );
}
You’d need to replace target_action with whatever works in your case – possibly woocommerce_order_status_pending_to_processing – but we’d need to leave you to experiment and research that angle.
Good luck 🙂