Recebimento institucional GIA + InfinitePay
Checkout institucional GIA
Recebimento institucional do GIA: a empresa ativa é a compradora, e a conta recebedora nunca é configurada pelo tenant. Um fluxo de pagamento isolado, transparente e auditável.
Isolamento por desenho
Por que o billing institucional é separado
O billing institucional é um bounded context próprio, isolado dos ledgers das empresas. A única conta operacional é escopo PLATFORM, sem empresa vinculada.
Ledgers das empresas — nunca tocados pelo billing institucional
A conta que recebe o pagamento institucional tem scope=PLATFORM e companyId=null. Ela nunca é configurada pelo tenant e nunca se mistura com o ledger de nenhuma empresa.
Como funciona
Um fluxo de pagamento auditável, do pedido à confirmação
- Passo 1
A empresa ativa inicia o pedido
O pedido de billing institucional começa no painel da empresa ativa.
- Passo 2
O servidor cria o checkout na InfinitePay
Preço, order_nsu, conta e provedor são definidos pelo servidor — nunca pelo cliente — com valores inteiros em centavos.
- Passo 3
O comprador escolhe o meio de pagamento
Na página da InfinitePay, com QR e compartilhamento opcional por WhatsApp ou e-mail como conveniência.
- Passo 4
O webhook é reconciliado
A InfinitePay notifica o backend, que reconcilia com payment_check exigindo pedido, pagamento, conta e valor coerentes.
- Passo 5
O pedido vira PAID
Só depois da reconciliação servidor-a-servidor o pedido é confirmado.
Segurança e idempotência
Cada etapa financeira falha fechado, nunca aberto
Idempotência durável
Chave única derivada de provedor, transaction_nsu, invoice_slug, order_nsu e tipo do evento — o mesmo webhook nunca é processado duas vezes.
Redirect é apenas UX
O redirecionamento do comprador nunca confirma pagamento — só a reconciliação servidor-a-servidor faz isso.
Webhook sem assinatura, mitigado
Limitação conhecida do PSP, mitigada com reconciliação servidor-a-servidor antes de qualquer efeito, e payload limitado a 32 KiB.
Fail-closed e sem dados sensíveis
Falhas financeiras nunca liberam produto. Logs e auditoria não persistem payload bruto, handle, PII ou segredos; uma constraint no banco impede conta PLATFORM vinculada a empresa.
Transparência sobre o gate de runtime
Não existe sandbox real da InfinitePay — a API sempre aponta para produção. Por isso o checkout é travado por runtime (GIA_RUNTIME_ENV=preview) e falha fechado fora do Preview.
Production permanece bloqueado.
Pronto para o checkout institucional?
Acesse o billing da sua empresa para iniciar o pedido, ou fale com o nosso time comercial para tirar dúvidas.