DB_HOST=localhost
DB_PORT=3305
DB_NAME=fbnovasedu_operator
DB_USER=fbnovasedu_eadfbn73_josias	
DB_PASS=Jo84027168@
DB_CHARSET=utf8mb4
APP_BASE_PATH=/operator

# === Credenciais de acesso Hostgator (comentadas para preservar informação, não são parseadas) ===
# Usuário: fbnovasedu_eadfbn73_josias
# Banco de dados: fbnovasedu_operator
# Token ctx: ctx7sk-d87569ac-e494-4518-b8df-b1790c9c92b8

SESSION_LIFETIME=28800
SITE_TITLE=OPERATOR

# === URL do Portal do Aluno RM / TOTVS — valor ATUAL preserva comportamento ===
# ATENÇÃO: Para usar a NOVA URL cloudtotvs, troque ou remova esta linha (o fallback do código já é a nova).
PORTAL_RM_LOGIN_URL=https://fundacaoboas178047.rm.cloudtotvs.com.br/FrameHTML/web/app/edu/PortalEducacional/login/
# === SSO RM / TOTVS (Callback Context + key) ===
TOTVS_RM_SSO_GETSESSION_URL=https://fundacaoboas178047.rm.cloudtotvs.com.br/FrameHTML/rm/api/TOTVSEducacional/GetSession
TOTVS_RM_SSO_KEY_PARAM=key
TOTVS_RM_SSO_TIMEOUT=20
TOTVS_RM_SSO_VERIFY_TLS=1
TOTVS_RM_SSO_CONTEXT_TIMEZONE=America/Manaus
TOTVS_RM_SSO_CONTEXT_TOLERANCE_SECONDS=86400
TOTVS_RM_SSO_ALLOWED_USER_TYPES=A
TOTVS_RM_SSO_REQUIRE_CONTEXT_USER_MATCH=1
TOTVS_RM_SSO_DEBUG=1

# === Usuário administrador padrão (installer) — se vazio, usa defaults do install.php ===
# OPERATOR_ADMIN_NAME=Administrador
# OPERATOR_ADMIN_EMAIL=admin@operator.local
# OPERATOR_ADMIN_LOGIN=admin
# OPERATOR_ADMIN_PASSWORD=Admin@123!

INSTALLER_TOKEN=sam@2026

# === Módulo Financeiro ===
# FIN_DEFAULT_GATEWAY=manual
# FIN_WEBHOOK_TOKEN=token_compartilhado_entre_operator_e_santander
FIN_WEBHOOK_TOKEN=q1w2e3r4t5y6u7i8o9p0a1s2d3f4g5h6j7k8l9z0x1c2v3b4n5m6Q1W2E3R4T5Y6U7
# Flag para validar (1) ou pular (0) o token compartilhado no receptor webhook.
# Alinhado ao Santander "ignore os headers": use 0 para NÃO bloquear caso banco não envie o token.
# NÃO use 0 em produção sem IP whitelist ou HMAC ativo.
FIN_WEBHOOK_VALIDATE_TOKEN=1
# URL de callback SANTANDER envia POST com pagamento confirmado.
# - LOCAL (XAMPP):  http://localhost/Operator/api/financeiro/webhooks/santander?token={FIN_WEBHOOK_TOKEN}
# - HOSTGATOR PROD: https://aluno.fbnovas.edu.br/operator/api/financeiro/webhooks/santander?token={FIN_WEBHOOK_TOKEN}
#   (basta alterar esta linha depois do deploy, sem mexer em PHP)
SANTANDER_WEBHOOK_CALLBACK_URL=https://aluno.fbnovas.edu.br/operator/api/financeiro/webhooks/santander?token=q1w2e3r4t5y6u7i8o9p0a1s2d3f4g5h6j7k8l9z0x1c2v3b4n5m6Q1W2E3R4T5Y6U7
# Scope OAuth para endpoints de webhook (mesmo da emissão; ajustar caso Santander negue)
SANTANDER_WEBHOOK_SCOPES=webhook.write webhook.read cob.write cob.read

# ===== WEBHOOK SANTANDER - SCOPES ESPECÍFICOS =====

# Portal pix usa cob.write, mas GERENCIAR WEBHOOK pode precisar de webhook.write.

# O Operator tenta automaticamente, mas configura manual aqui para acertar 1ª tentativa:
SANTANDER_WEBHOOK_AUTH_PATH=/oauth/token
SANTANDER_WEBHOOK_USE_BASIC=1

# Senha do certificado PFX (deixe VAZIO se não tiver senha)
SANTANDER_CERT_PASSWORD=


