automate recurring billing and integrate with .net app hosted in Azure

Answered automate recurring billing and integrate with .net app hosted in Azure

  • Tuesday, August 21, 2012 12:18 PM
     
     

    Hi, we use a cloud based application hosted in Windows Azure (its is based on c# .net) and also deskp top applications to manage recurring billing for our customers. But with several payment gateways, we want to create a solution that will allow us to integrate with several payment gateways and automate recurring payment for our customer.   Appreciate your ideas on how we can go ahead and building/implementing such solution.

    Also, if we move to another cloud, we want to make sure that we can take the framework and use it in that cloud environment. 

    Thank you

All Replies

  • Tuesday, August 21, 2012 12:33 PM
     
     Answered

    Your requirement seem to be straight forward. Your solution should be able to facilitate the onboarding of new payment gateways through configuration. All you need to do is build a .net library that supports provider model. The libary could be combination of several base providers, extend them with concrete providers for different payment gateways, providers will contain, configuration, payment, fulfillment, notification etc...

    You need to instrument the wrapper using all the libraries mentioned above and build interfaces on top of it for user interaction. Ofcourse security should span across all the layers (you can leverage the convinient security architecture for your requriement).

    When it comes to migration to other cloud, as long as you design your application in to components and losely coupled archicture, it is always easy to migrate to any other environment.

    If you want fork lift and shift way of doing the things, azure has lot of choices in the form of

    1) VM Role

    2) Azure peristent VMs

    3) Azure web sites

    4) SQL database on azure IaaS VM

    5) If you use webrole / worker role , partially if you re write some code for webrole/worker role you can easily migrate your application.

    In any of the above methods you service librariries will still remain as is and be ready for portable to any other environment.

    This is just a high level idea, please let me know for any specifics.



    Please mark the replies as Answered if they help and Vote if you found them helpful.

  • Tuesday, August 21, 2012 11:10 PM
     
     

    Your requirement seem to be straight forward. Your solution should be able to facilitate the onboarding of new payment gateways through configuration. All you need to do is build a .net library that supports provider model. The libary could be combination of several base providers, extend them with concrete providers for different payment gateways, providers will contain, configuration, payment, fulfillment, notification etc...

    You need to instrument the wrapper using all the libraries mentioned above and build interfaces on top of it for user interaction. Ofcourse security should span across all the layers (you can leverage the convinient security architecture for your requriement).

    Hi Veerendra, thanks for sharing this information. Could you please elaborate on ".NET library that support provider model and base class etc." I saw similar posting on the net. Is that going to be a entity - relationship tables and a .net classes? 
  • Wednesday, August 22, 2012 3:47 AM
     
     Proposed

    It is actually the design pattern i mentioned. If you want to learn more about provider pattern please refer to this documenation.

    Some articles here.

    If you have any specific questions please let me know.



    Please mark the replies as Answered if they help and Vote if you found them helpful.

    • Proposed As Answer by Veerendra Kumar Wednesday, August 22, 2012 3:47 AM
    •  
  • Tuesday, August 28, 2012 1:31 PM
     
     
    Hi veerendra, thanks for sharing additional the information.  It looks like the collections of class diagram to structure the solution. but how does this fit in database. I am assuming that we need to create the objects Entity Relations in a chosen database.  Most of the gateways offer the API and there are some standard parameters that they expect to pass, while there are some unique ones specific to each of them. I am trying to see how the class will help us to deal with many providers?  So essentially, we would use the class to store the common values. Is that right? It would be better if you could illustrate the point with a very simple example (blogs are too verbose to the point where they me overkill)