cryental/php-banks-db

PHP bank cards IIN/BIN database. Get bank info by card number

v0.3.5 2022-02-23 14:04 UTC

README

Build Status codecov

It is a PHP port of ramoona's banks-db.

Returns bank's name and brand color by bank card number's first digits (BIN, Issuer Identification Numbers, IIN).

Installation

composer require chekalskiy/php-banks-db

Basic usage

$card_prefix = '5275 9400 0000 0000'; // we only need first 6 digits but it could be the whole card number

try {
    $bank_db = new BankDb();
    $bank_info = $bank_db->getBankInfo($card_prefix);

    $result = [
        'is_unknown' => $bank_info->isUnknown(), // is bank unknown
        'name' => $bank_info->getTitle(true),
        'color' => $bank_info->getColor(),
        'type' => $bank_info->getCardType(),
    ];

    return $result;
} catch (BankDbException $e) {
    // todo handle exception
}

About database

We use simple PHP-file with an array inside (it's regenerates every time ramoona's repository is updated). It's very fast and simple way to work with data because of opcache enabled by default in PHP 7. But you can extend BankDB class to make it work with redis or something, but for most cases compiled php-file is OK.

Database update

Database updates from original library by me. To update php cache file after manual database change run composer rebuild.

Contributions

Feel free to open an issue on every question you have. If you have new prefixes for database please commit them to ramoona/banks-db repository — I will update them once your PR will me merged there.

It's a community driven database, so it can potentially contains mistakes.

For UI examples see the original library.