Magento store pickup

More and more retailers extend their business into the wonderful realm of eCommerce to offer their goods online. Buying online has been on the rise for a few years now. However there are still a lot of customers that want to explore online, and buy offline, so sometimes it’s all about clicks and bricks.

Magento, by default, does not provides us with the means to allow the customer to shop for a product online, but specifying he or she want to buy the product offline. This free Magento extension will allow the customer to “pick up the product” at your store or offline service location. It will also allow the customer to pay for the product offline.

The solution, “ship” to store, pay offline
This free extension provides you with a simple “shipping” method using a flat-rate (or all free) charging method similar to Magentos’ flat-rate method. On top of that, it will provide a simple payment method that is only available when the customer indicates he or she wants to pick up the order at your store. The payment method can also be used in combination with other shipping methods. After the checkout process orders and invoices created with these methods will specify that the customer wants to pick up the product and that he or she will pay offline.

Magento store pickup

Store pickup during checkout

Installing the extension is easy;
1. Download the zip (DUH!).
2. Extract it’s contents to the root of your Magento installation. You can use FTP to do that. It’s the directory containing index.php [App] [Skin] [Media] among others.
3. Log in to your Magento backend.
4. Go to “System -> Cache Management”, select all options, and in the action dropdown select “Refresh”. Then click the [Submit] button.
5. Log out/in to your backend.
6. Go to “System -> Configuration -> Shipping methods” and expand the “Payment on pickup” section. Change the method name, price and title to something that suits your need and set “Enabled” to “Yes”.
7. Click the [Save Config] button.
8. Go to “System -> Configuration -> Payment methods” and expand the “Pay on pickup” section. Change the title to something that suits your needs. Then drop down the “Pickup method” dropdown and select “[payonpickup] The title you chose in step 6.” (be aware that this drop down is scrollable and may contain a lot of options). You can also use this to make this payment method available for other shipping methods.
9. Click the [Save Config] button.
10. All done!

Gimme! Gimme!
You can download this free extension here. You can check out the demo here.

Like this free extension?
Let us know, and like our Facebook page! Want more? Leave a comment expressing your wishes in regard to this extension, and we will keep you in mind working on updates.

41 thoughts on “Magento store pickup

    • Hi Andrew,

      Hmm you mean as an extra option to that radio button list? That’s not a bad idea. It would make much more sense indeed.

      That would give some issues with OneStepCheckout modules however (as they do not have that piece of template, nor is it abstracted by the Magento core). But we can have a look at this!

      When I have some spare time I’ll check to see if it’s feasible to implement and let you know!

      Thanks for the request!

      • Hi Pieter

        Just to let you know, if it helps … I know this feature is not abstracted by the Magento core, but I have seen some premium (not free) extensions that offer it (all priced per domain). I haven’t implement them, as we have multiple stores. Yours is free, so thanks again!

        I have currently solved this “usability problem” like this:
        1. Deliver to this address (also choose for Pick in Store)
        2. Deliver to different address

        and for now it seem customers digg it.

        All the best,

  1. Hi There,

    nice module but we get the following error when creating an error in the backend?

    “Cannot retrieve payment method instance.”

    We have magento

    Greetings and thanks for the module

  2. Very nice extension! Tested it on a plain and working ok. But now I installed it with One Page Checkout. It does show the store pickup option, but not the payment option. Is this the right place to report or should I go to One Page Checkout? Thx…

    • Hi Trabbie,

      For support, please contact us on Facebook!
      SPAM makes it impossible to monitor conversations here…

      Tell us which OPC extension you are using (Idev? GoMage? etc) and I will point you in the right direction on what to do.

  3. Thank you for this great extension.

    May I ask ?

    Can I replace this text “MYPICKUPADDRESS” to the actual address of the customer ?

    Pick up order at store

    I will pick up the order at MYPICKUPADDRESS $0.00

  4. Ran into an issue with Taxes on this module. Since on the onepage checkout “billing info” comes prior to selecting the “shipping method” Someone can checkout, enter billing info that triggers no shipping tax, select one-page checkout. But if they are picking up at the store – they should be paying the local tax rate.

    You should add a hook to use the store default tax rate when pickup at store is selected.

  5. Hi there,

    I’ve installed this extension, thanks for that! I only have a problem.
    I use a one step checkout from Apptha.

    Now sometimes the option “offline payment” does appear, and sometimes it doesn’t.

    Hope someone can help me with that. You can mail me info AT

    • No it does not support multiple stores. We are working on a (free) storelocator module that supports this feature and we will publish when it is ready. Follow us on Facebook to stay up to date.

  6. This should be modified further.

    What we need is having store pickup option on billing. if it selected it should goes to payment section. Now progress should be updated.

    If they select from store no need to fill shipping addresses.


  7. I’ve installed this module after installing your other module “Defaultdestination”.
    Now the default destination is no longer working. The ‘select shipping method’ block is back again.


  8. The extension is great, but we have one little issue with the order state. We’ve configured the ‘New Order Status’ to ‘Pending’, but unlike i.e. with Cash On Delivery payments, when we create the invoice the status remain ‘Pending’ instead of ‘Processing’. Is there any chance you can fix this?


  9. Hello, I am wondering if this extension is compatible with magento 1.8 because when I install it, it throws an error:

    a:5:{i:0;s:19:”Wrong Content Type.”;i:1;s:2195:”#0 /…/app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php(397): Mage::throwException(‘Wrong Content T…’)


  10. Hi Pieter,

    one small query,

    can i be able to add more than one stores , because my client have more than one store to pickup

    your reply will help me a lot

    Thanks Pieter


  11. Very nice extension, but do not quite know how to set the tax calculation for this type of delivery.
    What must be set in Magento, that if you choose Store Pickup was charged a local tax?

  12. Hi,

    your extension is really nice, but I want to add opening hours to the frontend and order confirmation mail for pay on pickup, it is possible with a few changes?


  13. Just encase someone is getting this error Call to a member function setId() on a non-object in public_html/includes/src/Mage_Shipping_Model_Config.php on line 121

    Clear Cache and either disable or re run compilation

    Clears up right up.

    Thanks for this awesome extension.

  14. I installed your extension. Work like a charm in Magento CE 1.6.0.
    But I need a posibility to hide all other payment methods when store pick up is selected. Can you help me?
    If you need I can offer administrative acces in my site.

  15. Hi Pieter,

    Thanks for your extension. Actually what i need is partially done with your extension.

    Here i need to add one more thing like, I want to cancel that pickup service order automatically if the customer didn’t pickup their items withing scheduled time period. Pls help me for that.

Leave a Reply

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


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>