Conector Stripe

Conector Stripe

Conectați contul Stripe la Brevo prin Tajo pentru sincronizarea completă a datelor de plată, gestionarea ciclului de viață al abonamentelor și automatizarea marketingului bazată pe venituri.

Prezentare generală

ProprietateValoare
PlatformăStripe
CategorieE-commerce
Complexitate configurareUșoară
Integrare oficialăDa
Date sincronizateClienți, Plăți, Abonamente, Facturi, Evenimente
URL de bază APIhttps://api.stripe.com/v1

Funcționalități

  • Sincronizare clienți - Sincronizați clienții Stripe cu contactele Brevo inclusiv metadatele
  • Urmărire plăți - Urmăriți plățile reușite, rambursările și taxele eșuate
  • Gestionare abonamente - Sincronizați evenimentele de ciclu de viață al abonamentelor pentru campanii de retenție
  • Date facturi - Sincronizați detaliile facturilor pentru automatizarea post-cumpărare și reînnoire
  • Atribuire venituri - Mapați valoarea de viață și MRR la atributele Brevo
  • Evenimente webhook - Notificări de evenimente în timp real pentru toate activitățile de plată
  • Suport multi-valută - Gestionați plăți în mai multe valute
  • Urmărire sesiune Checkout - Urmăriți Stripe Checkout pentru recuperarea plăților abandonate

Cerințe preliminare

Înainte de a începe, asigurați-vă că aveți:

  1. Un cont Stripe cu acces API
  2. Chei API Stripe (chei publicabile și secrete)
  3. Un cont Brevo cu acces API
  4. Un cont Tajo

Autentificare

Autentificare cu cheie API

Stripe utilizează autentificarea cu token Bearer cu cheia secretă API.

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

Securitate cheie API

Nu expuneți niciodată cheia secretă în codul client. Utilizați cheia publicabilă pentru operațiunile frontend și cheia secretă doar pe serverul dvs.

Chei API restricționate

Creați chei restricționate cu permisiuni specifice pentru securitate sporită:

  1. Mergeți la Stripe Dashboard > Developers > API Keys
  2. Faceți clic pe “Create restricted key”
  3. Acordați doar permisiunile necesare Tajo

Permisiuni necesare

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

Configurare

Configurare de bază

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

Mapare câmpuri

Mapați datele clienților Stripe la atributele de contact Brevo:

Mapări implicite

Parameter Type Description
email required
string

Adresa de e-mail a clientului (identificator unic)

name optional
string

Numele complet al clientului, împărțit în FIRSTNAME/LASTNAME

phone optional
string

Mapează la atributul SMS pentru WhatsApp/SMS

currency optional
string

Valuta implicită a clientului

created optional
timestamp

Data creării clientului în Stripe

metadata optional
object

Metadate personalizate cheie-valoare din Stripe

subscriptions optional
array

Detalii abonamente active

balance optional
integer

Soldul contului clientului în cenți

Mapare atribute personalizate

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

Puncte finale API

Puncte finale principale

MetodăPunct finalDescriere
GET/v1/customersListează toți clienții
POST/v1/customersCreează un client
GET/v1/customers/{id}Recuperează un client
POST/v1/customers/{id}Actualizează un client
GET/v1/chargesListează toate taxele
GET/v1/payment_intentsListează intențiile de plată

Puncte finale abonamente

MetodăPunct finalDescriere
GET/v1/subscriptionsListează abonamentele
GET/v1/subscriptions/{id}Recuperează un abonament
GET/v1/invoicesListează facturile
GET/v1/invoices/upcomingRecuperează factura viitoare
GET/v1/productsListează produsele
GET/v1/pricesListează prețurile

Puncte finale evenimente

MetodăPunct finalDescriere
GET/v1/eventsListează evenimentele
GET/v1/events/{id}Recuperează un eveniment

Evenimente

Evenimente de plată

EvenimentDeclanșatorCaz de utilizare
payment_intent.succeededPlată finalizatăConfirmare comandă
payment_intent.payment_failedPlată eșuatăE-mail de recuperare
charge.refundedRambursare procesatăNotificare rambursare
charge.dispute.createdContestație inițiatăGestionare contestație

Evenimente abonamente

EvenimentDeclanșatorCaz de utilizare
customer.subscription.createdAbonament nouFlux de onboarding
customer.subscription.updatedPlan modificatFlux upgrade/downgrade
customer.subscription.deletedAbonament anulatPrevenire churn
customer.subscription.trial_will_endPerioadă de probă se termină în 3 zileCampanie conversie perioadă de probă
invoice.payment_failedPlată abonament eșuatăSecvență e-mail dunning

Evenimente clienți

EvenimentDeclanșatorCaz de utilizare
customer.createdClient nou adăugatE-mail de bun venit
customer.updatedDate client modificateSincronizare atribute
customer.deletedClient eliminatCurățare

Exemple de cod

Inițializare 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
});

Rulare sincronizare clienți

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

Gestionare webhook-uri 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 });
});

Limite de rată

Stripe aplică următoarele limite de rată:

TipLimităDetalii
Mod live100 cereri de citire/secundăPer cheie secretă
Mod live100 cereri de scriere/secundăPer cheie secretă
Mod test25 cereri/secundăPer cheie secretă
Livrare webhook100.000 evenimente/ziPer punct final

Gestionare limite de rată

Stripe returnează un răspuns 429 Too Many Requests când limitele sunt depășite. Implementați backoff exponențial. Utilizați punctele finale de listare cu auto-paginare pentru recuperarea datelor în bloc.

Depanare

Probleme frecvente

ProblemăCauzăSoluție
401 NeautorizatCheie API invalidăVerificați cheia secretă în Stripe Dashboard
Eșec semnătură webhookSecret webhook incorectRe-copiați secretul de semnare webhook din Dashboard
Client nesincronizatFără e-mail pe clientul StripeAsigurați-vă că e-mailul este setat pe înregistrările clientului Stripe
Date abonament lipsăPermisiuni insuficienteActualizați permisiunile cheii restricționate
Evenimente duplicateLivrare webhook cu reîncercareImplementați idempotența cu ID-uri de eveniment

Modul de depanare

Activați jurnalizarea verbosă:

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

Testare conexiune

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

Bune practici

  1. Utilizați chei API restricționate - Creați chei cu permisiunile minime necesare
  2. Verificați întotdeauna semnăturile webhook - Preveniți evenimentele webhook falsificate
  3. Gestionați idempotența - Utilizați ID-urile evenimentelor Stripe pentru a preveni procesarea duplicată
  4. Sincronizați metadatele clienților - Stocați datele relevante pentru marketing în câmpurile de metadate Stripe
  5. Monitorizați livrarea webhook-urilor - Verificați Stripe Dashboard pentru livrări eșuate
  6. Utilizați mai întâi modul de test - Validați integrarea cu modul de test Stripe și ceasuri de test

Securitate

  • Autentificare cu cheie API - Acces bazat pe cheie secretă cu suport cheie restricționată
  • Verificare semnătură webhook - Validare semnătură HMAC SHA-256
  • Criptare TLS - Toate comunicațiile API criptate prin HTTPS
  • Conformitate PCI - Stripe gestionează conformitatea PCI DSS pentru datele de plată
  • Allowlisting IP - Restricții IP opționale pentru accesul API

Resurse conexe

Subscribe to updates

developer-docs

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

Asistent AI

Bună! Întreabă-mă orice despre documentație.

Începe gratuit cu Brevo