A plugin to validate or identify card numbers & cvv with ease.
This flutter package will help you validate card numbers or CVVs and identiy card issuing provider with minimal code and efforts.
- simple and easy
- regex-free
- up-to-date with Wikipedia
- no other dependencies
- well documented
- production-ready
This package is a Flutter port of original package Cardidy written in C#.
NOTE: The closer we are to an official spec is the Wikipedia's Payment card number page.
dependencies:
flutter_cardidy: ^1.0.0
Add the dependency to your project and start using Flutter Cardidy everywhere:
Import the package.
import 'package:flutter_cardidy/flutter_cardidy.dart';
To validate and identify card's issuing provider
// single card number identification
final result = FlutterCardidy.identify("4127540509730813");
Console.WriteLine(result.first); // print Visa
Multi card identification
// returns a KVP Map of, cardnum as key & result as value
final mapResult = FlutterCardidy.identifyMultiple(["4127540509730813","4771320594031"]);
Validating CVV
var cvv = "123";
var visaCvvIsValid = FlutterCardidy.isCvvValid(cvv, CardType.Visa);
Validating card number without identification
var isCardValid = FlutterCardidy.isCardNumberValid("47!Z320594033");
Return type of
Identify
isList<CardType>
. A card is sometimes a co-branded card like Visa or Visa Electron, in this case all matching providers are returned.
Property | Type | Default | Note |
---|---|---|---|
cardNumString (required) | String | - | Your card number input string |
validateLength | bool | true | Validate the length as part of the String identification. A false value can be useful to identify the fragment of a card number. |
ignoreNoise | bool | false | Ignore common noise found in card number. This noise is any of - . . |
handleAnonymization | bool | false | Set any non-digits to zero. It is common to use "X" and "#" to hide some digits. |
Help me by reporting bugs, submit new ideas for features or anything else that you want to share.
- Just write an issue on GitHub. ✏️
- And don't forget to hit the like button for this package ✌️
Check out my other useful packages on pub.dev