Quando é utilizado?

Quando o usuário deseja que o pedido seja processado em Two-steps, onde a transação deverá ser primeiro Autorizada e, após o Antifraude aprovar, a transação seja Capturada junto a aplicação do terceiro.
Essa requisição será enviada pela plataforma usando a estrutura abaixo.

📘

Processamento Two-Steps

No processamento "two-steps", a Autorização é feita separada da Captura do pagamento no cartão.

Portanto, a requisição deve ser respondida com o status 4 e, posteriormente quando o pedido for "Aprovado", será feita uma nova requisição solicitando a Captura.

Estrutura da chamada

{urlbase}/authorize
utiliza método POST enviando os dados do carrinho + headers + pagamento para realizar a cobrança do pedido.

Modelo de Requisição da Authorize

Estrutura do objeto enviado e seus dados:

{
   "id":0,
   "loja":"pagamentos",
   "chave":"fe31c0e6-b625-4772-8890-dd7a89053d05",
   "pedido":108648,
   "carrinhoId":"d1e3bf62-795b-4b77-82ac-c81867ad9c1a",
   "frete":0.00,
   "desconto":0,
   "total":300.00,
   "trocaPagamento":false,
   "multiplosPagamentos":false,
   "primeiroPedidoAssinatura":false,
   "assinatura":null,
   "usuario":{
      "nome":"Daniel Teste",
      "cpf":"79299082081",
      "cnpj":"",
      "email":"daniel.vieira@samuraiexperts.com.br",
      "endereco":{
         "logradouro":"Rua Encantado 860",
         "numero":"123",
         "complemento":"",
         "bairro":"Centro",
         "cep":85920970,
         "cidade":"Dez de Maio",
         "estado":"PR"
      },
      "telefone":"1194444-4444"
   },
   "produtos":[
      {
         "codigo":336661,
         "nome":"Camiseta Branca Unissex",
         "sku":"",
         "cd":1032,
         "valor":300.00,
         "quantidade":1,
         "personalizacao":[
            
         ]
      }
   ],
   "pagamento":{
      "parcelas":1,
      "valor":300.00,
      "valorCC":0.00,
      "ajuste":0.00,
      "total":300.00,
      "ip":"",
      "endereco":{
         "logradouro":"Rua Encantado 860",
         "numero":"123",
         "complemento":"",
         "bairro":"Centro",
         "cep":85920970,
         "cidade":"Dez de Maio",
         "estado":"PR"
      },
      "form":{
         "paymentMethod":"1",
         "number":"5555550000005554",
         "name":"TESTE TESTE TESTE",
         "month":"03",
         "year":"2030",
         "expiry":"03/2030",
         "cvc":"000",
         "saveCard":"false"
      }
   }
}

Campos da requisição de Authorize

CampoTipoDescriçãoTamanho
idinteiroCódigo identificador único do pagamento
lojastringNome da loja cadastrado no admin da Wake Commerce.50 caracteres
chaveguidChave de identificação da transação. Essa chave é dinâmica, alterada a cada pedido.
pedidointeiroCódigo identificador do Pedido.
fretedecimalValor de frete do pedido. O campo pode ser zerado.2 casas decimais
descontodecimalValor de desconto do pedido. O campo pode ser zerado.2 casas decimais
totaldecimalValor total cobrado no pedido considerando todos os ajustes.2 casas decimais
trocaPagamentobooleanCampo destinado para identificar se o pedido teve uma troca de pagamento. Deve ser "true" ou "false".
multiplosPagamentosbooleanCampo destinado para identificar se o pedido teve duas formas de pagamento. Deve ser "true" ou "false".
primeiroPedidoAssinaturabooleanCampo destinado para primeiro pedido de uma assinatura. Deve ser "true" ou "false".
assinatura / idinteiroCódigo identificador da Assinatura cadastrada no admin da Wake Commerce.
assinatura / tipostringTexto que identifica o tipo de assinatura. Podem ser retornados os valores Admin, Null ou Recorrência, conforme o tipo do pedido:

- Admin: para pedidos gerados a partir do admin na tela de assinaturas;