# === Integração Santander Pix ===
SANTANDER_SIMULATE=0
# SANTANDER_SIMULATE_FORCE_VALOR=0.10   # (REMVIDO 10/08/2026: sobrou do teste R$0,10. Forçava TODOS pix = 0,10, sobrescrevendo valor real mensalidade.)
SANTANDER_ENVIRONMENT=production
SANTANDER_AUTH_BASE_URL=https://trust-pix.santander.com.br
SANTANDER_AUTH_TOKEN_PATH=/oauth/token?grant_type=client_credentials
SANTANDER_PIX_BASE_URL=https://trust-pix.santander.com.br
SANTANDER_PIX_COB_METHOD=PUT
SANTANDER_PIX_COB_PATH=/api/v1/cob/{txid}
SANTANDER_PIX_QRCODE_PATH=/api/v1/loc/{id}/qrcode
SANTANDER_PIX_SCOPES=cob.write
# Endpoint lista PIX recebidos por período (GET /api/v1/pix?inicio=...&fim=...)
# SANTANDER_PIX_RECEBIDOS_PATH=/api/v1/pix
# Scope OAuth para consultar PIX recebidos (diferente do scope de emissão de cobrança)
# SANTANDER_PIX_READ_SCOPE=pix.read
# Nome / cidade do recebedor (fallback EMV quando RM não retorna)
# SANTANDER_PIX_MERCHANT_NAME=OPERATOR
# SANTANDER_PIX_MERCHANT_CITY=MANAUS
# SANTANDER_CONVENIO=001

# ==== Portal Pagamento V2 · Bradesco Compat (TXID rules) ====
# Prefixo fixo (apenas letras maiúsculas e números) — até 8 chars. Ex: OPERATOR / COBRANCA / FBN2026
SANTANDER_V2_TXID_PREFIX=FBN2026
# Tamanho final do TXID gerado pelo decorator V2 (padrão = 26 chars).
# ┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ ⚠ ATENÇÃO: Existem 2 REGRAS DIFERENTES APLICADAS EM CAMADAS SEPARADAS:                              │
# │   (A) CAMADA API REST SANTANDER (URL path PUT /pix/v2/cob/{txid}) → MIN=26 · MAX=35                  │
# │         → normalizado em AlunoPagamentoService::normalizarTxidPortal() ANTES da chamada.             │
# │   (B) CAMADA EMV QR CODE (tag 62.05 / OBS. 11 PDF Bradesco) → MAX=25 chars (apenas!)                │
# │         → truncado SOMENTE em AlunoPagamentoService::forcarRegenerarEmvBradescoCompat()              │
# │           ao construir a string pix_copia_cola. (NÃO afeta path URL da API Santander!)               │
# └───────────────────────────────────────────────────────────────────────────────────────────────────────┘
SANTANDER_V2_TXID_LENGTH=26
# Limites (MIN aplica-se à API REST Santander / MAX 26 = padrão de mercado que o decorator V2 gera)
SANTANDER_V2_TXID_MIN_LENGTH=26
SANTANDER_V2_TXID_MAX_LENGTH=26
# Charset: 1=[A-Z0-9] apenas (mais seguro, padrão Bradesco)
SANTANDER_V2_TXID_CHARSET=UPPER_ALNUM
# Se o TXID vindo do Santander na tag 62.05 for INVALIDO (tamanho/charset/minusculas), substitui por um novo TXID valido? (SIM = true / 1 / sim / on)
# Default: true (isso resolve o Erro 4091 Bradesco TXID 32 chars hex minúsculas)
SANTANDER_V2_REPLACE_6205_IF_INVALID=true
# Caso troca TXID da tag 62.05 no EMV, também troca txid do payload de resposta por o novo? (padrão: false - se quiser 100% alinhado, ligar true)
SANTANDER_V2_REPLACE_TXID_WITH_NEW_ON_INVALID=false

