Pergunta

Como se determina que o cartão de uma pessoa está entrando é um cartão de débito, cartão de cheque ou cartão de crédito?

Estou olhando isso para pagamentos web em apenas os EUA. Isto é para faturamento de utilidade.

Foi útil?

Solução

Eu estou pensando que você está ficando confuso que quando você passar o cartão em uma loja da máquina sabe que tipo de cartão que você tem. Embora com o meu cartão de débito holandesa I sempre tem a opção de escolher ..

Mas eu estou supondo que as lojas de banda magnética mais do que apenas o número, e os leitores de cartão de usar isso para determinar o seu tipo de cartão.

Você vai ter que se juntar às outras aplicações / sites e pedir ao usuário:)

Outras dicas

O melhor código que eu vi para a verificação de um tipo de cartão é uma página de Javascript em http: // www .eflo.net / mod10.htm - pode diferenciar entre um débito Visa e cartão de crédito como você pediu, um longo com muitas outras variações de cartões. Eu tenho portado este código para C # com muita facilidade.

Seu outra alternativa é adquirir uma cópia do banco de dados BIN (Número de Identificação Bancária), que é uma lista de todos os prefixos de cartão, a emissão do cartão, e os requisitos de validação do cartão (por exemplo, Data de validade, Issue Não, data de início) . Algumas fontes bin;

Não sei o que você precisa que para, mas todos os sistemas POS Estou ciente de pedir ao usuário para especificar o tipo do cartão.

Você pode executar débito como de crédito - sem necessidade de número de pinos
você pode executar o crédito como débito - digite o seu PIN e operação contará como adiantamento em dinheiro

Wiki tem listas de crédito vs débito prefixos

No entanto, IIRC alguns cartões podem ser usados ??tanto como crédito e de débito, dependendo do contexto.

Você provavelmente já descobriu isso já através de seu gateway de pagamento, mas cartões (débito, crédito, costume [por exemplo, cartões de loja] não são facilmente distinguíveis, sem um pouco de ajuda. Normalmente, você pode enviar o número do cartão para o gateway de pagamento e eles vão dar-lhe esse detalhe, mas você pode trabalhar com isso de uma tabela de prefixo simples.

Basta colocar cada banco / organização tenha acesso a um determinado conjunto de prefixos [números no início] e, dependendo do nível de detalhe que você quiser, pode corresponder a qualquer número do cartão para uma organização usando o prefixo. O que é bom é que cartões de débito e cartões de crédito usam diferentes prefixos mesmo a partir do mesmo banco.

Do ponto de gateway web de vista que você normalmente não importa como o gateway de pagamento irá dizer-lhe automaticamente se eles aceitam o cartão, fazer verificações Hotcard para você e validar as outras informações inseridos.

O comentário (acima / abaixo) sobre não ter de introduzir o seu PIN em um cartão de débito é errado. Isso não é um cartão de débito, por vezes referido como Garagem / Fuel Cards (onde eu venho) eles só trabalho para certos "transações do tipo de combustível" para acelerar o processamento no pátio.

Número varia. Aqui está um pequeno trecho de uma especificação de idade eu tive uma vez.

  • 510000-510.249 16 Agora Reservado para Europay (MCS e MCG)
  • 510.250-510.399 16 Agora MasterCard cartão de débito
  • 510400-510549 16 Agora MasterCard Eletrônico
  • 510550-510999 16 Agora MasterCard cartão de débito
  • 511000-511204 16 Agora MasterCard cartão de débito
  • 513000-513999 16 Agora reservado para uso pelo Europay France ICA - 1031 SOMENTE
  • 514130-514629 16 Agora MasterCard cartão de débito
  • 514630-514730 16 Agora cartão MasterCard Negócios (anteriormente observou a débito de negócios)
  • 514731 - (. U.S) 514740 16 Agora Mundo MasterCard
  • 514741-514760 16 Agora Platinum MasterCard cartão de débito
  • 514.761-514.800 16 Agora MasterCard Padrão (proposta de novo Produto Premium - EUA) - 40
  • 514.801-514.815 16 Agora MasterCard Padrão (proposta de novo Produto Premium - LAC) - 15
  • 514816-514830 16 Agora MasterCard Padrão (proposta de novo Prémio prodct - Sâmea) - 15

Pode muito bem haver outros métodos até agora, por exemplo, na mensagem de retorno do processador, mas eu não tive que lidar com isso por um longo tempo. Nós processamos tudo como um cartão de crédito e se o cartão é estritamente um cartão de débito do banco apenas cuida dele.

Binbase irá dizer-lhe se o cartão é de débito ou de crédito com base nos seis primeiros dígitos do número do cartão. Você pode fazer 10 pesquisas manuais por dia ou você pode pagar para comprar todo o banco de dados. www.binbase.com/search.html

As informações retornadas é neste formato:

Card Brand: VISA
Issuing Bank: BRANCH BANKING AND TRUST COMPANY
Card Type (Credit/Debit): DEBIT
Card Level: CLASSIC
ISO Country Name: UNITED STATES
ISO Country A2 Code: US
ISO Country A3 Code: USA
ISO Country Number: 840
Bank Website: HTTP://WWW.EXAMPLE.COM
Bank Phone: 555-555-5555 OR 800-555-5555

eu encontrei um gratuito BIN verificador JSON API. https://api.freebinchecker.com/bin/ {bin} para a verificação de um único número BIN. Ele aceita um número de comprimento seis, os dígitos iniciais de qualquer cartão de pagamento. O aplicativo irá executar a pesquisa de banco de dados para retornar todas as informações relevantes armazenado para o BIN e cerca de mais de 350,000 fichas. Há também têm recurso premium.

Você pode obter tipo de cartão & outras informações relevantes. Nenhum número necessidade card completo, exceto primeiros 6 dígitos.

Exemplo:

**Request:**  
https://api.freebinchecker.com/bin/370245   

**Response:** 
{"valid":true,
"card":{  
    "status":"active",
    "brand":"VISA",
    "type":"credit",
    "category":"STANDARD",
    "sub-category":"The payment system \"Visa\""
},
"country":{  
    "name":"United States",
    "alpha-2-code":"US",
    "numeric-code":"840",
    "latitude":"37.09024",
    "longitude":"-95.712891"
},
"issuer":{  
    "name":"JPMORGAN CHASE BANK, N.A.",
    "url":"www.jpmorganchase.com",
    "tel":"1-800-565-3460-9200"
}}

Para mais informações: Freebinchecker

https://binlist.net/ oferece uma API livre (limitada de taxa). Só é necessário introduzir os 6 ou 8 primeiros dígitos do número do cartão - isto é, os números de identificação Emissor (IIN), anteriormente conhecida como número de identificação de banco (BIN).

curl -H "Accept-Version: 3" "https://lookup.binlist.net/45717360"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top