{% extends "base.html" %} {% block title %}Configuração EFi{% endblock %} {% block content %} {% set webhook_url_default = webhook_defaults['url'] if webhook_defaults is defined and webhook_defaults and 'url' in webhook_defaults else '' %} {% set capepay_master = capepay_master_resumo if capepay_master_resumo is defined else None %}

Gateway EFi por empresa

Prepare PIX, cartão e a base da operação online com configuração isolada por empresa.

Credenciais base
{% if config.credenciais_basicas_configuradas %}Já existe um secret salvo no banco.{% else %}Será armazenado de forma criptografada.{% endif %}
Se você deixar em branco, o CapeServer usa a rota padrão do tenant para webhook Efí. Revise apenas se precisar apontar para outro domínio público.
Se ficar em branco, o CapeServer gera e salva um HMAC automático no primeiro salvar dessa empresa.
Webhook padrão do tenant: {{ webhook_url_default or 'A URL será montada automaticamente ao salvar.' }}
PIX
Use esta seção para preparar QR Code, cobrança imediata e futuras confirmações por webhook. O OAuth PIX da EFi usa certificado mTLS.
Certificado / mTLS
Necessário para autenticação PIX da EFi. Informe um caminho acessível pelo servidor/serviço.
Digite aqui a senha que o arquivo do certificado já possui. O CapeServer não cria essa senha; ela vem da exportação do `.p12`/`.pfx`. Se a Efí gerou/exportou o arquivo sem senha, este campo pode ficar em branco.
Use o botão de navegação para localizar o arquivo no computador. Ao salvar, o sistema guarda uma cópia local e atualiza o caminho automaticamente.
Cartão / Cobranças
Nesta fase, o teste real de cartão/cobranças valida o OAuth do endpoint de cobranças da EFi. O certificado fica concentrado no canal PIX/mTLS.
Split integrado / repasse CapeSystem
Usado quando a regra comercial do Master vier com split_integrado. Se ficar em branco, o checkout ainda pode cair no fallback por variável de ambiente do tenant.
Informe o documento do favorecido exatamente como cadastrado na conta Efí que vai receber o repasse.
Estes campos não forçam split por si só. Eles apenas abastecem o checkout quando o Master mandar usar split integrado para a empresa atual.
Observações operacionais
Diagnóstico de prontidão
{{ diagnostico.status_label }}
Empresa atual: {{ empresa_atual.nome_fantasia or empresa_atual.razao_social or empresa_atual.nome or ('Empresa #' ~ empresa_atual.id) }}
{% if config.ultimo_erro %}
Último retorno registrado:
{{ config.ultimo_erro }}
{% endif %}
PIX {% if diagnostico.sections.pix.ready %}Pronto{% elif diagnostico.sections.pix.enabled %}Pendente{% else %}Desligado{% endif %}
Cartão {% if diagnostico.sections.card.ready %}Pronto{% elif diagnostico.sections.card.enabled %}Pendente{% else %}Desligado{% endif %}
Webhook {{ 'Configurado' if diagnostico.sections.webhook.configured else 'Pendente' }}
{% if diagnostico.errors %}
Pendências:
    {% for item in diagnostico.errors %}
  • {{ item }}
  • {% endfor %}
{% endif %} {% if diagnostico.warnings %}
Avisos:
    {% for item in diagnostico.warnings %}
  • {{ item }}
  • {% endfor %}
{% endif %}
    {% for check in diagnostico.checks %}
  • {{ check.label }}
    {% if check.detail and not check.ok %}
    {{ check.detail }}
    {% endif %}
    {{ 'OK' if check.ok else 'Pendente' }}
  • {% endfor %}
Condição vigente de recebimento

Prévia da condição comercial vigente por cenário, usando referência base de {{ governanca_master.simulacao_base_label }}.

