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.