Checkout Transparente

O Checkout Transparente é um framework com customização facilitada (Cores, fontes e outras informações), baseado nas melhores praticas de mercado para conversão. O mesmo utiliza o Gateway de Pagamentos e tem o certificado de segurança PCI-DSS.

Clique e veja a Demonstração

A instalação da biblioteca de Checkout Transparente Gateway depende da instalação do script abaixo:

Ambiente URL Javascript
Testes https://checkout.gateway.homolog.4all.com/index.js
Produção https://checkout.gateway.4all.com/index.js

Fluxos

Legenda


Tokenização

Trata-se de um processo pelo qual um dado sigiloso, como é o caso do número de um cartão de crédito, é substituído por símbolos afim de manter os dados seguros.

O checkout transparente irá usar a publicApiKey para fazer as chamadas de tokenização automaticamente, assim mantendo os dados do cartão do usuário seguros.

Criação de pagamento

A seguir será possível ver as chamadas que irão criar e capturar uma transação de pagamento.

A chamada createTransaction pode fazer a captura automaticamente se for passado o parametro autoCapture: true, caso o contrario é preciso fazer as duas chamadas.

Cancelamento de pagamento

Caso haja necessidade de um cancelamento, este pode ser feito de forma simples pela chamada a seguir.

Detalhamento de pagamento

Existem duas formas de se manter informado sobre um pagamento pela 4all, estes são:

  1. Ao criar um novo pagamento, você pode adicionar um postback ao mesmo, isso fará com que a URL informada para o postback receba uma requisição sempre que o pagamento tiver uma mudança de status.

  2. Outra possibilidade é usar a chamada getTransactionDetails que irá retornar todos os detalhes do pagamento.

Implementação

1 - Adicionar o script na página HTML

Para adicionar o script é necessário inserir o código antes do fechamendo da tag <body> no HTML.

  <script src="https://checkout.gateway.homolog.4all.com/index.js?v=1"></script> 

2 - Adicionar o CSS na página HTML

Para adicionar o CSS é necessário inserir o código antes do fechamendo da tag <head> no HTML.

  <link type="text/css" rel="stylesheet" href="https://checkout.gateway.homolog.4all.com/main.css?v=1"/> 

3 - Iniciando lib de checkout transparente

HTML

  <form action="https://www.seusite.com.br/createPayment.php" method="post" id='form'>
      <div id="payment-area"></div>
  </form>

Javascript

  window.onload = function() {
    FourAllTransparentCheckout({
        
        publicApiKey: '0123456789ABCDEF01...',
        
        element: document.getElementById('payment-area'),
        form: document.getElementById('form'),
        
        primaryColor: '#ff0000',
        primaryFont: 'Arial, sans-serif',

        submitBorder: '15px',
        titleBorder: '15px',

        requireAddress: false,
        
        customer: {
            fullName: 'John Doe',
            emailAddress: 'john@doe.com.br',  
            cpf: '03003003003',
            phoneNumber: '5551999995555',
            birthday: '1990-10-10'
        },

        payment: {
            amount: 56900,
            subtotal: 54900,
            shipping: 20000,
            installments: 12,
            interestRules: [
                {
                    min: 2,
                    max: 3,
                    percentual: 20
                },
                {
                    min: 4,
                    max: 8,
                    percentual: 40
                }
            ],
        },

        onLoad: function() {
            // Callback opcional
        },

        onError: function() {
            // Callback opcional
        },

        performPayment: function() {
            // Callback opcional
        }

    });
  }

Callbacks

Função Descrição
onLoad

Chamado ao carregar o componente da 4all para o checkout.

onError

Chamado para quando acontecer algum erro de chamada, ou validação de campos.

performPayment

Chamado ao finalizar o preenchimento de dados do Customer e dados do pagamento, como o cardNonce, para que possa ser feita a implementacao do pagamento via AJAX request ao inves de acionar o submit do formulário (action).

Parâmetros aceitos

Atributo Tipo
publicApiKey

String [44] Required

Chave obtida atraves da chamada para a rota requestPublicApiKey

element

HTMLDomElement Required

Local onde será inserido o formulário 4all de Checkout Transparente

form

HTMLDomElement Required

Formulário de checkout da loja

primaryColor

String [7]

Cor principal do componente. Exemplo: #ff0cc0

primaryFont

String [200]

Fonte principal do componente. Exemplo: Arial

customer

String [200]

Caso não enviado, o preenchimento do formulário de cadastro do Customer será obrigatório. Para declarar previamente os dados, pode ser enviado seguindo o exemplo acima, evitando assim a necessidade de preencher o formulário de dados do Customer. Para não informar nenhum dado, basta enviar um objeto vazio na propriedade Customer.

Object

Atributo Tipo
fullName

String [150] Required

Nome completo do usuário

emailAddress

String [100] Required

E-mail do usuário

cpf

String [11] Required

CPF do usuário (somente números). Deverá ser utilizado se CNPJ não estiver presente

cnpj

String [14] Required

CNPJ do usuário (somente números). Deverá ser utilizado se CPF não estiver presente

phoneNumber

String [13] Required

Telefone do usuário (somente números). Exemplo: 5551996926882

birthday

String [10] Required

Data de nascimento do usuário. Exemplo: 1980-01-01

payment

Object Required

Atributo Tipo
amount

int [64] Required

Valor total da compra em centavos. Exemplo: 20000

subtotal

int [64]

Subtotal da compra em centavos. Exemplo: 18000

shipping

int [64]

Valor do frete em centavos. Exemplo: 40000

installments

int [2]

Valor maximo de parcelas que pode ser apresentado. Exemplo: 12

interestRules

Array de objetos

Atributo Tipo
min

int [2] Required

Valor inicial do intervalo da aplicação dos juros na parcela.

max

int [2] Required

Valor final do intervalo da aplicação dos juros na parcela.

tax

float [64] Required

Juro a ser aplicado no intervalo escolhido. Exemplo: 10.5

requireAddress

Boolean (padrão false)

Caso seja true, o checkout irá solicitar os dados de endereço do usuário.

submitBorder

String (padrão '0px')

Define o arredondamento da borda do botão de submit

titleBorder

String (padrão '0px')

Define o arredondamento da borda dos título das fases de pagamento

Observações:

  • Caso o objeto customer for nulo ou falso, o checkout irá gerar os formulários para dados de usuário.
  • Se o parâmetro requireAddress for true, o formulário irá exigir dados de endereço.
  • No checkout transparente se utilizado o parâmetro interestRules, o valor final da multiplicação das parcelas pode ter divergência na última casa decimal, em relação ao valor total, devido ao arredondamento aplicado no frontend, porém o valor final da compra não será alterado no adquirente.

4 - Pagamento

O processo de pagamento é feito pelo usuarío através interface gerada e, ao submeter o pagamento, o evento submit do formulário é disparado e os dados do formulário são enviados normalmente através do método POST do formulário. Após isso, os dados poderão ser acessados no backend do integrador, e é necessário fazer a chamada para a API createTransaction do Gateway de pagamentos enviando os dados necessários para a chamada de pagamentos.