Stripe konnektor
Stripe konnektor
Csatlakoztasd a Stripe fiókodat a Brevóhoz a Tajo segítségével a teljes fizetési adatszinkronizáláshoz, előfizetési életciklus-kezeléshez és bevétel-vezérelt marketingautomatizáláshoz.
Áttekintés
| Tulajdonság | Érték |
|---|---|
| Platform | Stripe |
| Kategória | E-kereskedelem |
| Telepítés bonyolultsága | Könnyű |
| Hivatalos integráció | Igen |
| Szinkronizált adatok | Ügyfelek, Fizetések, Előfizetések, Számlák, Események |
| API alap URL | https://api.stripe.com/v1 |
Funkciók
- Ügyfél-szinkronizáció – Stripe ügyfelek szinkronizálása Brevo kapcsolatokba metaadatokkal együtt
- Fizetés-követés – Sikeres fizetések, visszatérítések és sikertelen terhelések követése
- Előfizetés-kezelés – Előfizetési életciklus-események szinkronizálása megtartási kampányokhoz
- Számla-adatok – Számla részletek szinkronizálása vásárlás utáni és megújítási automatizáláshoz
- Bevétel-attribúció – Élettartami érték és MRR leképezése Brevo attribútumokhoz
- Webhook-események – Valós idejű esemény értesítések minden fizetési tevékenységhez
- Több valuta támogatás – Fizetések kezelése több valutában
- Checkout munkamenet-követés – Stripe Checkout követése elhagyott fizetés visszaállítására
Előfeltételek
Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:
- Egy Stripe fiókkal API-hozzáféréssel
- Stripe API kulcsokkal (nyilvános és titkos kulcs)
- Egy Brevo fiókkal API-hozzáféréssel
- Egy Tajo fiókkal
Hitelesítés
API kulcs hitelesítés
A Stripe bearer token hitelesítést használ a titkos API kulcsoddal.
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:API kulcs biztonság
Soha ne tedd ki a titkos kulcsodat kliens oldali kódban. A nyilvános kulcsot használd frontend műveletekhez, a titkos kulcsot csak a szerveren.
Korlátozott API kulcsok
Hozz létre korlátozott kulcsokat meghatározott jogosultságokkal a fokozott biztonságért:
- Menj a Stripe Dashboard > Fejlesztők > API kulcsok menübe
- Kattints a „Korlátozott kulcs létrehozása” gombra
- Adj meg csak a Tajo által igényelt jogosultságokat
Szükséges jogosultságok
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readKonfiguráció
Alapbeállítás
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: 22Mezőleképezés
Képezd le a Stripe ügyféladatokat Brevo kapcsolat-attribútumokhoz:
Default Mappings
| Parameter | Type | Description |
|---|---|---|
email required | string | Customer email address (unique identifier) |
name optional | string | Customer full name, split into FIRSTNAME/LASTNAME |
phone optional | string | Maps to SMS attribute for WhatsApp/SMS |
currency optional | string | Default currency for the customer |
created optional | timestamp | Customer creation date in Stripe |
metadata optional | object | Custom key-value metadata from Stripe |
subscriptions optional | array | Active subscription details |
balance optional | integer | Customer account balance in cents |
Egyéni attribútum-leképezés
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 végpontok
Alap végpontok
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v1/customers | Összes ügyfél listázása |
POST | /v1/customers | Ügyfél létrehozása |
GET | /v1/customers/{id} | Ügyfél lekérése |
POST | /v1/customers/{id} | Ügyfél frissítése |
GET | /v1/charges | Összes terhelés listázása |
GET | /v1/payment_intents | Fizetési szándékok listázása |
Előfizetési végpontok
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v1/subscriptions | Előfizetések listázása |
GET | /v1/subscriptions/{id} | Előfizetés lekérése |
GET | /v1/invoices | Számlák listázása |
GET | /v1/invoices/upcoming | Közelgő számla lekérése |
GET | /v1/products | Termékek listázása |
GET | /v1/prices | Árak listázása |
Esemény-végpontok
| Módszer | Végpont | Leírás |
|---|---|---|
GET | /v1/events | Események listázása |
GET | /v1/events/{id} | Esemény lekérése |
Események
Fizetési események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
payment_intent.succeeded | Fizetés teljesítve | Rendelés visszaigazolás |
payment_intent.payment_failed | Fizetés sikertelen | Visszaállítási e-mail |
charge.refunded | Visszatérítés feldolgozva | Visszatérítési értesítés |
charge.dispute.created | Chargeback indítva | Vita kezelés |
Előfizetési események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
customer.subscription.created | Új előfizetés | Onboarding munkafolyamat |
customer.subscription.updated | Csomag megváltozott | Frissítés/visszaminősítés munkafolyamat |
customer.subscription.deleted | Előfizetés törölve | Lemorzsolódás megelőzés |
customer.subscription.trial_will_end | Próbaidő 3 nap múlva lejár | Próba-konverziós kampány |
invoice.payment_failed | Előfizetési fizetés sikertelen | Dunning e-mail sorozat |
Ügyfél-események
| Esemény | Kiváltó ok | Használati eset |
|---|---|---|
customer.created | Új ügyfél hozzáadva | Üdvözlő e-mail |
customer.updated | Ügyféladatok megváltoztak | Attribútum-szinkronizáció |
customer.deleted | Ügyfél eltávolítva | Tisztítás |
Kódpéldák
A konnektor inicializálása
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});Ügyfél-szinkronizálás futtatása
// 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// }Stripe webhookok kezelése
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 });});Ráta-korlátok
A Stripe a következő ráta-korlátokat alkalmazza:
| Típus | Korlát | Részletek |
|---|---|---|
| Éles mód | 100 olvasási kérés/mp | Titkos kulcsonként |
| Éles mód | 100 írási kérés/mp | Titkos kulcsonként |
| Teszt mód | 25 kérés/mp | Titkos kulcsonként |
| Webhook kézbesítés | 100 000 esemény/nap | Végpontonként |
Ráta-korlát kezelés
A Stripe 429 Too Many Requests választ ad vissza, ha a korlátok túllépésre kerülnek. Implementálj exponenciális visszalépést. Tömeges adatlekéréshez használj lista végpontokat automatikus oldalazással.
Hibaelhárítás
Gyakori problémák
| Probléma | Ok | Megoldás |
|---|---|---|
| 401 Unauthorized | Érvénytelen API kulcs | Ellenőrizd a titkos kulcsot a Stripe Dashboardon |
| Webhook aláírás sikertelen | Helytelen webhook titok | Másold újra a webhook aláíró titkot a Dashboardról |
| Ügyfél nincs szinkronizálva | Nincs e-mail a Stripe ügyfélen | Győződj meg róla, hogy az e-mail be van állítva a Stripe ügyfélrekordokon |
| Hiányzó előfizetési adatok | Elégtelen jogosultságok | Frissítsd a korlátozott kulcs jogosultságait |
| Duplikált események | Webhook újrapróbálkozás kézbesítés | Implementálj idempotenciát esemény azonosítókkal |
Hibakeresési mód
Engedélyezd a részletes naplózást:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueKapcsolat tesztelése
tajo connectors test stripe# ✓ API connection successful# ✓ Customers readable# ✓ Subscriptions readable# ✓ Payments readable# ✓ Webhook endpoint verifiedLegjobb gyakorlatok
- Használj korlátozott API kulcsokat – Hozz létre kulcsokat minimálisan szükséges jogosultságokkal
- Mindig ellenőrizd a webhook aláírásokat – Megelőzd a hamis webhook eseményeket
- Kezelj idempotenciát – Használj Stripe esemény azonosítókat a duplikált feldolgozás megelőzéséhez
- Szinkronizálj ügyfél-metaadatokat – Tárold a marketinghez releváns adatokat a Stripe metaadatmezőkben
- Figyeld a webhook kézbesítést – Ellenőrizd a Stripe Dashboardot a sikertelen kézbesítésekért
- Először használj tesztmódot – Validáld az integráció a Stripe tesztmóddal és teszta-órákkal
Biztonság
- API kulcs hitelesítés – Titkos kulcs alapú hozzáférés korlátozott kulcs támogatással
- Webhook aláírás-ellenőrzés – HMAC SHA-256 aláírás-ellenőrzés
- TLS titkosítás – Minden API kommunikáció HTTPS-en keresztül titkosítva
- PCI megfelelőség – A Stripe kezeli a PCI DSS megfelelőséget a fizetési adatokhoz
- IP engedélyezési lista – Opcionális IP korlátozások az API-hozzáféréshez