Stripe-koppling

Stripe-koppling

Anslut ditt Stripe-konto till Brevo via Tajo för komplett synkronisering av betalningsdata, hantering av prenumerationers livscykel och intäktsdriven marknadsautomation.

Översikt

EgenskapVärde
PlattformStripe
KategoriE-handel
InstallationskomplexitetEnkel
Officiell integrationJa
Data som synkasKunder, betalningar, prenumerationer, fakturor, händelser
Bas-URL för APIhttps://api.stripe.com/v1

Funktioner

  • Kundsynk - Synka Stripe-kunder med Brevo-kontakter inklusive metadata
  • Betalningsspårning - Spåra genomförda betalningar, återbetalningar och misslyckade debiteringar
  • Prenumerationshantering - Synka händelser i prenumerationens livscykel för retentionskampanjer
  • Fakturadata - Synka fakturadetaljer för automation efter köp och förnyelse
  • Intäktsattribution - Mappa livstidsvärde och MRR till Brevo-attribut
  • Webhook-händelser - Händelsesaviseringar i realtid för alla betalningsaktiviteter
  • Stöd för flera valutor - Hantera betalningar i flera valutor
  • Spårning av checkout-sessioner - Spåra Stripe Checkout för återvinning av övergivna betalningar

Förutsättningar

Innan du börjar, se till att du har:

  1. Ett Stripe-konto med API-åtkomst
  2. Stripe API-nycklar (publishable och secret keys)
  3. Ett Brevo-konto med API-åtkomst
  4. Ett Tajo-konto

Autentisering

API-nyckelautentisering

Stripe använder bearer token-autentisering med din hemliga API-nyckel.

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

Säkerhet för API-nycklar

Exponera aldrig din hemliga nyckel i klientkod. Använd den publika nyckeln för frontend-operationer och den hemliga nyckeln endast på servern.

Begränsade API-nycklar

Skapa begränsade nycklar med specifika behörigheter för ökad säkerhet:

  1. Gå till Stripe Dashboard > Developers > API Keys
  2. Klicka på “Create restricted key”
  3. Ge endast de behörigheter som Tajo behöver

Nödvändiga behörigheter

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

Konfiguration

Grundläggande konfiguration

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

Fältmappning

Mappa Stripe-kunddata till Brevos kontaktattribut:

Standardmappningar

Parameter Type Description
email required
string

Kundens e-postadress (unik identifierare)

name optional
string

Kundens fullständiga namn, delat upp i FIRSTNAME/LASTNAME

phone optional
string

Mappas till SMS-attributet för WhatsApp/SMS

currency optional
string

Standardvaluta för kunden

created optional
timestamp

Datum då kunden skapades i Stripe

metadata optional
object

Anpassad nyckel-värde-metadata från Stripe

subscriptions optional
array

Detaljer om aktiva prenumerationer

balance optional
integer

Kundens kontosaldo i cent

Anpassad attributmappning

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-ändpunkter

Huvudändpunkter

MetodÄndpunktBeskrivning
GET/v1/customersLista alla kunder
POST/v1/customersSkapa en kund
GET/v1/customers/{id}Hämta en kund
POST/v1/customers/{id}Uppdatera en kund
GET/v1/chargesLista alla debiteringar
GET/v1/payment_intentsLista payment intents

Prenumerationsändpunkter

MetodÄndpunktBeskrivning
GET/v1/subscriptionsLista prenumerationer
GET/v1/subscriptions/{id}Hämta en prenumeration
GET/v1/invoicesLista fakturor
GET/v1/invoices/upcomingHämta kommande faktura
GET/v1/productsLista produkter
GET/v1/pricesLista priser

Händelseändpunkter

MetodÄndpunktBeskrivning
GET/v1/eventsLista händelser
GET/v1/events/{id}Hämta en händelse

Händelser

Betalningshändelser

HändelseUtlösareAnvändningsfall
payment_intent.succeededBetalning genomfördOrderbekräftelse
payment_intent.payment_failedBetalning misslyckadesÅtervinningsmejl
charge.refundedÅterbetalning hanteradAvisering om återbetalning
charge.dispute.createdChargeback initieradHantering av tvister

Prenumerationshändelser

HändelseUtlösareAnvändningsfall
customer.subscription.createdNy prenumerationOnboardingflöde
customer.subscription.updatedPlan ändradFlöde för uppgradering/nedgradering
customer.subscription.deletedPrenumeration avbrutenChurn-förebyggande
customer.subscription.trial_will_endTestperiod slutar om 3 dagarKampanj för testkonvertering
invoice.payment_failedPrenumerationsbetalning misslyckadesSekvens av påminnelsemejl

Kundhändelser

HändelseUtlösareAnvändningsfall
customer.createdNy kund tillagdVälkomstmejl
customer.updatedKunddata ändradAttributsynk
customer.deletedKund borttagenUppstädning

Kodexempel

Initiera kopplingen

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 kundsynk

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

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

API-gränser

Stripe tillämpar följande API-gränser:

TypGränsDetaljer
Live-läge100 läsförfrågningar/sekundPer hemlig nyckel
Live-läge100 skrivförfrågningar/sekundPer hemlig nyckel
Test-läge25 förfrågningar/sekundPer hemlig nyckel
Webhook-leverans100 000 händelser/dagPer ändpunkt

Hantering av rate limits

Stripe returnerar svaret 429 Too Many Requests när gränserna överskrids. Implementera exponentiell backoff. Använd list-ändpunkter med automatisk paginering för massuthämtning av data.

Felsökning

Vanliga problem

ProblemOrsakLösning
401 UnauthorizedOgiltig API-nyckelKontrollera den hemliga nyckeln i Stripe Dashboard
Webhook-signaturen misslyckasFelaktig webhook secretKopiera webhook signing secret igen från Dashboard
Kunden synkas inteIngen e-post på Stripe-kundenSe till att e-post är angiven på Stripe-kundposterna
Prenumerationsdata saknasOtillräckliga behörigheterUppdatera behörigheterna för den begränsade nyckeln
Dubbletter av händelserOmförsök av webhook-leveransImplementera idempotens med händelse-ID:n

Debug-läge

Aktivera utförlig loggning:

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

Testa anslutningen

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

Bästa praxis

  1. Använd begränsade API-nycklar - Skapa nycklar med minsta nödvändiga behörigheter
  2. Verifiera alltid webhook-signaturer - Förhindra förfalskade webhook-händelser
  3. Hantera idempotens - Använd Stripe-händelse-ID:n för att undvika dubbel bearbetning
  4. Synka kundmetadata - Lagra marknadsföringsrelevant data i Stripe metadata-fält
  5. Övervaka webhook-leverans - Kontrollera Stripe Dashboard för misslyckade leveranser
  6. Använd testläge först - Validera din integration med Stripe test-läge och test clocks

Säkerhet

  • API-nyckelautentisering - Åtkomst med hemlig nyckel och stöd för begränsade nycklar
  • Verifiering av webhook-signatur - Validering med HMAC SHA-256-signatur
  • TLS-kryptering - All API-kommunikation krypteras via HTTPS
  • PCI-efterlevnad - Stripe hanterar PCI DSS-efterlevnad för betalningsdata
  • IP-whitelist - Valbara IP-begränsningar för API-åtkomst

Relaterade resurser

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Fråga mig om dokumentationen.

Börja gratis med Brevo