flutter_credit_card_detector 1.0.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 78

flutter_credit_card_detector #

pub package Donate

Um pacote Flutter que permite você implementar facilmente a interface do usuário do cartão de crédito com a detecção do cartão.

Preview #

O aplicativo de exemplo em execução no Android

Screenshot #

screenshot4 screenshot5

Aplicativo disponível na Play Store

Uso #

  1. Adicione dependência a pubspec.yaml
dependencies:
    flutter_credit_card_detector: 1.0.0
  1. Importar o pacote
import 'package:flutter_credit_card_detector/flutter_credit_card_detector.dart';
  1. Adicionando CreditCardWidget
  • Com parâmetros requeridos
...
    @override
    Widget build(BuildContext context) {
      return MultiProvider(
        providers: [
          Provider<Controller>(
            create: (_) => Controller(),
            dispose: (_, controler) => controler.dispose(),
          )
        ],
        child: Scaffold(
            appBar: AppBar(
              title: Text('Flutter Demo'),
              backgroundColor: Colors.orange[300],
            ),
            body: CreditCardWidget(onTap: _onTap)),
      );
    }
...
      _onTap() async {
        print('Numero do cartão: $creditCardNumber'); // Numero do cartão digitado
        print('Nome no cartão: $creditCardName'); // Nome no cartão digitado
        print('Valido até: $creditCardExpData'); // Validade do cartão
        print('CVV: $creditCardCVV'); // Código de segurança
        print('Bandeira: $creditCardBand'); // Bandeira do cartão
        print('CPF: $creditCardCPF'); // CPF do Titular
      }
...
  • Com parâmetros opcionais
...
    CreditCardWidget(
        labelTextNum: 'Numero do cartão', // Texto exibido no textField
        labelTextName: 'Nome no cartão', // Texto exibido no textField
        labelTextExpData: 'MM/YY', // Texto exibido no textField
        labelTextCVV: 'CVV/CVC', // Texto exibido no textField
        labelTextCPF: 'CPF do Titular', // Texto exibido no textField
        labelTextButton: 'Efetuar pagamento', // Texto do button
        titleCreditCard: 'Cartão de Crédito', // Título do cartão
        labelTextValidate: 'Valido Até', // Texto de validade do cartão
        textRequired: 'Campo é obrigatorio', // Mensagem de erro no textField - campos vazios
        textSelectBand: 'Selecione a bandeira', // Mensagem de erro no textField - quando a bandeira não é identificada
        textNameMin: 'O nome de conter pelo menos 6 caracteres', // Mensagem de erro no textField - campo nome
        textIntroNameValid: 'Insira um nome válido', // Mensagem de erro no textField - campo nome
        textCardExpired: 'Cartão vencido', // Mensagem de erro no textField - campo validade do cartão
        textInvalidateMonth: 'Mês incorreto.', // Mensagem de erro no textField - campo validade do cartão
        colorButton: const Color(0xFFfec177), // Cor do button
        colorTextButton: Colors.white, // Cor do texto no button
        colorTextField: Colors.grey, // Cor do texto no textField
        colorCardSelect: const Color(0xFFfec177), // Cor do card selecionado
        colorCreditWhite: const Color(0xff535252), // Cor do cartão
        colorCreditBlack: const Color(0xff211e1e), // Cor do cartão
        textSizeNumber: 0.06, // Tamanho do número apresentado no cartão
        textSizeName: 0.04, // Tamanho do nome apresentado no cartão
        textSizeMonth: 0.03, // Tamanho do texto apresentado no cartão
        textSizeCVC: 0.03, // Tamanho do texto apresentado no cartão
        viewLayout: false, // Vertical = false, Horizontal = true
        cpfVisibility: true, // Campo do CPF visível = true e false para ocultar o campo
        listBand: ['visa', 'mastercard'], // Definir quais cartões estarão disponíveis
        onTap: onTap, // Função
    ),
...

Recursos #

  • Cartões suportados:
    • Visa
    • Mastercard
    • American Express
    • Aura
    • DinersClub
    • Discover
    • Elo
    • Hiper
    • Hipercard
    • JCB
    • Rupay

Para mais detalhes sobre o uso, confira o aplicativo example fornecido.

Licença #

O flutter_credit_card_detector é liberado sob a licença MIT. Consulte LICENÇA para obter detalhes.

