The overall goal of this project was to enable our client Vesta Corporation to integrate Global Payments
as a payment processor to handle a particular type of transaction. Since
Application Integration in the payment space is where Stenium's expertise resides,
Vesta contracted Stenium to integrate and validate the Global Payment platform into its existing PCI-compliant payment processing system.
Project Management, Architecture & Design, Java Solution Development, Java Simulator Development, Use Case Documentation, Coordination of Production Rollout, Documentation
Agile Development, Java, Tomcat 6, SQL Server
Every organization relies on internal processes to ensure consistency. Our first order of business was to synch with our client's processes early. Espousing our client's project management flow and software release process was key to making this integration realize effectively. Weekly meeting and constant contact helped ensure sufficient communication.
Our second order of business was to scope the project and design a mapping for data, transactional state machines, messaging and workflows as well as devise a scheme for the creation of new merchant accounts. We characterized a subset of the "Global Transport API" sufficient for mapping and drafted a solution design and exhaustive scenarios which we reviewed with Vesta's Architecture Team. Once approved we proceeded with the corresponding Java and Database development.
During implementation we deliberately made extensive use of our client's existing Java frameworks. The purpose is two-fold: firstly, by not re-inventing the wheel, the resulting application code has a smaller footprint and is easier to maintain as well as easier to review. Secondly, the learning curve for internal resources to later take over the code base is greatly reduced, resulting in a cost saving - and less headache - for our client.
On the database front we kept complexity at a minimum by introducing the least amount of changes. This also helped reduce the amount of data migration during rollout.
To assist our client's Quality Assurance team we also delivered a simulation tool early on so that validation automation scripts could be started as a concurrent unit of work. This helped bring the schedule in by a few weeks. Automation is always good!
To deploy the solution in our client's production environment, we jointly designed a roll plan and validation tests. We then supported IT during deployment by testing payments through various channels. We also made sure to be available post-deployment to assist with any issue, although no significant post-roll issue needed to be addressed.
Successful Payment Integration involves both technical and relational skills. On the technical side a keen understanding of payment transactions, PCI compliance, the ability to design data and workflow mappings, and the capacity to translate this in code are imperative. But first and foremost - and this may seem obvious - understanding and adapting to a customer's process really reduces chances for mis-communication and helps any payment integration proceed smoothly.