Setting a minimum order value

There maybe times that you want to set a minimum order value on your website.

This can be achieved by requiring that one of the checkout totals (e.g. the product total cost, or the grand total of the order (including delivery) is greater than the minimum order value you set.

On the checkout_basket view at the top of the content set a new variable, e.g.

{% set minimum_order_value = 25.00 %}

You can change 25.00 to whatever minimum order value you want to enforce.

Locate the buttons that enable the user to submit the basket form - these will usually be towards the very bottom of the page file.

The code to display the buttons will depend on the theme you are using.

The buttons need to be surrounded with an if statement to test whether or not the value of the order is greater than your minimum order value, e.g.

{{ html.button('', '', 'Proceed To Checkout', 'expanded button') }}
{% if basket.paypal_express_enabled %}
    {{ html.button('paypal_express', '1', 'PayPal Express', 'expanded button') }}
{% endif %}

becomes...

{% if basket.total > minimum_order_value %}
    {{ html.button('', '', 'Proceed To Checkout', 'expanded button') }}
    {% if basket.paypal_express_enabled %}
        {{ html.button('paypal_express', '1', 'PayPal Express', 'expanded button') }}
    {% endif %}
{% else %}
    You will need to order a minimum of {{ minimum_order_value }} in order to proceed to checkout
{% endif %}

The exact variable to use in the test, e.g. basket.total will depend on whether you want to include the delivery cost when deciding whether a user has met the minimum order charge. You can view the available basket variables here.

Please note that the above example does not include the necessary Javascript that would be needed to determine if a delivery rate is chosen that means the customer's order is over the minimum order value.