Stripe Bağlayıcısı

Stripe Bağlayıcısı

Eksiksiz ödeme verisi senkronizasyonu, abonelik yaşam döngüsü yönetimi ve gelir odaklı pazarlama otomasyonu için Stripe hesabınızı Tajo aracılığıyla Brevo’ya bağlayın.

Genel Bakış

ÖzellikDeğer
PlatformStripe
KategoriE-ticaret
Kurulum KarmaşıklığıKolay
Resmi EntegrasyonEvet
Senkronize Edilen VeriMüşteriler, Ödemeler, Abonelikler, Faturalar, Olaylar
API Temel URL’sihttps://api.stripe.com/v1

Özellikler

  • Müşteri senkronizasyonu - Stripe müşterilerini meta verilerle birlikte Brevo kişileriyle senkronize edin
  • Ödeme takibi - Başarılı ödemeleri, iadeleri ve başarısız ücretleri takip edin
  • Abonelik yönetimi - Müşteri tutma kampanyaları için abonelik yaşam döngüsü olaylarını senkronize edin
  • Fatura verileri - Satın alma sonrası ve yenileme otomasyonu için fatura detaylarını senkronize edin
  • Gelir atıfı - Yaşam boyu değer ve MRR’yi Brevo özniteliklerine eşleyin
  • Webhook olayları - Tüm ödeme aktiviteleri için gerçek zamanlı olay bildirimleri
  • Çoklu para birimi desteği - Birden fazla para birimi üzerinden ödemeleri yönetin
  • Ödeme oturumu takibi - Terk edilmiş ödeme kurtarma için Stripe Checkout’u takip edin

Ön Koşullar

Başlamadan önce sahip olmanız gerekenler:

  1. API erişimi olan bir Stripe hesabı
  2. Stripe API anahtarları (yayınlanabilir ve gizli anahtarlar)
  3. API erişimi olan bir Brevo hesabı
  4. Bir Tajo hesabı

Kimlik Doğrulama

API Anahtar Kimlik Doğrulaması

Stripe, gizli API anahtarınızla bearer belirteç kimlik doğrulaması kullanır.

Terminal window
curl https://api.stripe.com/v1/customers \
-u sk_live_YOUR_SECRET_KEY:

API Anahtarı Güvenliği

Gizli anahtarınızı asla istemci tarafı kodda göstermeyin. Frontend işlemleri için yayınlanabilir anahtarı, gizli anahtarı yalnızca sunucunuzda kullanın.

Kısıtlanmış API Anahtarları

Gelişmiş güvenlik için belirli izinlere sahip kısıtlanmış anahtarlar oluşturun:

  1. Stripe Dashboard > Developers > API Keys bölümüne gidin
  2. “Create restricted key” tıklayın
  3. Yalnızca Tajo’nun gerektirdiği izinleri verin

Gerekli İzinler

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

Yapılandırma

Temel Kurulum

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

Alan Eşleme

Stripe müşteri verilerini Brevo kişi özniteliklerine eşleyin:

Varsayılan Eşlemeler

Parameter Type Description
email required
string

Müşteri e-posta adresi (benzersiz tanımlayıcı)

name optional
string

Müşteri tam adı, FIRSTNAME/LASTNAME olarak bölünür

phone optional
string

WhatsApp/SMS için SMS özniteliğine eşlenir

currency optional
string

Müşteri için varsayılan para birimi

created optional
timestamp

Stripe'da müşteri oluşturma tarihi

metadata optional
object

Stripe'dan özel anahtar-değer meta verileri

subscriptions optional
array

Aktif abonelik detayları

balance optional
integer

Müşteri hesap bakiyesi (kuruş cinsinden)

Özel Öznitelik Eşleme

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_SOURCE

API Uç Noktaları

Temel Uç Noktalar

YöntemUç NoktaAçıklama
GET/v1/customersTüm müşterileri listele
POST/v1/customersBir müşteri oluştur
GET/v1/customers/{id}Bir müşteriyi getir
POST/v1/customers/{id}Bir müşteriyi güncelle
GET/v1/chargesTüm ücretleri listele
GET/v1/payment_intentsÖdeme niyetlerini listele

Abonelik Uç Noktaları

YöntemUç NoktaAçıklama
GET/v1/subscriptionsAbonelikleri listele
GET/v1/subscriptions/{id}Bir aboneliği getir
GET/v1/invoicesFaturaları listele
GET/v1/invoices/upcomingYaklaşan faturayı getir
GET/v1/productsÜrünleri listele
GET/v1/pricesFiyatları listele

Olay Uç Noktaları

YöntemUç NoktaAçıklama
GET/v1/eventsOlayları listele
GET/v1/events/{id}Bir olayı getir

Olaylar

Ödeme Olayları

