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

258

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

Suponha que eu preciso armazenar números de cartão de crédito para os clientes, para 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.

O PCI Data Security , que aparentemente é o padrão para armazenar informações de cartão de crédito, possui vários requisitos gerais, mas como implementá-los ?

E os fornecedores, como a Visa , que têm suas próprias práticas recomendadas?

Preciso ter acesso ao teclado na máquina? Que tal protegê-lo fisicamente dos hackers do prédio? Ou ainda, se alguém colocasse as mãos nos arquivos de backup com os arquivos de dados do servidor sql?

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

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

Esta postagem do blog fornece um 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. Use o SecurID ou o eToken para adicionar uma camada de senha adicional à caixa física.
  2. Verifique se a caixa está em uma sala com uma combinação de bloqueio físico ou código de chave.
Michael Pryor
fonte
1
Isso foi preterido pelo PA-DSS 2.0.

Respostas:

236

Passei por esse processo há não muito tempo atrás com uma empresa em que trabalhei e pretendo fazê-lo novamente em breve com meu próprio negócio. Se você tem algum conhecimento técnico de rede, realmente não é tão ruim assim. Caso contrário, você estará melhor usando Paypal ou outro tipo de serviço.

O processo começa com a configuração de uma conta de comerciante e a sua conta bancária. Convém verificar com seu banco, porque muitos dos principais bancos fornecem serviços comerciais. Você pode conseguir acordos, porque já é cliente deles, mas, se não, pode comprar. Se você planeja aceitar o Discover ou o American Express, eles serão separados, porque eles fornecem os serviços de comerciante para seus cartões, sem contornar isso. Existem outros casos especiais também. Este é um processo de inscrição, esteja preparado.

Em seguida, você desejará adquirir um certificado SSL que possa ser usado 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 geral é escolher um que seja o nome de uma marca. Quanto melhor eles são conhecidos, melhor o seu cliente provavelmente já ouviu falar deles.

Em seguida, você desejará encontrar um gateway de pagamento para usar com seu site. Embora isso possa ser opcional, dependendo do seu tamanho, mas na maioria das vezes não será. Você precisará de um. Os fornecedores do gateway de pagamento fornecem uma maneira de conversar 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 fornecedores são Authorize.Net e PayFlow Pro . O link fornecido abaixo contém mais informações sobre outros fornecedores.

O que agora? Para iniciantes, existem diretrizes sobre o que seu aplicativo deve aderir para transmitir as transações. Durante o processo de configuração de tudo, alguém examinará seu site ou aplicativo e garantirá que você esteja cumprindo as diretrizes, como usar SSL, e que tenha termos de uso e documentação de políticas sobre as informações que o usuário está fornecendo. para. Não roube isso de outro site. Crie o seu próprio, contrate um advogado, se necessário. A maioria dessas coisas se enquadra no link PCI Data Security que Michael forneceu em sua pergunta.

Se você planeja armazenar os números de cartão de crédito, é melhor estar preparado para adotar algumas medidas de segurança internamente para proteger as informações. Verifique se o servidor em que as informações estão armazenadas é 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 a segurança do tipo chaveiro, como SecureID ou eTokenpara proteger a sala em que o servidor se encontra. Se você não puder pagar a rota do chaveiro, use o método de duas chaves. Permita que uma pessoa que tenha acesso à sala assine uma chave, que acompanha a chave que já carrega. Eles precisarão das duas chaves para acessar a sala. Em seguida, você protege a comunicação com o servidor com políticas. Minha política é que a única coisa que se comunica através da rede é o aplicativo e essas informações são criptografadas. O servidor não deve estar acessível de qualquer outra forma. Para backups, eu uso truecryptpara criptografar os volumes nos quais os backups serão salvos. Sempre que os dados são removidos ou armazenados em outro lugar, use novamente o truecrypt para criptografar o volume em que os dados estão. Basicamente, onde quer que estejam os dados, eles precisam ser criptografados. Verifique se todos os processos para obter os dados carregam trilhas de auditoria. use registros para acessar a 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 possam ser visualizados apenas no seu aplicativo, onde você pode impor quem vê as informações.

