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

De Merito Wiki
Ir para: navegação, pesquisa
(Criou página com '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 ou Premmia, ele baixa os dados e grava no banco PostgreSQL local do...')
 
Sem resumo de edição
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 3: Linha 3:


== 1. Visão Geral ==
== 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 ou Premmia, ele baixa os dados e grava no banco PostgreSQL local do posto.
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.
----
----


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 ===
<code>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</code>
<code>wget --user=buffon --password="bc5020n2a3" -qO - <nowiki>http://apt.merito-es.com.br/pgp-key.public</nowiki> | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/merito.gpg >/dev/null && sudo chmod 644 /etc/apt/trusted.gpg.d/merito.gpg</code>
<code>echo "deb [arch=amd64] <nowiki>https://apt.merito-es.com.br/apt-repo</nowiki> stable main" | sudo tee /etc/apt/sources.list.d/merito.list >/dev/null</code>
<code>sudo apt-get update --allow-insecure-repositories</code>


=== 3.2 Instalar o serviço ===
=== 3.2 Instalar o serviço ===
<code>sudo apt install plataforma-pgto-receiver</code>
''(Este comando serve tanto para a primeira instalação quanto para atualizar o sistema em postos que já o possuem).''
''(Este comando serve tanto para a primeira instalação quanto para atualizar o sistema em postos que já o possuem).''


Linha 30: Linha 39:


Solução de Problemas (Erro 404 ao instalar): Se o comando acima der <code>404 Not Found</code> ao tentar baixar o <code>.deb</code>, 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: <code>b58</code>):
Solução de Problemas (Erro 404 ao instalar): Se o comando acima der <code>404 Not Found</code> ao tentar baixar o <code>.deb</code>, 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: <code>b58</code>):
<code>wget <nowiki>https://apt.merito-es.com.br/apt-repo/pool/main/plataforma-pgto-receiver_0.0.1-b58_amd64.deb</nowiki></code>
<code>sudo apt install ./plataforma-pgto-receiver_0.0.1-b58_amd64.deb -y</code>
----
----


Linha 37: Linha 50:
=== Arquivo 1: <code>application-prod.properties</code> ===
=== Arquivo 1: <code>application-prod.properties</code> ===
Este arquivo guarda a configuração do banco e a fila do RabbitMQ.
Este arquivo guarda a configuração do banco e a fila do RabbitMQ.
<code>sudo nano /opt/plataforma-pgto-receiver/bin/application-prod.properties</code>


Edite as variáveis para que fiquem exatamente neste padrão:
Edite as variáveis para que fiquem exatamente neste padrão:
<code>#DATABASE</code> <code>spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect</code> <code>spring.jpa.hibernate.show-sql=true</code> <code>spring.datasource.url=jdbc:postgresql://<IP_DO_BANCO>:5432/<NOME_DO_BANCO></code> <code>spring.datasource.username=postgres</code> <code>spring.datasource.password=<SENHA_BANCO></code> <code>server.error.include-stacktrace=never</code> <code>spring.jpa.hibernate.ddl-auto=none</code> <code>spring.jpa.show-sql=false</code> <code>spring.jpa.properties.hibernate.format_sql=true</code>
<code>#RabbitMQ</code> <code>spring.rabbitmq.host=hub.merito-es.com.br</code> <code>spring.rabbitmq.port=5555</code> <code>spring.rabbitmq.username=buffon</code> <code>spring.rabbitmq.password=dia25do6de2024</code> <code>amqp.connection.usessl=false</code>
<code># Nome da Fila (formato: [plataforma]-[cnpj_sem_pontuacao])</code> <code>rabbitmq.queue.name=shellbox-93489243001007</code>


=== Arquivo 2: <code>loginbasico.cfg</code> ===
=== Arquivo 2: <code>loginbasico.cfg</code> ===
Crie ou edite o arquivo com os dados de login interno do sistema Mérito:
Crie ou edite o arquivo com os dados de login interno do sistema Mérito:
<code>sudo nano /opt/plataforma-pgto-receiver/bin/loginbasico.cfg</code>


WARNING
WARNING
Linha 48: Linha 71:


''Exemplo de preenchimento:''
''Exemplo de preenchimento:''
<code>local.ip_bd=<IP do banco da unidade></code> <code>local.porta_bd=5432</code> <code>local.nome_bd=<Nome do banco></code> <code>local.usuario_bd=postgres</code> <code>local.senha_bd=<Senha ofuscada></code> <code>senha=<Senha ofuscada></code> <code>empresa=<Código da empresa></code> <code>unidade=<Código da unidade></code> <code>usuario=<Código do usuário></code>
----
----


== 5. Iniciar e Validar o Serviço ==
== 5. Iniciar e Validar o Serviço ==
Após preencher e salvar os dois arquivos, reinicie os serviços:
Após preencher e salvar os dois arquivos, reinicie os serviços:
<code>sudo systemctl daemon-reload</code> <code>sudo systemctl enable plataforma-pgto-receiver</code> <code>sudo systemctl restart plataforma-pgto-receiver</code>


=== 5.1 Como saber se funcionou? ===
=== 5.1 Como saber se funcionou? ===
Verifique os logs do serviço em tempo real:
Verifique os logs do serviço em tempo real:
<code>sudo journalctl -u plataforma-pgto-receiver -f</code>


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.
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.
Linha 71: Linha 100:
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.
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: 👉 [[Plataforma de pagamento|Manual de Configuração de Plataformas de Pagamento]]
Para realizar essas parametrizações, siga o vídeo 👉 [https://drive.google.com/file/d/1hlLUmDfOxKOwrBPshB9-RWsCFKMTGbuu/view Manual de Configuração de Plataformas de Pagamento]

Edição atual tal como às 14h29min 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 vídeo 👉 Manual de Configuração de Plataformas de Pagamento