OlayTetikleyiciKullanım Alanı
payment_intent.succeededÖdeme tamamlandıSipariş onayı
payment_intent.payment_failedÖdeme başarısızKurtarma e-postası
charge.refundedİade işlendiİade bildirimi
charge.dispute.createdGeri ödeme talebi başlatıldıAnlaşmazlık yönetimi

Abonelik Olayları

OlayTetikleyiciKullanım Alanı
customer.subscription.createdYeni abonelikBaşlangıç akışı
customer.subscription.updatedPlan değiştiYükseltme/düşürme akışı
customer.subscription.deletedAbonelik iptal edildiMüşteri kaybı önleme
customer.subscription.trial_will_endDeneme 3 gün içinde sona erecekDeneme dönüşüm kampanyası
invoice.payment_failedAbonelik ödemesi başarısızBorç hatırlatma e-posta dizisi

Müşteri Olayları

OlayTetikleyiciKullanım Alanı
customer.createdYeni müşteri eklendiKarşılama e-postası
customer.updatedMüşteri verisi değiştiÖznitelik senkronizasyonu
customer.deletedMüşteri kaldırıldıTemizleme

Kod Örnekleri

Bağlayıcıyı Başlat

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Stripe
await tajo.connectors.connect('stripe', {
secretKey: process.env.STRIPE_SECRET_KEY,
webhookSecret: process.env.STRIPE_WEBHOOK_SECRET
});

Müşteri Senkronizasyonunu Çalıştır

// Full historical sync
await tajo.connectors.sync('stripe', {
type: 'full',
resources: ['customers', 'subscriptions', 'payments'],
since: '2023-01-01'
});
// Check sync status
const status = await tajo.connectors.status('stripe');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// customersSynced: 12500,
// subscriptionsSynced: 8200,
// paymentsSynced: 45000
// }

Stripe Webhook’larını İşle

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 });
});

Hız Limitleri

Stripe aşağıdaki hız limitlerini uygular:

TürLimitDetaylar
Live mode100 okuma isteği/saniyeGizli anahtar başına
Live mode100 yazma isteği/saniyeGizli anahtar başına
Test mode25 istek/saniyeGizli anahtar başına
Webhook teslimatı100.000 olay/günUç nokta başına

Hız Limit Yönetimi

Stripe, limitler aşıldığında 429 Too Many Requests yanıtı döndürür. Üstel geri çekilme uygulayın. Toplu veri alımı için otomatik sayfalama ile liste uç noktalarını kullanın.

Sorun Giderme

Sık Karşılaşılan Sorunlar

SorunNedenÇözüm
401 UnauthorizedGeçersiz API anahtarıStripe Dashboard’da gizli anahtarı kontrol edin
Webhook imza hatasıYanlış webhook gizli anahtarıDashboard’dan webhook imza gizli anahtarını yeniden kopyalayın
Müşteri senkronize edilmiyorStripe müşterisinde e-posta yokStripe müşteri kayıtlarında e-postanın ayarlandığından emin olun
Abonelik verileri eksikYetersiz izinlerKısıtlanmış anahtar izinlerini güncelleyin
Yinelenen olaylarWebhook tekrar teslimatıOlay kimlikleri ile idempotency uygulayın

Hata Ayıklama Modu

Ayrıntılı günlüklemeyi etkinleştirin:

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

Bağlantıyı Test Et

Terminal window
tajo connectors test stripe
# ✓ API connection successful
# ✓ Customers readable
# ✓ Subscriptions readable
# ✓ Payments readable
# ✓ Webhook endpoint verified

En İyi Uygulamalar

  1. Kısıtlanmış API anahtarları kullanın - Minimum gerekli izinlerle anahtarlar oluşturun
  2. Webhook imzalarını her zaman doğrulayın - Sahte webhook olaylarını önleyin
  3. Idempotency’yi yönetin - Yinelenen işlemeyi önlemek için Stripe olay kimliklerini kullanın
  4. Müşteri meta verilerini senkronize edin - Pazarlama için ilgili verileri Stripe meta veri alanlarında saklayın
  5. Webhook teslimatını izleyin - Başarısız teslimatlar için Stripe Dashboard’u kontrol edin
  6. Önce test modunu kullanın - Stripe test modu ve test saatleriyle entegrasyonunuzu doğrulayın

Güvenlik

  • API Anahtar Kimlik Doğrulaması - Kısıtlanmış anahtar desteği ile gizli anahtar tabanlı erişim
  • Webhook imza doğrulaması - HMAC SHA-256 imza doğrulaması
  • TLS şifrelemesi - Tüm API iletişimi HTTPS aracılığıyla şifrelenir
  • PCI uyumluluğu - Stripe ödeme verileri için PCI DSS uyumluluğunu yönetir
  • IP beyaz listesi - API erişimi için isteğe bağlı IP kısıtlamaları

İlgili Kaynaklar

Subscribe to updates

developer-docs

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

AI Asistan

Merhaba! Belgeler hakkında her şeyi sorabilirsiniz.

Brevo ile ücretsiz başlayın