Dom Docs
Dom Pagamentos

Tokenização

Atualizado em · 5 min de leitura

Ao criar transações com cartão de crédito, é necessário passar o token, o bin e a bandeira do cartão na requisição.

Existem dois tipos de tokens que podem ser gerados:

Token vinculado a uma carteira do consumidor: Para isso, basta enviar o customer_id na requisição. O token gerado estará associado ao consumidor, permitindo sua reutilização em futuras transações realizadas por esse mesmo cliente.
Token por transação, não vinculado ao consumidor: Esse token é válido apenas para uma única transação e não requer o envio do customer_id. É ideal para situações em que não há necessidade de vincular a transação a um cliente específico.

Para gerar esses dados, é muito simples! Você só precisará importar nossa biblioteca javascript de tokenização em seu front-end e utilizar uma das duas maneiras de implementação:

Importar a biblioteca SDK:

Para todas as formas de implementação, importe nossa biblioteca no front-end:

Ambiente de Produção: https://apiv3.dompagamentos.com.br/js/sdk-dompagamentos.min.js

Ambiente Sandbox: https://hml-apiv3.dompagamentos.com.br/js/sdk-dompagamentos.min.js

<script type="text/javascript" src="https://apiv3.dompagamentos.com.br/js/sdk-dompagamentos.min.js"></script>

Opção 1: Implementar com Java Script:

Faça uma requisição ao método **getTokenCard() **para obter como resposta o token, bin e bandeira, exemplo:

Exemplo de uso:

<script type="text/javascript" src="https://apiv3.dompagamentos.com.br/js/sdk-dompagamentos.min.js"></script>

<form action="#" method="post">
    <input type="hidden" name="token" id="token">
    <input type="hidden" name="brand" id="brand">
    <input type="hidden" name="bin" id="bin">

    <input type="submit" value="Enviar" onclick="sendForm()">
</form>
  
<script>
	function sendForm() {
		//Sua chave pública:
    let public_key = 'pk_6d05f363eb03512dd0960af902bacba18be7329dab32322d';
    
    //Dados do cartão:
  	let data_card = {
    	name: 'João da Silva', //Nome do cartão
      document: '11111111111', //CPF ou CNPJ
      customer_id: '',//Id do consumidor caso queira gerar um token de carteira
      number: '5147430374257642',//Número do cartão
      cvv: '652', //Código de segurança
      month: '01', //Mês que expira
      year: '25' //Ano que expira
    }
    
    let installments = 1; //quantidade de parcelas
    
    getTokenCard(public_key, data_card, installments, function (data) {
      
    	console.log('resposta: ', data);
      
      if (data.token) {
      	document.getElementById('token').value = data.token;
        document.getElementById('brand').value = data.brand;
        document.getElementById('bin').value = data.bin;
        // form.submit();
      } else {
      	alert("ERRO: " + data.msgError);
      }
      
    });
   }
</script>

Opção 2 - Implementar através de atributos nos campos do seu formulário:

Inclua nos campos do seu formulário nossos atributos data-dompag com seus respectivos valores:

AtributoCampo no formulárioExemplo de valor do campo
data-dompag="number"Número do cartão de crédito4871 2689 6999 1111
data-dompag="verification_value"Código de segurança (CVV)124
data-dompag="full_name"Nome do titular do cartãoJoão da Silva
data-dompag="expiration"Data de expiração do cartão12/30
data-dompag="document"Documento do titular (CPF)111111111-11
data-dompag="birthdate"Data de nascimento do titular01/01/2000
data-dompag="installments"Quantidade de parcelas da compra12
data-dompag="token-card"Token retornado pelo SDKlMIS2rqea7p+AB6n0LNfWAMO4CccY1FKxygShPSWCfl
data-dompag="brand-card"Bandeira do cartão retornada pelo SDK (pode ser nula)Visa
data-dompag="bin-card"6 primeiros e 4 últimos digitos do cartão retornados pelo SDK487126******1111
data-dompag="customer_id"Id do consumidor se desejar criar um token da carteira04a26aa2-e781-472e-88d0-6e958ed972g3

Exemplo de uso:

html
<form id="payment-form" action="#" method="POST">
    <div>
        <div>
            <input placeholder="Número do Cartão" type="text" data-dompag="number" />
        </div>
        <div>
            <input placeholder="CVV" type="text" data-dompag="verification_value" />
        </div>
        <div>
            <input placeholder="Titular do Cartão" type="text" data-dompag="full_name" />
        </div>
        <div>
            <input  placeholder="Expiração (MM/AA)" type="text" value="12/30" data-dompag="expiration" />
        </div>
        <div>
            <input placeholder="CPF" type="text" value="" data-dompag="document" />
        </div>
        <div>
            <input placeholder="Nascimento (DD/MM/YYYY)" type="text" value="01/01/2000"  />
        </div>
        <div>
            <input placeholder="Celular" type="text" value=""  data-dompag="phone"/>
        </div>

        <div>
            <input  placeholder="Parcelas" type="number" value="1" data-dompag="installments" />
        </div>
    </div>

    <div class="token-area">
        <label for="token">Token do Cartão de Crédito - Enviar para seu Servidor</label>
        <input type="text" name="token" id="token" placeholder="Token" size="50" data-dompag="token-card" />
        <input type="text" name="brand" id="brand" placeholder="Bandeira" data-dompag="brand-card" />
        <input type="text" name="bin" id="bin" placeholder="Bin" size="30" data-dompag="bin-card" />
    </div>

    <div>
       <input type="hidden" value="" data-dompag="customer_id" />  
        <button type="button" onclick="sendForm()">Salvar</button>
    </div>
</form>

<script type="text/javascript" src="https://apiv3.dompagamentos.com.br/js/sdk-dompagamentos.min.js"></script>

<script>
    function sendForm() {
        let public_key = '{sua_chave_publica}';

        initTokenCard(public_key, 'payment-form', function (data) {
            if (data.token) {
                document.getElementById('token').value = data.token;
                document.getElementById('brand').value = data.brand;
                document.getElementById('bin').value = data.bin;
                document.getElementById('payment-form').submit();
            } else {
                alert("ERRO: " + data.msgError);
            }
        });
    }
</script>

Chave Pública

Para executar o script SDK, será necessário fornecer sua chave pública, ela fica disponível através do painel da conta, menu Segurança -> Token para checkout

Esta página foi útil?