For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /pt/docs/web/billing.md (or send Accept: text/markdown).
Pagamentos e subscrições
Checkout Stripe, gestão de planos e a fronteira de entitlements.
Escolha e teste seu serviço de pagamento
O faturamento trata dos pagamentos. As permissões de acesso são armazenadas separadamente como autorizações. Conclua a configuração da conta persistente e abra /faturamento no aplicativo Web em execução para ver a interface do plano. Com BILLING_PROVIDER=local, você explora o comportamento local em vez de coletar dinheiro real.
Escolha um provedor de pagamento compatível, siga seu guia de configuração, crie seu próprio produto de teste e preço e copie as configurações do servidor nomeado em apps/web/.env.local. Salve e reinicie o servidor Web. Conclua uma verificação usando as instruções de sandbox desse provedor e, em seguida, inspecione o estado de acesso do workspace após a chegada do webhook do provedor. Um webhook é a mensagem assinada pelo provedor ao seu servidor sobre um evento de pagamento.
Uma página de sucesso por si só não desbloqueia recursos. Se a finalização da compra for concluída, mas o acesso permanecer inativo, verifique a entrega do webhook do provedor e o processamento de eventos do seu servidor antes de repetir o pagamento. Cancelamento de teste e acesso expirado também. As compras por telefone usam a configuração RevenueCat/loja separada, não esta finalização pela Web.
Faturação web
O aplicativo da Web oferece suporte ao provedor de cobrança selecionado com BILLING_PROVIDER; Stripe é uma opção. Abertura/faturamento para planos Web e gerenciamento de assinaturas. Siga o guia do provedor selecionado para definir suas credenciais somente de servidor, IDs de produto ou preço e configurações de verificação de webhook no teste correspondente ou no ambiente ativo.
Autoriza através de permissões
Um redirecionamento de checkout não é prova de acesso ativo. A permissão do servidor decide se um workspace pode usar uma capacidade paga. Verifica essa permissão na fronteira da ação mesmo quando a interface já esconde a ação.
Verifica o ciclo de vida
Usa eventos sandbox para verificar ativação, atualizações, cancelamento e processamento de webhooks. Mantém eventos repetidos seguros e garante que uma permissão inativa bloqueia operações pagas. Compras nativas mobile continuam a ser uma fronteira de integração RevenueCat separada.
Instalação e configuração
O catálogo de planos vive em src/product-plans.ts e orienta a superfície /billing e o passo de onboarding /choose-plan. A faturação configura-se no servidor com BILLING_PROVIDER=stripe, STRIPE_SECRET_KEY, os price ids por plano e intervalo, e STRIPE_WEBHOOK_SECRET. O Lemon Squeezy está disponível como adaptador alternativo.
Os planos baseados em assentos usam os seletores editáveis de assentos (src/seat-count.ts); a quantidade segue com a sessão de checkout para que os assentos cobrados correspondam ao workspace. Os planos também podem declarar meteredUsage em src/product-plans.ts para que a tarefa horária billing.usage-report envie os deltas de usage_counter aos medidores de cobrança da Stripe, enquanto os proprietários do workspace definem orçamentos mensais de IA e tetos rígidos por medidor em Configurações → Uso (USAGE_METERS em src/usage-meters.ts).
Checkout: POST /api/billing/checkout
Portal: POST /api/billing/portal
Webhook: POST /api/billing/webhook (signature-verified)Fluxo de implementação
Um redirect de checkout é apenas uma intenção pendente — o acesso muda quando o webhook assinado chega e o entitlement do servidor é atualizado. Controla as ações pagas com a verificação de entitlement na fronteira do servidor (entitlement-gate.tsx / entitlement-check.ts) mesmo quando a interface já as oculta.
O portal do cliente gere alterações de plano, cancelamento e métodos de pagamento. Mantém o estado da subscrição legível pelos membros do workspace e as compras nativas mobile atrás da fronteira separada do RevenueCat.