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":"daniel.vieira@samuraiexperts.com.br", "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çãoTamanho
LojastringNome da loja cadastrado no admin da Wake Commerce.50 caracteres
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.100 caracteres
Usuario / CPFstringCPF do usuário. Obrigatório para usuários Pessoa Física. Pode vir vazio caso o usuário seja Pessoa Jurídica.50 caracteres
Usuario / CNPJstringCNPJ do usuário. Obrigatório para usuários Pessoa Jurídica. Pode vir vazio caso o usuário seja Pessoa Física.50 caracteres
Usuario / EmailstringE-mail do usuário.100 caracteres
Usuario / TelefonestringTelefone do usuário.50 caracteres
Usuario / Endereco / LogradourostringLogradouro / Rua / Avenida / Estrada do endereço do usuário.500 caracteres
Usuario / Endereco / NumerostringNúmero do endereço do usuário.50 caracteres
Usuario / Endereco / ComplementostringComplemento do endereço do usuário. Pode vir vazio.250 caracteres
Usuario / Endereco / BairrostringBarrio do endereço do usuário.100 caracteres
Usuario / Endereco / CepstringCEP do endereço do usuário.
Usuario / Endereco / CidadestringCidade do endereço do usuário.100 caracteres
Usuario / Endereco / EstadostringEstado do endereço do usuário.100 caracteres
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