Stripe konektor

Stripe konektor

Poveži svoj Stripe nalog sa Brevo putem Tajo za kompletnu sinhronizaciju podataka o plaćanjima, upravljanje životnim ciklusom pretplata i marketing automatizaciju pokretanu prihodima.

Pregled

SvojstvoVrednost
PlatformaStripe
KategorijaE-commerce
Složenost podešavanjaLako
Zvanična integracijaDa
Sinhronizovani podaciKupci, Plaćanja, Pretplate, Fakture, Događaji
Osnovni URL API-jahttps://api.stripe.com/v1

Karakteristike

  • Sinhronizacija kupaca - Sinhronizacija Stripe kupaca sa Brevo kontaktima uključujući metapodatke
  • Praćenje plaćanja - Praćenje uspešnih plaćanja, povrata i neuspelih naknada
  • Upravljanje pretplatama - Sinhronizacija događaja životnog ciklusa pretplata za kampanje zadržavanja
  • Podaci faktura - Sinhronizacija detalja faktura za automatizaciju posle kupovine i obnove
  • Atribucija prihoda - Mapiranje doživotne vrednosti i MRR na Brevo atribute
  • Webhook događaji - Obaveštenja o događajima u realnom vremenu za sve aktivnosti plaćanja
  • Podrška za više valuta - Obrada plaćanja u više valuta
  • Praćenje checkout sesija - Praćenje Stripe Checkout za oporavak napuštenih plaćanja

Preduslovi

Pre nego što započneš, proveri da imaš:

  1. Stripe nalog sa API pristupom
  2. Stripe API ključeve (objavivi i tajni ključevi)
  3. Brevo nalog sa API pristupom
  4. Tajo nalog

Autentifikacija

Autentifikacija API ključem

Stripe koristi Bearer token autentifikaciju sa tvojim tajnim API ključem.

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

Bezbednost API ključa

Nikada ne izlažuj tajni ključ u klijentskom kodu. Koristi objavivi ključ za frontend operacije i tajni ključ samo na svom serveru.

Ograničeni API ključevi

Kreiraj ograničene ključeve sa specifičnim dozvolama za pojačanu bezbednost:

  1. Idi na Stripe Dashboard > Developers > API Keys
  2. Klikni “Create restricted key”
  3. Dodeli samo dozvole koje Tajo zahteva

Potrebne dozvole

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

Konfiguracija

Osnovno podešavanje

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

Mapiranje polja

Mapiranje Stripe podataka o kupcima na Brevo atribute kontakta:

Default Mappings

Parameter Type Description
email required
string

Email adresa kupca (jedinstveni identifikator)

name optional
string

Puno ime kupca, podeljeno na FIRSTNAME/LASTNAME

phone optional
string

Mapira se na SMS atribut za WhatsApp/SMS

currency optional
string

Podrazumevana valuta kupca

created optional
timestamp

Datum kreiranja kupca u Stripe

metadata optional
object

Prilagođeni key-value metapodaci iz Stripe

subscriptions optional
array

Detalji aktivnih pretplata

balance optional
integer

Stanje naloga kupca u centima

Mapiranje prilagođenih atributa

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 endpointi

Osnovni endpointi

MetodaEndpointOpis
GET/v1/customersListanje svih kupaca
POST/v1/customersKreiranje kupca
GET/v1/customers/{id}Dohvatanje kupca
POST/v1/customers/{id}Ažuriranje kupca
GET/v1/chargesListanje svih naknada
GET/v1/payment_intentsListanje payment intent-ova

Endpointi za pretplate

MetodaEndpointOpis
GET/v1/subscriptionsListanje pretplata
GET/v1/subscriptions/{id}Dohvatanje pretplate
GET/v1/invoicesListanje faktura
GET/v1/invoices/upcomingDohvatanje nadolazeće fakture
GET/v1/productsListanje proizvoda
GET/v1/pricesListanje cena

Endpointi za događaje

MetodaEndpointOpis
GET/v1/eventsListanje događaja
GET/v1/events/{id}Dohvatanje događaja

