Conector Stripe

Conector Stripe

Conecte sua conta Stripe ao Brevo via Tajo para sincronização completa de dados de pagamento, gestão do ciclo de vida de assinaturas e automação de marketing orientada por receita.

Visão geral

PropriedadeValor
PlataformaStripe
CategoriaE-commerce
Complexidade de configuraçãoFácil
Integração oficialSim
Dados sincronizadosClientes, Pagamentos, Assinaturas, Faturas, Eventos
URL base da APIhttps://api.stripe.com/v1

Recursos

  • Sincronização de clientes - Sincronize clientes do Stripe com contatos do Brevo incluindo metadados
  • Rastreamento de pagamentos - Rastreie pagamentos bem-sucedidos, reembolsos e cobranças que falharam
  • Gestão de assinaturas - Sincronize eventos do ciclo de vida de assinaturas para campanhas de retenção
  • Dados de faturas - Sincronize detalhes de faturas para automação pós-compra e de renovação
  • Atribuição de receita - Mapeie o valor vitalício e o MRR para atributos do Brevo
  • Eventos por webhook - Notificações de eventos em tempo real para todas as atividades de pagamento
  • Suporte multi-moeda - Gerencie pagamentos em várias moedas
  • Rastreamento de sessões de checkout - Rastreie o Stripe Checkout para recuperação de pagamento abandonado

Pré-requisitos

Antes de começar, certifique-se de ter:

  1. Uma conta Stripe com acesso à API
  2. Chaves de API do Stripe (publishable e secret keys)
  3. Uma conta Brevo com acesso à API
  4. Uma conta Tajo

Autenticação

Autenticação por chave de API

O Stripe usa autenticação por bearer token com sua chave de API secreta.

Terminal window
curl https://api.stripe.com/v1/customers \
-u sk_live_YOUR_SECRET_KEY:

Segurança da chave de API

Nunca exponha sua chave secreta em código do lado do cliente. Use a chave publishable para operações no frontend e a chave secreta apenas em seu servidor.

Chaves de API restritas

Crie chaves restritas com permissões específicas para maior segurança:

  1. Acesse Stripe Dashboard > Developers > API Keys
  2. Clique em “Create restricted key”
  3. Conceda apenas as permissões que o Tajo precisa

Permissões necessárias

customers: read
charges: read
payment_intents: read
subscriptions: read
invoices: read
events: read
products: read
prices: read

Configuração

Configuração básica

connectors:
stripe:
enabled: true
secret_key: "${STRIPE_SECRET_KEY}"
webhook_secret: "${STRIPE_WEBHOOK_SECRET}"
# Data sync options
sync:
customers: true
payments: true
subscriptions: true
invoices: true
products: true
# Brevo list assignment
lists:
all_customers: 20
subscribers: 21
churned: 22

Mapeamento de campos

Mapeie dados de clientes do Stripe para atributos de contato do Brevo:

Default Mappings

Parameter Type Description
email required
string

Endereço de e-mail do cliente (identificador único)

name optional
string

Nome completo do cliente, dividido em FIRSTNAME/LASTNAME

phone optional
string

Mapeia para o atributo SMS para WhatsApp/SMS

currency optional
string

Moeda padrão do cliente

created optional
timestamp

Data de criação do cliente no Stripe

metadata optional
object

Metadados personalizados chave-valor do Stripe

subscriptions optional
array

Detalhes de assinaturas ativas

balance optional
integer

Saldo da conta do cliente em centavos

Mapeamento de atributos personalizados

field_mapping:
# Standard fields
email: email
name: FULLNAME
phone: SMS
# Payment metrics
total_spent: TOTAL_SPENT
payment_count: PAYMENT_COUNT
last_payment_date: LAST_PAYMENT_DATE
average_order_value: AOV
# Subscription fields
subscription_status: SUB_STATUS
plan_name: PLAN_NAME
mrr: MONTHLY_REVENUE
subscription_start: SUB_START_DATE
# Custom metadata
metadata.customer_tier: VIP_TIER
metadata.referral_source: REFERRAL_SOURCE

Endpoints da API

Endpoints principais

MétodoEndpointDescrição
GET/v1/customersListar todos os clientes
POST/v1/customersCriar um cliente
GET/v1/customers/{id}Recuperar um cliente
POST/v1/customers/{id}Atualizar um cliente
GET/v1/chargesListar todas as cobranças
GET/v1/payment_intentsListar payment intents

Endpoints de assinatura

MétodoEndpointDescrição
GET/v1/subscriptionsListar assinaturas
GET/v1/subscriptions/{id}Recuperar uma assinatura
GET/v1/invoicesListar faturas
GET/v1/invoices/upcomingRecuperar fatura futura
GET/v1/productsListar produtos
GET/v1/pricesListar preços

Endpoints de eventos

