Konektor Stripe
Konektor Stripe
Propojte svůj účet Stripe s Brevo přes Tajo pro kompletní synchronizaci platebních dat, správu životního cyklu předplatného a marketingovou automatizaci řízenou příjmy.
Přehled
| Vlastnost | Hodnota |
|---|---|
| Platforma | Stripe |
| Kategorie | E-commerce |
| Složitost nastavení | Snadná |
| Oficiální integrace | Ano |
| Synchronizovaná data | Zákazníci, Platby, Předplatné, Faktury, Události |
| Základní URL API | https://api.stripe.com/v1 |
Funkce
- Synchronizace zákazníků – Synchronizujte zákazníky Stripe s kontakty Brevo včetně metadat
- Sledování plateb – Sledujte úspěšné platby, refundace a neúspěšné transakce
- Správa předplatného – Synchronizujte události životního cyklu předplatného pro retentní kampaně
- Data faktur – Synchronizujte podrobnosti faktur pro automatizaci po nákupu a obnovení
- Přiřazení příjmů – Mapujte celoživotní hodnotu a MRR na atributy Brevo
- Webhookové události – Notifikace o událostech v reálném čase pro všechny platební aktivity
- Podpora více měn – Zpracovávejte platby ve více měnách
- Sledování checkout relací – Sledujte Stripe Checkout pro obnovu opuštěných plateb
Předpoklady
Než začnete, ujistěte se, že máte:
- Účet Stripe s přístupem k API
- API klíče Stripe (veřejný a tajný klíč)
- Účet Brevo s přístupem k API
- Účet Tajo
Ověření
Ověření API klíčem
Stripe používá ověřování bearer tokenem s vaším tajným API klíčem.
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:Bezpečnost API klíče
Nikdy nezveřejňujte svůj tajný klíč v klientském kódu. Používejte veřejný klíč pro frontend operace a tajný klíč pouze na svém serveru.
Omezené API klíče
Vytvářejte omezené klíče s konkrétními oprávněními pro zvýšenou bezpečnost:
- Přejděte do Stripe Dashboard > Developers > API Keys
- Klikněte na “Create restricted key”
- Udělte pouze oprávnění, která Tajo vyžaduje
Požadovaná oprávnění
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readKonfigurace
Základní nastavení
connectors: stripe: enabled: true secret_key: "${STRIPE_SECRET_KEY}" webhook_secret: "${STRIPE_WEBHOOK_SECRET}"
# Možnosti synchronizace dat sync: customers: true payments: true subscriptions: true invoices: true products: true
# Přiřazení seznamů Brevo lists: all_customers: 20 subscribers: 21 churned: 22Mapování polí
Mapujte zákaznická data Stripe na atributy kontaktů Brevo:
Výchozí mapování
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mailová adresa zákazníka (jedinečný identifikátor) |
name optional | string | Celé jméno zákazníka, rozdělené na FIRSTNAME/LASTNAME |
phone optional | string | Mapuje se na atribut SMS pro WhatsApp/SMS |
currency optional | string | Výchozí měna zákazníka |
created optional | timestamp | Datum vytvoření zákazníka ve Stripe |
metadata optional | object | Vlastní metadata klíč-hodnota ze Stripe |
subscriptions optional | array | Podrobnosti aktivního předplatného |
balance optional | integer | Zůstatek účtu zákazníka v centech |
Mapování vlastních atributů
field_mapping: # Standardní pole email: email name: FULLNAME phone: SMS
# Platební metriky total_spent: TOTAL_SPENT payment_count: PAYMENT_COUNT last_payment_date: LAST_PAYMENT_DATE average_order_value: AOV
# Pole předplatného subscription_status: SUB_STATUS plan_name: PLAN_NAME mrr: MONTHLY_REVENUE subscription_start: SUB_START_DATE
# Vlastní metadata metadata.customer_tier: VIP_TIER metadata.referral_source: REFERRAL_SOURCEKoncové body API
Základní koncové body
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v1/customers | Výpis všech zákazníků |
POST | /v1/customers | Vytvoření zákazníka |
GET | /v1/customers/{id} | Načtení zákazníka |
POST | /v1/customers/{id} | Aktualizace zákazníka |
GET | /v1/charges | Výpis všech transakcí |
GET | /v1/payment_intents | Výpis záměrů platby |
Koncové body předplatného
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v1/subscriptions | Výpis předplatných |
GET | /v1/subscriptions/{id} | Načtení předplatného |
GET | /v1/invoices | Výpis faktur |
GET | /v1/invoices/upcoming | Načtení nadcházející faktury |
GET | /v1/products | Výpis produktů |
GET | /v1/prices | Výpis cen |
Koncové body událostí
| Metoda | Koncový bod | Popis |
|---|---|---|
GET | /v1/events | Výpis událostí |
GET | /v1/events/{id} | Načtení události |
Události
Platební události
| Událost | Spouštěč | Případ použití |
|---|---|---|
payment_intent.succeeded | Platba dokončena | Potvrzení objednávky |
payment_intent.payment_failed | Platba selhala | Obnovovací e-mail |
charge.refunded | Refundace zpracována | Notifikace o refundaci |
charge.dispute.created | Zahájeno zpochybnění platby | Řešení sporu |
Události předplatného
| Událost | Spouštěč | Případ použití |
|---|---|---|
customer.subscription.created | Nové předplatné | Onboardingový tok |
customer.subscription.updated | Změna plánu | Tok přechodu nahoru/dolů |
customer.subscription.deleted | Předplatné zrušeno | Prevence odchodu |
customer.subscription.trial_will_end | Zkušební období končí za 3 dny | Kampaň pro konverzi zkušebního období |
invoice.payment_failed | Platba předplatného selhala | Sekvence upomínkových e-mailů |
Zákaznické události
| Událost | Spouštěč | Případ použití |
|---|---|---|
customer.created | Přidán nový zákazník | Uvítací e-mail |
customer.updated | Zákaznická data změněna | Synchronizace atributů |
customer.deleted | Zákazník odebrán | Úklid |
Příklady kódu
Inicializace konektoru
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Připojení Stripeawait tajo.connectors.connect('stripe', { secretKey: process.env.STRIPE_SECRET_KEY, webhookSecret: process.env.STRIPE_WEBHOOK_SECRET});Spuštění synchronizace zákazníků
// Úplná historická synchronizaceawait tajo.connectors.sync('stripe', { type: 'full', resources: ['customers', 'subscriptions', 'payments'], since: '2023-01-01'});
// Kontrola stavu synchronizaceconst status = await tajo.connectors.status('stripe');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersSynced: 12500,// subscriptionsSynced: 8200,// paymentsSynced: 45000// }Zpracování webhooků 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}`); }
// Přepošlete do Tajo pro synchronizaci s Brevo await tajo.connectors.handleWebhook('stripe', { type: event.type, data: event.data.object });
res.status(200).json({ received: true });});Omezení rychlosti
Stripe vynucuje následující limity rychlosti:
| Typ | Limit | Podrobnosti |
|---|---|---|
| Živý režim | 100 požadavků čtení/sekundu | Na tajný klíč |
| Živý režim | 100 požadavků zápisu/sekundu | Na tajný klíč |
| Testovací režim | 25 požadavků/sekundu | Na tajný klíč |
| Doručení webhooků | 100 000 událostí/den | Na koncový bod |
Zpracování limitu rychlosti
Stripe vrací odpověď 429 Too Many Requests, když jsou limity překročeny. Implementujte exponenciální zpětné odběrání. Používejte koncové body výpisu s automatickým stránkováním pro hromadné načítání dat.
Řešení problémů
Časté problémy
| Problém | Příčina | Řešení |
|---|---|---|
| 401 Unauthorized | Neplatný API klíč | Zkontrolujte tajný klíč ve Stripe Dashboard |
| Selhání podpisu webhooku | Nesprávný webhook secret | Znovu zkopírujte podpisový secret webhooku z Dashboard |
| Zákazník nesynchronizován | Žádný e-mail u zákazníka Stripe | Ujistěte se, že e-mail je nastaven na záznamech zákazníků Stripe |
| Chybějící data předplatného | Nedostatečná oprávnění | Aktualizujte oprávnění omezeného klíče |
| Duplicitní události | Opakované doručení webhooků | Implementujte idempotenci pomocí ID událostí |
Režim ladění
Povolte podrobné protokolování:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueTest připojení
tajo connectors test stripe# ✓ Připojení API úspěšné# ✓ Zákazníci čitelní# ✓ Předplatná čitelná# ✓ Platby čitelné# ✓ Webhookový koncový bod ověřenOsvědčené postupy
- Používejte omezené API klíče – Vytvářejte klíče s minimálními požadovanými oprávněními
- Vždy ověřujte podpisy webhooků – Zabraňte zfalšovaným webhookovým událostem
- Zpracovávejte idempotenci – Používejte ID událostí Stripe pro prevenci duplicitního zpracování
- Synchronizujte metadata zákazníků – Ukládejte data relevantní pro marketing do polí metadat Stripe
- Monitorujte doručení webhooků – Kontrolujte Stripe Dashboard pro neúspěšná doručení
- Nejprve použijte testovací režim – Ověřte svou integraci pomocí testovacího režimu Stripe a testovacích hodin
Zabezpečení
- Ověřování API klíčem – Přístup na základě tajného klíče s podporou omezeného klíče
- Ověření podpisu webhooku – Ověření podpisu HMAC SHA-256
- Šifrování TLS – Veškerá API komunikace šifrovaná přes HTTPS
- Soulad s PCI – Stripe zajišťuje soulad s PCI DSS pro platební data
- Whitelisting IP – Volitelná IP omezení pro přístup k API