No Master vNext, essa condição é cadastrada em Portal > Configurações > Gateway comercial. Nesta tela do cliente exibimos apenas o repasse CapePay e eventuais encargos do cliente; custos internos do gateway ficam restritos ao Master.
{% if governanca_master.mensagem %}
{{ governanca_master.mensagem }}
{% endif %} {% if governanca_master['items'] %}
{% for item in governanca_master['items'] %}
{{ item.cenario_label }}
{{ item.faixa_label }} · {{ item.escopo_label }}
{{ item.badge_label }}
{% if item.ok %}
{{ item.codigo }}{% if item.nome %} — {{ item.nome }}{% endif %}
Taxa CapePay: {{ item.taxa_capesystem_percentual_label }} + {{ item.taxa_capesystem_valor_fixo_label }}
Encargo do cliente: {{ item.juros_cliente_percentual_label }}
Recebimento CapePay: {{ item.capesystem_recebimento_label }}
{% elif item.mensagem %}
{{ item.mensagem }}
{% else %}
Sem retorno detalhado do Master para este cenário.
{% endif %}
{% endfor %}
{% else %}
Nenhum cenário habilitado para consulta automática neste momento.
{% endif %}
Operação CapePay no Master
{% if capepay_master %} {{ capepay_master.status_label }} {% endif %}
{% if capepay_master %}
Merchant code: {{ capepay_master.merchant_code or '-' }}
{% if capepay_master.merchant_nome %}
Cadastro Master: {{ capepay_master.merchant_nome }}
{% endif %}
{% if capepay_master.message %}
{{ capepay_master.message }}
{% endif %} {% if capepay_master.disponivel %}
Saldo disponível
{{ capepay_master['balances']['saldo_disponivel_label'] }}
Saldo total
{{ capepay_master['balances']['saldo_total_label'] }}
Saldo futuro
{{ capepay_master['balances']['saldo_futuro_label'] }}
Bloqueado / disputa
{{ capepay_master['balances']['saldo_bloqueado_label'] }} / {{ capepay_master['balances']['saldo_em_disputa_label'] }}
{% if capepay_master.snapshot %}
Último snapshot conhecido no Master em {{ capepay_master.snapshot.capturado_em_label }}.
{% endif %}
Fila de payouts
Solicitados: {{ capepay_master['payouts']['summary']['solicitado'] }} Em processamento: {{ capepay_master['payouts']['summary']['em_processamento'] }} Pagos: {{ capepay_master['payouts']['summary']['pago'] }} Falhas: {{ capepay_master['payouts']['summary']['falha'] }}
Total solicitado: {{ capepay_master['payouts']['summary']['valor_solicitado_total_label'] }}
Total processado: {{ capepay_master['payouts']['summary']['valor_processado_total_label'] }}
{% if capepay_master['payouts']['items'] %}
{% for item in capepay_master['payouts']['items'] %}
Payout #{{ item.id }}
Solicitado em {{ item.data_solicitacao_label }}
{{ item.status_label }}
Valor solicitado: {{ item.valor_solicitado_label }}
Valor processado: {{ item.valor_processado_label }}
{% if item.identificador_externo %}
Identificador externo: {{ item.identificador_externo }}
{% endif %}
{% endfor %}
{% else %}
Nenhum payout CapePay retornado pelo Master para este merchant.
{% endif %} {% endif %} {% else %}
Resumo operacional do CapePay indisponível neste contexto.
{% endif %}
Estratégia desta fase

Esta tela cobre a Fase 1 da integração EFi:

  • configuração isolada por empresa;
  • preparo de PIX e cartão;
  • diagnóstico local de prontidão;
  • base para as próximas fases de token, cobrança e webhook.
De onde obter os dados que costumam gerar pendência
  • Client ID / Client Secret: no painel da Efí, dentro do aplicativo/API criado para esta empresa e para o ambiente correto (homologação ou produção).
  • Chave PIX: no painel da Efí, na área de PIX, usando a chave vinculada à conta que vai receber.
  • Certificado mTLS (.p12/.pfx): exportado no app PIX da Efí; depois envie o arquivo por esta tela.
  • Senha do certificado: é a senha definida quando o certificado foi exportado. O CapeServer não cria essa senha.
  • Webhook URL: pode ficar em branco se quiser usar a rota padrão do tenant mostrada acima.
  • Webhook HMAC: pode ficar em branco; o sistema gera automaticamente no primeiro salvar.
Próximo passo técnico
Depois desta configuração, a próxima evolução recomendada é ligar a regra vigente do Master ao fluxo real de geração de cobrança e persistir o snapshot da taxa aplicada em cada venda/link.
{% endblock %} {% block scripts %} {% endblock %}