Eu uso o pfsense para o meu firewall. Eu o executo em um cartão flash compacto e tenho dois servidores configurados. Um é para failover para redundância.

Encontrei este post de Rick Strahl no blog, que ajudou enormemente 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, isso acabou sendo uma resposta longa. Espero que essas dicas ajudem.

Dale Ragan
fonte
13
Resposta perfeita. Espero que outros contribuam para isso.
227 Michael Pryor
3
Um dos melhores que eu já vi .... +1
Frederic Morin
2
@ Michael Pryor: Se é tão perfeito, por que os outros precisam adicionar isso? Hã???
rosquinha
17
@donut: Como o tempo avança, as respostas raramente permanecem estáticas.
Tipo anônimo
22

Faça a si mesmo a seguinte pergunta: por que você deseja armazenar números de cartão de crédito em primeiro lugar ? As chances são de que você não. De fato, se você fizer armazená-los e conseguem ter um roubado, você poderia estar olhando para alguns sério passivo.

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

  • Obtenha um certificado SSL!
  • Crie um formulário para obter o número de CC do usuário.
  • Criptografe parte (não todas!) Do número do CC e armazene-o no seu banco de dados. (Sugiro os 8 dígitos do meio.) Use um método de criptografia forte e uma chave secreta.
  • Envie o restante do número do CC para quem processar suas transações (provavelmente você mesmo) com o ID da pessoa a processar.
  • Ao fazer login posteriormente, você digitará o ID e a parte enviada pelo CC #. Seu sistema pode descriptografar a outra parte e recombinar para obter o número completo para que você possa processar a transação.
  • Por fim, 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 cancelar a exclusão.

Isso parece muito trabalhoso, mas nunca gravando um CC # completo em nenhum lugar, você torna extremamente difícil para um hacker encontrar algo de valor em seu servidor da web. Confie em mim, vale a pena a paz de espírito.

Mike
fonte
1
Confira o comentário que Michael deixou para Sam Wessel abaixo.
Dale Ragan
17

O documento PCI 1.2 acabou de sair. Ele fornece um processo para implementar a conformidade com o PCI, juntamente com os requisitos. Você pode encontrar o documento completo aqui:

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

Para encurtar a história, crie um segmento de rede separado para os servidores dedicados ao armazenamento de informações de CC (geralmente servidores de banco de dados). Isole os dados o máximo possível e garanta que apenas o acesso mínimo necessário para acessar os dados esteja presente. Criptografar quando você armazená-lo. Nunca guarde os PAN's. Limpe os dados antigos e gire suas chaves de criptografia.

Exemplo não deve:

  • Não deixe a mesma conta que pode procurar informações gerais no banco de dados procurar 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 seu segmento de rede de banco de dados CC.

Exemplo Dos:

  • Use uma conta de banco de dados separada para consultar as informações do CC.
  • Proibir todo o tráfego, exceto o necessário, para o servidor de banco de dados CC via firewall / listas de acesso
  • Restrinja o acesso ao servidor CC a um conjunto limitado de usuários autorizados.
Zak
fonte
5
Observe que os requisitos do PCI-DSS se aplicam a todos os sistemas pelos quais os dados do cartão são transmitidos e não apenas para onde são armazenados . As mesmas restrições e requisitos de segurança também se aplicam ao servidor Web / servidor de aplicativos (e sites pertencentes a todos os outros vhosts nessas máquinas) e a todos os outros hosts no mesmo segmento de rede dessas máquinas.
Cheekysoft 24/06/2009
E se você aceitar números de cartão de crédito por telefone ou papel e digitar no seu computador desktop, as mesmas restrições também serão aplicadas.
Stobor
15

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

Vários de meus clientes administram sites de comércio eletrônico, incluindo alguns que têm lojas moderadamente grandes. Ambos, embora eles certamente possam implementar um gateway de pagamento, também não, eles pegam o número cc, armazenam-no temporariamente criptografados on-line e processam-no manualmente.

