in

A Dart package that detects credit card types based on their prefixes

Credit Card Type Detector

A Dart package that detects credit card types based on the current credit card number Credit cards are a great way to spread the cost of big purchases or even get useful perks. It has many advantages for users. Here we provide a Dart package that detects credit card types based on the current credit card number patterns.

This is a port from Braintree’s credit-card-type module

credit_card_type_detector

Installing

  1. Add dependency to your pubspec.yamlGet the current version in the ‘Installing’ tab on pub.dartlang.org
dependencies:
    credit_card_type_detector: ^1.0.2

  1. Import the package
import 'package:credit_card_type_detector/credit_card_type_detector.dart';

Usage

import 'package:credit_card_type_detector/credit_card_type_detector.dart';

String visa = "4647 7200 6779 1032";

var type = detectCCType(visa);

assert(type == CreditCardType.visa)


For a more detailed and completed example of the BLoC pattern, click here and check out the example application in the example directory or the ‘Example’ tab on pub.dartlang.org.

Features

Here is a list of some of the outstanding features that have been listed, and they are ready to be shown to you.

No external dependencies

Supported cards:

* Visa
* Mastercard
* American Express
* Discover
* Diners Club
* JCB
* Union Pay
* Maestro
* Mir
* Elo
* Hiper/Hipercard

Pattern Detection

Each card type has a corresponding list of patterns. See the cardNumPatterns map.
Each pattern is an array of strings that represents a range of numbers or a single number. These numbers correspond to the Issuer Identification number (IIN) for the credit card company.

If the pattern is an array with a single number, the package compares it against the card number. Partial matches for card numbers that are shorter than the pattern also match. I.e. given the pattern 123, then the card numbers 1121231234 will all match, but 213, and 124 will not.

If the pattern is an array of numbers, then the card number is checked to be within the range of those numbers. Again, partial matches are accepted. I.e. given the range [100, 123], then the card numbers 11010012120123 will all match, but 213, and 124 will not.

The package loops over every card type and everyone of its corresponding patterns.

API

detectCCType(String number)

Returns: A CreditCardType enum.

I.e. CreditCardType.visa for any card number that starts with ‘4’.

Author

Tanner Davis (Cholojuanito) – Creator and repo owner – Github Profile

GitHub

https://github.com/cholojuanito/credit_card_type_detector

Written by James

A tinder like interface for choosing Travel Destination

A beautiful UX through the animation of credit card information input form with flutter