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

SvojstvoVrijednost
PlatformaStripe
KategorijaE-commerce
Složenost postavljanjaJednostavno
Službena integracijaDa
Sinkronizirani podaciKupci, Plaćanja, Pretplate, Fakture, Događaji
Osnovni URL API-jahttps://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:

  1. Stripe račun s API pristupom
  2. Stripe API ključeve (javni i tajni ključevi)
  3. Brevo račun s API pristupom
  4. Tajo račun

Autentifikacija

Autentifikacija API ključem

Stripe koristi autentifikaciju bearer tokenom s vašim tajnim API ključem.

Terminal window
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:

  1. Idite na Stripe Dashboard > Programeri > API ključevi
  2. Kliknite “Kreiraj ograničeni ključ”
  3. Dodijelite samo dozvole koje Tajo zahtijeva

Potrebne dozvole

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

Konfiguracija

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: 22

Mapiranje 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_SOURCE

API krajnje točke

Osnovne krajnje točke

MetodaKrajnja točkaOpis
GET/v1/customersPopis svih kupaca
POST/v1/customersKreiraj kupca
GET/v1/customers/{id}Dohvati kupca
POST/v1/customers/{id}Ažuriraj kupca
GET/v1/chargesPopis svih naknada
GET/v1/payment_intentsPopis namjera plaćanja

Krajnje točke pretplata

MetodaKrajnja točkaOpis
GET/v1/subscriptionsPopis pretplata
GET/v1/subscriptions/{id}Dohvati pretplatu
GET/v1/invoicesPopis faktura
GET/v1/invoices/upcomingDohvati nadolazeću fakturu
GET/v1/productsPopis proizvoda
GET/v1/pricesPopis cijena

Krajnje točke događaja

MetodaKrajnja točkaOpis
GET/v1/eventsPopis događaja
GET/v1/events/{id}Dohvati događaj

Događaji

Događaji plaćanja

DogađajOkidačSlučaj upotrebe
payment_intent.succeededPlaćanje dovršenoPotvrda narudžbe
payment_intent.payment_failedPlaćanje neuspješnoE-mail za oporavak
charge.refundedPovrat obrađenObavijest o povratu
charge.dispute.createdPokrenuto osporavanjeRukovanje sporom

Događaji pretplata

DogađajOkidačSlučaj upotrebe
customer.subscription.createdNova pretplataTijek uvođenja
customer.subscription.updatedPlan promijenjenTijek nadogradnje/smanjenja
customer.subscription.deletedPretplata otkazanaSprječavanje odljeva
customer.subscription.trial_will_endProbni period završava za 3 danaKampanja konverzije probnog perioda
invoice.payment_failedPlaćanje pretplate neuspješnoSekvenca e-maila za naplate

Događaji kupaca

DogađajOkidačSlučaj upotrebe
customer.createdDodan novi kupacE-mail dobrodošlice
customer.updatedPodaci kupca promijenjeniSinkronizacija atributa
customer.deletedKupac 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 Stripe
await tajo.connectors.connect('stripe', {
secretKey: process.env.STRIPE_SECRET_KEY,
webhookSecret: process.env.STRIPE_WEBHOOK_SECRET
});

Pokretanje sinkronizacije kupaca

// Potpuna historijska sinkronizacija
await tajo.connectors.sync('stripe', {
type: 'full',
resources: ['customers', 'subscriptions', 'payments'],
since: '2023-01-01'
});
// Provjera statusa sinkronizacije
const 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:

VrstaOgraničenjeDetalji
Način rada uživo100 zahtjeva za čitanje/sekundiPo tajnom ključu
Način rada uživo100 zahtjeva za pisanje/sekundiPo tajnom ključu
Testni način rada25 zahtjeva/sekundiPo tajnom ključu
Isporuka webhookova100.000 događaja/danPo 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

ProblemUzrokRješenje
401 UnauthorizedNevažeći API ključProvjerite tajni ključ u Stripe Dashboard-u
Neuspjeh provjere potpisa webhookovaNetočna tajna webhookovaPonovno kopirajte tajnu za potpisivanje webhookova iz Dashboard-a
Kupac nije sinkroniziranNema e-maila na Stripe kupcuOsigurajte da je e-mail postavljen na Stripe zapisima kupaca
Nedostaju podaci o pretplatiNedovoljne dozvoleAžurirajte dozvole ograničenog ključa
Duplicirani događajiPonovna isporuka webhookovaImplementirajte idempotentnost s ID-ovima događaja

Način otklanjanja grešaka

Omogućite detaljno zapisivanje:

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

Testiranje veze

Terminal window
tajo connectors test stripe
# ✓ API veza uspješna
# ✓ Kupci čitljivi
# ✓ Pretplate čitljive
# ✓ Plaćanja čitljiva
# ✓ Webhook krajnja točka verificirana

Preporučene prakse

  1. Koristite ograničene API ključeve - Kreirajte ključeve s minimalnim potrebnim dozvolama
  2. Uvijek verificirajte potpise webhookova - Spriječite lažne webhook događaje
  3. Rukujte idempotentnosti - Koristite Stripe ID-ove događaja za sprječavanje dupliciranog procesiranja
  4. Sinkronizirajte metapodatke kupaca - Pohranite marketinški relevantne podatke u Stripe metapodatke
  5. Pratite isporuku webhookova - Provjerite Stripe Dashboard za neuspjele isporuke
  6. 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

Povezani resursi

Subscribe to updates

developer-docs

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

AI asistent

Bok! Pitajte me o dokumentaciji.

Započnite besplatno s Brevo