Conversation
| ("master", "6063216106123345"), # antigo maestro | ||
| ("master", "6392403325708112"), # antigo maestro | ||
| ("master", "6087101111111111"), | ||
| ("master", "6087831111111111"), |
There was a problem hiding this comment.
Porque dois testes para o mesmo pattern?
There was a problem hiding this comment.
O mesmo pattern contempla esses dois BINs que tavam dando bastante erro, então deixei no teste para garantir que nenhuma mudança vai fazer voltar o bug.
| r"|2720[0-9]{12}" | ||
| # Suporte aos antigos cartões Maestro que agora são MasterCard | ||
| r"|5[06789][0-9]{14}" | ||
| r"|55020[0-9]{11}" |
There was a problem hiding this comment.
Essa regra já está coberta pelo primeiro padrão da regex:
5[1-5][0-9]{14}
5(5)(020)[0-9]{11}
Inclusive o padrão acima deste poderia ter sido colocado junto com o primeiro, pois qualquer número de 16 dígitos que começa com 5 vai cair como master, então a regra poderia ter sido 5[0-9]{15} mesmo. Eu só tinha mantido separado pra diferenciar os padrões que eram maestro.
Acho que o motivo de estarmos rejeitando esse bin é o comprimento do número (que não sabemos qual era, pois a nossa máscara perde essa informação), que faz com que ele não bata com a regex, que está levando ele em consideração.
There was a problem hiding this comment.
Verdade, não tinha percebido. Acho que podemos simplificar para usar só 5[0-9]{15} e deletar esses do maestro que começam com 5, o que acha?
Sobre o tamanho completo do número, já que perdemos essa informação acho que não tem muito o que fazer para esse caso, mas é um que aconteceu 20 vezes. Acha que vale a pena investigar mais a fundo? Talvez colocar um log do tamanho do número do cartão no extra desse log de erro.
PG-1651
O CSV dos bins que deram erro nas últimas 4 semanas continha esses e mais alguns

Adicionei os 3 casos principais que compõem a maioria dos erros. Não sei se vale a pena adicionar todos os BINs do csv.
CSV Completo:
bin_info.csv