Stripe Konektor
Stripe Konektor
Povežite svoj Stripe račun s Brevom putem Taja za potpunu sinkronizaciju podataka o plaćanjima, upravljanje životnim ciklusom pretplata i marketinšku automatizaciju vođenu prihodom.
Pregled
| Svojstvo | Vrijednost |
|---|---|
| Platforma | Stripe |
| Kategorija | E-commerce |
| Složenost postavljanja | Jednostavno |
| Službena integracija | Da |
| Sinkronizirani podaci | Kupci, Plaćanja, Pretplate, Fakture, Događaji |
| Osnovni URL API-ja | https://api.stripe.com/v1 |
Značajke
- Sinkronizacija kupaca - Sinkronizacija Stripe kupaca s Brevo kontaktima uključujući metapodatke
- Praćenje plaćanja - Praćenje uspješnih plaćanja, povrata i neuspjelih naknada
- Upravljanje pretplatama - Sinkronizacija događaja životnog ciklusa pretplata za kampanje zadržavanja
- Podaci o fakturama - Sinkronizacija detalja faktura za automatizaciju nakon kupnje i obnove
- Atribucija prihoda - Mapiranje životne vrijednosti i MRR-a na Brevo atribute
- Webhook događaji - Obavijesti o događajima u stvarnom vremenu za sve aktivnosti plaćanja
- Podrška za više valuta - Rukovanje plaćanjima u više valuta
- Praćenje sesija blagajne - Praćenje Stripe Checkout-a za oporavak napuštenog plaćanja
Preduvjeti
Prije nego što počnete, osigurajte da imate:
- Stripe račun s API pristupom
- Stripe API ključeve (javni i tajni ključevi)
- Brevo račun s API pristupom
- Tajo račun
Autentifikacija
Autentifikacija API ključem
Stripe koristi autentifikaciju bearer tokenom s vašim tajnim API ključem.
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:Sigurnost API ključa
Nikada ne izlažite vaš tajni ključ u kodu na strani klijenta. Koristite javni ključ za operacije u pregledniku i tajni ključ samo na vašem serveru.
Ograničeni API ključevi
Kreirajte ograničene ključeve s određenim dozvolama za poboljšanu sigurnost:
- Idite na Stripe Dashboard > Programeri > API ključevi
- Kliknite “Kreiraj ograničeni ključ”
- Dodijelite samo dozvole koje Tajo zahtijeva
Potrebne dozvole
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readKonfiguracija
Osnovna konfiguracija
connectors: stripe: enabled: true secret_key: "${STRIPE_SECRET_KEY}" webhook_secret: "${STRIPE_WEBHOOK_SECRET}"
# Opcije sinkronizacije podataka sync: customers: true payments: true subscriptions: true invoices: true products: true
# Dodjela Brevo popisa lists: all_customers: 20 subscribers: 21 churned: 22Mapiranje polja
Mapirajte podatke Stripe kupaca na Brevo atribute kontakata:
Zadana mapiranja
| Parameter | Type | Description |
|---|---|---|
email required | string | E-mail adresa kupca (jedinstveni identifikator) |
name optional | string | Puno ime kupca, podijeljeno na FIRSTNAME/LASTNAME |
phone optional | string | Mapira se na SMS atribut za WhatsApp/SMS |
currency optional | string | Zadana valuta za kupca |
created optional | timestamp | Datum kreiranja kupca u Stripeu |
metadata optional | object | Prilagođeni metapodaci ključ-vrijednost iz Stripea |
subscriptions optional | array | Detalji aktivnih pretplata |
balance optional | integer | Saldo računa kupca u centima |
Mapiranje prilagođenih atributa
field_mapping: # Standardna polja email: email name: FULLNAME phone: SMS
# Metrike plaćanja total_spent: TOTAL_SPENT payment_count: PAYMENT_COUNT last_payment_date: LAST_PAYMENT_DATE average_order_value: AOV
# Polja pretplate subscription_status: SUB_STATUS plan_name: PLAN_NAME mrr: MONTHLY_REVENUE subscription_start: SUB_START_DATE
# Prilagođeni metapodaci metadata.customer_tier: VIP_TIER metadata.referral_source: REFERRAL_SOURCEAPI krajnje točke
Osnovne krajnje točke
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v1/customers | Popis svih kupaca |
POST | /v1/customers | Kreiraj kupca |
GET | /v1/customers/{id} | Dohvati kupca |
POST | /v1/customers/{id} | Ažuriraj kupca |
GET | /v1/charges | Popis svih naknada |
GET | /v1/payment_intents | Popis namjera plaćanja |
Krajnje točke pretplata
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v1/subscriptions | Popis pretplata |
GET | /v1/subscriptions/{id} | Dohvati pretplatu |
GET | /v1/invoices | Popis faktura |
GET | /v1/invoices/upcoming | Dohvati nadolazeću fakturu |
GET | /v1/products | Popis proizvoda |
GET | /v1/prices | Popis cijena |
Krajnje točke događaja
| Metoda | Krajnja točka | Opis |
|---|---|---|
GET | /v1/events | Popis događaja |
GET | /v1/events/{id} | Dohvati događaj |
Događaji
Događaji plaćanja
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
payment_intent.succeeded | Plaćanje dovršeno | Potvrda narudžbe |
payment_intent.payment_failed | Plaćanje neuspješno | E-mail za oporavak |
charge.refunded | Povrat obrađen | Obavijest o povratu |
charge.dispute.created | Pokrenuto osporavanje | Rukovanje sporom |
Događaji pretplata
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
customer.subscription.created | Nova pretplata | Tijek uvođenja |
customer.subscription.updated | Plan promijenjen | Tijek nadogradnje/smanjenja |
customer.subscription.deleted | Pretplata otkazana | Sprječavanje odljeva |
customer.subscription.trial_will_end | Probni period završava za 3 dana | Kampanja konverzije probnog perioda |
invoice.payment_failed | Plaćanje pretplate neuspješno | Sekvenca e-maila za naplate |
Događaji kupaca
| Događaj | Okidač | Slučaj upotrebe |
|---|---|---|
customer.created | Dodan novi kupac | E-mail dobrodošlice |
customer.updated | Podaci kupca promijenjeni | Sinkronizacija atributa |
customer.deleted | Kupac uklonjen | Čišćenje |
Primjeri koda
Inicijalizacija konektora
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Povežite Stripeawait tajo.connectors.connect('stripe', { secretKey: process.env.STRIPE_SECRET_KEY, webhookSecret: process.env.STRIPE_WEBHOOK_SECRET});Pokretanje sinkronizacije kupaca
// Potpuna historijska sinkronizacijaawait tajo.connectors.sync('stripe', { type: 'full', resources: ['customers', 'subscriptions', 'payments'], since: '2023-01-01'});
// Provjera statusa sinkronizacijeconst status = await tajo.connectors.status('stripe');console.log(status);// {// connected: true,// lastSync: '2024-01-15T10:30:00Z',// customersSynced: 12500,// subscriptionsSynced: 8200,// paymentsSynced: 45000// }Rukovanje Stripe webhookovima
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}`); }
// Proslijedite Taju za Brevo sinkronizaciju await tajo.connectors.handleWebhook('stripe', { type: event.type, data: event.data.object });
res.status(200).json({ received: true });});Ograničenja brzine
Stripe primjenjuje sljedeća ograničenja brzine:
| Vrsta | Ograničenje | Detalji |
|---|---|---|
| Način rada uživo | 100 zahtjeva za čitanje/sekundi | Po tajnom ključu |
| Način rada uživo | 100 zahtjeva za pisanje/sekundi | Po tajnom ključu |
| Testni način rada | 25 zahtjeva/sekundi | Po tajnom ključu |
| Isporuka webhookova | 100.000 događaja/dan | Po krajnjoj točki |
Rukovanje ograničenjem brzine
Stripe vraća odgovor 429 Too Many Requests kada su ograničenja premašena. Implementirajte eksponencijalni povratak. Koristite krajnje točke za popise s automatskom paginacijom za skupno dohvaćanje podataka.
Rješavanje problema
Uobičajeni problemi
| Problem | Uzrok | Rješenje |
|---|---|---|
| 401 Unauthorized | Nevažeći API ključ | Provjerite tajni ključ u Stripe Dashboard-u |
| Neuspjeh provjere potpisa webhookova | Netočna tajna webhookova | Ponovno kopirajte tajnu za potpisivanje webhookova iz Dashboard-a |
| Kupac nije sinkroniziran | Nema e-maila na Stripe kupcu | Osigurajte da je e-mail postavljen na Stripe zapisima kupaca |
| Nedostaju podaci o pretplati | Nedovoljne dozvole | Ažurirajte dozvole ograničenog ključa |
| Duplicirani događaji | Ponovna isporuka webhookova | Implementirajte idempotentnost s ID-ovima događaja |
Način otklanjanja grešaka
Omogućite detaljno zapisivanje:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueTestiranje veze
tajo connectors test stripe# ✓ API veza uspješna# ✓ Kupci čitljivi# ✓ Pretplate čitljive# ✓ Plaćanja čitljiva# ✓ Webhook krajnja točka verificiranaPreporučene prakse
- Koristite ograničene API ključeve - Kreirajte ključeve s minimalnim potrebnim dozvolama
- Uvijek verificirajte potpise webhookova - Spriječite lažne webhook događaje
- Rukujte idempotentnosti - Koristite Stripe ID-ove događaja za sprječavanje dupliciranog procesiranja
- Sinkronizirajte metapodatke kupaca - Pohranite marketinški relevantne podatke u Stripe metapodatke
- Pratite isporuku webhookova - Provjerite Stripe Dashboard za neuspjele isporuke
- Koristite testni način rada prvo - Validir svoju integraciju sa Stripe testnim modom i testnim satovima
Sigurnost
- Autentifikacija API ključem - Pristup tajnim ključem s podrškom ograničenih ključeva
- Verifikacija potpisa webhookova - HMAC SHA-256 validacija potpisa
- TLS šifriranje - Sva API komunikacija šifrirana putem HTTPS-a
- PCI usklađenost - Stripe rukuje PCI DSS usklađenošću za podatke o plaćanju
- IP lista dopuštenih - Opcionalna IP ograničenja za API pristup