Debugging Razorpay ( Ruby ) Api Requests
Razorpay is one of the best payment gateway in India. With Subscriptions and other products, it surely has taken over other alternatives.
Razorpay APIs are available for use but SDK’s are not yet updated fully to interact with them. While integrating subscriptions, we took a stride to update the SDK for our needs.
We were integrating with Ruby on Rails App and wanted to use Razorpay Ruby SDK.
As we were dealing with Razorpay platform and ruby-sdk first time, we wanted to be sure of API calls being sent in correct way and wanted to analyse the received response in detail.
As we were already making changes to razorpay-ruby fork for subscription api wrappers, we made the change in
lib/razorpay/request.rb directly to set
debug_output and integrated needed api wrappers with the request/response being there to analyse.
Later, when we decided to contribute the change upstream, it somehow didn’t seem right to include
debug_output in the SDK as it was a convenience to see verbose request/response output but something not required too often.
So, how can we get the desired convenience without making the change in razorpay-ruby and at our free will.
Well, we will use the not-so-recommended beahvior in general but useful here. We will re-open the class in our RoR app and enhance the
Razorpay::Request class to include
debug_output $stdout. It seems fit to have the change only for
development environment or as desired.
# config/environments/development.rb config.to_prepare do Razorpay::Request.class_eval do debug_output $stdout end end
Always strive to get the job done with unnecessary communication.
Happy Debugging !!!