Processadores de pagamento - O que preciso saber se quiser aceitar cartões de crédito no meu site?[fechado]

StackOverflow https://stackoverflow.com/questions/51094

  •  09-06-2019
  •  | 
  •  

Pergunta

Essa questão fala sobre diferentes processadores de pagamento e quanto eles custam, mas estou procurando a resposta para o que preciso fazer se quiser aceitar pagamentos com cartão de crédito?

Suponha que eu precise loja números de cartão de crédito para os clientes, de modo que a solução óbvia de confiar no processador do cartão de crédito para fazer o trabalho pesado não esteja disponível.

Segurança de dados PCI, que aparentemente é o padrão para armazenar informações de cartão de crédito, tem vários requisitos gerais, mas como implementá-los?

E os fornecedores, como Visto, que têm suas próprias melhores práticas?

Preciso ter acesso por chaveiro à máquina?Que tal protegê-lo fisicamente contra hackers no prédio?Ou mesmo se alguém colocasse as mãos nos arquivos de backup com os arquivos de dados do SQL Server?

E quanto aos backups?Existem outras cópias físicas desses dados?

Dica: Se você obtiver uma conta de comerciante, deverá negociar que eles cobrem "interchange-plus" em vez de preços diferenciados. Com preços diferenciados, eles cobrarão taxas diferentes com base no tipo de Visa/MC usado – ou seja.eles cobram mais por cartões com grandes recompensas associadas a eles.Intercâmbio mais cobrança significa que você paga ao processador apenas o que a Visa/MC cobra, mais uma taxa fixa.(Amex e Discover cobram suas próprias taxas diretamente dos comerciantes, portanto, isso não se aplica a esses cartões.Você descobrirá que as taxas Amex estão na faixa de 3% e as do Discover podem chegar a 1%.Visa/MC está na faixa de 2%). Este serviço deve fazer a negociação para você (Não usei, não é um anúncio e não sou afiliado ao site, mas este serviço é muito necessário.)

Esta postagem do blog dá uma resumo completo do manuseio de cartões de crédito (especificamente para o Reino Unido).


Talvez eu tenha formulado a pergunta errada, mas estou procurando dicas como estas:

  1. Usar SecurID ou eToken para adicionar uma camada de senha adicional à caixa física.
  2. Certifique-se de que a caixa esteja em uma sala com fechadura física ou combinação de código de acesso.
Foi útil?

Solução

Passei por esse processo há pouco tempo em uma empresa em que trabalhei e pretendo passar por isso novamente em breve com meu próprio negócio.Se você tiver algum conhecimento técnico de rede, não é tão ruim assim.Caso contrário, será melhor usar o Paypal ou outro tipo de serviço.

O processo começa obtendo um conta de comerciante configurado e vinculado à sua conta bancária.Você pode verificar com seu banco, porque muitos dos principais bancos oferecem serviços comerciais.Você pode conseguir negócios, porque já é cliente deles, mas se não, você pode fazer compras.Se você planeja aceitar Discover ou American Express, eles serão separados, pois eles fornecem os serviços comerciais para seus cartões, não há como evitar isso.Existem outros casos especiais também.Este é um processo de inscrição, esteja preparado.

Em seguida, você vai querer comprar um Certificado SSL que você pode usar para proteger suas comunicações quando as informações do cartão de crédito forem transmitidas por redes públicas.Existem muitos fornecedores, mas minha regra é escolher um que, de certa forma, seja uma marca.Quanto melhor eles forem conhecidos, melhor seu cliente provavelmente já ouviu falar deles.

Em seguida, você vai querer encontrar um Gateway de pagamento para usar com seu site.Embora isso possa ser opcional dependendo do seu tamanho, na maioria das vezes não será.Você precisará de um.Os fornecedores de gateway de pagamento fornecem uma maneira de se comunicar com a API do gateway da Internet com a qual você se comunicará.A maioria dos fornecedores fornece comunicação HTTP ou TCP/IP com sua API.Eles processarão as informações do cartão de crédito em seu nome.Dois vendedores são Autorizar.Net e Fluxo de Pagamento Pro.O link que forneço abaixo contém mais algumas informações sobre outros fornecedores.

O que agora?Para começar, existem diretrizes sobre o que seu aplicativo deve seguir para transmitir as transações.Durante o processo de configuração de tudo, alguém examinará seu site ou aplicativo e se certificará de que você está seguindo as diretrizes, como o uso de SSL, e que possui os termos de uso e a documentação da política sobre quais informações o usuário está fornecendo. para.Não roube isso de outro site.Crie o seu próprio, contrate um advogado se precisar.A maioria dessas coisas se enquadra no link PCI Data Security que Michael forneceu em sua pergunta.

