Como eu cadastro perfis de pagamento via API?
No momento do desenvolvimento da integração com a plataforma Vindi, provavelmente você irá se deparar com a necessidade de cadastrar os dados do cartão de crédito do cliente. A plataforma Vindi possui 2 endpoints diferentes para cadastro de perfis de pagamento:
API privada;
API pública.
API privada
Este é o método usado para cadastro de perfis de pagamento onde a requisição é originada a partir dos servidores da sua empresa, usando a chave privada da API Vindi.
Você precisará obter os dados a partir de um formulário próprio, recebê-los em seu backend e encaminhá-los para a Vindi através do método POST /payment_profiles:

Através deste método, os dados sensíveis do cartão do cliente irão trafegar pelos seus servidores e você deve assegurar que o mesmo não é armazenado de nenhuma forma.
Mesmo sem armazenar os dados, a especificação PCI-DSS poderá exigir a certificação do seu ambiente simplesmente porque há tráfego de informações sensíveis em seu ambiente.
API pública
Para mitigar riscos e reduzir o escopo de adequação à especificação PCI, recomendamos que os dados sensíveis sejam enviados para a plataforma Vindi diretamente a partir do browser do usuário através do método POST /public/payment_profiles.
Segue abaixo um exemplo simples usando jQuery:
O exemplo acima efetua o cadastro de um novo perfil de pagamento e retorna seu respectivo gateway_token que por sua vez deverá ser enviado para seu backend por um formulário e registrado através da API privada, informando o código do cliente:

Esta operação deve ser executada em até 5 minutos a partir do cadastro inicial, caso contrário o cartão será removido da plataforma Vindi.
Observe que, diferente do primeiro método de envio, a API pública permite que o cartão seja cadastrado sem que os dados trafeguem pelo seu servidor, porém ainda permite que você associe o cliente via backend. Embora o desenvolvimento seja consideravelmente trabalhoso, os riscos são drasticamente reduzidos.
A API pública é suportada apenas pelo browsers compatíveis com a especificação CORS.
Resumo do fluxo da API pública
O diagrama abaixo exibe um exemplo do fluxo da comunicação entre os componentes envolvidos:
Cliente: Usuário que acessa a loja e deseja efetuar uma compra;
Checkout Merchant: Interface web fornecida pela loja para preenchimento das informações de pagamento;
Backend Merchant: Aplicação web que recebe e processa as requisições do checkout frontend;
Vindi: Plataforma responsável pela gestão de pagamentos e assinaturas.
