Stripe Connector

Stripe Connector

Forbind din Stripe-konto til Brevo via Tajo for komplet synkronisering af betalingsdata, håndtering af abonnementslivscyklus og omsætningsdrevet marketingautomatisering.

Oversigt

EgenskabVærdi
PlatformStripe
KategoriE-handel
OpsætningskompleksitetLet
Officiel integrationJa
Synkroniserede dataKunder, betalinger, abonnementer, fakturaer, hændelser
API-base-URLhttps://api.stripe.com/v1

Funktioner

  • Kundesynkronisering - Synkronisér Stripe-kunder med Brevo-kontakter inklusive metadata
  • Betalingssporing - Spor vellykkede betalinger, refusioner og mislykkede debiteringer
  • Abonnementshåndtering - Synkronisér abonnementslivscyklushændelser til retentionskampagner
  • Fakturadata - Synkronisér fakturadetaljer til automatisering efter køb og fornyelse
  • Omsætningsattribution - Knyt livstidsværdi og MRR til Brevo-attributter
  • Webhook-hændelser - Realtidsnotifikationer om hændelser for alle betalingsaktiviteter
  • Understøttelse af flere valutaer - Håndtér betalinger på tværs af flere valutaer
  • Sporing af checkout-sessioner - Spor Stripe Checkout til genoprettelse af forladte betalinger

Forudsætninger

Før du begynder, skal du sikre dig, at du har:

  1. En Stripe-konto med API-adgang
  2. Stripe API-nøgler (publishable og secret keys)
  3. En Brevo-konto med API-adgang
  4. En Tajo-konto

Autentifikation

API-nøgle-autentifikation

Stripe bruger bearer-token-autentifikation med din secret API-nøgle.

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

Sikkerhed for API-nøgler

Eksponér aldrig din secret-nøgle i klientside-kode. Brug publishable-nøglen til frontend-operationer og secret-nøglen kun på din server.

Begrænsede API-nøgler

Opret begrænsede nøgler med specifikke rettigheder for øget sikkerhed:

  1. Gå til Stripe Dashboard > Developers > API Keys
  2. Klik “Create restricted key”
  3. Giv kun de rettigheder, Tajo kræver

Påkrævede rettigheder

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

Konfiguration

Grundlæggende opsætning

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

Feltmapping

Knyt Stripe-kundedata til Brevo-kontaktattributter:

Standardmappings

Parameter Type Description
email required
string

Kundens e-mailadresse (unik identifikator)

name optional
string

Kundens fulde navn, opdelt i FIRSTNAME/LASTNAME

phone optional
string

Mapper til SMS-attribut for WhatsApp/SMS

currency optional
string

Standardvaluta for kunden

created optional
timestamp

Oprettelsesdato for kunde i Stripe

metadata optional
object

Brugerdefinerede nøgleværdi-metadata fra Stripe

subscriptions optional
array

Aktive abonnementsdetaljer

balance optional
integer

Kundens kontosaldo i cents

Brugerdefineret attributmapping

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

API-endpoints

Kerne-endpoints

MetodeEndpointBeskrivelse
GET/v1/customersVis alle kunder
POST/v1/customersOpret en kunde
GET/v1/customers/{id}Hent en kunde
POST/v1/customers/{id}Opdatér en kunde
GET/v1/chargesVis alle debiteringer
GET/v1/payment_intentsVis payment intents

Abonnement-endpoints

MetodeEndpointBeskrivelse
GET/v1/subscriptionsVis abonnementer
GET/v1/subscriptions/{id}Hent et abonnement
GET/v1/invoicesVis fakturaer
GET/v1/invoices/upcomingHent kommende faktura
GET/v1/productsVis produkter
GET/v1/pricesVis priser

Hændelses-endpoints

MetodeEndpointBeskrivelse
GET/v1/eventsVis hændelser
GET/v1/events/{id}Hent en hændelse

Hændelser

Betalingshændelser

HændelseTriggerAnvendelse
payment_intent.succeededBetaling gennemførtOrdrebekræftelse
payment_intent.payment_failedBetaling mislykkedesGenoprettelsesmail
charge.refundedRefusion behandletRefusionsnotifikation
charge.dispute.createdChargeback indledtHåndtering af tvist

Abonnementshændelser

HændelseTriggerAnvendelse
customer.subscription.createdNyt abonnementOnboarding-flow
customer.subscription.updatedPlan ændretUpgrade/downgrade-flow
customer.subscription.deletedAbonnement annulleretChurn-forebyggelse
customer.subscription.trial_will_endTrial slutter om 3 dageTrial-konverteringskampagne
invoice.payment_failedAbonnementsbetaling mislykkedesDunning-e-mailsekvens

Kundehændelser

HændelseTriggerAnvendelse
customer.createdNy kunde tilføjetVelkomstmail
customer.updatedKundedata ændretAttributsynkronisering
customer.deletedKunde fjernetOprydning

Kodeeksempler

Initialisér konnektor

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
});

Kør kundesynkronisering

// 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
// }

Håndtér Stripe-webhooks

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 });
});

Ratebegrænsninger

Stripe håndhæver følgende ratebegrænsninger:

TypeGrænseDetaljer
Live-tilstand100 læseforespørgsler/sekundPer secret-nøgle
Live-tilstand100 skriveforespørgsler/sekundPer secret-nøgle
Testtilstand25 forespørgsler/sekundPer secret-nøgle
Webhook-levering100.000 hændelser/dagPer endpoint

Håndtering af ratebegrænsninger

Stripe returnerer svaret 429 Too Many Requests, når grænserne overskrides. Implementér eksponentiel backoff. Brug list-endpoints med auto-paginering til massehentning af data.

Fejlfinding

Almindelige problemer

ProblemÅrsagLøsning
401 UnauthorizedUgyldig API-nøgleTjek secret-nøgle i Stripe Dashboard
Webhook-signatur fejlerForkert webhook-secretGenkopiér webhook-signing-secret fra Dashboard
Kunde ikke synkroniseretIngen e-mail på Stripe-kundeSørg for, at e-mail er sat på Stripe-kunderegistreringer
Manglende abonnementsdataUtilstrækkelige rettighederOpdatér begrænsede nøglerettigheder
Duplikerede hændelserWebhook-retry-leveringImplementér idempotens med hændelses-id’er

Fejlfindingstilstand

Aktivér udførlig logning:

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

Test forbindelse

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

Best practices

  1. Brug begrænsede API-nøgler - Opret nøgler med minimumskrævede rettigheder
  2. Verificér altid webhook-signaturer - Undgå forfalskede webhook-hændelser
  3. Håndtér idempotens - Brug Stripe-hændelses-id’er til at forhindre duplikeret behandling
  4. Synkronisér kundemetadata - Gem marketingrelevante data i Stripe-metadata-felter
  5. Overvåg webhook-levering - Tjek Stripe Dashboard for mislykkede leveringer
  6. Brug testtilstand først - Validér din integration med Stripe-testtilstand og test-clocks

Sikkerhed

  • API-nøgle-autentifikation - Secret-nøglebaseret adgang med understøttelse af begrænsede nøgler
  • Webhook-signaturverifikation - HMAC SHA-256-signaturvalidering
  • TLS-kryptering - Al API-kommunikation krypteret via HTTPS
  • PCI-overholdelse - Stripe håndterer PCI DSS-overholdelse for betalingsdata
  • IP-whitelisting - Valgfri IP-restriktioner for API-adgang

Relaterede ressourcer

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo