defmodule UpiDynamic do @moduledoc """ UpiDynamic is the Dynamic QR PSP Phoenix application. Handles all UPI flows where initiationMode = 16 (dynamic QR). Uses orgId: MER101, netInstId: MER1010001. Implements NPCI UPI APIs: - ReqValQr — QR validation (dynamic QR) - ReqPay — payment processing - ReqChkTxn — transaction status check - ReqHbt — heartbeat """ def static_paths, do: ~w(assets fonts images favicon.ico robots.txt) def router do quote do use Phoenix.Router, helpers: false import Plug.Conn import Phoenix.Controller end end def channel do quote do use Phoenix.Channel end end def controller do quote do use Phoenix.Controller, formats: [:html, :json], layouts: [html: UpiDynamic.Layouts] use Gettext, backend: UpiDynamic.Gettext import Plug.Conn unquote(verified_routes()) end end defp verified_routes do quote do use Phoenix.VerifiedRoutes, endpoint: UpiDynamic.Endpoint, router: UpiDynamic.Router, statics: UpiDynamic.static_paths() end end defmacro __using__(which) when is_atom(which) do apply(__MODULE__, which, []) end end