GSOC 2012 Project: Improve Payment Module
Clone this wiki locally
The payment module enables processing of payments for any DataObject that is “payable”. It is a standalone module which is used for many different e-commerce solutions and can incorporate many different payment gateways.
This project aims to:
- Improve / standardize the API
- Improve unit test coverage and framework for payment gateways
- Review current payment gateways and incorporate more
- Improve recurring payment for gateways that support it
- Student: Ryan Dao / Skype: duong_d3 / IRC: @ryandao
- Mentor: Frank Mullenger - blog / IRC @tankr / Skype @frankmullenger81
- Mentor: Jeremy Shipman - IRC/forums: Jedateach, skype: @jezait, github: jedateach & burnbright, twitter
Status, Source, and Documentation
Change Process (draft)
This is how work will be done on this project
- Community discussion (mainly in the mailing list) about upcoming changes, features. This means everyone gets a chance to have their say, and express their opinions.
- Features, fixes, changes implemented in student's own fork of the module.
- Pull requests sent to main repository for owners/mentors to merge into main code.
- SilverStripe Core Development
- SilverStripe Ecommerce - for majority of technical discussion regarding this project
- SilverStripe GSOC
Timeline (taken from Ryan's proposal)
May 7th – 13th: Familiarize with the code and the community; discuss implementation plan with the mentors.
May 14th – 20th: Refactor the Payment API and separate the gateway providers to submodules. Ensure that all gateways work after separation.
May 21th – June 3rd: Study all payment gateways’ API and test environments. Implement a generic testing framework for all gateways.
June 4th – 17th: Implement specific testing strategies for each gateway, which includes setting up API test environments and unit testing.
June 18th – June 24th: Ensure all test cases work correctly and all aspects of the payment gateway handlers are tested thoroughly.
June 25th – July 8th: Integrate Google Checkout and other gateways.
July 9th - July 13th: Submitting mid term evaluation.
July 9th – July 22nd: Refactor the recurring payment API. Implement Paypal recurring payment.
July 23rd – July 29th: Do more testing and refactoring. Make sure all payment gateways work perfectly.
July 30st – August 13th: Further refine tests and documentation for the whole project.