Por Que Stripe + N8N?
O Stripe e a plataforma de pagamentos mais usada por SaaS, e-commerces e produtos digitais. Com N8N, voce pode automatizar todo o ciclo de vida do cliente pagante.
Notificacoes
Avise no Slack/Discord quando um pagamento for aprovado ou falhar
Provisioning
Crie contas automaticamente quando assinatura for confirmada
Notas Fiscais
Emita NFe automaticamente integrando com Focus NFe ou similares
Dunning
Envie lembretes quando cartao falhar ou assinatura estiver para vencer
Criar Conta Stripe
Cadastro e configuracao inicial
Acesse stripe.com
- 1. Acesse dashboard.stripe.com e clique em "Start now"
- 2. Crie uma conta com email e senha
- 3. Voce estara em Test Mode por padrao (ideal para desenvolvimento)
Test Mode vs Live Mode
Sempre desenvolva em Test Mode primeiro. Cartoes de teste: 4242 4242 4242 4242
(sucesso) ou 4000 0000 0000 0002 (recusado).
Obter API Keys
Chaves para autenticar suas requisicoes
Developers → API Keys
- 1. No dashboard, clique em Developers no canto superior direito
- 2. Selecione API Keys
- 3. Voce vera duas chaves:
Publishable Key
Comeca com pk_test_ ou pk_live_
Usada no frontend (Checkout, Elements)
Secret Key
Comeca com sk_test_ ou sk_live_
Nunca exponha! Usada no backend/N8N
CUIDADO com a Secret Key
A Secret Key permite fazer cobranças, reembolsos e acessar dados de clientes. Nunca commite em repositorios ou exponha no frontend.
Configurar no N8N
Adicionar credencial do Stripe
Criar Credencial
- 1. No N8N, va em Credentials → Add Credential
- 2. Busque por Stripe API
-
3.
Cole a Secret Key (começa com
sk_) - 4. Clique em Save
Pronto!
A credencial funciona tanto para Test Mode quanto Live Mode. Basta trocar a chave quando for para producao.
Configurar Webhooks
Receber eventos do Stripe em tempo real
Eventos Mais Importantes
Pagamentos
payment_intent.succeededpayment_intent.payment_failedcharge.refunded
Assinaturas
customer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.payment_failed
Opcao A: Stripe Trigger (Recomendado)
- 1. Use o node Stripe Trigger no N8N
- 2. Selecione os eventos que deseja escutar
- 3. O N8N registra o webhook automaticamente no Stripe
Opcao B: Webhook Manual
- 1. No Stripe, va em Developers → Webhooks
- 2. Clique em Add endpoint
- 3. Cole a URL do Webhook do N8N
- 4. Selecione os eventos e clique em Add endpoint
Webhook Signing Secret
Se criar webhook manual, copie o Signing Secret (whsec_...) para validar que os eventos realmente vem do Stripe. O Stripe Trigger faz isso automaticamente.
Operacoes Comuns no N8N
O que voce pode fazer com o node Stripe
Customer
- • Create - Criar cliente
- • Get - Buscar por ID
- • Update - Atualizar dados
- • Delete - Remover cliente
- • Get All - Listar clientes
Charge
- • Create - Criar cobranca
- • Get - Buscar cobranca
- • Update - Atualizar metadata
- • Get All - Listar cobranças
Subscription
- • Create - Criar assinatura
- • Get - Buscar assinatura
- • Update - Alterar plano
- • Delete - Cancelar
Invoice
- • Get - Buscar fatura
- • Get All - Listar faturas
Exemplos Praticos
1. Notificar no Slack quando venda for aprovada
// Stripe Trigger: payment_intent.succeeded
// → Slack: Send Message
// Mensagem do Slack:
":moneybag: Nova venda de R$ {{ $json.data.object.amount / 100 }}"
"Cliente: {{ $json.data.object.receipt_email }}"
"ID: {{ $json.data.object.id }}"
2. Criar usuario quando assinatura iniciar
// Stripe Trigger: customer.subscription.created
// → HTTP Request: POST para seu backend
// Body do request:
{
"email": "{{ $json.data.object.customer_email }}",
"stripe_customer_id": "{{ $json.data.object.customer }}",
"subscription_id": "{{ $json.data.object.id }}",
"plan": "{{ $json.data.object.items.data[0].price.id }}",
"status": "{{ $json.data.object.status }}"
}
3. Enviar email de recuperacao quando pagamento falhar
// Stripe Trigger: invoice.payment_failed
// → Stripe: Get Customer
// → Gmail: Send Email
// Buscar cliente pelo ID:
Customer ID: {{ $json.data.object.customer }}
// Email de recuperacao:
To: {{ $('Stripe').item.json.email }}
Subject: "Problema com seu pagamento"
Body: "Nao conseguimos processar seu pagamento.
Atualize seus dados em: {{ $json.data.object.hosted_invoice_url }}"
4. Emitir nota fiscal via API (Focus NFe)
// Stripe Trigger: payment_intent.succeeded
// → HTTP Request: POST Focus NFe API
// Body para emissao de NFS-e:
{
"prestador": { "cnpj": "SEU_CNPJ" },
"tomador": {
"email": "{{ $json.data.object.receipt_email }}"
},
"servico": {
"valor_servicos": {{ $json.data.object.amount / 100 }},
"descricao": "Servico de automacao"
}
}
Payment Links & Checkout
O Stripe oferece formas de criar pagamentos sem precisar programar uma pagina de checkout:
Payment Links
Links prontos para compartilhar. Crie no dashboard sem codigo.
Ideal para: vendas simples, links em redes sociais, WhatsApp
Checkout Sessions
API para criar sessoes de checkout dinamicas via N8N.
Ideal para: checkout customizado, precos dinamicos
Criar Checkout Session via HTTP Request
// HTTP Request node
Method: POST
URL: https://api.stripe.com/v1/checkout/sessions
Authentication: Header Auth
Header: Authorization: Bearer sk_test_xxx
// Body (form-urlencoded):
line_items[0][price]: price_xxxxx
line_items[0][quantity]: 1
mode: payment
success_url: https://seusite.com/sucesso
cancel_url: https://seusite.com/cancelado
Troubleshooting
401 Unauthorized
Chave API incorreta ou usando chave de Test Mode em ambiente Live (ou vice-versa).
Webhook nao chega
Verifique se o workflow esta ativo. Em Developers → Webhooks, veja os logs de tentativas. Certifique-se que a URL do N8N e acessivel publicamente.
Webhook signature verification failed
O Signing Secret (whsec_) esta incorreto ou expirado. Regenere nas configuracoes do webhook.
No such customer / subscription
Esta buscando um recurso de Test Mode com chave Live ou vice-versa. IDs de teste comecam com cus_test_, sub_test_, etc.
Eventos Webhook Essenciais
| Evento | Quando Dispara | Use Para |
|---|---|---|
checkout.session.completed |
Cliente completou checkout | Provisionar acesso, enviar confirmação |
customer.subscription.created |
Nova assinatura criada | Criar conta, dar acesso |
customer.subscription.deleted |
Assinatura cancelada | Remover acesso, pesquisa de churn |
invoice.payment_succeeded |
Pagamento recorrente OK | Renovar acesso, enviar recibo |
invoice.payment_failed |
Pagamento falhou | Email de recuperação, dunning |
customer.subscription.trial_will_end |
Trial termina em 3 dias | Lembrete de conversão |
Proximo: YouTube API
Aprenda a automatizar uploads, gerenciar videos e buscar dados do YouTube
Continuar para YouTube