Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.
Informações Gerais
Especificação | |||
Produto | RM | Módulo | TOTVS Gestão Financeira |
Segmento Executor | Construção e Projetos | ||
Projeto1 | IRM/EPIC1 | ||
Requisito/Story/Issue1 | http://jiraproducao.totvs.com.br/browse/FINANCEIRO01-4595 | Subtarefa1 | |
País | (x) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | Rede : Manual de integração API RESTFul e-Rede getnet: Manual de integração e-commerce getnet maxiPago: Manual de integração e-commerce maxiPago |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Integrar as soluções TOTVS com a solução de pagamentos on-line e-Rede. A solução e-rede realiza a captura e processamento de transações financeiras diretamente pela Rede, ou seja, sem necessidade de um intermediador, oferecendo pagamentos com cartões de crédito e débito das principais bandeiras do mercado.online disponíveis no mercado. (e-Rede, getnet, maxiPago)
Para que a integração seja independente do produto, e seja utilizada por qualquer solução da TOTVS, será criada uma nova solução, denominada "TOTVS e-Redecommerce" no qual irá ter a webpage web-page para digitação dos dados sensíveis do cartão e um webservice web-service para fazer a comunicação com os serviços da adquirente.
A solução TOTVS e-Redecommerce deverá ter um instalador próprio.
Definição da Regra de Negócio
Criação da webpage web-page para digitação dos dados do cartão:
- Dados de entrada:
- Adquirente (e-Rede ou GetNet ou maxiPago)
- Numero de Filiação (PV) - criptografados no formato base64Token - criptografados no formato base64
- Token/Chave Acesso
- URL e-Rede (Homologação ou Produção)
- URL de retorno a pagina do estabelecimento
- Código do Pedido do Estabelecimento
- Valor (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- Numero máximo de parcelas
- Descrição do Serviço
- Dados para digitação:
- Numero do Cartão
- Nome do portador impresso no cartão
- Mês vencimento do cartão
- Ano vencimento do cartão
- Código de Segurança do cartão
- Validações
- Deverá ser feita a validação, através de javascript de qual bandeira o cartão pertence
- Ação
- Ao finalizar o pagamento será chamado do webservice o serviço de criação de transação
- Dados de Retorno:
- Após chamada do serviço de criação de transação, caso parâmetro de entrada "URL de retorno a pagina do estabelecimento" esteja preenchido será feita chamada dessa URL, passando os seguintes parâmetros na linha de comando: (ex: http://totvs.com.br/corporerm/URLRetorno?sucesso=false&codigoretorno=101&mensagemretorno&=Não Autorizado&codigopedidoestabelecimento=0000135&TID=834500036348405380&NSU=66320641&numautorizacao=186376&valor=10289&numparcelas=3)
- Sucesso - true/false
- codigoretorno - Preenchido caso tenha ocorrido erro - sucesso = false
- mensagemretorno - Preenchido caso tenha ocorrido erro - sucesso = false
- codigopedidoestabelecimento - Código do Pedido do Estabelecimento
- TID - Numero identificar único da transação
- NSU - Numero sequencial retornado pela Rede
- numautorizacao - Numero de autorização da transação retornado pelo emissor do cartão
- valor - Valor total da transação (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- numparcelas - Numero de Parcela da Transação
- bandeira (Vide tópico abaixo "Identificação da Bandeira do cartão")
- Caso parâmetro de entrada "URL de retorno a pagina do estabelecimento" não esteja preenchida, será chamada a web-page padrão de transação concluída ou não concluída conforme especificado mais abaixo
- Após chamada do serviço de criação de transação, caso parâmetro de entrada "URL de retorno a pagina do estabelecimento" esteja preenchido será feita chamada dessa URL, passando os seguintes parâmetros na linha de comando: (ex: http://totvs.com.br/corporerm/URLRetorno?sucesso=false&codigoretorno=101&mensagemretorno&=Não Autorizado&codigopedidoestabelecimento=0000135&TID=834500036348405380&NSU=66320641&numautorizacao=186376&valor=10289&numparcelas=3)
- Chamada serviço e-Rede
- Deverá ser montado o JSON de acordo com o manual de integração API RESTFul e-Rede
- Captura deverá ser automática
- Chamada serviço getnet
Criação do webserviço para integração com e-rede da web-page padrão de transação concluída ou não concluída:
- Dados de entrada
- Código do Retorno (00 = Sucesso)
- Mensagem de Retorno da Transação
- Descrição do Serviço
- TID - Numero identificador único da transação
- NSU - Numero sequencial retornado pela Rede
- Numero de autorização da transação retornado pelo emissor do cartão
- Valor total da transação (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
Criação do webservice para integração com adquirente:
- Serviço de Criação da Transação
- Dados de Entrada
- URL Adquirente (e-Rede ou GetNet ou maxiPago)
- Numero de Filiação (PV)
- Token / Chave Acesso
- URL (Homologação ou Produção)
- Tipo de Transação (Crédito/Débito)
- Código do Pedido do Estabelecimento
- Valor (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- Numero de Parcelas
- Nome do portador impresso no cartão
- Numero do Cartão
- Mês vencimento do cartão
- Ano vencimento do cartão
- Código de Segurança do cartão
- Chamada serviço e-Rede
- Deverá ser montado o JSON de acordo com o manual de integração API RESTFul e-Rede
- Captura deverá ser automática
- Chamada serviço getnet
- Deverá ser montado o XML de acordo com o Manual de integração e-commerce getnet
- Se tipo de transação igual a crédito
- Para crédito chamar o serviço efetuarcredito
- Se tipo de transação igual a débito
- Verificar se o emissor do cartão suporta autenticação. Chamar o serviço verificarInscricacaoMPI
- Se bandeira\emissor do cartão
- suporta autenticação:
- Direcionar usuário para url de retorno do banco emissor do cartão
- Se autenticação ocorrer com sucesso
- chamar o serviço efetuarDebito (Vide abaixo diagrama de sequencia "Efetuar pagamento cartão débito getnet")
- chamar o serviço efetuarDebito (Vide abaixo diagrama de sequencia "Efetuar pagamento cartão débito getnet")
- Se bandeira\emissor não suporta autenticação
- Avisar usuário
- Retornar para pagina de digitação de dados do cartão
- Chamada serviço maxiPago
- Deverá ser montado o XML do serviço "Venda Direta" de acordo com o Manual de integração e-commerce maxiPagoNumero de Filiação (PV) - criptografados no formato base64
- Dados de Retorno
- Código do Retorno
- Mensagem de Retorno da Transação
- Código do Pedido do Estabelecimento
- TID - Numero identificar único da transação
- NSU - Numero sequencial retornado pela Rede
- Numero de autorização da transação retornado pelo emissor do cartão
- Data da transação no formato YYYY-MM-DDthh:mm:ss.sTZD
- Valor total da transação (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- Dados de Entrada
- Serviço de consulta transação
- Dados de entrada
- Adquirente (e-Rede/GetNet)
- Numero de Filiação (PV)
- Token / Chave Acesso
- Código do Pedido do Estabelecimento ou;
- TID - Numero identificador único da transação
- Chamada serviço e-Rede
- Caso código do Pedido do Estabelecimento preenchido chamar GET: https://api.userede.com.br/erede/v1/transactions?reference=[código_pedido]
- Caso TID preenchido chamar GET: https://api.userede.com.br/erede/v1/transactions?reference=[TID]
- Detalhes no manual de integração API RESTFul e-Rede
- Chamada serviço getnet
- Chamar serviço consultarDocumento conforme descrito no Manual de integração e-commerce getnet
- Chamada serviço maxiPago
- chamar servico consulta "https://testapi.maxipago.net/ReportsAPI/servlet/ReportsAPI"
- Dados de Saida
- Código do retorno da transação
- Mensagem de retorno da transação
- Numero de filiação (PV)
- Status (Approved, Denied, Canceled, Pending
- Numero do Pedido gerado pelo estabelcimento
- TID - Numero identificador único da transação
- NSU - numero sequencial retornado pela Rede
- Código de Autorização da transação retornado pelo emissor do cartão
- Método de pagamento utilizado na transação (Credit/Debit)
- Valor total transação (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- Numero de Parcelas
- Data da transação de cancelamento no formato YYYY-MM-DDthh:mm:ss.sTZD
- Código de Retorno da solicitação de cancelamento gerado pela Rede
- Status da solicitação de cancelamento (Done, Denied, Processing)
- Valor do cancelamento
- Dados de entrada
Exemplo de Aplicação:
- Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
- Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
- Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
- O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
- Serviço de solicitação de cancelamento de transação
- Dados de Entrada
- TID - Numero identificador único da transação
- Valor total da transação (Exemplo R$ 10,00 = 1000 | R$ 0,50 = 50)
- Chamada serviço e-Rede
- Deverá ser montado o JSON de acordo com o manual de integração API RESTFul e-Rede
- Chamada serviço getnet
- chamar o serviço efetuarCancelamento conforme descrito no Manual de integração e-commerce getnet
- Chamada serviço maxiPago
- Se data de cancelamento igual mesmo dia da transação
- Chamar serviço Cancelamento (Void) de acordo com o Manual de integração e-commerce maxiPago
- Se data de cancelamento diferente dia da transação
- Chamar serviço Estorno (Refund) de acordo com o Manual de integração e-commerce maxiPago
- Se data de cancelamento igual mesmo dia da transação
- Dados de Retorno
- Código de retorno da transação de cancelamento
- Mensagem de retorno da transação de cancelamento
- Código de retorno da solicitação de cancelamento gerado pela rede
- TID - Número identificado único de transação
- NSU - Numero sequencial retornado pela rede
- Data da transação de cancelamento no formato YYYY-MM-DDthh:mm:ss.sTZD
- Código identificador da transação de solicitação de cancelamento
- Dados de Entrada
Identificação da Bandeira do cartão
- ELO
- Começa com: 636368, 438935, 504175, 451416, 509048, 509067, 509049, 509069, 509050, 509074, 509068, 509040, 509045, 509051, 509046, 509066, 509047, 509042, 509052, 509043, 509064, 509040, 36297, 5067 ,4576 ,4011
- Discover
- Começa com: 6011, 622, 64, 65
- Diners
- Começa com: 301, 305, 36, 38
- AMEX
- Começa com: 34, 37
- AURA
- Começa com: 50
- JCB
- Começa com: 35
- Hypercard
- Começa com: 38, 60
- Visa
- Começa com: 4
- MasterCard
- Começa com 5
Protótipo de Tela
*Solicitar ajuda do Design Lucas para criação das telas
Protótipo tela para informar dados de pagamento de cartão de crédito/débito
Protótipo tela padrão de pagamento concluído
Protótipo tela padrão de pagamento não concluído
Fluxo do Processo
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel
(máx 3 posições)
Descrição em Português*
Descrição em Inglês*
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|