- Null: para o primeiro pedido em que a assinatura será originada, o objeto assinatura será Null. Isso ocorre, pois a assinatura só é criada depois do request para API Custom;
- Recorrência: pedido de assinatura.
50 caracteres
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 / 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 / cepIntCEP 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
usuario / telefonestringTelefone do usuário.50 caracteres
produtos / codigointeiroCódigo identificador do produto cadastrado na plataforma.
produtos / nomestringNome do produto cadastrado na plataforma.300 caracteres
produtos / cdinteiroCentro de Distribuição de origem do produto.
produtos / skustringSKU do produto cadastrado na plataforma.
produtos / valordecimalValor do produto cadastrado na plataforma.2 casas decimais
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.128 caracteres
produtos / personalizacao / valorstringValor da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio.1024 caracteres
produtos / personalizacao / custodecimalCusto da personalização do produto, quando o produto permitir algum tipo de personalização. Pode vir vazio.2 casas decimais
pagamento / parcelasinteiroQuantidade de parcelas do pedido em cima do valor total do pedido.
pagamento / valordecimalValor total cobrado no pedido sem os descontos/ajustes aplicados.
pagamento / ajustedecimalAjustes do pedido considerando descontos. Pode vir vazio.
pagamento / totaldecimalValor total cobrado no pedido considerando todos os ajustes.
pagamento / ipstringIP do dispositivo que o usuário utilizou para finalizar o pedido.
pagamento / endereco / logradourostringLogradouro / Rua / Avenida / Estrada do endereço de pagamento do pedido.500 caracteres
pagamento / endereco / numerostringNúmero do endereço de pagamento do pedido.50 caracteres
pagamento / endereco / complementostringComplemento do endereço de pagamento do pedido. Pode vir vazio.250 caracteres
pagamento / endereco / bairrostringBairro do endereço de pagamento do pedido.100 caracteres
pagamento / endereco / cepIntCEP do endereço de pagamento do pedido.
pagamento / endereco / cidadestringCidade do endereço de pagamento do pedido.100 caracteres
pagamento / endereco / estadostringEstado do endereço de pagamento do pedido.100 caracteres
pagamento / form / cpfstringCPF utilizado no pagamento do pedido.50 caracteres
pagamento / form / saveCardbooleanCampo responsável por informar se o cartão utilizado no pagamento do pedido deve ser salvo para compras futuras. Deve ser "true" ou "false".
Obs: Este campo só é utilizado quando utilizada a versão Completa.

Modelo do response

{
  "statusId":1,
  "message":"Minha mensagem",
  "informacoesAdicionais": [
    {
      "nome": "Teste1",
      "valor": "Valor1"
    },
    {
      "nome": "Teste2",
      "valor": "Valor2"
    }						
  ]
}
{
  "statusId":2,
  "message":"Minha mensagem",
  "informacoesAdicionais": [
    {
      "nome": "Teste1",
      "valor": "Valor1"
    },
    {
      "nome": "Teste2",
      "valor": "Valor2"
    }						
  ]
}
{
  "statusId":3,
  "message":"Minha mensagem",
  "informacoesAdicionais": [
    {
      "nome": "Teste1",
      "valor": "Valor1"
    },
    {
      "nome": "Teste2",
      "valor": "Valor2"
    }						
  ]
}
{
  "statusId":4,
  "message":"Minha mensagem",
  "informacoesAdicionais": [
    {
      "nome": "Teste1",
      "valor": "Valor1"
    },
    {
      "nome": "Teste2",
      "valor": "Valor2"
    }						
  ]
}

Campos do response

CampoTipoDescrição
statusIdinteiroInforma o status da transação em tempo real. (Tabela de status informada abaixo)
messagestringRetorna a mensagem do status da transação.
informacoesAdicionais / nomestringRetorna o nome da informação
informacoesAdicionais / valorstringRetorna o dado da informação

Tabela de Status

StatusIdNome statusAção
1Aguardando PagamentoMantém o pedido como aguardando pagamento na plataforma.
2Não autorizadoNega a transação. O Pop-up do checkout online é exibido na tela do usuário e a compra é bloqueada.
3PagoAtualiza o status do pedido para Pago na plataforma.
4AutorizadoAtualiza o status do pedido para Autorizado na plataforma. Usado em processamento Two-steps (Autorização separada da Captura).

📘

Formulário de pagamento

O formulário de pagamento deve ser enviado nos payloads payment e authorize, acesse a documentação do Formulário de Pagamento clicando aqui


📘

Devolução de dados para envio ao antifraude

Precisamos que, após a autorização do pedido no fluxo de "two steps", sejam devolvidos os seguintes dados na requisição: CartaoNome, CartaoBandeira, CartaoValidade, CartaoBin e CartaoQuatroUltimosDigitos. Esses dados são fundamentais para que possamos realizar o envio adequado das informações para a validação do antifraude, garantindo uma análise precisa e segura das transações, além de contribuir para a mitigação de riscos de fraude.

Exemplo de requisição

{  
    "informacoesAdicionais":[  
        {  
            "nome": "TID",  
            "valor": "0556481403201"  
        },  
        {  
            "nome": "NSU",  
            "valor": "167450"  
        }  
        {  
            "nome": "Auth",  
            "valor": "250700"  
        }  
          {  
            "nome": "CartaoBin",  
            "valor": "123456"  
        }  
         {  
            "nome": "CartaoBandeira",  
            "valor": "Mastercard"  
        }  
        {  
            "nome": "CartaoNome",  
            "valor": "João Teste"  
        }  
         {  
            "nome": "CartaoQuatroUltimosDigitos",  
            "valor": "1234"  
        }  
         {  
            "nome": "CartaoValidade",  
            "valor": "12/2024"  
        }
]
}

🚧

Identificação do pagamento

Sugerimos concatenar o número do pedido (prop. "pedido") e o Id (prop. "id") para que sejam utilizadas como identificador do pagamento realizado


❗️

Atenção

As mensagens enviadas no campo "mensagem" serão exibidas na tela do pedido do lojista e ficarão disponíveis no box "Ver mais", permitindo que o lojista acesse essas informações facilmente.


What’s Next