Σύνδεσμος Stripe
Σύνδεσμος Stripe
Συνδέστε τον λογαριασμό Stripe με το Brevo μέσω Tajo για πλήρη συγχρονισμό δεδομένων πληρωμής, διαχείριση κύκλου ζωής συνδρομής και αυτοματοποίηση marketing βάσει εσόδων.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | Stripe |
| Κατηγορία | Ηλεκτρονικό Εμπόριο |
| Πολυπλοκότητα Ρύθμισης | Εύκολη |
| Επίσημη Ενσωμάτωση | Ναι |
| Δεδομένα που Συγχρονίζονται | Πελάτες, Πληρωμές, Συνδρομές, Τιμολόγια, Εκδηλώσεις |
| Βασικό URL API | https://api.stripe.com/v1 |
Χαρακτηριστικά
- Συγχρονισμός πελατών - Συγχρονισμός πελατών Stripe με επαφές Brevo συμπεριλαμβανομένων μεταδεδομένων
- Παρακολούθηση πληρωμών - Παρακολούθηση επιτυχημένων πληρωμών, επιστροφών και αποτυχημένων χρεώσεων
- Διαχείριση συνδρομής - Συγχρονισμός εκδηλώσεων κύκλου ζωής συνδρομής για καμπάνιες διατήρησης
- Δεδομένα τιμολογίου - Συγχρονισμός λεπτομερειών τιμολογίου για αυτοματοποίηση μετά-αγοράς και ανανέωσης
- Απόδοση εσόδων - Αντιστοίχηση αξίας διάρκειας ζωής και MRR σε χαρακτηριστικά Brevo
- Εκδηλώσεις webhook - Ειδοποιήσεις εκδηλώσεων σε πραγματικό χρόνο για όλες τις δραστηριότητες πληρωμής
- Υποστήριξη πολλαπλών νομισμάτων - Χειρισμός πληρωμών σε πολλαπλά νομίσματα
- Παρακολούθηση συνεδρίας checkout - Παρακολούθηση Stripe Checkout για ανάκτηση εγκαταλελειμμένης πληρωμής
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Λογαριασμό Stripe με πρόσβαση API
- Κλειδιά API Stripe (δημοσιεύσιμα και μυστικά κλειδιά)
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo
Πιστοποίηση
Πιστοποίηση με API Key
Το Stripe χρησιμοποιεί πιστοποίηση bearer token με το μυστικό κλειδί API σας.
curl https://api.stripe.com/v1/customers \ -u sk_live_YOUR_SECRET_KEY:Ασφάλεια Κλειδιού API
Μην εκθέτετε ποτέ το μυστικό κλειδί σας σε κώδικα πλευράς client. Χρησιμοποιήστε το δημοσιεύσιμο κλειδί για λειτουργίες frontend και το μυστικό κλειδί μόνο στον server σας.
Περιορισμένα API Keys
Δημιουργήστε περιορισμένα κλειδιά με συγκεκριμένα δικαιώματα για ενισχυμένη ασφάλεια:
- Μεταβείτε στο Stripe Dashboard > Developers > API Keys
- Κάντε κλικ “Create restricted key”
- Παραχωρήστε μόνο τα δικαιώματα που απαιτεί το Tajo
Απαιτούμενα Δικαιώματα
customers: readcharges: readpayment_intents: readsubscriptions: readinvoices: readevents: readproducts: readprices: readΔιαμόρφωση
Βασική Ρύθμιση
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Αντιστοίχιση Πεδίων
Αντιστοίχηση δεδομένων πελάτη Stripe σε χαρακτηριστικά επαφών Brevo:
Προεπιλεγμένες Αντιστοιχίσεις
| Parameter | Type | Description |
|---|---|---|
email required | string | Διεύθυνση email πελάτη (μοναδικό αναγνωριστικό) |
name optional | string | Πλήρες όνομα πελάτη, διαχωρισμένο σε FIRSTNAME/LASTNAME |
phone optional | string | Αντιστοιχεί στο χαρακτηριστικό SMS για WhatsApp/SMS |
currency optional | string | Προεπιλεγμένο νόμισμα για τον πελάτη |
created optional | timestamp | Ημερομηνία δημιουργίας πελάτη στο Stripe |
metadata optional | object | Προσαρμοσμένα μεταδεδομένα κλειδιού-τιμής από το Stripe |
subscriptions optional | array | Λεπτομέρειες ενεργής συνδρομής |
balance optional | integer | Υπόλοιπο λογαριασμού πελάτη σε cents |
Αντιστοίχιση Προσαρμοσμένων Χαρακτηριστικών
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_SOURCEEndpoints API
Βασικά Endpoints
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | /v1/customers | Λίστα όλων των πελατών |
POST | /v1/customers | Δημιουργία πελάτη |
GET | /v1/customers/{id} | Ανάκτηση πελάτη |
POST | /v1/customers/{id} | Ενημέρωση πελάτη |
GET | /v1/charges | Λίστα όλων των χρεώσεων |
GET | /v1/payment_intents | Λίστα payment intents |
Endpoints Συνδρομής
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | /v1/subscriptions | Λίστα συνδρομών |
GET | /v1/subscriptions/{id} | Ανάκτηση συνδρομής |
GET | /v1/invoices | Λίστα τιμολογίων |
GET | /v1/invoices/upcoming | Ανάκτηση επερχόμενου τιμολογίου |
GET | /v1/products | Λίστα προϊόντων |
GET | /v1/prices | Λίστα τιμών |
Endpoints Εκδηλώσεων
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | /v1/events | Λίστα εκδηλώσεων |
GET | /v1/events/{id} | Ανάκτηση εκδήλωσης |
Εκδηλώσεις
Εκδηλώσεις Πληρωμής
| Εκδήλωση | Ενεργοποιητής | Περίπτωση Χρήσης |
|---|---|---|
payment_intent.succeeded | Ολοκλήρωση πληρωμής | Επιβεβαίωση παραγγελίας |
payment_intent.payment_failed | Αποτυχία πληρωμής | Email ανάκτησης |
charge.refunded | Επεξεργασία επιστροφής | Ειδοποίηση επιστροφής |
charge.dispute.created | Έναρξη αντιστροφής χρέωσης | Χειρισμός διαφοράς |
Εκδηλώσεις Συνδρομής
| Εκδήλωση | Ενεργοποιητής | Περίπτωση Χρήσης |
|---|---|---|
customer.subscription.created | Νέα συνδρομή | Ροή onboarding |
customer.subscription.updated | Αλλαγή πλάνου | Ροή αναβάθμισης/υποβάθμισης |
customer.subscription.deleted | Ακύρωση συνδρομής | Πρόληψη αποχώρησης |
customer.subscription.trial_will_end | Λήξη δοκιμής σε 3 ημέρες | Καμπάνια μετατροπής δοκιμής |
invoice.payment_failed | Αποτυχία πληρωμής συνδρομής | Ακολουθία email dunning |
Εκδηλώσεις Πελάτη
| Εκδήλωση | Ενεργοποιητής | Περίπτωση Χρήσης |
|---|---|---|
customer.created | Προσθήκη νέου πελάτη | Email καλωσορίσματος |
customer.updated | Αλλαγή δεδομένων πελάτη | Συγχρονισμός χαρακτηριστικών |
customer.deleted | Αφαίρεση πελάτη | Καθαρισμός |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου
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});Εκτέλεση Συγχρονισμού Πελατών
// 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// }Χειρισμός Webhooks 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}`); }
// Forward to Tajo for Brevo sync await tajo.connectors.handleWebhook('stripe', { type: event.type, data: event.data.object });
res.status(200).json({ received: true });});Όρια Ρυθμού
Το Stripe επιβάλλει τα ακόλουθα όρια ρυθμού:
| Τύπος | Όριο | Λεπτομέρειες |
|---|---|---|
| Λειτουργία παραγωγής | 100 αιτ. ανάγνωσης/δευτ. | Ανά μυστικό κλειδί |
| Λειτουργία παραγωγής | 100 αιτ. εγγραφής/δευτ. | Ανά μυστικό κλειδί |
| Λειτουργία δοκιμής | 25 αιτήματα/δευτ. | Ανά μυστικό κλειδί |
| Παράδοση webhook | 100.000 εκδηλώσεις/ημέρα | Ανά endpoint |
Χειρισμός Ορίου Ρυθμού
Το Stripe επιστρέφει απόκριση 429 Too Many Requests όταν υπερβαίνονται τα όρια. Εφαρμόστε εκθετική καθυστέρηση. Χρησιμοποιήστε list endpoints με αυτόματη σελιδοποίηση για μαζική ανάκτηση δεδομένων.
Αντιμετώπιση Προβλημάτων
Συνήθη Προβλήματα
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
| 401 Unauthorized | Μη έγκυρο κλειδί API | Ελέγξτε μυστικό κλειδί στο Stripe Dashboard |
| Αποτυχία υπογραφής webhook | Λανθασμένο μυστικό webhook | Αντιγράψτε ξανά το μυστικό υπογραφής webhook από το Dashboard |
| Ο πελάτης δεν συγχρονίστηκε | Δεν υπάρχει email στον πελάτη Stripe | Βεβαιωθείτε ότι το email έχει οριστεί στις εγγραφές πελάτη Stripe |
| Λείπουν δεδομένα συνδρομής | Ανεπαρκή δικαιώματα | Ενημερώστε δικαιώματα περιορισμένου κλειδιού |
| Διπλές εκδηλώσεις | Επαναπαράδοση webhook | Εφαρμόστε idempotency με IDs εκδηλώσεων |
Λειτουργία Εντοπισμού Σφαλμάτων
Ενεργοποιήστε λεπτομερή καταγραφή:
connectors: stripe: debug: true log_level: verbose log_webhooks: trueΔοκιμή Σύνδεσης
tajo connectors test stripe# ✓ API connection successful# ✓ Customers readable# ✓ Subscriptions readable# ✓ Payments readable# ✓ Webhook endpoint verifiedΒέλτιστες Πρακτικές
- Χρησιμοποιήστε περιορισμένα API keys - Δημιουργήστε κλειδιά με ελάχιστα απαιτούμενα δικαιώματα
- Να επαληθεύετε πάντα υπογραφές webhook - Αποτρέψτε πλαστογραφημένες εκδηλώσεις webhook
- Χειριστείτε idempotency - Χρησιμοποιήστε IDs εκδηλώσεων Stripe για αποτροπή διπλής επεξεργασίας
- Συγχρονίστε μεταδεδομένα πελάτη - Αποθηκεύστε δεδομένα σχετικά με marketing στα πεδία μεταδεδομένων Stripe
- Παρακολουθήστε παράδοση webhook - Ελέγξτε το Stripe Dashboard για αποτυχημένες παραδόσεις
- Χρησιμοποιήστε πρώτα τη λειτουργία δοκιμής - Επικυρώστε την ενσωμάτωσή σας με λειτουργία δοκιμής Stripe και test clocks
Ασφάλεια
- Πιστοποίηση API Key - Πρόσβαση βάσει μυστικού κλειδιού με υποστήριξη περιορισμένου κλειδιού
- Επικύρωση υπογραφής webhook - Επικύρωση υπογραφής HMAC SHA-256
- Κρυπτογράφηση TLS - Όλη η επικοινωνία API κρυπτογραφείται μέσω HTTPS
- Συμμόρφωση PCI - Το Stripe χειρίζεται συμμόρφωση PCI DSS για δεδομένα πληρωμής
- Allowlisting IP - Προαιρετικοί περιορισμοί IP για πρόσβαση API