Cadastro de Perfil via 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:
var profile = {
"holder_name": "José da Silva",
"card_expiration": "12/2018",
"card_number": "5167454851671773",
"card_cvv": "123",
"payment_method_code": "credit_card",
"payment_company_code": "mastercard"
}
$.ajax({
type: "POST",
url: "<https://app.vindi.com.br/api/v1/public/payment_profiles">,
dataType: "json",
headers: { "Authorization": "Basic " + btoa("CHAVE_PÚBLICA" + ":") },
data: profile
}).success(function(data) {
console.log(data);
alert(data.payment_profile.gateway_token);
}).error(function(request, status, error) {
console.log(error);
console.log(request.responseText);
alert('Erro ao cadastrar perfil de pagamento');
});
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:
POST <https://app.vindi.com.br/api/v1/payment_profiles>
{
"gateway_token": "5c303e1c-964d-4602-a62c-e9ea80ad7cc4",
"customer_id": 51,
"payment_method_code": "credit_card"
}
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.
Updated 12 months ago