I have installed this plugin for a client as he requested, He also requested to add a simple gateway. A gateway that only queries another site and returns an error code or success code based on the transaction. When i started browsing how the gateways and the plugin is built i got a serious headache! I've never seen a code messier then these written in this plugin, I have no idea why people are writing in this type of manner, It's messy, it's not readable, It's written in the worst way possible and worst thing is that it's not even documented. How can one do something about it when he tries to do the least as implement a simple gateway and fails.
It's just a shame, All i wanted is to develop something for this plugin but for a few hours i just tried to figure out why the things that i am trying to do which are very simple just fails when used inside this plugin.
just wanted to share my experience as a developer using and developing for this plugin. I still can't figure out how to add more then just one screen after the checkout process (Wanted to redirect him to another form where he submits his credit card information and then once that form is submitted to redirect him to a page it processes the info provided and returns true/false whether the transaction was completed or not).