Stripe-kobling

Stripe-kobling

Koble Stripe-kontoen din til Brevo via Tajo for fullstendig synkronisering av betalingsdata, administrasjon av abonnementslivssyklus og inntektsdrevet markedsføringsautomatisering.

Oversikt

EgenskapVerdi
PlattformStripe
KategoriE-handel
OppsettskompleksitetEnkel
Offisiell integrasjonJa
Synkroniserte dataKunder, betalinger, abonnementer, fakturaer, hendelser
API Base URLhttps://api.stripe.com/v1

Funksjoner

  • Kundesynkronisering - Synkroniser Stripe-kunder med Brevo-kontakter, inkludert metadata
  • Betalingssporing - Spor vellykkede betalinger, refusjoner og mislykkede belastninger
  • Administrasjon av abonnementer - Synkroniser hendelser i abonnementslivssyklus for retensjonskampanjer
  • Fakturadata - Synkroniser fakturadetaljer for automatisering etter kjøp og fornyelse
  • Inntektsattribusjon - Mapp livstidsverdi og MRR til Brevo-attributter
  • Webhook-hendelser - Sanntidsvarsler om hendelser for all betalingsaktivitet
  • Støtte for flere valutaer - Håndter betalinger på tvers av flere valutaer
  • Sporing av Checkout-økt - Spor Stripe Checkout for gjenoppretting av forlatte betalinger

Forutsetninger

Før du begynner, sørg for at du har:

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

Autentisering

API-nøkkelautentisering

Stripe bruker bearer-tokenautentisering med din secret API-nøkkel.

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

API-nøkkelsikkerhet

Du må aldri eksponere din secret key i klientsidekode. Bruk publishable key for frontend-operasjoner og secret key kun på serveren din.

Begrensede API-nøkler

Opprett begrensede nøkler med spesifikke tillatelser for økt sikkerhet:

  1. Gå til Stripe Dashboard > Developers > API Keys
  2. Klikk “Create restricted key”
  3. Gi kun de tillatelsene Tajo krever

Påkrevde tillatelser

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

Konfigurasjon

Grunnleggende oppsett

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

Mapp Stripe-kundedata til Brevo-kontaktattributter:

Standardmappinger

Parameter Type Description
email required
string

Kundens e-postadresse (unik identifikator)

name optional
string

Kundens fulle navn, delt i FIRSTNAME/LASTNAME

phone optional
string

Mappes til SMS-attributt for WhatsApp/SMS

currency optional
string

Standardvaluta for kunden

created optional
timestamp

Opprettelsesdato for kunde i Stripe

metadata optional
object

Egendefinerte nøkkel-verdi metadata fra Stripe

subscriptions optional
array

Detaljer om aktive abonnementer

balance optional
integer

Kundens kontosaldo i cent

Mapping av egendefinerte attributter

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-endepunkter

Kjerne-endepunkter

MetodeEndepunktBeskrivelse
GET/v1/customersList alle kunder
POST/v1/customersOpprett en kunde
GET/v1/customers/{id}Hent en kunde
POST/v1/customers/{id}Oppdater en kunde
GET/v1/chargesList alle belastninger
GET/v1/payment_intentsList payment intents

Abonnements-endepunkter

MetodeEndepunktBeskrivelse
GET/v1/subscriptionsList abonnementer
GET/v1/subscriptions/{id}Hent et abonnement
GET/v1/invoicesList fakturaer
GET/v1/invoices/upcomingHent kommende faktura
GET/v1/productsList produkter
GET/v1/pricesList priser

Hendelses-endepunkter

MetodeEndepunktBeskrivelse
GET/v1/eventsList hendelser
GET/v1/events/{id}Hent en hendelse

Hendelser

Betalingshendelser

HendelseTriggerBruksområde
payment_intent.succeededBetaling fullførtOrdrebekreftelse
payment_intent.payment_failedBetaling mislyktesGjenopprettingse-post
charge.refundedRefusjon behandletRefusjonsvarsel
charge.dispute.createdChargeback startetTvistehåndtering

Abonnementshendelser

HendelseTriggerBruksområde
customer.subscription.createdNytt abonnementOnboardingflyt
customer.subscription.updatedPlan endretOppgradering/nedgraderingsflyt
customer.subscription.deletedAbonnement kansellertForebygging av frafall
customer.subscription.trial_will_endPrøveperiode slutter om 3 dagerKonverteringskampanje
invoice.payment_failedAbonnementsbetaling mislyktesPurresekvens

Kundehendelser

HendelseTriggerBruksområde
customer.createdNy kunde lagt tilVelkomste-post
customer.updatedKundedata endretAttributtsynkronisering
customer.deletedKunde fjernetOpprydding

Kodeeksempler

Initialiser koblingen

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

Kjø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åndter 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 });
});

Hastighetsgrenser

Stripe håndhever følgende hastighetsgrenser:

TypeGrenseDetaljer
Live-modus100 lese-forespørsler/sekundPer secret key
Live-modus100 skrive-forespørsler/sekundPer secret key
Testmodus25 forespørsler/sekundPer secret key
Webhook-levering100 000 hendelser/dagPer endepunkt

Håndtering av hastighetsgrenser

Stripe returnerer et 429 Too Many Requests-svar når grenser overskrides. Implementer eksponentiell backoff. Bruk liste-endepunkter med automatisk paginering for bulk-datahenting.

Feilsøking

Vanlige problemer

ProblemÅrsakLøsning
401 UnauthorizedUgyldig API-nøkkelSjekk secret key i Stripe Dashboard
Webhook-signatur mislyktesFeil webhook-hemmelighetKopier webhook signing secret på nytt fra Dashboard
Kunde ikke synkronisertIngen e-post på Stripe-kundeSørg for at e-post er satt på Stripe-kundepostene
Manglende abonnementsdataUtilstrekkelige tillatelserOppdater tillatelser for begrenset nøkkel
Dupliserte hendelserWebhook-forsøkleveranseImplementer idempotens med hendelses-ID-er

Feilsøkingsmodus

Aktiver detaljert logging:

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

Test tilkobling

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

Beste praksis

  1. Bruk begrensede API-nøkler - Opprett nøkler med minimum nødvendige tillatelser
  2. Verifiser alltid webhook-signaturer - Forhindre forfalskede webhook-hendelser
  3. Håndter idempotens - Bruk Stripe hendelses-ID-er for å forhindre duplikatbehandling
  4. Synkroniser kundemetadata - Lagre markedsføringsrelevante data i Stripe metadata-felt
  5. Overvåk webhook-levering - Sjekk Stripe Dashboard for mislykkede leveranser
  6. Bruk testmodus først - Valider integrasjonen din med Stripe testmodus og test clocks

Sikkerhet

  • API-nøkkelautentisering - Tilgang basert på secret key med støtte for begrensede nøkler
  • Verifisering av webhook-signatur - HMAC SHA-256-signaturvalidering
  • TLS-kryptering - All API-kommunikasjon kryptert via HTTPS
  • PCI-samsvar - Stripe håndterer PCI DSS-samsvar for betalingsdata
  • IP-hvitelisting - Valgfrie IP-restriksjoner for API-tilgang

Relaterte ressurser

Subscribe to updates

developer-docs

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

AI-assistent

Hei! Spør meg om dokumentasjonen.

Start gratis med Brevo