Hi @pkrawat1 and team, I would like to reinforce the point above.
Using a GenServer when you don’t need one is an anti-pattern and it will actually have severe applications on the system performance, as you put all operations besides a single process which will become a bottleneck. We cover this in detail in Adopting Elixir and there is a thread about this particular topic in the forum.
Even if you may end-up using the worker for configuration, I would ask you to revisit that, because it should not be the place of libraries to impose a stateful configuration mechanism. Simply ask the users to pass the configuration every time the gateway is called. If the users of your library need to store this configuration somewhere, they can easily do so by using an Agent, application config, GenServer, etc.
Decimal v1.5.0 has just been released with similar change: passing floats to Decimal.new is soft deprecated (no warnings emitted yet) and there is now a new function to do that explicitly: Decimal.from_float.
I noticed this library hasn’t had any commits since Oct 25, 2018, and that the demo https://gringottspay.herokuapp.com/ is no longer live. Is this no longer in development?
What would be nice would be for such advisories to be in the code, so that scripts could automatically run from time to time and update curated lists of live libraries. It would solve the usual problem that especially new users have concerning which libraries are nice and current!