Aceitar cartões para um negócio de alto risco não significa afrouxar os controles. Esta página diz claramente o que cada controle faz — e o que não faz.
Os números dos cartões nunca chegam aos seus servidores ou aos nossos
Os clientes digitam seu cartão em uma janela de pagamento executada pelo processador do cartão, e não em uma página que controlamos. Nunca recebemos o número do cartão, portanto ele não pode vazar do seu site ou do nosso.
O que guardamos é o pedido: o valor, a moeda, o status, a hora e o nome, endereço de e-mail e número de celular que o cliente digitou na finalização da compra.
3D seguro
Um pagamento com cartão pode ser enviado ao banco do cliente para aprovação antes de ser efetuado. É isso que impede um cartão roubado mais cedo, em vez de meses depois, como uma disputa.
Para assinaturas, isso importa duas vezes: um cartão só é mantido para renovações após um primeiro pagamento que passou pelo 3-D Secure.
Um pagamento só é pago quando o processador assim o diz
Confirmamos cada pedido diretamente com o processador do cartão através de uma solicitação autenticada, e só então marcamos como pago e enviamos o evento para você. Um navegador que chega a uma página de sucesso não prova nada e nunca é tratado como pagamento.
A mesma confirmação é executada se o cliente fechar a guia, para que um pedido não seja perdido porque a conexão de alguém caiu.
Verificação em duas etapas na sua conta
Qualquer conta pode ativar a verificação em duas etapas nas Configurações: um código de qualquer aplicativo autenticador, além de dez códigos de recuperação únicos para imprimir e guardar. A área administrativa exige isso.
Os segredos do autenticador são armazenados criptografados, portanto, uma cópia do banco de dados por si só não entrega o segundo fator a ninguém.
Algumas ações pedem que você prove que é você novamente, caso não tenha feito isso nos últimos quinze minutos – criando uma chave de API, adicionando um endpoint de webhook ou lendo um segredo de assinatura.
Criptografia em trânsito
O site, o painel, o checkout hospedado e a API são servidos apenas por HTTPS, e os navegadores são instruídos a recusar HTTP simples para o domínio. Os endpoints do Webhook também devem ser HTTPS.
Webhooks assinados
Cada entrega de webhook carrega uma assinatura feita com o segredo do seu endpoint, sobre o ID do evento, o carimbo de data/hora e o corpo exato. Seu servidor pode verificar se uma chamada veio de nós e não é uma repetição de uma chamada mais antiga; nossas bibliotecas Node e PHP fazem isso em uma linha.
Os endpoints devem ser resolvidos para um endereço público, os redirecionamentos não são seguidos e uma entrega que falha é tentada novamente em um cronograma cada vez maior – oito tentativas no total, distribuídas por pouco mais de um dia.
Chaves de API
As chaves secretas são criadas em Dashboard → Desenvolvedores e mostradas uma vez. Armazenamos apenas um hash da chave, para que ninguém — inclusive nós — possa lê-la depois. Uma chave sobre a qual você não tem certeza é revogada e substituída, e não recuperada.
Um registro do que aconteceu com sua conta
Logins e logins com falha, alterações em duas etapas, redefinições de senha, chaves de API e alterações de webhook e visualizações de um segredo de assinatura são registrados com a hora e o endereço de onde vieram. Você pode ler sua própria atividade recente em Configurações.
Os segredos e os corpos de solicitação nunca são gravados nesse registro.
Seus documentos de verificação
O que você carrega para ser aprovado é armazenado de forma privada e somente lido pelas pessoas que analisam sua inscrição. Ele não aparece em nenhuma lista voltada para o comerciante, exportação ou resposta da API.
Se seus próprios auditores, ou uma plataforma na qual você vende, precisarem de uma resposta sobre como os pagamentos são tratados aqui, pergunte-nos e responderemos especificamente, em vez de apontar um crachá.
Você acha que encontrou um problema de segurança? Escreva para sales@utopia-payments.com antes de divulgá-lo em qualquer outro lugar.