[1.0.0] - 30 de Maio 2020. #

  • Orientação de layout pode ser vertical ou horizontal
  • Adicionado campo CPF do tilular(Campo opcional)

[0.1.7] - 27 de Abril 2020. #

  • Adicionado parâmetros opcionais para definir o tamanho dos textos no cartão:
    • Número
    • Nome
    • Data
    • CVC

[0.1.6] - 16 de Abril 2020. #

  • Renomeando CreditCardDetector para CreditCardWidget

[0.1.5] - 15 de Abril 2020. #

  • Corrigindo erro de sintaxe.

[0.1.4] - 15 de Abril 2020. #

  • Opção para definir quais cartões estarão disponíveis

[0.1.3] - 13 de Abril 2020. #

  • Atualização do README.

[0.1.2] - 12 de Abril 2020. #

  • Corrigindo erro de sintaxe.

[0.1.1] - 12 de Abril 2020. #

  • Atualização do README para corrigir o erro de sintaxe.

[0.1.0] - 12 de Abril 2020. #

  • TODO: Describe initial release.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_credit_card_detector/flutter_credit_card_detector.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        Provider<Controller>(
          create: (_) => Controller(),
          dispose: (_, controler) => controler.dispose(),
        )
      ],
      child: MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          accentColor: Colors.blue,
        ),
        home: Scaffold(
            appBar: AppBar(
              title: Text('Flutter Demo'),
              backgroundColor: Colors.orange[300],
            ),
            body: CreditCardWidget(listBand: listBand, onTap: _onTap)),
        debugShowCheckedModeBanner: false,
      ),
    );
  }

  // Bandeiras disponíveis
  List<String> listBand = ['visa', 'mastercard', 'amex', 'elo', 'dinersclub', 'discover', 'jcb', 'aura', 'hiper', 'hipercard', 'rupay'];

  _onTap() async {
    print('Numero do cartão: $creditCardNumber'); // Numero do cartão digitado
    print('Nome no cartão: $creditCardName'); // Nome no cartão digitado
    print('Valido até: $creditCardExpData'); // Validade do cartão
    print('CVV: $creditCardCVV'); // Código de segurança
    print('Bandeira: $creditCardBand'); // Bandeira do cartão
    print('CPF: $creditCardCPF'); // CPF do Titular
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  flutter_credit_card_detector: ^1.0.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:flutter_credit_card_detector/flutter_credit_card_detector.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
56
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
78
Learn more about scoring.

We analyzed this package on Jul 13, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.15
  • Flutter: 1.17.5

Analysis suggestions

Package not compatible with SDK dart

Because:

  • flutter_credit_card_detector that is a package requiring null.

Health suggestions

Fix lib/src/screens/credit_card_widget.dart. (-0.50 points)

Analysis of lib/src/screens/credit_card_widget.dart reported 1 hint:

line 180 col 21: Avoid using unnecessary statements.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
cupertino_icons ^0.1.2 0.1.3
flutter 0.0.0
flutter_masked_text ^0.8.0 0.8.0
flutter_mobx ^1.1.0 1.1.0+1
intl ^0.16.0 0.16.1
mobx ^1.1.1 1.2.1+1
mobx_codegen ^1.0.3 1.1.0+1
provider ^4.0.4 4.3.1
Transitive dependencies
_fe_analyzer_shared 5.0.0
analyzer 0.39.12
args 1.6.0
async 2.4.2
build 1.3.0
build_resolvers 1.3.10
charcode 1.1.3
collection 1.14.12 1.14.13
convert 2.1.1
crypto 2.1.5
csslib 0.16.1
dart_style 1.3.6
glob 1.2.0
graphs 0.2.0
html 0.14.0+3
js 0.6.2
logging 0.11.4
meta 1.1.8 1.2.2
nested 0.0.4
node_interop 1.1.1
node_io 1.1.1
package_config 1.9.3
path 1.7.0
pedantic 1.9.0 1.9.2
pub_semver 1.4.4
sky_engine 0.0.99
source_gen 0.9.6
source_span 1.7.0
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.1.6 1.2.0
vector_math 2.0.8 2.1.0-nullsafety
watcher 0.9.7+15
yaml 2.2.1
Dev dependencies
build_runner ^1.8.1
flutter_test