We'll create fresh WordPress site with Product Visibility by User Role for WooCommerce installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Product Visibility by User Role for WooCommerce plugin lets you show/hide WooCommerce products depending on customer’s user role.
You can choose how products should be hidden:
In free version you can set included or excluded user roles for each product individually. If you want to set user roles visibility options in bulk (for multiple products at once, product categories or product tags), please check Product Visibility by User Role for WooCommerce Pro plugin. Pro version also has options to hide menu items, hide product terms, set custom redirect page (i.e. instead of default 404).