{"id":24908771,"url":"https://github.com/negrienko/iban-ex","last_synced_at":"2025-03-28T00:43:24.745Z","repository":{"id":268767560,"uuid":"767904393","full_name":"negrienko/iban-ex","owner":"negrienko","description":"Elixir library for working with IBAN numbers (parsing, validating, checking and formatting)","archived":false,"fork":false,"pushed_at":"2024-12-18T19:04:00.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T02:32:55.527Z","etag":null,"topics":["elixir","elixir-lang","elixir-library","iban","library","parser"],"latest_commit_sha":null,"homepage":"https://hex.pm/packages/iban_ex","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/negrienko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-06T05:27:51.000Z","updated_at":"2024-12-18T19:22:51.000Z","dependencies_parsed_at":"2024-12-24T12:33:04.259Z","dependency_job_id":null,"html_url":"https://github.com/negrienko/iban-ex","commit_stats":null,"previous_names":["negrienko/iban-ex"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrienko%2Fiban-ex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrienko%2Fiban-ex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrienko%2Fiban-ex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrienko%2Fiban-ex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/negrienko","download_url":"https://codeload.github.com/negrienko/iban-ex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245949544,"owners_count":20698920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","elixir-lang","elixir-library","iban","library","parser"],"created_at":"2025-02-02T02:33:10.602Z","updated_at":"2025-03-28T00:43:24.725Z","avatar_url":"https://github.com/negrienko.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IbanEx\n\nElixir library for working with IBAN numbers (parsing, validating, checking and formatting)\n\n## What is an IBAN?\n\nIBAN (which stands for International Bank Account Number) is an internationally agreed code made up of up to 34 letters and numbers which helps banks make sure that international transfers are processed correctly.\n\nIn just a few letters and numbers, the IBAN captures all of the country, bank, and account details you need to send or receive money internationally. This system is used throughout Europe, and also recognised in some areas of the Middle East, North Africa and the Caribbean. Find IBAN examples for every country where it's used.\n\n## HowTo Use\n\n### Successfull case to parse IBAN\n\n  ```elixir\n      iex\u003e  \"FI2112345600000785\" |\u003e IbanEx.Parser.parse()\n      {:ok, %IbanEx.Iban{\n        country_code: \"FI\",\n        check_digits: \"21\",\n        bank_code: \"123456\",\n        branch_code: nil,\n        national_check: \"5\",\n        account_number: \"0000078\"\n      }}\n  ```\n\n### Errors cases of IBAN parsing\n\n#### To check IBAN's country is supported\n\n  ```elixir\n      iex\u003e {:error, unsupported_country_code} = IbanEx.Parser.parse(\"ZU21NABZ00000000137010001944\")\n      {:error, :unsupported_country_code}\n      iex\u003e IbanEx.Error.message(unsupported_country_code)\n      \"Unsupported country code\"\n  ```\n\n#### Validate and check IBAN length\n\n  ```elixir\n      iex\u003e {:error, invalid_length} = IbanEx.Parser.parse(\"AT6119043002345732012\")\n      {:error, :invalid_length}\n      iex\u003e IbanEx.Error.message(invalid_length)\n      \"IBAN violates the required length\"\n  ```\n\n  ```elixir\n      iex\u003e {:error, length_to_long} = IbanEx.Validator.check_iban_length(\"AT6119043002345732012\")\n      {:error, :length_to_long}\n      iex\u003e IbanEx.Error.message(length_to_long)\n      \"IBAN longer then required length\"\n      iex\u003e {:error, length_to_short} = IbanEx.Validator.check_iban_length(\"AT61190430023457320\")\n      {:error, :length_to_short}\n      iex\u003e IbanEx.Error.message(length_to_short)\n      \"IBAN shorter then required length\"\n  ```\n\n#### Validate IBAN checksum\n\n  ```elixir\n      iex\u003e {:error, invalid_checksum} = IbanEx.Parser.parse(\"AT621904300234573201\")\n      {:error, :invalid_checksum}\n      iex\u003e IbanEx.Error.message(invalid_checksum)\n      \"IBAN's checksum is invalid\"\n  ```\n\n## Installation\n\nThe package can be installed by adding `iban_ex` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:iban_ex, \"~\u003e 0.1.8\"}\n  ]\nend\n```\n\nDocumentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)\nand published on [HexDocs](https://hexdocs.pm). Once published, the docs can\nbe found at \u003chttps://hexdocs.pm/iban_ex\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrienko%2Fiban-ex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnegrienko%2Fiban-ex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrienko%2Fiban-ex/lists"}