Skip to content

An IBAN account numbers and BIC validation tool for Elixir.

License

Notifications You must be signed in to change notification settings

railsmechanic/bankster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.