Događaji

Događaji plaćanja

DogađajOkidačSlučaj upotrebe
payment_intent.succeededPlaćanje završenoPotvrda porudžbine
payment_intent.payment_failedPlaćanje neuspešnoEmail za oporavak
charge.refundedPovrat obrađenObaveštenje o povratu
charge.dispute.createdPovrat pokrenutObrada spora

Događaji pretplate

DogađajOkidačSlučaj upotrebe
customer.subscription.createdNova pretplataTok onboardinga
customer.subscription.updatedPlan promenjenTok nadogradnje/snižavanja
customer.subscription.deletedPretplata otkazanaSprečavanje odljeva
customer.subscription.trial_will_endProbni period ističe za 3 danaKampanja konverzije probnog perioda
invoice.payment_failedPlaćanje pretplate neuspešnoSekvenca email podsetnika

Događaji kupaca

DogađajOkidačSlučaj upotrebe
customer.createdDodat novi kupacEmail dobrodošlice
customer.updatedPodaci kupca promenjeniSinhronizacija atributa
customer.deletedKupac uklonjenČišćenje

Primeri koda

Inicijalizacija konektora

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

Pokretanje sinhronizacije kupaca

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

Obrada Stripe webhook-ova

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

Ograničenja brzine

Stripe primenjuje sledeća ograničenja brzine:

TipLimitDetalji
Live mod100 zahteva čitanja/sekundiPo tajnom ključu
Live mod100 zahteva pisanja/sekundiPo tajnom ključu
Test mod25 zahteva/sekundiPo tajnom ključu
Isporuka webhook-ova100.000 događaja/danPo endpointu

Obrada ograničenja brzine

Stripe vraća odgovor 429 Too Many Requests kada se prekorače limiti. Implementiraj eksponencijalno usporavanje. Koristi list endpointe sa auto-paginacijom za bulk dohvatanje podataka.

Rešavanje problema

Česti problemi

ProblemUzrokRešenje
401 UnauthorizedNevažeći API ključProveri tajni ključ u Stripe Dashboard-u
Validacija webhook potpisa neuspešnaPogrešna webhook tajnaPonovo kopiraj webhook signing secret iz Dashboard-a
Kupac nije sinhronizovanNema emaila na Stripe kupcuOsiguraj da je email postavljen na Stripe zapisima kupaca
Nedostaju podaci o pretplatiNedovoljne dozvoleAžuriraj dozvole ograničenog ključa
Duplirani događajiPonovna isporuka webhook-ovaImplementiraj idempotentnost sa ID-ovima događaja

Debug režim

Uključi detaljno logovanje:

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

Testiraj vezu

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

Najbolje prakse

  1. Koristi ograničene API ključeve - Kreiraj ključeve sa minimalnim potrebnim dozvolama
  2. Uvek verifikuj webhook potpise - Sprečava lažne webhook događaje
  3. Obradi idempotentnost - Koristi Stripe ID-ove događaja da sprečiš dupliranu obradu
  4. Sinhronizuj metapodatke kupaca - Čuvaj podatke relevantne za marketing u Stripe metadata poljima
  5. Prati isporuku webhook-ova - Proveri Stripe Dashboard za neuspele isporuke
  6. Prvo koristi test mod - Validiraj integraciju sa Stripe test modom i test sat

Bezbednost

  • Autentifikacija API ključem - Pristup zasnovan na tajnom ključu sa podrškom za ograničene ključeve
  • Verifikacija webhook potpisa - HMAC SHA-256 validacija potpisa
  • TLS enkripcija - Sva API komunikacija enkriptovana putem HTTPS
  • PCI usklađenost - Stripe obrađuje PCI DSS usklađenost za podatke o plaćanju
  • IP allowlisting - Opcijska IP ograničenja za API pristup

Povezani resursi

Subscribe to updates

developer-docs

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

AI асистент

Здраво! Питајте ме о документацији.

Započnite besplatno sa Brevo