Middleware de Pagamento
Processo intermediador (middleware) de pagamento, baseado no fluxo da biblioteca CliSitef, para integração com sistemas terceiros durante o processo de intermediação e finalização de pagamento.
Durante o processo, apresentado no arquivo em anexo, o fluxo deverá ser compreendido da seguinte forma:
IniciaFuncao() > ContinuaFuncao() > [... FICA EM LOOPING ATÉ INDICAR CONCLUIDO ...] > FinalizaFuncao()
O processo deverá executar antes das transações, no início do processo da forma de pagamento com o método
IniciaFuncao()
e finalizar após o registro da venda.
Caso o processo seja interrompido entre o processo de pagamento e o registro de venda, deve ser enviado ao fluxo através do método
InterrompeFuncao().
Layout das Funções
Endpoint:
IniciaFuncao()
Parâmetros a ser passado ao endpoint:
{
"data": {
"cliente": {
"id": 1,
"nome": "Cliente Padrão",
"documento": "000.000.000-33",
"uf": "RJ"
},
"tabelaVenda": "0",
"tabelaAtacado": "0",
"vendedor": {
"id": 1,
"nome": "Vendedor Padrão",
},
"documento": "",
"observacao": "",
"conta": {
"id": 1,
"nome": "Conta Caixa",
},
"quantidadeVenda": 1,
"totalVenda": 29.9,
"totalDesconto": 0.00,
"totalPagamento": 29.9,
"totalTroco": 0.00,
"itens": [
{
"id": 1,
"id_produto_grade": 129447,
"id_produto": 129447,
"codigo": "925818196",
"descricao": "TOP SUPLEX SUPLEX BICOLOR TRANCADO COSTA ",
"unidade": "UND",
"quantidade": 1,
"valor": 29.9,
"valor_venda": 29.9,
"valor_custo": 15.77,
"valor_atacado": 29.9,
"oculta_custo": "",
"idPreco": 0,
"valor_pago": 29.9,
"valor_total": 29.9,
"qtdeAtacado": 0,
"ncm": "61044900-00-0000000",
"codigo_ean": "",
"id_codigobarra": "",
"limite_desconto": 0,
"promocao": [],
"produto_grade_imagem": false,
"situacao": "ATIVO"
}
],
"cancelados": [],
"pagamento": {
"prazo": 6,
"condicao": 11
},
"nfce": "1",
"operador": {
"id": 1,
"nome": "Operador Caixa",
},
"tokenVenda": "7e7b5cab-1ddd-6472-0b0f-a3ff2a583b55",
"dataEmissao": "2021-11-24 10:03:17"
}
}
Retorno do endpoint
{
"success": true,
"message": "Iniciado com Sucesso",
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
}
}
Endpoint: ContinuaFuncao
Parâmetros a ser passado ao endpoint
{
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
"comando": 1,
"valor": false,
"voltar": false,
"interromper": false,
"tokenVenda": "7e7b5cab-1ddd-6472-0b0f-a3ff2a583b55",
"dataEmissao": "2021-11-24 10:03:17",
}
}
Se o parâmetro "voltar" for informado Sim [true], o processo está indicando que volte o fluxo.
Se o parâmetro "interromper" for informado Sim [true], o processo está indicando que interrompa o fluxo.
Retorno do endpoint
{
"success": true,
"continue": true,
"message": "Executado com Sucesso",
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
"comando": 1,
"tipoCampo": 0,
"tamanhoCampo": {
"minimo": 0,
"maximo": 255,
"decimais": 2,
"truncar": false,
},
"titulo": "Título a Exibir Quando Houver",
"buffer": "",
}
}
Segue as tabelas de comando e tipo de campo.
Tabela com os códigos de Comando
Comando |
Descrição |
---|---|
1 |
Mensagem para o visor do operador |
2 |
Mensagem para o visor do cliente |
11 |
Deve remover a mensagem apresentada no visor do operador |
12 |
Deve remover a mensagem apresentada no visor do cliente |
2000-2999 |
Deve apresentar o texto em buffer, e obter uma resposta do tipo SIM [true] / NÃO [false]. |
3000-3999 |
Deve apresentar um menu de opções e permitir que o usuário selecione uma delas. Na chamada o parâmetro buffer contém as opções no formato JSON (anexo abaixo). |
4000-4999 |
Deve apresentar a mensagem em buffer, e aguardar uma tecla do operador. É utilizada quando se deseja que o operador seja avisado de alguma mensagem apresentada na tela. |
5000-5999 |
Deve ser lido um campo cujo tamanho está entre tamanho.minimo e tamanho.maximo. |
50 |
Está devolvendo o valor de |
51 |
Está devolvendo o valor de |
52 |
Está devolvendo o valor de |
53 |
Está devolvendo o valor de |
54 |
Está devolvendo o valor de |
55 |
Está devolvendo o valor de |
56
|
Está devolvendo o valor de |
60 |
Informa a aplicação a interromper o processo. |
7000-7999 |
Deve ser armazenado as informações em buffer para ser apresentado após ser executado o |
100 |
Informa a aplicação que o processo foi concluído. |
Anexo 1 - Formato de Lista do Comando = 21 retornado pelo buffer
{
"titulo": "Título",
"itens": [
{ id: 1, label: "texto 1" },
{ id: 2, label: "texto 2" },
{ id: 3, label: "texto 3" },
]
}
Anexo 2 - Retorno do Comando = 51 retornado pelo buffer
{
"id": 1,
"nome": "Cliente Padrão",
"documento": "000.000.000-33",
"uf": "RJ"
}
tipoCampo |
Descrição |
---|---|
1 |
Alfa-numérico (string) |
2 |
Inteiro |
3 |
Valor com ponto flutuante (double), neste caso é possível informar a quantidade de casas decimais e se irá truncar |
4 |
Monetário, sendo valor com ponto flutuante (double), neste caso é possível informar a quantidade de casas decimais e se irá truncar |
5 |
Lista (array, de valor único) |
6 |
Data (AAAA-MM-DD) |
7 |
Data e Hora (AAAA-MM-DD HH:MM:SS) |
Endpoint: InterrompeFuncao
Parâmetros a ser passado ao endpoint
{
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
"tokenVenda": "7e7b5cab-1ddd-6472-0b0f-a3ff2a583b55",
"dataEmissao": "2021-11-24 10:03:17"
}
}
Retorno do endpoint
{
"success": true,
"message": "Interropido com Sucesso",
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
}
}
Endpoint: FinalizaFuncao
Parâmetros a ser passado ao endpoint
{
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
"totalVenda": 29.9,
"totalDesconto": 0.00,
"totalPagamento": 29.9,
"totalTroco": 0.00,
"pagamento": [
{
"id": 1,
"valor": 29.9,
"codigo": "TEF",
"prazo": 14,
"prazo_descricao": "REDE DEBITO",
"condicao": false,
"condicao_descricao": false,
"descricao": "REDE DEBITO",
"flag_pdv_pagamento": 3,
"numero": "008018358",
"complemento": {
"numero": "008018358",
"tef": ["..."],
"raw": ["..."]
},
"troca": false,
"vale": false
}
],
"tokenVenda": "7e7b5cab-1ddd-6472-0b0f-a3ff2a583b55",
"dataEmissao": "2021-11-24 10:03:17"
}
}
Retorno do endpoint
{
"success": true,
"message": "Finalizado com Sucesso",
"data": {
"token": "cbb97b94-4dfd-11ec-8be9-000c291f9967",
["..."]
}
}
Nenhum comentário