Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/railsmechanic/bankster

An IBAN account numbers and BIC validation tool for Elixir.
https://github.com/railsmechanic/bankster

banking elixir iban validate-bics

Last synced: about 2 months ago
JSON representation

An IBAN account numbers and BIC validation tool for Elixir.

Lists

README

        

# Bankster

An easy to use Elixir validator for IBAN account and BIC numbers. It includes IBAN rules for 115 countries and validation for BIC numbers.

- IBAN validation is done using format, country, length and checksum.
- BIC validation is done using format.

## Installation

The package can be installed as Hex package:

1. Add bankster to your list of dependencies in `mix.exs`:

```elixir
def deps do
[{:bankster, "~> 0.4.0"}]
end
```

2. Run `mix deps.get` to fetch the package from hex

## Usage

### Validate IBANs
You can either use `Bankster.iban_valid?/1` or `Bankster.Iban.valid?/1` to validate IBANs.

```elixir
iex> Bankster.iban_valid?("NOTVALID")
false

iex> Bankster.Iban.valid?("NOTVALID")
false
```

### Validation with errors
Beside the boolean validation function, Bankster offers a validation function which returns the corresponding error.
Like the other validation, you can use `Bankster.iban_validate/1` or `Bankster.Iban.validate/1` to validate IBANs.

```elixir
iex> Bankster.iban_validate("NOTVALID")
{:error, :invalid_country}

iex> Bankster.Iban.validate("DK8387188644726815223423423423423423423")
{:error, :invalid_length}

iex> Bankster.Iban.validate("DK83 8718 8644 7268 15")
{:ok, "DK8387188644726815"}
```

### Validate BICs
Validating BICs works the same way as already shown for IBANs.
So you can either use `Bankster.bic_valid?/1` or `Bankster.Bic.valid?/1` to validate BICs.

```elixir
iex> Bankster.bic_valid?("NOTVALID")
false

iex> Bankster.Bic.valid?("NOTVALID")
false
```

## License
Bankster source code is released under MIT License. Check LICENSE file for more information.