How to prepare a framework for making payments? how the class structure should look like and what major points we need to take care?