NFER

Integração

Como automatizar a emissão de Nota Fiscal no SaaS e E-commerce: arquitetura com API REST e Webhooks

Como automatizar a emissão de Nota Fiscal no SaaS e E-commerce: arquitetura com API REST e Webhooks

Guia prático de engenharia fiscal: conecte gateways de pagamento (Stripe, Asaas, Mercado Pago) à API do NFER com fila assíncrona, contingência e webhooks em tempo real.

·8 min de leitura

Quando uma empresa começa a vender online — seja um software por assinatura (SaaS) ou um e-commerce —, emitir notas fiscais manualmente no portal da prefeitura ou no emissor gratuito da SEFAZ parece viável nos primeiros dias. No entanto, assim que o volume atinge dezenas de transações diárias, a operação manual vira um gargalo crítico que gera atrasos, erros de digitação e atritos com clientes.

Neste guia técnico, apresentamos a arquitetura moderna recomendada para automatizar 100% da emissão de notas fiscais integrando seu gateway de pagamento à API fiscal do NFER com processamento assíncrono e webhooks.

O Fluxo Ideal de Automação Fiscal

Uma arquitetura fiscal robusta e escalável opera em 4 etapas assíncronas e desacopladas:

  1. Confirmação do Pagamento: O gateway de pagamento (Stripe, Asaas, Mercado Pago, Pagar.me) dispara um webhook informando payment_intent.succeeded ou charge.paid.
  2. Criação do Documento no NFER: Seu backend recebe o webhook e realiza um POST assíncrono na API do NFER enviando os dados do comprador e itens.
  3. Autorização na SEFAZ: O NFER assina digitalmente o XML com o Certificado A1 na nuvem, valida os esquemas tributários e transmite para a SEFAZ.
  4. Notificação via Webhook: Assim que a SEFAZ autoriza (normalmente em menos de 2 segundos), o NFER dispara um webhook nfe.autorizada com chave de acesso, XML assinado e link direto do DANFE em PDF.

Exemplo Prático de Código: Integrando com Node.js / TypeScript

Veja como é simples tratar o webhook de pagamento e disparar a emissão da NF-e no NFER:

1
2
3
4
5
6
7
8
9
10
11
12
import express from 'express';
const app = express();
app.use(express.json());
// Endpoint que recebe o pagamento aprovado do seu checkout
app.post('/webhooks/payment', async (req, res) => {
const { event, data } = req.body;
if (event === 'PAYMENT_CONFIRMED') {
// Dispara a emissão no NFER
const nferResponse = await fetch('https://api.nfer.me/v1/nfe', {

Tratamento de Picos e Emissão em Lote (Batch)

Durante períodos de alto volume como a Black Friday, datas comemorativas ou viradas de faturamento de planos de assinatura mensal, emitir nota por nota em chamadas individuais pode atingir limites de rate-limit. O NFER oferece o endpoint dedicado POST /v1/nfe/batch para autorizar até 50 notas fiscais em uma única requisição HTTP.

Boas Práticas de Resiliência e Contingência

  • Idempotência de Pedidos: Sempre envie um identificador único de referência (ex.: orderId) para evitar a emissão de notas em duplicidade caso haja reenvio de webhooks.
  • Validação Prévia de CNPJ/CPF: Utilize o endpoint de consulta cadastral do NFER antes do checkout para garantir que o documento do cliente não possui dígitos verificadores incorretos.
  • Contingência Automática: Não se preocupe se a SEFAZ estadual entrar em manutenção — o NFER redireciona automaticamente a autorização para a SVC nacional sem travar seu checkout.

Automatize a emissão fiscal do seu sistema hoje

Documentação completa, SDKs e exemplos prontos para plugar no seu produto em poucos minutos.

Ver Guia de Quick Start da API

Posts recentes

Ver todos