Cartões Sugeridos - Como configurar no Checkout da Loja

Passo a passo do processo para permitir a visualização dos Cartões Sugeridos que foram salvos pelos consumidores.

Introdução

Atualmente temos em alguns Conectores a opção de Salvar Cartões para compras futuras. Na prática, tokenizamos os dados do cartão e guardamos de forma segura o token e alguns dados mascarados, afim de exibir posteriormente no checkout para o cliente.
Essa funcionalidade aumenta a conversão de pedidos na loja, uma vez que facilita as próximas compras dos clientes que deixaram seu cartão salvo, pois não é necessário que o cliente preencha novamente todos os dados do cartão.

Atualmente temos essa funcionalidade somente para o Conector Custom, que é para Pagamentos Customizados.

No entanto, as orientações abaixo podem auxiliar a configuração para qualquer Conector que possua essa funcionalidade.

O objetivo desta documentação é orientar o desenvolvimento de um layout personalizado para renderizar os cartões salvos do usuário e permitir a escolha de um cartão.


Passo a Passo

Passo 1 - Desenvolvimento do CSS e JS dos Cartões

O CSS é o arquivo de estilo da página onde o desenvolvedor Front-end definirá o layout dos cartões sugeridos que irão aparecer.
Vamos utilizar um estilo desenvolvido por nós em nosso passo a passo, que disponibilizamos neste link para que você consiga adiantar uma parte do desenvolvimento.

No caso o JS, este arquivo servirá para tratar corretamente os dados dos cartões sugeridos, a fim de enviar as informações corretamente para o Checkout da plataforma.
Também disponibilizamos nosso arquivo de exemplo neste link para ajuda-lo no processo.

Com os dois arquivos prontos, vamos ao próximo passo para Vincular os arquivos JS e CSS no Admin.

👍

Arquivo.JS e .CSS

Não se limite aos arquivos de exemplo. Você pode desenvolver os próprios arquivos levando em consideração as regras e estruturas informadas nos exemplos.

❗️

Arquivos de Exemplo

Caso queira utilizar os arquivos de exemplo que disponibilizamos, basta subi-los no servidor desejado e depois vinculá-los no Admin no gestor de Scripts.

A utilização dos arquivos diretamente em nosso servidor poderá causar bugs em seus testes em caso de indisponibilidade do mesmo.


Passo 2 - Vincular arquivo JS e CSS no Admin para aplicação dos Layout

Nesta etapa vamos vincular os arquivos no admin para que o Checkout exiba corretamente o layout e realize corretamente as funções.

1 - Cadastro do Script

Primeiramente vamos entrar no Admin > Configurações de Admin > Gestor de Scripts e adicionar o link para os 2 arquivos conforme exemplo abaixo:

📘

Origem dos Arquivos

Os arquivos podem ser hospedados diretamente na Wake Commerce no ...

2 - Mude o Status do Script para Ativo:

3 - Adicione o Identificador da Página


Passo 3 - Configurando a Função Global window.dataPaymentPost

É necessário criar uma função global chamada window.dataPaymentPost.

Esta função será chamada no checkout ao selecionar um grupo de pagamento. Ela recebe três parâmetros: suggestedCards, paymentGroupId e cartId.

  • suggestedCards: este é um array de objetos que contêm informações sobre os cartões sugeridos, caso nao tenha nenhum cartao é retornando null na propriedade "CartoesSugeridos". Aqui está um exemplo do que o retorno deste parâmetro pode ser:

  • [
      {
          "CartoesSugeridos": [
              {
                  "Chave": "12345678", 
                  "Nome": "Joao Pedro",
                  "Numero": "411111XXXXXX1111",
                  "Bandeira": "visa"
              },
              {
                  "Chave": "987654321",
                  "Nome": "Joao Pedro",
                  "Numero": "411111XXXXXX1111",
                  "Bandeira": "mastercard"
              },
          ]
      }
    ]
    
    
  • paymentGroupId: este é o ID do grupo de pagamento.

  • cartId: este é o ID do carrinho de compras atual.


Passo 4 - Campo de seleção “Salvar o Cartão para a Próxima Compra”

O Checkout tem a capacidade de gerenciar a opção de "Salvar cartão para próxima compra", seja através da adição automática ou da inserção manual deste campo.

Adição Automática do Campo

Seu script pode exibir a opção de "Salvar cartão para a próxima compra" ao clicar no Grupo de Pagamento dentro do formulário de "Novo Cartão". Você pode prepará-lo para deixar a opção marcada como "True" automaticamente.

No caso do Conector Custom, o checkout irá adicionar automaticamente um campo de seleção (checkbox) com a opção "Salvar cartão para sua próxima compra" se existir um input hidden com o id "SaveCard" em Admin > Pagamentos > Conectores de Pagamento > Custom > “Editor HTML“:

Valor "true": o campo será exibido e marcado como padrão.
Valor "false": o campo será exibido, mas desmarcado.

Adição Manual do Campo

Para maior controle sobre a apresentação e design, você pode inserir o campo "Salvar cartão" manualmente. Crie um elemento de entrada (input) com o atributo name definido como "saveCard".
Exemplo:

<input type="checkbox" name="saveCard" value="true"> Salvar cartão para sua próxima compra

Essa abordagem permite a mesma funcionalidade, mas com a flexibilidade de adaptar o campo às suas necessidades, garantindo que o checkout reconhecerá e processará a escolha do cliente adequadamente.


Passo 5 - Exclusão de um cartão sugerido

O cliente tem a possibilidade de excluir um cartão sugerido diretamente no checkout.

A exclusão de um cartão sugerido é feita por meio de uma requisição HTTP DELETE para um endpoint. Abaixo mostramos o formato do endpoint e do corpo da requisição:

  • Endpoint:
    https://pub-gateway.fbits.net/api/pagamentos/{NomeLoja}/{paymentGroupId}/{cartId}/card

    {NomeLoja}: Nome da loja - use o método a seguir para retornar o nome certo Fbits.Carrinho.Loja.Nome
    {paymentGroupId}: ID do grupo de pagamento ( recebido pelo window.dataPaymentPost)
    {cartId}: ID do carrinho de compras atual (recebido pelo window.dataPaymentPost)

    Exemplo de como deve ficar a chamada no seu arquivo javascript:

    const endpointURL =
    `https://pub-gateway.fbits.net/api/pagamentos/${Fbits.Carrinho.Loja.Nome}/${paymentGroupId}/${cartId}/card`;
    
  • Corpo da Requisição:

    {
      "chaveCartao": "cardId"
    }
    

"chaveCartao": ID do cartão a ser excluído (recebido pelo window.dataPaymentPost no array suggestedCards)


Passo 6 - Escolha do Cartão Salvo

Para o checkout saber qual cartão salvo o cliente escolheu, é importante a inclusão de um elemento input hidden com o nome chaveCartao. Esse input deve ser inserido dentro do elemento div[data-gateway-cartao] , como no exemplo abaixo:

O valor desse campo deve ser a chave do cartão selecionado pelo cliente.


Passo 7 - Checkout de exemplo

Realizamos essas ações em nossa loja teste e compartilhamos abaixo como seria o layout final do formulário de Novo Cartão e Cartões Sugeridos:

Novo Cartão

Com opção de "Salvar cartão" habilitada:

Cartão Sugerido

Antes e depois de selecionar o Grupo de Pagamento "Cartão de Crédito":