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
Campo | Tipo | Descrição |
---|---|---|
Loja | string | Nome da loja cadastrado no admin da Wake Commerce. |
PedidoId | inteiro | Código identificador do Pedido. |
ValorFrete | decimal | Valor de frete do pedido. O campo pode ser zerado. |
ValorTotal | decimal | Valor total cobrado no pedido considerando todos os ajustes. |
Usuario / IdUsuario | inteiro | Código de identificação do usuário. |
Usuario / Nome | string | Nome do usuário. |
Usuario / CPF | string | CPF do usuário. Obrigatório para usuários Pessoa Física. Pode vir vazio caso o usuário seja Pessoa Jurídica. |
Usuario / CNPJ | string | CNPJ do usuário. Obrigatório para usuários Pessoa Jurídica. Pode vir vazio caso o usuário seja Pessoa Física. |
Usuario / Email | string | E-mail do usuário. |
Usuario / Telefone | string | Telefone do usuário. |
Usuario / Endereco / Logradouro | string | Logradouro / Rua / Avenida / Estrada do endereço do usuário. |
Usuario / Endereco / Numero | string | Número do endereço do usuário. |
Usuario / Endereco / Complemento | string | Complemento do endereço do usuário. Pode vir vazio. |
Usuario / Endereco / Bairro | string | Barrio do endereço do usuário. |
Usuario / Endereco / Cep | string | CEP do endereço do usuário. |
Usuario / Endereco / Cidade | string | Cidade do endereço do usuário. |
Usuario / Endereco / Estado | string | Estado do endereço do usuário. |
Produtos / Codigo | inteiro | Código identificador do produto cadastrado na plataforma. |
Produtos / Nome | string | Nome do produto cadastrado na plataforma. |
Produtos / Valor | decimal | Valor do produto cadastrado na plataforma. |
Produtos / Quantidade | inteiro | Quantidade do produtos no pedido. |
Produtos / Personalizacao / Nome | string | Nome da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio. |
Produtos / Personalizacao / Valor | string | Valor da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio. |
Produtos / Personalizacao / Custo | decimal | Custo 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.
Updated 6 months ago