Payment Details

Quando é utilizada?

Quando o usuário seleciona a opção de pagamento no Checkout.

Estrutura da chamada

{urlbase}/payment-details
utiliza método POST enviando os dados do carrinho + headers e espera receber o objeto de retorno informado abaixo.

📘

Importante: no momento atual, o pedido ainda não foi concluído, pois o consumidor está selecionando a forma de pagamento.

Nesse estágio, é fundamental que o integrador retorne o HTML necessário para construir os campos de pagamento, permitindo que o usuário finalize a compra ao preenchê-los e selecioná-los.


💡Cartões sugeridos

Veja como implementar a funcionalidade cartões sugeridos, clicando aqui.


Modelo de Requisição da Payment Details

{
   "Loja":"pagamentos",
   "CarrinhoId":"d1e3bf62-795b-4b77-82ac-c81867ad9c1a",
   "ValorFrete":0.0000,
   "ValorTotal":300.0000,
   "Usuario":{
      "IdUsuario":475105,
      "Nome":"Daniel Teste",
      "CPF":"79299082081",
      "CNPJ":"",
      "Email":"[email protected]",
      "Telefone":"1194444-4444",
      "Endereco":{
         "Logradouro":"Rua Encantado 860",
         "Numero":"123",
         "Complemento":"",
         "Bairro":"Centro",
         "Cep":85920970,
         "Cidade":"Dez de Maio",
         "Estado":"PR"
      }
   },
   "Produtos":[
      {
         "Codigo":336661,
         "Nome":"Camiseta Branca Unissex",
         "Valor":300.0000,
         "Quantidade":1,
         "Personalizacao":[
            
         ]
      }
   ]
}

Campos da requisição da Payment Details

CampoTipoDescrição
LojastringNome da loja cadastrado no admin da Wake Commerce.
PedidoIdinteiroCódigo identificador do Pedido.
ValorFretedecimalValor de frete do pedido. O campo pode ser zerado.
ValorTotaldecimalValor total cobrado no pedido considerando todos os ajustes.
Usuario / IdUsuariointeiroCódigo de identificação do usuário.
Usuario / NomestringNome do usuário.
Usuario / CPFstringCPF do usuário. Obrigatório para usuários Pessoa Física. Pode vir vazio caso o usuário seja Pessoa Jurídica.
Usuario / CNPJstringCNPJ do usuário. Obrigatório para usuários Pessoa Jurídica. Pode vir vazio caso o usuário seja Pessoa Física.
Usuario / EmailstringE-mail do usuário.
Usuario / TelefonestringTelefone do usuário.
Usuario / Endereco / LogradourostringLogradouro / Rua / Avenida / Estrada do endereço do usuário.
Usuario / Endereco / NumerostringNúmero do endereço do usuário.
Usuario / Endereco / ComplementostringComplemento do endereço do usuário. Pode vir vazio.
Usuario / Endereco / BairrostringBarrio do endereço do usuário.
Usuario / Endereco / CepstringCEP do endereço do usuário.
Usuario / Endereco / CidadestringCidade do endereço do usuário.
Usuario / Endereco / EstadostringEstado do endereço do usuário.
Produtos / CodigointeiroCódigo identificador do produto cadastrado na plataforma.
Produtos / NomestringNome do produto cadastrado na plataforma.
Produtos / ValordecimalValor do produto cadastrado na plataforma.
Produtos / QuantidadeinteiroQuantidade do produtos no pedido.
Produtos / Personalizacao / NomestringNome da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio.
Produtos / Personalizacao / ValorstringValor da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio.
Produtos / Personalizacao / CustodecimalCusto da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio.

Modelo do response esperado da Payment Details

{
        "html": "<div data-gateway-cartao>\n  <div class='forminline'>\n   <input type=\"hidden\" name=\"paymentMethod\" value=\"1\" />\n  </div>\n</div>",
        "scriptUrls": ["https://dominio.com.br/scripts/custom.js","https://domínio.com;br/scripts/custom-v3.js"],
        "cartoesSugeridos": [
          {
						"chave": "1234567",
						"nome": "JOAO SILVA",
						"numero": "411111XXXXXX1111",
						"bandeira": "visa"
					},
          {
						"chave": "1236547",
						"nome": "JOAO SILVA",
						"numero": "511111XXXXXX1122",
						"bandeira": "mastercard"
					}                           
                            ],
        "parcelamento": [{
						"parcelas": 6,
						"valor": 20.0,
						"ajuste": 0.0
		}]

}

❗️

ScriptUrls

Entre os scripts retornados é obrigatório retornar um script para realizar a tokenização dos dados de cartão. Esse script será adicionado na pagina, retornando o(s) token(s) resultante(s). Esse token será então enviado dentro do Form no JSON do payload (Payment / Autorize) para finalizar o pedido de forma segura. Saiba mais sobre a tokenização acessando a documentação Tokenize.


📘

É possível utilizar as funcionalidades separadamente!

Para isso, basta retornar "null" nos objetos e a plataforma irá utilizar o padrão, ou seja, caso o HTML seja enviado como "null", a plataforma irá verificar o campo Editor HTML e apresentar o que está configurado neste campo.

O mesmo se aplica para as demais funcionalidades "scriptUrls", "cartoesSugeridos" e "parcelamento", que veremos adiante.


What’s Next