GSOC 2012 Project: Improve Payment Module

chillu edited this page Jun 11, 2012 · 22 revisions


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

Detailed scope and timeline


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.

Mailing lists


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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.