credit_card_type_detector 2.0.0 copy "credit_card_type_detector: ^2.0.0" to clipboard
credit_card_type_detector: ^2.0.0 copied to clipboard

A package that detects credit card types based on the current credit card number patterns

credit_card_type_detector | Credit Card Type Detector #

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

Gif of the example app

Installing #

  1. Add dependency to your pubspec.yaml

    Get 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)

Check out the example app in the example directory or the 'Example' tab on pub.dartlang.org for a more complete example using the BLoC pattern

Features #

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 1, 12, 123, 1234 will all match, but 2, 13, 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 1, 10, 100, 12, 120, 123 will all match, but 2, 13, 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 #

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

Support #

If you think this package is helpful, tell your friends, give it a star on GitHub, and a like on pub.dev

I also have a Patreon if you are feeling extra generous

Patreon

License #

This project is licensed under the MIT License - see the LICENSE file for more details

70
likes
150
pub points
95%
popularity

Publisher

unverified uploader

A package that detects credit card types based on the current credit card number patterns

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

More

Packages that depend on credit_card_type_detector