How To Add Store Pick Up Delivery in Magento

Recently we were asked how to add a store pick up delivery option in Magento so we thought we would write a tutorial.

We’ve seen various paid Magento extensions that provide this functionality. This guide will show you how to set up store pick up for free but this is an advanced post.

This tutorial will allow you to add store pick up to the Magento checkout page. If you have multiple stores then this tutorial isn’t for you.

Step 1: Login to your Magento store by visiting and logging in using your username and password.

Step 2: In the main menu, hover over ‘System’ and then click ‘Configuration’.

Step 3: On the left hand side click, ‘Shipping Methods’.

Step 4: Setup the Shipping Rate

In the ‘Flat Rate’ panel make sure the ‘Enabled’ drop-down is set to Yes.

In the ‘Title’ box type in your pick-up option eg: ‘Store Pick Up (Farnborough)’. Whatever you put in this text box will be shown to your customers during checkout.

Keep the ‘Method Name’ drop-down set to ‘Fixed’ (Fixed Rate shipping).

Make sure the ‘Type’ drop-down is set to, ‘Per Order’.

In the ‘Price’ text box enter a price of ‘0.00’.

You can set a handling fee using the boxed provided if this is required, otherwise leave these blank.

You can customise the error message but the default is fine in most cases.

Make sure the, ‘Ship to Applicable Countries’ drop-down is set to, ‘Specific Countries’.

In the ‘Ship to Specific Countries’ box click on your desired country – in my case this would be, ‘United Kingdom’.

Then lastly make sure the, ‘Show method if not applicable’ is set to ‘No’ otherwise this delivery option will be shown for UK and International visitors.

Step 5: Save your Magento Config by clicking the save button.

Step 6: Place a test order to see the new delivery option in place.

Magento Checkout Before:

Magento Checkout (Before)

Magento Checkout After:

Magento Checkout (After)

We have also written an article on how to track checkout abandonment rates using Magento and Google Analytics. This allows you to see where visitors are leaving the checkout process so you can improve conversion rates.

Affiliate Disclosure:

We may link to products and online services provided by third-parties. Soe of the links that we post on our site are affiliate links, which means that we receive commission if you purchase the item. We will never recommend a product or service that we have not used ourselves. Our reviews will be honest and we will only recommend something if we have found it useful.


Lacey Tech Solutions publish blog articles to help small businesses. We are not liable for any damages if you choose to follow the advice from our blog.

3 thoughts on “How To Add Store Pick Up Delivery in Magento”

  1. With this method, delivery mails still have to be send to the customer in order to mark the order as “completed”. Or am I missing something? I can’t seem to implement a “Pick Up at store” option without the need to notify the customer his package has been shipped, which makes no sense incase of pickup at store…


    1. Hello Frederik
      This tutorial was put together to show people how to customize the shipping options at a basic level. There are plugins/extensions that provide a back-end interface for setting up ‘pickup at store’ options, which might be good to look into and consider using. From a user experience point of view you would probably want to adjust the onepage checkout process to exclude the payment options panel if a visitor selects store pickup in the delivery option. Some people/companies may want to charge a product holding/reservation fee at point of checkout but this is really outside the scope of this tutorial.

  2. Vision Websoft

    Am looking for a method puts the ‘fixed’ option under ‘Billing’ Information. In this way, customer is clear that they don’t have to ship it! Currently, customers don’t realize that, and sometimes abandon the process under tab 3. So, we shouldn’t have to ask them for Shipping Information if they are doing ‘Store Pickup.’

Leave a Comment

Your email address will not be published. Required fields are marked *