MétodoEndpointDescrição
GET/v1/eventsListar eventos
GET/v1/events/{id}Recuperar um evento

Eventos

Eventos de pagamento

EventoGatilhoCaso de uso
payment_intent.succeededPagamento concluídoConfirmação de pedido
payment_intent.payment_failedPagamento falhouE-mail de recuperação
charge.refundedReembolso processadoNotificação de reembolso
charge.dispute.createdChargeback iniciadoTratamento de disputa

Eventos de assinatura

EventoGatilhoCaso de uso
customer.subscription.createdNova assinaturaFluxo de onboarding
customer.subscription.updatedPlano alteradoFluxo de upgrade/downgrade
customer.subscription.deletedAssinatura canceladaPrevenção de churn
customer.subscription.trial_will_endTrial terminando em 3 diasCampanha de conversão de trial
invoice.payment_failedPagamento de assinatura falhouSequência de e-mails de cobrança

Eventos de cliente

EventoGatilhoCaso de uso
customer.createdNovo cliente adicionadoE-mail de boas-vindas
customer.updatedDados do cliente alteradosSincronização de atributos
customer.deletedCliente removidoLimpeza

Exemplos de código

Inicializar o conector

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Stripe
await tajo.connectors.connect('stripe', {
secretKey: process.env.STRIPE_SECRET_KEY,
webhookSecret: process.env.STRIPE_WEBHOOK_SECRET
});

Executar sincronização de clientes

// Full historical sync
await tajo.connectors.sync('stripe', {
type: 'full',
resources: ['customers', 'subscriptions', 'payments'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('stripe');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersSynced: 12500,
// subscriptionsSynced: 8200,
// paymentsSynced: 45000
// }

Tratar webhooks do Stripe

import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
app.post('/webhooks/stripe', async (req, res) => {
const sig = req.headers['stripe-signature'];
let event;
try {
event = stripe.webhooks.constructEvent(
req.body,
sig,
process.env.STRIPE_WEBHOOK_SECRET
);
} catch (err) {
return res.status(400).send(`Webhook Error: ${err.message}`);
}
// Forward to Tajo for Brevo sync
await tajo.connectors.handleWebhook('stripe', {
type: event.type,
data: event.data.object
});
res.status(200).json({ received: true });
});

Limites de taxa

O Stripe aplica os seguintes limites de taxa:

TipoLimiteDetalhes
Modo live100 requisições de leitura/segundoPor chave secreta
Modo live100 requisições de escrita/segundoPor chave secreta
Modo test25 requisições/segundoPor chave secreta
Entrega de webhook100.000 eventos/diaPor endpoint

Tratamento de limites de taxa

O Stripe retorna uma resposta 429 Too Many Requests quando os limites são excedidos. Implemente backoff exponencial. Use endpoints de listagem com paginação automática para recuperação de dados em massa.

Solução de problemas

Problemas comuns

ProblemaCausaSolução
401 UnauthorizedChave de API inválidaVerifique a chave secreta no Stripe Dashboard
Falha na assinatura do webhookWebhook secret incorretoCopie novamente o signing secret do webhook no Dashboard
Cliente não sincronizadoSem e-mail no cliente do StripeGaranta que o e-mail esteja definido nos registros de cliente do Stripe
Dados de assinatura ausentesPermissões insuficientesAtualize as permissões da chave restrita
Eventos duplicadosReentrega de webhookImplemente idempotência usando os IDs de evento

Modo de depuração

Habilite logging detalhado:

connectors:
stripe:
debug: true
log_level: verbose
log_webhooks: true

Testar conexão

Terminal window
tajo connectors test stripe
# ✓ API connection successful
# ✓ Customers readable
# ✓ Subscriptions readable
# ✓ Payments readable
# ✓ Webhook endpoint verified

Melhores práticas

  1. Use chaves de API restritas - Crie chaves com as permissões mínimas necessárias
  2. Sempre verifique assinaturas de webhook - Previna eventos de webhook forjados
  3. Trate a idempotência - Use IDs de evento do Stripe para evitar processamento duplicado
  4. Sincronize metadados do cliente - Armazene dados relevantes para marketing nos campos de metadata do Stripe
  5. Monitore a entrega de webhooks - Verifique o Stripe Dashboard para entregas que falharam
  6. Use o modo test primeiro - Valide sua integração com o modo test e test clocks do Stripe

Segurança

  • Autenticação por chave de API - Acesso baseado em chave secreta com suporte a chaves restritas
  • Verificação de assinatura de webhook - Validação de assinatura HMAC SHA-256
  • Criptografia TLS - Toda comunicação com a API é criptografada via HTTPS
  • Conformidade PCI - O Stripe cuida da conformidade PCI DSS para dados de pagamento
  • Whitelisting de IP - Restrições de IP opcionais para acesso à API

Recursos relacionados

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.

Comece grátis com Brevo