juspay_api_library

Build log

host

juspay_api_library 0.1.0 · fail · run juspay_api_library-0.1.0-1790964985536
680 of 680 lines
1Resolving Hex dependencies...2Resolution completed in 0.278s3Unchanged:4  certifi 1.0.05  circular_buffer 1.1.06  elixir_make 0.10.07  hackney 1.6.6 RETIRED! VULNERABLE!8    (invalid)910    EEF-CVE-2026-47075 (MEDIUM)11    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf12    CR/LF injection in query parameter in hackney13    https://osv.dev/vulnerability/EEF-CVE-2026-470751415    GHSA-vq52-99r9-h5pw (LOW)16    aka: CVE-2025-121117    Server-side Request Forgery (SSRF) in hackney18    https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw1920    EEF-CVE-2026-47071 (HIGH)21    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr22    SOCKS5 TLS upgrade ignores caller timeout in hackney23    https://osv.dev/vulnerability/EEF-CVE-2026-470712425    GHSA-9fm9-hp7p-53mf (LOW)26    aka: CVE-2025-386427    Hackney fails to properly release HTTP connections to the pool28    https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf2930    EEF-CVE-2026-47069 (LOW)31    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw232    CRLF injection in cookie domain/path options in hackney33    https://osv.dev/vulnerability/EEF-CVE-2026-470693435    EEF-CVE-2026-47076 (MEDIUM)36    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq37    SSRF allowlist bypass via percent-encoded host in hackney38    https://osv.dev/vulnerability/EEF-CVE-2026-4707639  httpoison 0.9.240  idna 4.0.041  interactive_cmd 0.1.442  juspay_api_library 0.1.043  metrics 1.0.144  mimerl 1.0.245  nerves 2.0.0-pre.246  nerves_discovery 0.1.547  nerves_logging 0.2.448  nerves_runtime 0.13.1349  nerves_system_bbb 2.30.250  nerves_system_br 1.34.451  nerves_system_mangopi_mq_pro 0.17.252  nerves_system_qemu_aarch64 0.4.253  nerves_system_rpi0 2.1.254  nerves_system_rpi4 2.1.255  nerves_system_rpi5 2.1.256  nerves_system_trellis 0.5.057  nerves_system_x86_64 1.34.258  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.159  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.160  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.161  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.162  nerves_toolchain_x86_64_nerves_linux_musl 15.3.163  nerves_uevent 0.1.764  poison 2.2.065  property_table 0.3.466  ring_logger 0.11.767  ssl_verify_fun 1.1.168  tablet 0.3.369  toolshed 0.5.070  uboot_env 1.0.271Found retired packages, see above for details72Found packages with security advisories, see above for details73All dependencies have been fetched74    warning: String.strip/1 is deprecated. Use String.trim/1 instead75    │76  4 │   @version File.read!("VERSION") |> String.strip77    │                                            ~78    │79    └─ /work/proj/deps/poison/mix.exs:4:44: Poison.Mixfile (module)8081==> poison82Compiling 4 files (.ex)83    warning: using single-quoted strings to represent charlists is deprecated.84    Use ~c"" if you indeed want a charlist or use "" instead.85    You may run "mix format --migrate" to change all single-quoted86    strings to use the ~c sigil and fix this warning.87    │88 89 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do89    │                               ~90    │91    └─ lib/poison/encoder.ex:89:319293    warning: using single-quoted strings to represent charlists is deprecated.94    Use ~c"" if you indeed want a charlist or use "" instead.95    You may run "mix format --migrate" to change all single-quoted96    strings to use the ~c sigil and fix this warning.97    │98 89 │   for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do99    │                                                ~100    │101    └─ lib/poison/encoder.ex:89:48102103     warning: using single-quoted strings to represent charlists is deprecated.104     Use ~c"" if you indeed want a charlist or use "" instead.105     You may run "mix format --migrate" to change all single-quoted106     strings to use the ~c sigil and fix this warning.107     │108 127 │   defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do109     │                                                                           ~110     │111     └─ lib/poison/encoder.ex:127:75112113    warning: using single-quoted strings to represent charlists is deprecated.114    Use ~c"" if you indeed want a charlist or use "" instead.115    You may run "mix format --migrate" to change all single-quoted116    strings to use the ~c sigil and fix this warning.117    │118 67 │   defp value(<<char, _ :: binary>> = string, _keys) when char in '-0123456789' do119    │                                                                  ~120    │121    └─ lib/poison/parser.ex:67:66122123     warning: using single-quoted strings to represent charlists is deprecated.124     Use ~c"" if you indeed want a charlist or use "" instead.125     You may run "mix format --migrate" to change all single-quoted126     strings to use the ~c sigil and fix this warning.127     │128 134 │   defp number_int(<<char, _ :: binary>> = string, acc) when char in '123456789' do129     │                                                                     ~130     │131     └─ lib/poison/parser.ex:134:69132133     warning: using single-quoted strings to represent charlists is deprecated.134     Use ~c"" if you indeed want a charlist or use "" instead.135     You may run "mix format --migrate" to change all single-quoted136     strings to use the ~c sigil and fix this warning.137     │138 150 │   defp number_exp(<<e>> <> rest, frac, acc) when e in 'eE' do139     │                                                       ~140     │141     └─ lib/poison/parser.ex:150:55142143     warning: using single-quoted strings to represent charlists is deprecated.144     Use ~c"" if you indeed want a charlist or use "" instead.145     You may run "mix format --migrate" to change all single-quoted146     strings to use the ~c sigil and fix this warning.147     │148 176 │   defp number_digits(<<char>> <> rest = string) when char in '0123456789' do149     │                                                              ~150     │151     └─ lib/poison/parser.ex:176:62152153     warning: using single-quoted strings to represent charlists is deprecated.154     Use ~c"" if you indeed want a charlist or use "" instead.155     You may run "mix format --migrate" to change all single-quoted156     strings to use the ~c sigil and fix this warning.157     │158 184 │   defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do159     │                                                                ~160     │161     └─ lib/poison/parser.ex:184:64162163     warning: using single-quoted strings to represent charlists is deprecated.164     Use ~c"" if you indeed want a charlist or use "" instead.165     You may run "mix format --migrate" to change all single-quoted166     strings to use the ~c sigil and fix this warning.167     │168 208 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do169     │                               ~170     │171     └─ lib/poison/parser.ex:208:31172173     warning: using single-quoted strings to represent charlists is deprecated.174     Use ~c"" if you indeed want a charlist or use "" instead.175     You may run "mix format --migrate" to change all single-quoted176     strings to use the ~c sigil and fix this warning.177     │178 208 │   for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do179     │                                            ~180     │181     └─ lib/poison/parser.ex:208:44182183     warning: using single-quoted strings to represent charlists is deprecated.184     Use ~c"" if you indeed want a charlist or use "" instead.185     You may run "mix format --migrate" to change all single-quoted186     strings to use the ~c sigil and fix this warning.187     │188 218 │     when a1 in 'dD' and a2 in 'dD'189     │                ~190     │191     └─ lib/poison/parser.ex:218:16192193     warning: using single-quoted strings to represent charlists is deprecated.194     Use ~c"" if you indeed want a charlist or use "" instead.195     You may run "mix format --migrate" to change all single-quoted196     strings to use the ~c sigil and fix this warning.197     │198 218 │     when a1 in 'dD' and a2 in 'dD'199     │                               ~200     │201     └─ lib/poison/parser.ex:218:31202203     warning: using single-quoted strings to represent charlists is deprecated.204     Use ~c"" if you indeed want a charlist or use "" instead.205     You may run "mix format --migrate" to change all single-quoted206     strings to use the ~c sigil and fix this warning.207     │208 219 │     and (b1 in '89abAB')209     │                ~210     │211     └─ lib/poison/parser.ex:219:16212213     warning: using single-quoted strings to represent charlists is deprecated.214     Use ~c"" if you indeed want a charlist or use "" instead.215     You may run "mix format --migrate" to change all single-quoted216     strings to use the ~c sigil and fix this warning.217     │218 253 │   defp skip_whitespace(<<char>> <> rest) when char in '\s\n\t\r' do219     │                                                       ~220     │221     └─ lib/poison/parser.ex:253:55222223    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead224    │225 22 │   if Application.get_env(:poison, :native) do226    │                  ~227    │228    └─ lib/poison/parser.ex:22:18: Poison.Parser (module)229230    warning: use Bitwise is deprecated. import Bitwise instead231    │232 26 │   use Bitwise233    │   ~~~~~~~~~~~234    │235    └─ lib/poison/parser.ex:26: Poison.Parser (module)236237    warning: use Bitwise is deprecated. import Bitwise instead238    │239 79 │   use Bitwise240    │   ~~~~~~~~~~~241    │242    └─ lib/poison/encoder.ex:79: Poison.Encoder.BitString (module)243244     warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator245     │246 178 │     <<digits :: binary-size(count), rest :: binary>> = string247     │                             ~248     │249     └─ lib/poison/parser.ex:178:29: Poison.Parser.number_digits/1250251     warning: the variable "n" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator252     │253 204 │     <<chunk :: binary-size(n), rest :: binary>> = string254     │                            ~255     │256     └─ lib/poison/parser.ex:204:28: Poison.Parser.string_continue/2257258     warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator259     │260 123 │     <<chunk :: binary-size(size), rest :: binary>> = string261     │                            ~262     │263     └─ lib/poison/encoder.ex:123:28: Poison.Encoder.BitString.escape/2264265     warning: HashDict.size/1 is deprecated. Use maps and the Map module instead266     │267 283 │     if HashDict.size(dict) < 1 do268     │                 ~269     │270     └─ lib/poison/encoder.ex:283:17: Poison.Encoder.HashDict.encode/2271272     warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead273     │274 161 │     case Integer.to_char_list(char, 16) do275     │                  ~276     │277     └─ lib/poison/encoder.ex:161:18: Poison.Encoder.BitString.seq/1278279Generated poison app280==> nerves_compatibility_test281===> Analyzing applications...282===> Compiling certifi283===> Analyzing applications...284===> Compiling hackney285    ┌─ src/hackney_ssl.erl:286    │287 65 │    case lists:keymember(ecdh_rsa, 1, ssl:cipher_suites()) of288    │                                      ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead289290291    ┌─ src/hackney_pool.erl:292    │293 90 │              catch Transport:close(Socket),294    │              ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.295Compile directive 'nowarn_deprecated_catch' can be used to suppress296warnings in selected modules.297298    ┌─ src/hackney_pool.erl:299    │300 94 │          catch Transport:close(Socket),301    │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.302Compile directive 'nowarn_deprecated_catch' can be used to suppress303warnings in selected modules.304305     ┌─ src/hackney_pool.erl:306     │307 285 │                   catch Transport:close(Socket),308     │                   ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.309Compile directive 'nowarn_deprecated_catch' can be used to suppress310warnings in selected modules.311312     ┌─ src/hackney_pool.erl:313     │314 381 │                  catch Transport:controlling_process(S, self()),315     │                  ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.316Compile directive 'nowarn_deprecated_catch' can be used to suppress317warnings in selected modules.318319     ┌─ src/hackney_pool.erl:320     │321 403 │          catch Transport:close(Socket),322     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.323Compile directive 'nowarn_deprecated_catch' can be used to suppress324warnings in selected modules.325326     ┌─ src/hackney_pool.erl:327     │328 493 │              catch Transport:close(Socket),329     │              ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.330Compile directive 'nowarn_deprecated_catch' can be used to suppress331warnings in selected modules.332333334    ┌─ src/hackney_stream.erl:335    │336 35 │          erlang:get_stacktrace()},337    │          ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace338339340     ┌─ src/hackney_manager.erl:341     │342 122 │          catch Transport:controlling_process(Socket, self()),343     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.344Compile directive 'nowarn_deprecated_catch' can be used to suppress345warnings in selected modules.346347     ┌─ src/hackney_manager.erl:348     │349 123 │          catch Transport:close(Socket),350     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.351Compile directive 'nowarn_deprecated_catch' can be used to suppress352warnings in selected modules.353354     ┌─ src/hackney_manager.erl:355     │356 255 │          catch Transport:controlling_process(Socket, self()),357     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.358Compile directive 'nowarn_deprecated_catch' can be used to suppress359warnings in selected modules.360361     ┌─ src/hackney_manager.erl:362     │363 256 │          catch Transport:close(Socket),364     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.365Compile directive 'nowarn_deprecated_catch' can be used to suppress366warnings in selected modules.367368     ┌─ src/hackney_manager.erl:369     │370 456 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of371     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.372Compile directive 'nowarn_deprecated_catch' can be used to suppress373warnings in selected modules.374375376     ┌─ src/hackney_trace.erl:377     │378 130 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),379     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.380Compile directive 'nowarn_deprecated_catch' can be used to suppress381warnings in selected modules.382383     ┌─ src/hackney_trace.erl:384     │385 137 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),386     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.387Compile directive 'nowarn_deprecated_catch' can be used to suppress388warnings in selected modules.389390     ┌─ src/hackney_trace.erl:391     │392 144 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),393     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.394Compile directive 'nowarn_deprecated_catch' can be used to suppress395warnings in selected modules.396397     ┌─ src/hackney_trace.erl:398     │399 145 │    (catch file:close(Fd)),400     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.401Compile directive 'nowarn_deprecated_catch' can be used to suppress402warnings in selected modules.403404     ┌─ src/hackney_trace.erl:405     │406 152 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),407     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.408Compile directive 'nowarn_deprecated_catch' can be used to suppress409warnings in selected modules.410411     ┌─ src/hackney_trace.erl:412     │413 153 │    (catch file:close(Fd)),414     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.415Compile directive 'nowarn_deprecated_catch' can be used to suppress416warnings in selected modules.417418     ┌─ src/hackney_trace.erl:419     │420 159 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,421     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.422Compile directive 'nowarn_deprecated_catch' can be used to suppress423warnings in selected modules.424425     ┌─ src/hackney_trace.erl:426     │427 163 │    (catch print_trace(Fd, Event)),428     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.429Compile directive 'nowarn_deprecated_catch' can be used to suppress430warnings in selected modules.431432433==> httpoison434Compiling 2 files (.ex)435Generated httpoison app436==> juspay_api_library437Compiling 8 files (.ex)438    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:439440        def text do441          """442        contents443          """444        end445446    Instead make sure the contents are indented as much as the heredoc closing:447448        def text do449          """450          contents451          """452        end453454    The current heredoc line is indented too little455    │456 50 │  ## Examples457    │       ~458    │459    └─ lib/elixir_lib/Cards.ex:50:7460461    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:462463        def text do464          """465        contents466          """467        end468469    Instead make sure the contents are indented as much as the heredoc closing:470471        def text do472          """473          contents474          """475        end476477    The current heredoc line is indented too little478    │479 96 │  Delet a credit card or debit card of a customer from JusPay Locker. card_token parameter identifies the card to be deleted.480    │       ~481    │482    └─ lib/elixir_lib/Cards.ex:96:7483484    warning: variable "response" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)485    │486 15 │     response = response <> "\nMessage : " <> msg487    │     ~~~~~~~~488    │489    └─ lib/elixir_lib/JuspayException.ex:15:5: Juspay.Exception.juspay_error/3490491    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:492493        def text do494          """495        contents496          """497        end498499    Instead make sure the contents are indented as much as the heredoc closing:500501        def text do502          """503          contents504          """505        end506507    The current heredoc line is indented too little508    │509 13 │   Create a payment transaction for Credit or Debit card.510    │        ~511    │512    └─ lib/elixir_lib/Payments.ex:13:8513514    warning: using single-quoted strings to represent charlists is deprecated.515    Use ~c"" if you indeed want a charlist or use "" instead.516    You may run "mix format --migrate" to change all single-quoted517    strings to use the ~c sigil and fix this warning.518    │519 69 │     method = 'POST'520    │              ~521    │522    └─ lib/elixir_lib/Payments.ex:69:14523524    warning: using single-quoted strings to represent charlists is deprecated.525    Use ~c"" if you indeed want a charlist or use "" instead.526    You may run "mix format --migrate" to change all single-quoted527    strings to use the ~c sigil and fix this warning.528    │529 70 │     url = '/txns'530    │           ~531    │532    └─ lib/elixir_lib/Payments.ex:70:11533534    warning: using single-quoted strings to represent charlists is deprecated.535    Use ~c"" if you indeed want a charlist or use "" instead.536    You may run "mix format --migrate" to change all single-quoted537    strings to use the ~c sigil and fix this warning.538    │539 71 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]540    │                                                                    ~541    │542    └─ lib/elixir_lib/Payments.ex:71:68543544     warning: using single-quoted strings to represent charlists is deprecated.545     Use ~c"" if you indeed want a charlist or use "" instead.546     You may run "mix format --migrate" to change all single-quoted547     strings to use the ~c sigil and fix this warning.548     │549 159 │     method = 'POST'550     │              ~551     │552     └─ lib/elixir_lib/Payments.ex:159:14553554     warning: using single-quoted strings to represent charlists is deprecated.555     Use ~c"" if you indeed want a charlist or use "" instead.556     You may run "mix format --migrate" to change all single-quoted557     strings to use the ~c sigil and fix this warning.558     │559 160 │     url = '/txns'560     │           ~561     │562     └─ lib/elixir_lib/Payments.ex:160:11563564     warning: using single-quoted strings to represent charlists is deprecated.565     Use ~c"" if you indeed want a charlist or use "" instead.566     You may run "mix format --migrate" to change all single-quoted567     strings to use the ~c sigil and fix this warning.568     │569 161 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]570     │                                                                    ~571     │572     └─ lib/elixir_lib/Payments.ex:161:68573574     warning: using single-quoted strings to represent charlists is deprecated.575     Use ~c"" if you indeed want a charlist or use "" instead.576     You may run "mix format --migrate" to change all single-quoted577     strings to use the ~c sigil and fix this warning.578     │579 292 │     method = 'POST'580     │              ~581     │582     └─ lib/elixir_lib/Payments.ex:292:14583584     warning: using single-quoted strings to represent charlists is deprecated.585     Use ~c"" if you indeed want a charlist or use "" instead.586     You may run "mix format --migrate" to change all single-quoted587     strings to use the ~c sigil and fix this warning.588     │589 293 │     url = '/txns'590     │           ~591     │592     └─ lib/elixir_lib/Payments.ex:293:11593594     warning: using single-quoted strings to represent charlists is deprecated.595     Use ~c"" if you indeed want a charlist or use "" instead.596     You may run "mix format --migrate" to change all single-quoted597     strings to use the ~c sigil and fix this warning.598     │599 294 │    parameters =parameters++ [ payment_method_type: "WALLET", format: 'json' ]600     │                                                                      ~601     │602     └─ lib/elixir_lib/Payments.ex:294:70603604    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:605606        def text do607          """608        contents609          """610        end611612    Instead make sure the contents are indented as much as the heredoc closing:613614        def text do615          """616          contents617          """618        end619620    The current heredoc line is indented too little621    │622 28 │  Wallets can be listed only in the context of a Customer. This API will return list of linked wallets for a given customer.623    │       ~624    │625    └─ lib/elixir_lib/Wallets.ex:28:7626627    warning: found quoted keyword "merchant_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes628    │629  8 │     options =  Juspay.Cards.create(["merchant_id": "vasu2795", customer_id: "user_108", name_on_card: "Sindbad", card_exp_year: 2015, card_exp_month: 7, customer_email: "customer@mail.com",nickname: "Visa card", card_number: "4123567890123456"])630    │                                     ~631    │632    └─ lib/elixir_test.ex:8:37633634    warning: found quoted keyword "customer_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes635    │636 15 │     options =Juspay.Cards.create([merchant_id: "vasu2795", "customer_id": "user_108", name_on_card: "Sindbad", card_exp_year: 2015, card_exp_month: 7, customer_email: "customer@mail.com",nickname: "Visa card", card_number: "4123567970123456"])637    │                                                            ~638    │639    └─ lib/elixir_test.ex:15:60640641    warning: found quoted keyword "customer_id" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes642    │643 20 │     cards_list = Juspay.Cards.list( %{"customer_id": "guest_user"})644    │                                       ~645    │646    └─ lib/elixir_test.ex:20:39647648    warning: variable "version" is unused (if the variable is not meant to be used, prefix it with an underscore)649    │650 15 │     {:ok,version} = Application.fetch_env(:juspay_api_library,:version)651    │          ~~~~~~~652    │653    └─ lib/elixir_lib/Juspay.ex:15:10: Juspay.request/3654655    warning: variable "parameters" is unused (there is a variable with the same name in the context, use the pin operator (^) to match on it or prefix this variable with underscore if it is not meant to be used)656    │657 49 │    parameters = Enum.into(parameters,[])658    │    ~~~~~~~~~~659    │660    └─ lib/elixir_lib/Juspay.ex:49:4: Juspay.check_params/1661662    warning: variable "fingerprint" is unused (if the variable is not meant to be used, prefix it with an underscore)663    │664 11 │     fingerprint = options["card_fingerprint"]665    │     ~~~~~~~~~~~666    │667    └─ lib/elixir_test.ex:11:5: ElixirTest.test_cards/0668669    error: undefined variable "invalidArgumentError"670    │671 47 │       raise invalidArgumentError672    │             ^^^^^^^^^^^^^^^^^^^^673    │674    └─ lib/elixir_lib/Juspay.ex:47:13: Juspay.check_params/1675676677== Compilation error in file lib/elixir_lib/Juspay.ex ==678** (CompileError) lib/elixir_lib/Juspay.ex: cannot compile module Juspay (errors have been logged)679680could not compile dependency :juspay_api_library, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile juspay_api_library --force", update it with "mix deps.update juspay_api_library" or clean it with "mix deps.clean juspay_api_library"