Você precisará seguir (conforme a letra) e, de preferência, exceder o padrão PCI DSS . Isso não é de forma alguma uma tarefa fácil de realizar, nem deve ser tomada trivialmente.
Eu recomendo fortemente que você encontre um processador de terceiros que possa lidar com isso e integrá-lo ao seu sistema de cobrança. Vai muito além de apenas ter SSL e criptografar as informações no banco de dados. Você também deve monitorar o acesso, detectar invasões, instalar sistemas que notifiquem apenas as pessoas afetadas em caso de violação (e determinar quais dados podem ter sido comprometidos), etc.
Depois, há acesso físico aos servidores, à rede etc. Isso significa um gabinete bloqueado que não é compartilhado nos servidores que você possui, onde a LAN física também é protegida. A conformidade não será barata nem fácil.
Realmente, gaste todo o esforço possível para descarregar isso para terceiros. A responsabilidade por si só não vale o risco, a menos que você esteja falando de transações que chegam a centenas de milhares de (insira sua moeda aqui) mensalmente. Nesse caso, as taxas que você economiza podem justificar a contratação do talento necessário para implementar e monitorar sistemas que armazenam as informações. Você precisará:
- Programadores de sistemas (você precisará de ganchos de auditoria no nível do sistema de arquivos e kernel)
- Gurus de IDS / IPS (a menos que você goste de aprisionamento de fornecedores)
- Equipe 24/7/365 para monitorar os alertas gerados a partir dos sistemas projetados pelos especialistas. Essas pessoas não são baratas, tomam a decisão de puxar o plugue de cobrança ou relatar um erro nos algoritmos que você usa.
E, novamente, você pode transferir tudo isso para terceiros, com um preço bastante baixo.
Nunca é uma boa idéia para armazenar detalhes de cartão de crédito cada vez . Você está se preparando para uma queda, qualquer gateway de pagamento decente permitirá que você faça transações recorrentes com um token em que não precisa armazenar os detalhes do cartão de crédito.
fonte
Muitas respostas que você procura podem ser encontradas no site do Guia de conformidade do setor de cartões de pagamento . Sua página de links é particularmente útil.
A melhor sugestão seria permitir que terceiros lidassem com esse armazenamento.
fonte
O seu comerciante de terceiros não inclui a opção de pagamentos contínuos com cartão de crédito - a maioria dos principais aqui no Reino Unido certamente (DataCash, RBS World Pay, etc.).
Basicamente, você envia os Detalhes do cartão uma vez, com uma solicitação de autoridade do CCC (que, se bem me lembro, precisa incluir o cronograma e a quantidade regulares esperados) e, em seguida, você recebe um token de volta. Todos os meses, o que quer que você faça uma pesquisa no comerciante com o token, e eles processam as transações subseqüentes para você - geralmente também há recursos para configurá-las para solicitações variáveis ad-hoc. O principal requisito é notificar o cliente (geralmente pelo menos 10 dias) antes de efetuar o pagamento.
Dessa forma, você não está armazenando os detalhes do CC em nenhum lugar, tudo isso está sendo tratado por pessoas que atenderam aos requisitos.
Isso é semelhante a realizar pré-autorizações em um cartão; portanto, você nunca precisará armazenar o cartão de crédito, apenas um token do comerciante para o qual você pode ligar conforme necessário.
fonte
Uma pergunta: por que?
Só peço isso porque tenho que lidar com PCI, e acompanhá-lo é uma dor. Embora meu trabalho diário nos qualifique como o nível mais baixo para conformidade com PCI, ainda há muito a fazer. Criptografia, considerações de privilégios mínimos, segurança do sistema operacional do servidor, segurança de rede interna, segurança de fronteiras, auditorias de terceiros ... tudo é muito para acompanhar. E isso mesmo conosco, sem armazenar informações de cartão de crédito!
(Nota: Se você está fazendo comércio eletrônico, é necessário estar em conformidade com o PCI, mesmo que não esteja armazenando os dados do CC.
Procure fazer com que seu processador lide com isso. Usamos o Authorize.net e eles têm uma API maravilhosa para que possamos criar nosso próprio front-end personalizado, mas eles cuidam de armazenar e lidar com os pagamentos reais. Se quisermos configurar o faturamento recorrente, eles têm um sistema para armazenar as informações. Honestamente, confio neles mais do que em mim.
fonte
Como outras pessoas mencionaram, você está procurando por PCI-DSS. Além disso, como outras pessoas mencionaram, é provável que a conformidade seja proibitivamente cara para sites pequenos.
Você pode armazenar localmente um ID que identifique as informações do cartão de crédito do cliente no seu gateway de pagamento. Não sei se o PayPal oferece essa opção, mas existem outros meios de pagamento.
Lembre-se também de que, mesmo que você não esteja armazenando os dados do cartão de crédito em disco, ainda estará no escopo de alguns requisitos do PCI-DSS. De longe, a maneira mais fácil de estar em conformidade é não levar nenhum dado de CC (ou seja: postando o formulário de pagamento diretamente no gateway de pagamento).
fonte
Serviços como http://chargify.com/ oferecem uma camada extra em cima dos gateways de pagamento existentes. Eles provavelmente oferecerão todo tipo de maneira de armazenar cartões de crédito para você, implementar pagamentos recorrentes e até criar relatórios para você.
Isso permitirá que você contorne todo o problema de responsabilidade e conformidade com o PCI. Uma preocupação que tenho é se um dia você deseja alterar fornecedores, contas de comerciante ou gateways. Como você leva seus 10.000 clientes? Eles entregam um banco de dados de cartões de crédito? O trabalho será feito com um concorrente para transferir as informações do cartão de crédito?
Eu duvido. É provável que você precise solicitar a todos os seus clientes que reenviem as informações de faturamento se alterar os fornecedores. Esse é um pequeno argumento a favor do armazenamento das informações do cartão de crédito. Provavelmente só vale a pena se você tiver muitos clientes e muita receita. Eu ficaria muito curioso em ouvir os pensamentos de outras pessoas sobre esse enigma particular.
fonte
Eu não tenho representante suficiente para votar ou comentar ainda, então isso está indo em uma nova resposta. Como zhaph apontou , muitas empresas comerciantes oferecem um sistema de pagamento recorrente, onde eles cuidam do armazenamento para você.
Usamos o Authorize.net para clientes que não desejam usar o PayPal e está funcionando muito bem (nossa única grande reclamação é que a chave da API é redefinida a cada 6 meses e eles não se preocupam em notificá-lo quando isso acontece. página simplesmente para de funcionar). A API deles é baseada em XML e você pode encontrar wrappers para ele em praticamente todos os idiomas.
fonte
Observe que, se você decidir armazenar as informações do cartão de crédito em seu próprio banco de dados, não deverá, em hipótese alguma, armazenar o código de segurança do cartão de 3 dígitos . Fazer isso é estritamente proibido pelas associações de cartões.
BTW, você não precisa do código de segurança do cartão para fazer uma transação. Ele melhora a taxa de detecção de fraudes, mas você não precisa disso se tiver um relacionamento contínuo com o cliente. (E mesmo que você ache necessário, não poderá armazená-lo. Não importa o que aconteça.)
Também apóio as outras recomendações para não armazenar as informações. O Customer Information Manager do Authorize.Net é fácil e barato de usar. Será MUITO MAIS BARATO para você usá-lo, em vez de incorrer nos custos de PCI inerentes ao armazenamento das informações em seus próprios servidores.
fonte
Se você deseja armazenar cartões de crédito em seu banco de dados, a criptografia é fundamental. Você também vai querer (ou talvez precisar) que terceiros façam testes de conformidade de rotina para garantir que seus sistemas estejam prontos.
fonte