Manual de Instalação — PlataformaPgto Receiver (ShellBox): mudanças entre as edições

De Merito Wiki
Ir para: navegação, pesquisa
Sem resumo de edição
Sem resumo de edição
Linha 20: Linha 20:


== 3. Passo a Passo da Instalação (Terminal do Posto) ==
== 3. Passo a Passo da Instalação (Terminal do Posto) ==
Acesse o terminal do servidor do posto (com usuário <code>root</code> ou usando <code>sudo</code>) e execute os comandos abaixo.
Acesse o terminal do servidor do posto e execute os comandos abaixo.


=== 3.1 Configurar o repositório da Mérito ===
=== 3.1 Configurar o repositório da Mérito ===

Edição das 12h06min de 16 de julho de 2026

Este manual é destinado à equipe de Suporte e descreve o passo a passo para a instalação e configuração do serviço PlataformaPgto Receiver diretamente no servidor (Linux) dos postos clientes.


1. Visão Geral

O PlataformaPgto Receiver é o serviço que conecta o posto ao servidor central da Mérito. Ele escuta uma fila de mensageria (RabbitMQ) e, quando há uma transação via ShellBox, ele baixa os dados e grava no banco PostgreSQL local do posto.


2. Pré-requisitos (Rede do Posto)

Antes de iniciar a instalação, certifique-se de que a rede do posto possui a seguinte liberação de saída no firewall/roteador:

  • Regra: Permitir Saída (Outbound)
  • Protocolo: TCP
  • Porta de Destino: 5555
  • IP de Destino: 85.31.63.86 (hub.merito-es.com.br)

CAUTION

Sem essa liberação, o serviço não conseguirá conectar ao servidor da Mérito.


3. Passo a Passo da Instalação (Terminal do Posto)

Acesse o terminal do servidor do posto e execute os comandos abaixo.

3.1 Configurar o repositório da Mérito

echo $'machine apt.merito-es.com.br\nlogin buffon\npassword bc5020n2a3' | sudo tee /etc/apt/auth.conf.d/merito.conf >/dev/null && sudo chmod 644 /etc/apt/auth.conf.d/merito.conf

wget --user=buffon --password="bc5020n2a3" -qO - http://apt.merito-es.com.br/pgp-key.public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/merito.gpg >/dev/null && sudo chmod 644 /etc/apt/trusted.gpg.d/merito.gpg

echo "deb [arch=amd64] https://apt.merito-es.com.br/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/merito.list >/dev/null

sudo apt-get update --allow-insecure-repositories

3.2 Instalar o serviço

sudo apt install plataforma-pgto-receiver

(Este comando serve tanto para a primeira instalação quanto para atualizar o sistema em postos que já o possuem).

WARNING

Solução de Problemas (Erro 404 ao instalar): Se o comando acima der 404 Not Found ao tentar baixar o .deb, significa que o índice do repositório está dessincronizado. Para contornar, baixe o arquivo físico e instale manualmente substituindo a versão abaixo pela que o apt tentou baixar (ex: b58):

wget https://apt.merito-es.com.br/apt-repo/pool/main/plataforma-pgto-receiver_0.0.1-b58_amd64.deb

sudo apt install ./plataforma-pgto-receiver_0.0.1-b58_amd64.deb -y


4. Configuração Obrigatória no Posto

Após a instalação, é necessário configurar dois arquivos em /opt/plataforma-pgto-receiver/bin/.

Arquivo 1: application-prod.properties

Este arquivo guarda a configuração do banco e a fila do RabbitMQ.

sudo nano /opt/plataforma-pgto-receiver/bin/application-prod.properties

Edite as variáveis para que fiquem exatamente neste padrão:

#DATABASE spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect spring.jpa.hibernate.show-sql=true spring.datasource.url=jdbc:postgresql://<IP_DO_BANCO>:5432/<NOME_DO_BANCO> spring.datasource.username=postgres spring.datasource.password=<SENHA_BANCO> server.error.include-stacktrace=never spring.jpa.hibernate.ddl-auto=none spring.jpa.show-sql=false spring.jpa.properties.hibernate.format_sql=true

#RabbitMQ spring.rabbitmq.host=hub.merito-es.com.br spring.rabbitmq.port=5555 spring.rabbitmq.username=buffon spring.rabbitmq.password=dia25do6de2024 amqp.connection.usessl=false

# Nome da Fila (formato: [plataforma]-[cnpj_sem_pontuacao]) rabbitmq.queue.name=shellbox-93489243001007

Arquivo 2: loginbasico.cfg

Crie ou edite o arquivo com os dados de login interno do sistema Mérito:

sudo nano /opt/plataforma-pgto-receiver/bin/loginbasico.cfg

WARNING

As senhas (local.senha_bd e senha) precisam OBRIGATORIAMENTE ser geradas usando merito-integra --ofuscar-senha <senha> no terminal. Não coloque senhas em texto puro neste arquivo.

Exemplo de preenchimento:

local.ip_bd=<IP do banco da unidade> local.porta_bd=5432 local.nome_bd=<Nome do banco> local.usuario_bd=postgres local.senha_bd=<Senha ofuscada> senha=<Senha ofuscada> empresa=<Código da empresa> unidade=<Código da unidade> usuario=<Código do usuário>


5. Iniciar e Validar o Serviço

Após preencher e salvar os dois arquivos, reinicie os serviços:

sudo systemctl daemon-reload sudo systemctl enable plataforma-pgto-receiver sudo systemctl restart plataforma-pgto-receiver

5.1 Como saber se funcionou?

Verifique os logs do serviço em tempo real:

sudo journalctl -u plataforma-pgto-receiver -f

O serviço está rodando corretamente se o log não apresentar erros de conexão ("SocketTimeoutException") e exibir mensagens informando que a rotina de vínculo de abastecidas está sendo executada.

5.2 (Opcional) Consultar Fila no RabbitMQ

Para garantir que as mensagens estão chegando e sendo consumidas, a equipe de Suporte pode acessar o painel do RabbitMQ:

  • URL: https://rabbitmqm.merito-es.com.br
  • Usuário: merito_admin
  • Senha: Merito#010306

Aba Queues > Pesquise pela fila do posto (ex: shellbox-93489243001007). O campo Consumers deve estar 1 ou maior, indicando que o posto está conectado.


6. Parametrização no Sistema MÉRITO Redes (ERP)

A instalação no Linux está concluída, mas o processo ainda não acabou! É obrigatório realizar o mapeamento lógico da plataforma (vínculo de bicos, formas de pagamento, combustíveis) diretamente no sistema MÉRITO Redes. Isso garante que o sistema interno entenda os códigos que vêm do aplicativo.

Para realizar essas parametrizações, siga o manual oficial na Wiki: 👉 Manual de Configuração de Plataformas de Pagamento