Eles fazem isso devido à alta incidência de fraudes e o processamento manual permite que eles façam verificações adicionais antes de preencher um pedido. Disseram-me que eles rejeitam pouco mais de 20% de todas as suas transações - o processamento manual certamente leva mais tempo e, em um caso, eles têm um funcionário que não faz nada além de processar transações, mas o custo de pagar seu salário é aparentemente menor do que o deles. exposição se eles apenas passaram números cc através de um gateway on-line.

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

EDIT: E desde a criação desta resposta, gostaria de adicionar um conto de advertência e dizer que já passou o tempo em que essa foi uma boa ideia.

Por quê? Porque conheço outro contato que estava adotando uma abordagem semelhante. Os detalhes 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?

Ninguém na sua rede foi infectado por um Trojan de registro de chaves. Como resultado, eles foram identificados como sendo a fonte de várias falsificações de cartões de crédito - e, consequentemente, foram atingidos por uma grande multa.

Como resultado, agora eu nunca aconselho alguém a lidar com cartões de crédito. Os gateways de pagamento tornaram-se muito mais competitivos e econômicos, e as medidas contra fraudes foram aprimoradas. O risco agora não vale mais a pena.

Eu poderia excluir esta resposta, mas acho melhor deixar editada como uma história de advertência.

Cruachan
fonte
1
Este é um comentário realmente útil, algo que eu nunca considerei. Graças
0plus1
8

Lembre-se de que usar o 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ê o entrega a uma caixa em um restaurante: seu polegar (SSL) impede outros clientes no restaurante (a Net) de ver o cartão, mas assim que o cartão estiver nas mãos do caixa (um servidor da Web), o cartão não estará mais protegido pela troca SSL e o caixa poderá estar fazendo algo com esse cartão. O acesso a um número de cartão salvo só pode ser interrompido pela segurança no servidor da web. Ou seja, a maioria dos roubos de cartões na rede não é feita durante a transmissão, mas sim através da quebra da segurança do servidor e do roubo de bancos de dados.

joe snyder
fonte
É aí que entra o PCI DSS. Ou seja, ao não armazenar o PAN completo no servidor.
Martin Clarke
5

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

No nosso caso, fazia mais sentido usar um gateway que não requer muita assinatura e associá-lo a uma conta de comerciante. O gateway seguro de assinatura permite ignorar toda a conformidade com PCI e não fazer nada além de processar a transação corretamente.

Usamos o TrustCommerce como porta de entrada e estamos felizes com seus serviços / preços. Eles possuem código para vários idiomas que facilitam bastante a integração.

denton
fonte
5
Uma razão seria evitar ser refém do gateway de pagamento, onde, se você quiser mudar para outro gateway, o gateway anterior provavelmente não lhe dará acesso a todas as informações de CC que eles têm de seus clientes, forçando-o a perguntar clientes para os detalhes do CC na compra com o novo gateway de pagamento. Vá para a etapa 1. :)
Zabba
3

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

andora
fonte
2

Há muito em todo o processo. A maneira mais fácil de fazer isso é usar serviços semelhantes ao paypal, para que você nunca lide com nenhum dado de cartão de crédito. Além disso, há algumas coisas a serem aprovadas 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 seu ID de comerciante para ajudá-lo a configurar o processo.

Kibbee
fonte
2

Como outros já mencionaram, a maneira mais fácil de entrar nessa área é usando Paypal , Google checkout ou Nochex . No entanto, se você pretende uma quantidade significativa de negócios, convém procurar "atualizar" para serviços de integração de sites de nível superior, como WorldPay , NetBanx (Reino Unido) ou Neteller (EUA) . Todos esses serviços são razoavelmente fáceis de configurar. E sei que o Netbanx oferece uma integração conveniente em algumas das soluções prontas para compras, como a Intershop(porque eu escrevi alguns deles). Além disso, você está buscando a 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 de cartão de crédito com segurança (provavelmente não vale a pena considerar se você não recebe US $ 100 mil por mês).

Trabalhando do primeiro ao último custo / benefício, 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 a longo prazo.

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

Vagnerr
fonte