Stripe konektor
Stripe konektor
Prepoj svoj Stripe účet s Brevo cez Tajo pre kompletnú synchronizáciu platobných dát, správu životného cyklu predplatného a marketingovú automatizáciu riadenú príjmami.
Prehľad
| Vlastnosť | Hodnota |
|---|---|
| Platforma | Stripe |
| Kategória | E-commerce |
| Zložitosť nastavenia | Ľahké |
| Oficiálna integrácia | Áno |
| Synchronizované dáta | Zákazníci, Platby, Predplatné, Faktúry, Udalosti |
| API Base URL | https://api.stripe.com/v1 |
Funkcie
- Synchronizácia zákazníkov - Synchronizuj zákazníkov Stripe s kontaktmi Brevo vrátane metadát
- Sledovanie platieb - Sleduj úspešné platby, vrátenia peňazí a neúspešné poplatky
- Správa predplatného - Synchronizuj udalosti životného cyklu predplatného pre retenčné kampane
- Dáta faktúr - Synchronizuj detaily faktúr pre automatizáciu po nákupe a pri obnove
- Priradenie príjmov - Mapuj životnú hodnotu a MRR na atribúty Brevo
- Webhookové udalosti - Notifikácie udalostí v reálnom čase pre všetky platobné aktivity
- Podpora viacerých mien - Spracuj platby vo viacerých menách
- Sledovanie relácie pokladne - Sleduj Stripe Checkout pre obnovu nedokončených platieb
Predpoklady
Predtým, než začneš, uisti sa, že máš:
- Stripe účet s API prístupom
- Stripe API kľúče (verejný a tajný kľúč)
- Brevo účet s API prístupom
- Tajo účet
Autentifikácia
Autentifikácia API kľúčom
Stripe používa autentifikáciu Bearer tokenmi s tvojím tajným API kľúčom.
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:Bezpečnosť API kľúča
Nikdy nevystavuj tajný kľúč v klientskom kóde. Použi verejný kľúč pre frontend operácie a tajný kľúč iba na svojom serveri.
Obmedzené API kľúče
Vytvor obmedzené kľúče so špecifickými oprávneniami pre zvýšenú bezpečnosť:
- Prejdi do Stripe Dashboard > Developers > API Keys
- Klikni na “Create restricted key”
- Udeľ iba oprávnenia, ktoré Tajo vyžaduje
Požadované oprávnenia
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readKonfigurácia
Základné nastavenie
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: 22Mapovanie polí
Namapuj dáta zákazníkov Stripe na atribúty kontaktov Brevo:
Predvolené mapovania
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailová adresa zákazníka (unikátny identifikátor) |
name optional | string | Celé meno zákazníka, rozdelené na FIRSTNAME/LASTNAME |
phone optional | string | Mapuje sa na atribút SMS pre WhatsApp/SMS |
currency optional | string | Predvolená mena zákazníka |
created optional | timestamp | Dátum vytvorenia zákazníka v Stripe |
metadata optional | object | Vlastné metadáta kľúč-hodnota zo Stripe |
subscriptions optional | array | Detaily aktívneho predplatného |
balance optional | integer | Zostatok na účte zákazníka v centoch |
Mapovanie vlastných atribútov
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_SOURCEAPI endpointy
Základné endpointy
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v1/customers | Zoznam všetkých zákazníkov |
POST | /v1/customers | Vytvorenie zákazníka |
GET | /v1/customers/{id} | Načítanie zákazníka |
POST | /v1/customers/{id} | Aktualizácia zákazníka |
GET | /v1/charges | Zoznam všetkých poplatkov |
GET | /v1/payment_intents | Zoznam platobných zámerov |
Endpointy predplatného
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v1/subscriptions | Zoznam predplatných |
GET | /v1/subscriptions/{id} | Načítanie predplatného |
GET | /v1/invoices | Zoznam faktúr |
GET | /v1/invoices/upcoming | Načítanie nadchádzajúcej faktúry |
GET | /v1/products | Zoznam produktov |
GET | /v1/prices | Zoznam cien |
Endpointy udalostí
| Metóda | Endpoint | Popis |
|---|---|---|
GET | /v1/events | Zoznam udalostí |
GET | /v1/events/{id} | Načítanie udalosti |
Udalosti
Platobné udalosti
| Udalosť | Trigger | Prípad použitia |
|---|---|---|
payment_intent.succeeded | Platba dokončená | Potvrdenie objednávky |
payment_intent.payment_failed | Platba zlyhala | E-mail na obnovu |
charge.refunded | Vrátenie peňazí spracované | Notifikácia o vrátení |
charge.dispute.created | Iniciovaný chargeback | Spracovanie sporu |
Udalosti predplatného
| Udalosť | Trigger | Prípad použitia |
|---|---|---|
customer.subscription.created | Nové predplatné | Onboardingový tok |
customer.subscription.updated | Zmenený plán | Tok upgradu/downgradu |
customer.subscription.deleted | Predplatné zrušené | Prevencia odchodu |
customer.subscription.trial_will_end | Zkúšobná verzia končí za 3 dni | Kampaň na konverziu zkúšobnej verzie |
invoice.payment_failed | Platba predplatného zlyhala | Sekvenencia dunning e-mailov |
Udalosti zákazníkov
| Udalosť | Trigger | Prípad použitia |
|---|---|---|
customer.created | Pridaný nový zákazník | Uvítací e-mail |
customer.updated | Zmenené dáta zákazníka | Synchronizácia atribútov |
customer.deleted | Zákazník odstránený | Čistenie |
Ukážky kódu
Inicializácia konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Stripeawait tajo.connectors.connect('stripe', { secretKey: process.env.STRIPE_SECRET_KEY, webhookSecret: process.env.STRIPE_WEBHOOK_SECRET});Spustenie synchronizácie zákazníkov
// Full historical syncawait tajo.connectors.sync('stripe', { type: 'full', resources: ['customers', 'subscriptions', 'payments'], since: '2023-01-01'});
// Check sync statusconst status = await tajo.connectors.status('stripe');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersSynced: 12500,// subscriptionsSynced: 8200,// paymentsSynced: 45000// }Spracovanie Stripe webhookov
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 });});Obmedzenia rýchlosti
Stripe presadzuje nasledujúce limity rýchlosti:
| Typ | Limit | Detaily |
|---|---|---|
| Live režim | 100 čítacích požiadaviek/sekundu | Na tajný kľúč |
| Live režim | 100 zápisových požiadaviek/sekundu | Na tajný kľúč |
| Test režim | 25 požiadaviek/sekundu | Na tajný kľúč |
| Doručenie webhookov | 100 000 udalostí/deň | Na endpoint |
Spracovanie limitov rýchlosti
Stripe vracia odpoveď 429 Too Many Requests pri prekročení limitov. Implementuj exponenciálny backoff. Použi endpointy zoznamu s automatickým stránkovaním pre hromadné načítanie dát.
Riešenie problémov
Bežné problémy
| Problém | Príčina | Riešenie |
|---|---|---|
| 401 Unauthorized | Neplatný API kľúč | Skontroluj tajný kľúč v Stripe Dashboard |
| Zlyhanie podpisu webhooku | Nesprávny secret webhooku | Znovu skopíruj podpisový secret webhooku z Dashboard |
| Zákazník nie je synchronizovaný | Zákazník Stripe nemá e-mail | Uisti sa, že e-mail je nastavený na záznamoch zákazníkov Stripe |
| Chýbajúce dáta predplatného | Nedostatočné oprávnenia | Aktualizuj oprávnenia obmedzeného kľúča |
| Duplicitné udalosti | Opakované doručenie webhooku | Implementuj idempotentnosť s ID udalostí |
Debug režim
Zapni verbose logovanie:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueTest pripojenia
tajo connectors test stripe# ✓ API connection successful# ✓ Customers readable# ✓ Subscriptions readable# ✓ Payments readable# ✓ Webhook endpoint verifiedOdporúčané postupy
- Použi obmedzené API kľúče - Vytváraj kľúče s minimálnymi potrebnými oprávneniami
- Vždy overuj podpisy webhookov - Chráň sa pred sfalšovanými webhookovými udalosťami
- Spravuj idempotentnosť - Použi ID udalostí Stripe na prevenciu duplicitného spracovania
- Synchronizuj metadáta zákazníkov - Uchovávaj marketingovo relevantné dáta v poliach metadát Stripe
- Monitoruj doručenie webhookov - Skontroluj Stripe Dashboard pre neúspešné doručenia
- Najprv použi testovací režim - Validuj svoju integráciu so Stripe testovacím režimom a testovacími hodinami
Bezpečnosť
- Autentifikácia API kľúčom - Prístup na základe tajného kľúča s podporou obmedzeného kľúča
- Overenie podpisu webhooku - Validácia podpisu HMAC SHA-256
- TLS šifrovanie - Všetka API komunikácia šifrovaná cez HTTPS
- PCI súlad - Stripe zabezpečuje PCI DSS súlad pre platobné dáta
- IP whitelisting - Voliteľné IP obmedzenia pre API prístup