Is it possible to sell products using Craft Commerce, where the product may have digital AND non-digital variants?

For example, a greeting card, might be available as a printed card but also as a digital download.

I know there is a Digital Products plugin - however, this seems to require that the product is either digital OR not (it can't be both):

Digital products are similar to Commerce’s core products, except that they don’t have variants

1 Answer 1


You could definitely use standard products/variants to sell something that is digitally delivered. The Digital Products plugin just provides a nicer way to verify the ownership of a purchase, but you can see if someone has purchased a particular variant with something like this:

{% set orders = craft.commerce.orders.user(currentUser).hasPurchasables(product.defaultVariant).find() %}
{% if orders|length %}
 You already purchased this item in </strong> <a href="customer/order?orderNumber={{ orders[0].number }}">Order #{{ orders[0].shortNumber }}</a>
{% endif %}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.