Cadastro de perfis de pagamento

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:

POST https://app.vindi.com.br/api/v1/payment_profiles
{ "holder_name": "José da Silva", "card_expiration": "12/2018", "card_number": "5167454851671773", "card_cvv": "123", "payment_method_code": "credit_card", "payment_company_code": "mastercard", "customer_id": 51 }

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:

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

Tem mais dúvidas? Envie uma solicitação

Comentários

Powered by Zendesk