# ==== Portal Pagamento V2 · Bradesco Compat (PASSO 1 — Higienização ASCII Completa de Campos) ====
# Liga/desliga higienização geral (recomendado true para conformidade Bradesco)
SANTANDER_V2_HIGIENIZAR_CAMPOS=true
# Tamanhos máximos de campos texto (segue manual BCB EMV + PDF Bradesco Observações)
SANTANDER_V2_MAXLEN_RECEBEDOR_NOME=25         # Tag EMV 59 = 25 chars ASCII (padrão BCB QR Code Pix)
# Tag EMV 60 cidade recebedor. ATUAL = 6 (compatível com MANAUS / ambiente local). Aumente se cidade maior (ex.: 15 p/ SÃO PAULO).
SANTANDER_V2_MAXLEN_RECEBEDOR_CIDADE=6
SANTANDER_V2_MAXLEN_DEVEDOR_NOME=140          # OBS. 20 PDF Bradesco Layout (Nome Pagador X(140))
SANTANDER_V2_MAXLEN_SOLICITACAO_PAGADOR=140   # OBS. 21 PDF Bradesco Layout (Solicitação ao Pagador X(140))
SANTANDER_V2_MAXLEN_INFOADICIONAL_VALOR=200   # PDF Bradesco Registro Opcional 3 X(200)
SANTANDER_V2_MAXLEN_DOCUMENTO=35              # OBS. 10 PDF Bradesco X(35)
# Aplica higienização ASCII inclusive no EMV recebido do Santander? (recomendado true)
SANTANDER_V2_FORCA_ASCII_EMV=true
# Texto usado para substituir o caractere "&" (e comercial). Ex.: "LOJA DO JOÃO & CIA" → "LOJA DO JOAO E CIA"
SANTANDER_V2_SUBSTITUIR_E_COMERCIAL_POR=E

SANTANDER_CLIENT_ID=bWbHow4khuagyDid5FkEzzhGvk08aWbl
SANTANDER_CLIENT_SECRET=9lA6scOzUQtLx1OZ
SANTANDER_PIX_KEY=04006474000100
SANTANDER_CERT_PATH=/home/fbnovasedu/aluno.fbnovas.edu.br/operator/credencial/INSTITUTO BIBLICO ASSEMBLEIA DE DEUS NO AMAZONAS.pfx
SANTANDER_CERT_PASSWORD=Fbn2025@#
SANTANDER_CERT_TYPE=P12
SANTANDER_KEY_PATH=
SANTANDER_KEY_PASSWORD=
SANTANDER_CAINFO=
SANTANDER_VERIFY_SSL=1

# ==== TOTVS RM REST / Bearer / ConsultaSQL / Baixa automática SOAP ====
TOTVS_RM_API_BASE_URL=https://fundacaoboas178047.rm.cloudtotvs.com.br:8051
TOTVS_RM_BEARER_USERNAME=samuel.gahu
TOTVS_RM_BEARER_PASSWORD=12345678
TOTVS_RM_BEARER_SERVICEALIAS=
TOTVS_RM_BEARER_APPLICATION_KEY=
TOTVS_RM_VERIFY_TLS=1
TOTVS_RM_CODCOLIGADA=1
TOTVS_RM_CODSISTEMA=F
TOTVS_RM_CODSENTENCA_ALUNO=
TOTVS_RM_CODSENTENCA_MENSALIDADES_ABERTAS=202621
TOTVS_RM_CODSENTENCA_ACORDOS_ABERTOS=202619
TOTVS_RM_CODSENTENCA_MENSALIDADES_GESTAO=RA.0050
TOTVS_RM_PORTAL_CODPERLET=2026/2
# Opcional: sobrepor datas de vencimento. Sem preenchimento, usa o semestre do CODPERLET.
TOTVS_RM_PORTAL_VENCIMENTO_INICIAL=2026-07-01
TOTVS_RM_PORTAL_VENCIMENTO_FINAL=2026-12-31
TOTVS_RM_CONSULTA_CODCOLIGADA=1
# CodSistema separado por contexto:
# - GESTAO (Dashboard /financeiro): sentencas academicas de cobranca em lote = S
# - PORTAL (portal-pagamento): sentencas de mensalidades individuais do aluno = F
# Fallback retrocompatibilidade (remover futuramente):
TOTVS_RM_CONSULTA_CODSISTEMA=F
# Novas variaveis por contexto (preferenciais, usadas se preenchidas):
TOTVS_RM_CONSULTA_CODSISTEMA_GESTAO=S
TOTVS_RM_CONSULTA_CODSISTEMA_PORTAL=F
# Modo de autenticacao para ConsultaSQLServer: basic | bearer. Padrao: basic (quando houver senha).
TOTVS_RM_CONSULTA_AUTH_MODE=basic
# Timeout global RM (REST + SOAP + consultas). Preservado valor ATUAL = 40s (sobrescreve o primeiro de 20s).
TOTVS_RM_TIMEOUT=40
TOTVS_RM_SOAP_WS_PROCESS_URL=https://fundacaoboas178047.rm.cloudtotvs.com.br:8051/wsProcess/IwsProcess?wsdl
TOTVS_RM_SOAP_PASSWORD=12345678
TOTVS_RM_CODCXA=003
TOTVS_RM_BAIXA_CONTA_CAIXA=003
TOTVS_RM_BAIXA_CODSISTEMA=F

