Para aumentar a segurança das transações, a API Moip trabalha com o conceito de criptografia ponta-a-ponta. Isto é, os dados sensíveis de cartão de crédito são criptografados nas aplicações dos clientes (seja browser ou apps nativos) e somente são descriptografados nos servidores do Moip.
Veja abaixo o passo-a-passo de como fazer a criptografia nos principais clientes:
Obtendo uma chave pública
As chaves públicas de criptografia são disponibilizadas dentro de sua conta Moip. O acesso é feito pelo link da conta de Sandbox ou de produção, caso você já tenha passado pelo processo de homologação e esteja nos últimos detalhes para transacionar de verdade.
Criptografia no Browser
Com a SDK de criptografia JS que está disponível em nosso GitHub é possível fazer a criptografia de cartão no browser ou em apps que rodem em frameworks html5 (Ionic, React, etc.). Para integrações em ambientes Mobile você deve criptografar os dados usando nossos SDKs (Android e iOS).
Criptografia no Android
Criamos um SDK para facilitar a criptografia dos dados do cartão de seu cliente em aplicativos Android nativos. Em nosso Github você pode encontrar um zip com as dependências para que adicione o SDK em seu projeto. Caso utilize o Gradle, você pode utilizar a linha abaixo:
compile 'com.madgag.spongycastle:pkix:1.51.0.0'
Para fazer a criptografia dos dados do cartão, você deve adicionar a sua chave pública em seu app.
Após adicionar sua chave pública, você deve criar o objeto Credit Card.
Uma vez que você tem o objeto com os dados do cartão de seu cliente, deve usar o método encrypt()
, que fará a criptografia dos dados do cartão criado.
Após a criptografia ocorrer você receberá uma string que será correspondente a um hash do cartão de crédito. Com esse hash em mãos, será possível criar um Pagamento ou um Multipagamento no Moip.
Criptografia iOS
Após fazer a integração da criação dos pedidos em sua aplicação no iOS, você deve utilizar o nosso SDK (open source) para fazer a criptografia dos dados e assim poder criar pagamentos sem se preocupar com o escopo PCI. O SDK iOS está em nosso Github.
O primeiro passo para fazer a criptografia é importar o SDK em sua aplicação.
#import <MoipSDK/MoipSDK.h>
Após importar o SDK, você deve adicionar a sua chave pública em seu app.
Após adicionar sua chave pública, você deve criar o objeto Credit Card.
Com o objeto criado, você irá utilizar nosso método para criptografar os dados do cartão.
NSString * cryptData = [MoipSDK encryptCreditCard:creditCard];
Fazendo a criptografia você receberá um hash do cartão de crédito(string), uma vez que você tiver esse hash você poderá criar um Pagamento ou um Multipagamento no Moip.
Comentários
Artigo fechado para comentários.