The AccessType supports different payment gateways like Stripe, Razorpay, Paypal, GooglePay etc. As of now all these are integrated in AccessType application but, when we look at scalability and are in the expansion phase across geographies, we expect more PG integration requests coming based on geography and clients. This mean our product team would need to spend hours integrating them separately & also reprioritising the other planned features to ensure clients are unblocked. This also mean a direct impact for our prospect clients to plan their GTM.
To remove this dependency we decided to separate out PG integration from the AccessType main application and make it an independent codebase which will have separate ruby gem acting as a wrapper to the payment gateway. Every new PG integration request that come our way through client can be outsourced to our tech partners or client’s in-house dev team can create the gem based on the pre-requisites defined in this section below. The AccessType product team will install that gem and it should have all the necessary methods of PG that are required by AccessType for managing the subscription.
We have created a base structure which will be used for integrating any PG in the AccessType. which much be followed while creating a gem to be compatible with the AccessType. As a product team we have created a payment adapter gem for Razorpay payment gateway and the same can be used by our clients/tech partners as a sample code to generate respective gems.