Executando verificação de segurança...
4

Cara, assim
Não leva a mal kkkk, não é o intuito. Trabalhei com BIN a uns meses, mas já existia ChatGPT quando fiz essa implementação. Chegou a dar uma fuçada lá?
Quando perguntei ele me deu essa resposta:

Para identificar a bandeira de um cartão de crédito a partir do número dele, você pode usar os BINs (Bank Identification Numbers), que são os primeiros 6 dígitos do número do cartão. Cada bandeira tem um intervalo específico de BINs.
Principais Bandeiras de Cartões e Seus BINs:
Visa: Começa com o número 4 (13-19 dígitos).
Mastercard: Começa com números entre 51-55 ou 2221-2720 (16 dígitos).
American Express: Começa com 34 ou 37 (15 dígitos).
Elo: BINs incluem 401178, 431274, 5067, 627780, 636297 (16 dígitos).
Diners Club: Começa com 30, 36, 38, 39 (14-16 dígitos).
Discover: Começa com 6011, 622126-622925, 644-649, 65 (16 dígitos).
Hipercard: Começa com 38 ou 60 (16 dígitos).
JCB: Começa com 35 (16 dígitos).
Aura: Começa com 50 (16 dígitos).
UnionPay: Começa com 62 (16-19 dígitos).
Maestro: Começa com 50, 56-69 (12-19 dígitos).
Cabal: Começa com 58 ou 60 (14-19 dígitos).

APIs Mais Usadas para Identificação de Bandeira:
Binlist API:

URL: https://binlist.net
Precisão: 100% com base no BIN. Fornece informações completas sobre o cartão, como bandeira, banco emissor, tipo (crédito/débito), e até a localização do banco.
Uso: Simples e gratuito. Aceita uma solicitação GET com o número do BIN.
GET https://lookup.binlist.net/45717360
IIN/BIN Database API:

URL: https://bincheck.io
Precisão: Muito precisa, com cobertura global de BINs e uma grande base de dados atualizada.
Uso: Você pode enviar o número BIN e obter a bandeira, o banco emissor e mais informações.
GET https://bincheck.io/bin/45717360
Ambas as APIs são amplamente utilizadas por desenvolvedores para garantir a identificação precisa das bandeiras de cartões e fornecem 100% de precisão baseada nos BINs registrados.

Dá pra criar algumas regex sim em cima disso, mas não vejo algo simples que dê pra resolver com apenas um método simples, ou uma unica regex. No meu caso, na época que criei a implementação optei pela bincheck, é a mais completa do mercado, tem muitas opções de segurança. O cliente é um ecommerce mediano, mas a solução atendeu muito bem.

Uma coisa, a um tempo percebi que usar o google não traz mais a melhor resposta. Quando tento usar, fico vários minutos cavando posts do StackOverflow, tempo que economizo muito usando ferramentas de IA generativas. E nem precisa ter curso ou saber fazer "bons prompts". No meu caso, pra resposta acima, só precisei perguntar

como identifico a bandeira do cartão pelo numero dele?

Carregando publicação patrocinada...