Se você planeja armazenar os números do cartão de crédito, é melhor estar preparado para implementar algumas medidas de segurança internamente para proteger as informações.Certifique-se de que o servidor em que as informações estão armazenadas seja acessível apenas aos membros que precisam ter acesso.Como qualquer boa segurança, você faz as coisas em camadas.Quanto mais camadas você colocar, melhor.Se desejar, você pode usar segurança do tipo chaveiro, como ID Seguro ou eToken para proteger a sala em que o servidor está.Se você não puder pagar pela rota do chaveiro, use o método de duas chaves.Permita que uma pessoa que tenha acesso à sala assine uma chave, que acompanha uma chave que ela já carrega.Eles precisarão de ambas as chaves para acessar o quarto.Em seguida, você protege a comunicação com o servidor com políticas.Minha política é que a única coisa que se comunica com ele pela rede seja o aplicativo e que as informações sejam criptografadas.O servidor não deve ser acessível de nenhuma outra forma.Para backups, eu uso Truecrypt para criptografar os volumes nos quais os backups serão salvos.Sempre que os dados são removidos ou armazenados em outro lugar, você usa novamente o truecrypt para criptografar o volume em que os dados estão.Basicamente, onde quer que os dados estejam, eles precisam ser criptografados.Certifique-se de que todos os processos para obter os dados contenham trilhas de auditoria.use logs para acesso à sala do servidor, use câmeras se puder, etc...Outra medida é criptografar as informações do cartão de crédito no banco de dados.Isso garante que os dados só possam ser visualizados em seu aplicativo, onde você pode impor quem vê as informações.

eu uso pfsense para meu firewall.Eu executo um cartão compact flash e tenho dois servidores configurados.Uma é para failover para redundância.

Eu achei isto postagem no blog de Rick Strahl, que ajudou tremendamente a entender o comércio eletrônico e o que é necessário para aceitar cartões de crédito por meio de um aplicativo da web.

Bem, esta acabou sendo uma resposta longa.Espero que essas dicas ajudem.

Outras dicas

Faça a si mesmo a seguinte pergunta: por que você deseja armazenar números de cartão de crédito em primeiro lugar?Provavelmente, você não sabe.Na verdade, se você fazer armazená-los e conseguir que um deles seja roubado, você pode estar enfrentando uma responsabilidade séria.

Eu escrevi um aplicativo que armazena números de cartão de crédito (já que as transações foram processadas offline).Esta é uma boa maneira de fazer isso:

  • Obtenha um certificado SSL!
  • Crie um formulário para obter CC# do usuário.
  • Criptografe parte (não toda!) do CC# e armazene-o em seu banco de dados.(Eu sugeriria os 8 dígitos do meio.) Use um método de criptografia forte e uma chave secreta.
  • Envie o restante do CC# para quem processa suas transações (provavelmente você mesmo) com o ID da pessoa a ser processada.
  • Ao fazer login mais tarde, você digitará o ID e a parte enviada pelo correio do CC#.Seu sistema pode descriptografar a outra parte e recombinar para obter o número completo para que você possa processar a transação.
  • Finalmente, exclua o registro online.Minha solução paranóica foi sobrescrever o registro com dados aleatórios antes da exclusão, para remover a possibilidade de recuperação.

Isso parece muito trabalhoso, mas ao nunca gravar um CC# completo em qualquer lugar, você torna extremamente difícil para um hacker encontrar algo de valor em seu servidor web.Acredite em mim, vale a pena ficar tranquilo.

O documento PCI 1.2 acabou de ser lançado.Ele fornece um processo sobre como implementar a conformidade com PCI junto com os requisitos.Você pode encontrar o documento completo aqui:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

Resumindo, crie um segmento de rede separado para quaisquer servidores que serão dedicados ao armazenamento de informações CC (geralmente servidor(es) de banco de dados).Isole os dados tanto quanto possível e garanta que apenas o acesso mínimo necessário para acessá-los esteja presente.Criptografe-o ao armazená-lo.Nunca armazene PANs.Limpe dados antigos e alterne suas chaves de criptografia.

Exemplo do que não fazer:

  • Não deixe que a mesma conta que pode pesquisar informações gerais no banco de dados procure informações de CC.
  • Não mantenha seu banco de dados CC no mesmo servidor físico que seu servidor web.
  • Não permita tráfego externo (Internet) no segmento de rede do banco de dados CC.

Exemplo de Dos:

  • Use uma conta de banco de dados separada para consultar informações de CC.
  • Proibir todo o tráfego, exceto o necessário, para o servidor de banco de dados CC por meio de firewall/listas de acesso
  • Restrinja o acesso ao servidor CC a um conjunto limitado de usuários autorizados.

Gostaria de adicionar um comentário não técnico sobre o qual você pode querer pensar

Vários de meus clientes administram sites de comércio eletrônico, incluindo alguns que possuem lojas moderadamente grandes.Ambos, embora certamente pudessem implementar um gateway de pagamento, optam por não fazê-lo, eles pegam o número cc, armazenam-no temporariamente criptografado online e processam-no manualmente.

Eles fazem isso devido à alta incidência de fraudes e o processamento manual lhes permite realizar verificações adicionais antes de atender um pedido.Disseram-me que eles rejeitam um pouco mais de 20% de todas as suas transações - o processamento manual certamente leva mais tempo e, num caso, eles têm um funcionário que não faz nada além de processar transações, mas o custo de pagar o seu salário é aparentemente menor do que o seu exposição se eles apenas passassem números cc por meio de um gateway online.

