Skip to content

Instantly share code, notes, and snippets.

@erikhenrique
Last active February 5, 2024 16:06
Show Gist options
  • Save erikhenrique/5931368 to your computer and use it in GitHub Desktop.
Save erikhenrique/5931368 to your computer and use it in GitHub Desktop.
Bin de cartões de crédito para validação

Validação para cartão de crédito.

Bin e padrões para validação de cartão de crédito.

Bandeira Começa com Máximo de número Máximo de número cvc
Visa 4 13,16 3
Mastercard 5 16 3
Diners 301,305,36,38 (http://bin-iin.com/American-Express-BIN-List.html) 14,16 3
Elo 636368, 636369, 438935, 504175, 451416, 636297,5067,4576,4011,506699 16 3
Amex 34,37 15 4
Discover 6011,622,64,65 16 4
Aura 50 16 3
jcb 35 16 3
Hipercard 38,60 13,16,19 3

Atualização (23/07/2014):

Os dados dos cartões: Elo, Hipercard desta tabela não são oficiais. Tentei diversas vezes falar com o pessoal dessas bandeiras afim de ter uma informação oficial, porém, é muito difícil falar com o setor técnico e as atendentes nem sabem o que é bin de cartão e nem sabem do que estou falando :(

Essa tabela foi montada através de coleta de dados de cartões reais. Onde o usuário colocava o número de cartão de crédito dele e quando não conseguíamos saber qual a banheira pedíamos para que o usuário selecionasse a bandeira. A partir deste momento coletávamos os primeiros dígitos do cartão.

Eu atualizei essa tabela até o mês de Agosto/2013. Não sei se teve atualizações desde então. De qualquer forma acredito que é uma boa tabela de referência e acredito que a busca pelo padrão continua pois deve ter cartões que ainda não estão em nenhum padrão.

Caso tenha alguma dúvida me mande um email: erikhq cpan org Quando tem um novo comentário aqui nesta gist eu não recebo notificação.

Caso você saiba de algum novo padrão ou viu algo de errado, por favor, ajude a manter essa tabela atualizada.

Existe este site também para cartões internacionais: http://bin-iin.com/

vlw

Atualização (13/07/2015):

Adicionei 506699 para o cartão ELO.

Atualização (15/02/2016):

Adicionado 636369 para o cartão ELO

@aalessandre
Copy link

encontrei esse portal, achei muito util:
https://binlists.com/

@WestBonner
Copy link

Minha contribuição:

American Express:: '^3[47]\\d{0,13}'
Aura: '^507860'
Banese Card: '^636117'
Cabal: '(60420[1-9]|6042[1-9][0-9]|6043[0-9]{2}|604400)'
Diners: '(36[0-8][0-9]{3}|369[0-8][0-9]{2}|3699[0-8][0-9]|36999[0-9])
Fort Brasil: '^628167'
GrandCard: '^605032'
Hipercard: '^606282|^637095|^637599|^637568'
Personal Card: '^636085'
Sorocred: '^627892|^636414'
Valecard: '^606444|^606458|^606482'
Elo: ^4011(78|79)|^43(1274|8935)|^45(1416|7393|763(1|2))|^504175|^627780|^63(6297|6368|6369)|(65003[5-9]|65004[0-9]|65005[01])|(65040[5-9]|6504[1-3][0-9])|(65048[5-9]|65049[0-9]|6505[0-2][0-9]|65053[0-8])|(65054[1-9]|6505[5-8][0-9]|65059[0-8])|(65070[0-9]|65071[0-8])|(65072[0-7])|(65090[1-9]|6509[1-6][0-9]|65097[0-8])|(65165[2-9]|6516[67][0-9])|(65500[0-9]|65501[0-9])|(65502[1-9]|6550[34][0-9]|65505[0-8])|^(506699|5067[0-6][0-9]|50677[0-8])|^(509[0-8][0-9]{2}|5099[0-8][0-9]|50999[0-9])|^65003[1-3]|^(65003[5-9]|65004\d|65005[0-1])|^(65040[5-9]|6504[1-3]\d)|^(65048[5-9]|65049\d|6505[0-2]\d|65053[0-8])|^(65054[1-9]|6505[5-8]\d|65059[0-8])|^(65070\d|65071[0-8])|^65072[0-7]|^(65090[1-9]|65091\d|650920)|^(65165[2-9]|6516[6-7]\d)|^(65500\d|65501\d)|^(65502[1-9]|6550[3-4]\d|65505[0-8])

@edurodriguesdias
Copy link

Informação muito útil! Obrigado por partilhar ✌🏼

@marcos15733
Copy link

Qual pra visa vc tem ai

@marcos15733
Copy link

Por favor so pra mi se levanta pago bem

@WestBonner
Copy link

@marcos15733 faz tempo que não me envolvo com bandeiras de cartões e regex, mas vai aí um caminho para identificar bandeiras visa:
Visa: ^4[0-9]{15}$

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment