We have handsome library of cakephp modules at my workplace, and we develop custom websites at good pace until the shopping cart comes our way to slow down the process. I have used various (Magento, Opencart, Zencart) shopping carts in different project, where we have to merge them with our core cakephp application. Usually very custom requirements make the shopping cart non-upgradable and takes lot of time.

I am thinking to make our own shopping cart (quite basic at present, and will we extended as we move on) from scratch so it can adapt the custom requirements easily. Is it worth doing?

UPDATE 24-Aug-11

I continued developing our own shopping cart. Here are my experiences that i want to share with you guys.


  1. New cart is easy to change and extend.
  2. It saves time when we have vague or custom requirements, and allow us to directly import modules from our existing code library.
  3. No need for dual template implementation for cart & custom website.
  4. Single admin panel for our shopping cart & custom website.


  1. Still not mature enough w.r.t other carts in market.
  2. Security concerns. We mostly rely on cakephp security.
  3. Lacks functionality

Problems faced

  1. Developing Shipping/Payment gateways was the real pain. As @davidhaskins pointed out

It saved us significant time which we might have spent hacking standard shopping carts to meet our needs

closed as not constructive by Jim G., user40980, gnat, DeveloperDon, BЈовић Feb 26 '13 at 7:03

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.


I have done it in the past, but I'll never do it again. Integrating payment options (called "payment gateways" as mentioned in the comments below) was the real pain. I don't recommend it, but I'm not in the same exact situation you are in. I guess it depends on your needed customizations.

  • Thats what always prevented me from wanting to build my own store: Integrating with Paypal or some credit card company. – TheLQ Jul 13 '11 at 16:28
  • 3
    Payment gateway integration is always the killer. I would stick with one of the carts that has a good selection of payment gateways, and possibly wrap it in a facade to provide the customisation required. – wolfgangsz Jul 13 '11 at 16:50
  • +1 for highlighting the key problematic area (payment gateways) in custom shop – ish1301 Jul 13 '11 at 18:27

I was an eCommerce specialist for something like four years, almost exclusively using Magento. In my opinion, the buy vs. build depends entirely on the volume of transactions and other situation-specific needs.

Magento is an amazing distribution (although that may change with eBay's acquisition) - a lot of the things that you don't really want to have to do are done for you. There's extensive integration with shipping and merchant/payment gateways. Those are tough things to hammer out when building a system. I agree with your assertion that they're hard to upgrade, but if you design your deployment with future upgrades in mind, it will lessen the blow when it does become time to upgrade.

I've recently tried working with Presta Shop and committing some resources/code to their project, but I haven't heard anything back. It is another very well built, modern package that handles smaller stores much more efficiently than Magento.

Either way, I think the question isn't whether you should build one yourself, but how you can create cake plugins that connect with the APIs. I think that would be extremely high value. Alternatively, you could learn to deploy these systems as full site systems, as Magento is pretty capable as a CMS.


I think you've already answered your own question. Integrating with other carts takes too much time for you. So sure, why not try to make your own that better integrates into your system? The main drawback is you wont get all the bells and whistles of an existing cart, and you'll have some learning curves in dealing with payment apis. But if your needs are modest, you'll be re-using it, and ultimately it'd be good for your company, I dont see any reason not to give it a try.


I would advise against it strongly, unless you are prepared to support it full time. Vulnerabilities in shopping cart applications are aggressively exploited, and can result in exposed credit card data. And once you start running afoul of PCI standards, the headaches pile up.

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