
Stripe no Brasil: guia de cobrança para SaaS
Pagamento é onde o SaaS brasileiro mais trava. A combinação de cartão internacional, boleto, PIX, nota fiscal eletrônica e as particularidades do mercado local cria uma complexidade que atrasa lançamentos, aumenta churn involuntário e consome tempo de engenharia que deveria estar no produto. Stripe entrou no Brasil com a promessa de simplificar esse cenário — mas a implementação correta exige entender o que está disponível, o que tem limitações e onde outras plataformas locais ainda levam vantagem.
Este guia cobre o que você precisa saber para implementar cobrança em um SaaS brasileiro usando Stripe como plataforma principal.
Stripe Billing: Planos, Preços e Upgrades
O Stripe Billing é o módulo de gestão de assinaturas do Stripe — e é onde está o maior valor para SaaS. Ele gerencia o ciclo de vida completo de uma assinatura: criação, cobrança recorrente, upgrades, downgrades, períodos de trial, cobranças proporcionais (proration) e cancelamentos.
O modelo de dados central do Stripe Billing gira em torno de três conceitos:
- Product: O que você está vendendo (ex: "Plano Pro")
- Price: As condições de cobrança de um produto (ex: R$ 199/mês, cobrado no dia 1 de cada mês)
- Subscription: O vínculo entre um Customer e um Price
// Criando um plano e assinando um cliente
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
// 1. Criar produto e preço (normalmente feito no dashboard, não no código)
const product = await stripe.products.create({
name: 'Plano Pro',
description: 'Acesso completo com até 20 usuários',
});
const price = await stripe.prices.create({
product: product.id,
unit_amount: 19900, // R$ 199,00 em centavos
currency: 'brl',
recurring: { interval: 'month' },
});
// 2. Criar assinatura para um cliente existente
const subscription = await stripe.subscriptions.create({
customer: 'cus_XXXXXXXXXX',
items: [{ price: price.id }],
trial_period_days: 14, // trial gratuito de 14 dias
payment_settings: {
payment_method_types: ['card', 'boleto'],
},
});
Upgrades e downgrades são gerenciados via subscription.update com o parâmetro proration_behavior. O Stripe calcula automaticamente o valor proporcional dos dias restantes no ciclo e debita ou credita na próxima fatura.
Boleto e PIX no Stripe: Setup e Limitações
O Stripe suporta Boleto Bancário e PIX para pagamentos no Brasil, mas com limitações importantes que precisam ser consideradas no design do produto.
Boleto no Stripe:
- Disponível para pagamentos únicos e assinaturas
- Prazo de vencimento configurável (padrão: 3 dias úteis)
- Boleto não pago não cancela a assinatura automaticamente — você precisa configurar a lógica de tratamento de inadimplência
- Confirmação de pagamento pode levar até 2 dias úteis após o pagamento
- Taxa adicional de R$ 1,50 por boleto gerado (além das taxas percentuais)
PIX no Stripe:
- Disponível apenas para pagamentos únicos (one-time), não para assinaturas recorrentes
- QR Code com validade de até 1 hora (configurável)
- Confirmação em tempo real
- Para SaaS com cobrança recorrente, PIX exige uma solução customizada: gerar um novo QR Code a cada ciclo e notificar o cliente por e-mail
// Gerando um pagamento PIX no Stripe
const paymentIntent = await stripe.paymentIntents.create({
amount: 19900,
currency: 'brl',
payment_method_types: ['pix'],
payment_method_data: { type: 'pix' },
confirm: true,
});
// O QR Code fica em:
// paymentIntent.next_action.pix_display_qr_code.image_url_png
A limitação do PIX para assinaturas é o principal gap do Stripe no mercado brasileiro. Para SaaS que precisam de PIX recorrente, a solução mais comum é usar o Stripe para cartão e uma plataforma local (Pagar.me, Iugu ou Asaas) para o fluxo PIX, com a lógica de unificação feita na camada de aplicação.
Taxas: Stripe vs Pagar.me vs Iugu no Brasil
A comparação de taxas precisa considerar não apenas o percentual por transação, mas também tarifas fixas, custo de chargebacks, spread de câmbio (quando relevante) e os recursos incluídos em cada plataforma.
| Critério | Stripe | Pagar.me | Iugu | Asaas |
|---|---|---|---|---|
| Cartão crédito (1x) | 3,99% + R$ 0,39 | 2,49% a 3,49% | 2,49% a 3,29% | 2,49% |
| Parcelamento (até 12x) | 3,99% por parcela | 2,49% + custo parcelamento | 2,49% + custo parcelamento | 2,49% |
| Boleto | R$ 1,50 fixo | R$ 2,49 fixo | R$ 1,50 a R$ 2,49 | R$ 1,99 |
| PIX | 0,99% | 0,99% | 0,50% a 0,99% | 0,99% |
| Chargeback fee | US$ 15 | R$ 0 (contestação incluída) | R$ 0 | R$ 0 |
| Suporte Billing/assinaturas | Nativo e robusto | Disponível | Disponível | Básico |
| Integração internacional | Excelente | Limitada | Limitada | Não |
Valores estimados — consulte as plataformas para tabelas atualizadas
Para SaaS com clientes internacionais ou que planejam expansão fora do Brasil, o Stripe ainda é a escolha mais clara: a plataforma gerencia moedas, impostos internacionais e métodos de pagamento globais de forma unificada. Para SaaS 100% brasileiro com alto volume de boleto e necessidade de PIX recorrente, Pagar.me ou Iugu podem ser mais competitivos no custo total.
Stripe Tax e NF-e: Nota Fiscal para Assinaturas
Emitir nota fiscal eletrônica para cada cobrança de assinatura é uma obrigação fiscal no Brasil — e é onde a maioria dos SaaS sofre mais. O Stripe Tax calcula e coleta impostos automaticamente para transações internacionais, mas não resolve a emissão de NF-e para o mercado brasileiro.
Para NF-e no Brasil, as opções mais comuns são:
1. Integração com plataformas de nota fiscal via webhook:
O Stripe dispara um webhook no evento invoice.payment_succeeded. Sua aplicação recebe o evento, extrai os dados da fatura e envia para uma API de emissão de NF-e (NFSe.io, ENotas, Focus NF-e, Nuvem Fiscal).
// Webhook handler para emissão automática de NF-e
app.post('/webhooks/stripe', express.raw({ type: 'application/json' }), async (req, res) => {
const event = stripe.webhooks.constructEvent(
req.body,
req.headers['stripe-signature'],
process.env.STRIPE_WEBHOOK_SECRET
);
if (event.type === 'invoice.payment_succeeded') {
const invoice = event.data.object;
await emitirNFe({
valor: invoice.amount_paid / 100,
descricao: invoice.lines.data[0].description,
clienteCNPJ: invoice.customer_tax_ids?.[0]?.value,
clienteEmail: invoice.customer_email,
});
}
res.json({ received: true });
});
2. Plataformas integradas (Pagar.me + NF-e): Algumas plataformas de pagamento brasileiras oferecem emissão de NF-e integrada no plano. Isso simplifica a operação mas cria dependência de um único fornecedor para toda a cadeia de cobrança.
O ponto crítico: a NF-e precisa ser emitida no mesmo CNPJ que realiza a cobrança. Se o seu SaaS está registrado como MEI, Simples Nacional ou Lucro Presumido, a tributação e o tipo de nota (NFS-e para serviços, geralmente ISS municipal) variam. Consulte um contador antes de automatizar a emissão.
Conclusão com CTA
Cobrança em SaaS brasileiro não é um problema resolvido com uma única ferramenta. Stripe Billing resolve a gestão de assinaturas com excelência, mas a combinação com PIX recorrente, NF-e automática e suporte a parcelamento exige integração cuidadosa de múltiplos serviços.
Fazer isso corretamente desde o início — com webhooks robustos, tratamento de inadimplência, retry automático de cobranças falhadas e emissão de NF-e integrada — poupa meses de retrabalho e evita problemas fiscais que aparecem tarde demais.
Na SystemForge, a camada de billing é um dos entregáveis padrão nos SaaS que construímos: Stripe Billing com suporte a boleto e cartão, webhooks de NF-e configurados e lógica de dunning para reduzir churn involuntário. Fale com a gente para ver como estruturamos isso no seu produto.
Precisa de Desenvolvimento SaaS?
A SystemForge constrói plataformas SaaS escaláveis do zero até o deploy.
Saiba mais →Precisa de ajuda?

