You can conditionally display the price and/or quantity for a product by using the logged-in-ness of a customer. An example, from _product.liquid
:
{% if site.logged_in? %} <td class="price"> {% unless product.buylist_mode? %} {% if product.msrp_to_f > variant.sell_price_to_f %} <span class="msrp price">{{ product.msrp }}</span> {% endif %} {% endunless %} {{ variant.price }} </td> <td class="qty">x {{ variant.qty }}</td> <td class="buy_button"> {% if site.may_add_to_cart? %} {% if product.preorder? %} {{ "Preorder Now" | link_to_add_cart_with_qty: product, variant }} {% else %} {{ "Buy" | link_to_add_cart_with_qty: product, variant }} {% endif %} {% endif %} </td> {% elsif %} <td colspan="3">Login to view price and quantity</td> {% endif %}
The important part being the {% if site.logged_in? %}
tag.