railsmechanic / bankster

An IBAN account numbers and BIC validation tool for Elixir.

Home Page:https://hex.pm/packages/bankster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:
def deps do
  [{:bankster, "~> 0.4.0"}]
end
  1. 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.

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.

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.

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.

About

An IBAN account numbers and BIC validation tool for Elixir.

https://hex.pm/packages/bankster

License:MIT License


Languages

Language:Elixir 100.0%