Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ingresse/card-bin-ex

:credit_card: Elixir module to get the CreditCard brand based in the first digits
https://github.com/ingresse/card-bin-ex

backend cardbin credit-card elixir

Last synced: 3 days ago
JSON representation

:credit_card: Elixir module to get the CreditCard brand based in the first digits

Awesome Lists containing this project

README

        

# :credit_card: CardBinEX

[Elixir](https://elixir-lang.org/) module to discover the CreditCard brand based in the first digits.

## Valid CreditCard brands

| brand | alias |
|------------------|-------------|
| Visa | `visa` |
| Elo | `elo` |
| JCB | `jcb` |
| Diners | `diners` |
| Discover | `discover` |
| MasterCard | `master` |
| Hipercard | `hipercard` |
| American Express | `amex` |

## Install

```elixir
def deps do
[
{:card_bin_ex, "~> 1.0"}
]
end
```

## Usage

Get the creditcard brand base in the first digits.

```elixir
iex> CardBinEx.brand_from_number("4716892")
{:ok, "visa"}

iex> CardBinEx.brand_from_number("9716892")
{:error, :card_brand, "9716892"}
```

Get the creditcard brand base in the first digits and return only the brand.

It will raise `CardBinEx.Error` if is an invalid bin.

```elixir
iex> CardBinEx.brand_from_number!("4716892")
"visa"

iex> try do
...> CardBinEx.brand_from_number!("9716892")
...> rescue
...> e in CardBinEx.Error -> IO.puts(e.message)
..> end
```