If you are looking for a payment gateway for ePDQ I’m not releasing my module commercially but there is now an offical ePDQ module available
After the initial excitement that an ePDQ module was available for Magento this turned out not to be true. The module stopped development a couple of versions ago so is no longer compatible with the latest version of Magento.
Developing for Magento is not straightforward. I had thought that a working knowledge of the Zend Framework would stand me in good stead but the Magento developers have extended this framework to bring some excellent features into play. These are not really documented anywhere however so I had to pick my way through a fair bit of source code to understand how Namespacing and the configuration setup worked for modules.
I used the Wiki article on creating a Custom Module with Custom Database Table and also used the excellent Module Creator available on that page. This set up a bare bones module and also helped me to understand how Magento works.
I worked through the PayPal module and within a couple of days understood how Magento manages code and also front end templates. I have to confess that this was a bit painful at times. There isn’t a great deal of documentation available other than the phpDocs. Coming from a product like ExpressionEngine the forums are much less busy so I found a couple of questions I had went unanswered.
On the ePDQ side the supporting documents are pretty good, although the support model relies on speaking to a developer at ePDQ. I found the support excellent once they did respond to my enquiries, but that it did take a little time. I wonder why they don’t have forums where users can help each other out? I was incorrect in part one of this series that ePDQ doesn’t have a sandbox available. Once I requested one this was set up pretty quickly.
So now I have a working module that I’ve shown to the client and that they are happy with. With a bit of tarting up I might even package it up as a product.
Now that I’ve got my head around the architecture and namespacing (which is an great extension to PHP’s native capabilities) I’m very impressed with Magento. For an Open Source project it is highly customisable and extendible. I’m now moving onto working with the client to define a structure for their products. I’ll post about this process shortly.
My impressions so far are that even a relatively experienced PHP coder will need to take a day or so to become familiar with the architecture and setup of Magento. Once the learning curve is over it seems a very powerful piece of kit.
Have an update or suggestion for this article? You can edit it here and send me a pull request.