Ambos os clientes entregam produtos físicos com valor de revenda, por isso estão particularmente expostos e para itens como software em que uma venda fraudulenta não resultaria em nenhuma perda real, sua milhagem poderia variar, mas vale a pena considerar acima os aspectos técnicos de um gateway online se implementar isso é realmente o que você deseja.

EDITAR:E desde a criação desta resposta, gostaria de acrescentar uma história de advertência e dizer que já passou o tempo em que isso era uma boa ideia.

Por que?Porque conheço outro contato que estava adotando uma abordagem semelhante.Os dados do cartão foram armazenados criptografados, o site foi acessado por SSL e os números foram excluídos imediatamente após o processamento.Seguro você acha?

Nenhuma máquina em sua rede foi infectada por um Trojan de registro de chaves.Como resultado, foram identificados como a fonte de várias falsificações de cartões de crédito - e, consequentemente, foram alvo de uma grande multa.

Como resultado disso eu agora nunca aconselho qualquer pessoa a lidar com cartões de crédito por conta própria.Desde então, os gateways de pagamento tornaram-se muito mais competitivos e rentáveis, e as medidas antifraude melhoraram.O risco agora não vale mais a pena.

Eu poderia excluir esta resposta, mas acho melhor deixá-la editada como um conto de advertência.

Tenha em mente que usar SSL para enviar um número de cartão de um navegador para um servidor é como cobrir o número do seu cartão de crédito com o polegar quando você entrega o cartão ao caixa de um restaurante:seu polegar (SSL) impede que outros clientes do restaurante (a Rede) vejam o cartão, mas uma vez que o cartão está nas mãos do caixa (um servidor web) o cartão não está mais protegido pela troca SSL, e o caixa poderia estar fazendo qualquer coisa com esse cartão.O acesso a um número de cartão salvo só pode ser interrompido pela segurança do servidor web.Ou seja, a maioria dos roubos de cartões na rede não são feitos durante a transmissão, mas sim quebrando a segurança deficiente do servidor e roubando bancos de dados.

Por que se preocupar com a conformidade com PCI?Na melhor das hipóteses, você economizará uma fração de um percentual em suas taxas de processamento.Este é um daqueles casos em que você precisa ter certeza de que é isso que deseja fazer com seu tempo, tanto antecipadamente no desenvolvimento quanto ao longo do tempo, para acompanhar os requisitos mais recentes.

Em nosso caso, fazia mais sentido usar um gateway com economia de assinatura e associá-lo a uma conta de comerciante.O gateway de assinatura permite que você ignore toda a conformidade com PCI e não faça nada além de processar a transação adequadamente.

Usamos TrustCommerce como nosso portal e estamos satisfeitos com seu serviço/preço.Eles têm código para várias linguagens que facilitam bastante a integração.

Certifique-se de controlar o trabalho extra e o orçamento necessários para PCI.O PCI pode exigir enormes taxas de auditoria externa e esforço/suporte interno.Esteja também ciente das multas/penalidades que podem ser impostas unilateralmente a você, muitas vezes extremamente desproporcionais à escala da “ofensa”.

Há muito em todo o processo.A maneira mais fácil de fazer isso é usar serviços semelhantes ao PayPal, para que você nunca administre dados de cartão de crédito.Além disso, há muitas coisas a serem feitas para ser aprovado para oferecer serviços de cartão de crédito em seu site.Você provavelmente deve conversar com seu banco e com as pessoas que emitem sua identificação de comerciante para ajudá-lo na configuração do processo.

Como outros mencionaram, a maneira mais fácil de entrar nesta área é com o uso de PayPal, Google Checkout ou Nochex.No entanto, se você pretende fazer uma quantidade significativa de negócios, você pode querer "atualizar" para serviços de integração de sites de nível superior, como MundoPay, NetBanx (Reino Unido) ou Neteller (EUA).Todos esses serviços são razoavelmente fáceis de configurar.E eu sei que o Netbanx oferece integração conveniente em algumas das soluções de carrinho de compras disponíveis no mercado, como Intershop (porque escrevi alguns deles).Além disso, você está buscando integração direta com os sistemas bancários (e seus sistemas APAX), mas isso é difícil e, nesse ponto, você também precisa provar às empresas de cartão de crédito que está lidando com os números do cartão de crédito com segurança (provavelmente não vale a pena considerar se você não está recebendo US$ 100 mil por mês).

Trabalhando do início ao fim, os custos/benefícios são que as opções iniciais são muito mais fáceis (mais rápidas/baratas) de configurar e você paga taxas de manuseio bastante altas para cada transação.os últimos são muito mais caros de configurar, mas você paga menos no longo prazo.

A outra vantagem da maioria das soluções não dedicadas é que você não precisa manter seguros os números de cartão de crédito criptografados.Isso é problema de outra pessoa :-)

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