juspay_expresscheckout

Build log

host

juspay_expresscheckout 0.1.0 · fail · run juspay_expresscheckout-0.1.0-1790965298173
671 of 671 lines
1Resolving Hex dependencies...2Resolution completed in 0.325s3Unchanged: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_expresscheckout 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: 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 operator238     │239 178 │     <<digits :: binary-size(count), rest :: binary>> = string240     │                             ~241     │242     └─ lib/poison/parser.ex:178:29: Poison.Parser.number_digits/1243244     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 operator245     │246 204 │     <<chunk :: binary-size(n), rest :: binary>> = string247     │                            ~248     │249     └─ lib/poison/parser.ex:204:28: Poison.Parser.string_continue/2250251    warning: use Bitwise is deprecated. import Bitwise instead252    │253 79 │   use Bitwise254    │   ~~~~~~~~~~~255    │256    └─ lib/poison/encoder.ex:79: Poison.Encoder.BitString (module)257258     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: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead266     │267 161 │     case Integer.to_char_list(char, 16) do268     │                  ~269     │270     └─ lib/poison/encoder.ex:161:18: Poison.Encoder.BitString.seq/1271272     warning: HashDict.size/1 is deprecated. Use maps and the Map module instead273     │274 283 │     if HashDict.size(dict) < 1 do275     │                 ~276     │277     └─ lib/poison/encoder.ex:283:17: Poison.Encoder.HashDict.encode/2278279Generated 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_expresscheckout437Compiling 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 45 │  List all the cards stored for a customer. This API gives back only tokens and other metadata relevant to the cards stored in JusPay Locker.457    │       ~458    │459    └─ lib/elixir_lib/Cards.ex:45:7460461    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)462    │463 15 │     response = response <> "\nMessage : " <> msg464    │     ~~~~~~~~465    │466    └─ lib/elixir_lib/JuspayException.ex:15:5: Juspay.Exception.juspay_error/3467468    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:469470        def text do471          """472        contents473          """474        end475476    Instead make sure the contents are indented as much as the heredoc closing:477478        def text do479          """480          contents481          """482        end483484    The current heredoc line is indented too little485    │486 13 │   Create a payment transaction for Credit or Debit card.487    │        ~488    │489    └─ lib/elixir_lib/Payments.ex:13:8490491    warning: using single-quoted strings to represent charlists is deprecated.492    Use ~c"" if you indeed want a charlist or use "" instead.493    You may run "mix format --migrate" to change all single-quoted494    strings to use the ~c sigil and fix this warning.495    │496 69 │     method = 'POST'497    │              ~498    │499    └─ lib/elixir_lib/Payments.ex:69:14500501    warning: using single-quoted strings to represent charlists is deprecated.502    Use ~c"" if you indeed want a charlist or use "" instead.503    You may run "mix format --migrate" to change all single-quoted504    strings to use the ~c sigil and fix this warning.505    │506 70 │     url = '/txns'507    │           ~508    │509    └─ lib/elixir_lib/Payments.ex:70:11510511    warning: using single-quoted strings to represent charlists is deprecated.512    Use ~c"" if you indeed want a charlist or use "" instead.513    You may run "mix format --migrate" to change all single-quoted514    strings to use the ~c sigil and fix this warning.515    │516 71 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]517    │                                                                    ~518    │519    └─ lib/elixir_lib/Payments.ex:71:68520521     warning: using single-quoted strings to represent charlists is deprecated.522     Use ~c"" if you indeed want a charlist or use "" instead.523     You may run "mix format --migrate" to change all single-quoted524     strings to use the ~c sigil and fix this warning.525     │526 159 │     method = 'POST'527     │              ~528     │529     └─ lib/elixir_lib/Payments.ex:159:14530531     warning: using single-quoted strings to represent charlists is deprecated.532     Use ~c"" if you indeed want a charlist or use "" instead.533     You may run "mix format --migrate" to change all single-quoted534     strings to use the ~c sigil and fix this warning.535     │536 160 │     url = '/txns'537     │           ~538     │539     └─ lib/elixir_lib/Payments.ex:160:11540541     warning: using single-quoted strings to represent charlists is deprecated.542     Use ~c"" if you indeed want a charlist or use "" instead.543     You may run "mix format --migrate" to change all single-quoted544     strings to use the ~c sigil and fix this warning.545     │546 161 │    parameters =parameters++ [ payment_method_type: "CARD", format: 'json' ]547     │                                                                    ~548     │549     └─ lib/elixir_lib/Payments.ex:161:68550551     warning: using single-quoted strings to represent charlists is deprecated.552     Use ~c"" if you indeed want a charlist or use "" instead.553     You may run "mix format --migrate" to change all single-quoted554     strings to use the ~c sigil and fix this warning.555     │556 292 │     method = 'POST'557     │              ~558     │559     └─ lib/elixir_lib/Payments.ex:292:14560561     warning: using single-quoted strings to represent charlists is deprecated.562     Use ~c"" if you indeed want a charlist or use "" instead.563     You may run "mix format --migrate" to change all single-quoted564     strings to use the ~c sigil and fix this warning.565     │566 293 │     url = '/txns'567     │           ~568     │569     └─ lib/elixir_lib/Payments.ex:293:11570571     warning: using single-quoted strings to represent charlists is deprecated.572     Use ~c"" if you indeed want a charlist or use "" instead.573     You may run "mix format --migrate" to change all single-quoted574     strings to use the ~c sigil and fix this warning.575     │576 294 │    parameters =parameters++ [ payment_method_type: "WALLET", format: 'json' ]577     │                                                                      ~578     │579     └─ lib/elixir_lib/Payments.ex:294:70580581    warning: outdented heredoc line. The contents inside the heredoc should be indented at the same level as the closing """. The following is forbidden:582583        def text do584          """585        contents586          """587        end588589    Instead make sure the contents are indented as much as the heredoc closing:590591        def text do592          """593          contents594          """595        end596597    The current heredoc line is indented too little598    │599 28 │  Wallets can be listed only in the context of a Customer. This API will return list of linked wallets for a given customer.600    │       ~601    │602    └─ lib/elixir_lib/Wallets.ex:28:7603604    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 quotes605    │606  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"])607    │                                     ~608    │609    └─ lib/elixir_test.ex:8:37610611    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 quotes612    │613 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"])614    │                                                            ~615    │616    └─ lib/elixir_test.ex:15:60617618    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 quotes619    │620 20 │     cards_list = Juspay.Cards.list( %{"customer_id": "guest_user"})621    │                                       ~622    │623    └─ lib/elixir_test.ex:20:39624625    warning: variable "fingerprint" is unused (if the variable is not meant to be used, prefix it with an underscore)626    │627 11 │     fingerprint = options["card_fingerprint"]628    │     ~~~~~~~~~~~629    │630    └─ lib/elixir_test.ex:11:5: ElixirTest.test_cards/0631632    warning: variable "default" is unused (if the variable is not meant to be used, prefix it with an underscore)633    │634 16 │       {:error,default} -> "production"635    │               ~636    │637    └─ lib/elixir_lib/Juspay.ex:16:15: Juspay.request/3638639    warning: variable "options" 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)640    │641 25 │     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"])642    │     ~~~~~~~643    │644    └─ lib/elixir_test.ex:25:5: ElixirTest.test_cards/0645646    warning: variable "reference" is unused (if the variable is not meant to be used, prefix it with an underscore)647    │648 10 │     reference = options["card_reference"]649    │     ~~~~~~~~~650    │651    └─ lib/elixir_test.ex:10:5: ElixirTest.test_cards/0652653    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)654    │655 52 │    parameters = Enum.into(parameters,[])656    │    ~~~~~~~~~~657    │658    └─ lib/elixir_lib/Juspay.ex:52:4: Juspay.check_params/1659660    error: undefined variable "invalidArgumentError"661    │662 50 │       raise invalidArgumentError663    │             ^^^^^^^^^^^^^^^^^^^^664    │665    └─ lib/elixir_lib/Juspay.ex:50:13: Juspay.check_params/1666667668== Compilation error in file lib/elixir_lib/Juspay.ex ==669** (CompileError) lib/elixir_lib/Juspay.ex: cannot compile module Juspay (errors have been logged)670671could not compile dependency :juspay_expresscheckout, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile juspay_expresscheckout --force", update it with "mix deps.update juspay_expresscheckout" or clean it with "mix deps.clean juspay_expresscheckout"